Bài giảng Mạng số liệu: Lớp vận chuyển và giao thức UDP, TCP

Các chức năng của lớp vận chuyển

(1) Đóng gói

Packetizing

Với dữ liệu được phát sinh từ các chương trình lớp ứng dụng,

lớp vận chuyển cần phải đáp ứng xử lý để chuyển tiếp gói tin.

1) Chia nhở các gói tin lớn thành các phần nhỏ để phân lớp

mạng có thể xử lý.

2) Thêm phần tiêu đề vào mỗi gói tin chứa các phần dữ liệu

được chia để phía thu có thể tái ghép lại.

(2) Điều khiển kết nối

Connection Control

Hỗ trợ bởi một số giao thức trong họ giao thức TCP/IP

( ) 3) Đảm bảo tính tin cậy Hai kiểu chuyển tiếp gói tin giữa các trình ứng dụng của

Reliability

lớp vận chuyển:

1) Dịch vụ hướng kết nối - connection oriented (TCP)

Thiết lập kết nối

Điều khiển luồng

2) Dịch vụ không hướng kết nối - connectionless (UDP)

Chuyển tiếp và thu nhận gói tin theo đúng thứ tự

Điều khiển lỗi

Điều khiển tắc nghẽn

 

pdf22 trang | Chia sẻ: phuongt97 | Lượt xem: 353 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Mạng số liệu: Lớp vận chuyển và giao thức UDP, TCP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lớp vận chuyển và giao thức UDP, TCP 1 – giám sát và chuyển tiếp dữ liệu của các tiến trình xử lý hoặc các chương trình lớp ứng dụng trên máy tính này sang máy tính khác trong mạng Lớp vận chuyển Transport Layer . ÎMở rộng chức năng của tầng mạng và cho phép thiết lập kênh tuyền thông logic giữa các tiến trình lớp ứng dụng 2 Các chức năng của lớp vận chuyển (1) Đóng gói Packetizing Với dữ liệu được phát sinh từ các chương trình lớp ứng dụng, lớp vận chuyển cần phải đáp ứng xử lý để chuyển tiếp gói tin. 1) Chia nhở các gói tin lớn thành các phần nhỏ để phân lớp mạng có thể xử lý. 2) Thêm phần tiêu đề vào mỗi gói tin chứa các phần dữ liệu được chia để phía thu có thể tái ghép lại. (2) Điều khiển kết nối Connection Control Hỗ trợ bởi một số giao thức trong họ giao thức TCP/IP (3) Đảm bảo tính tin cậy Hai kiểu chuyển tiếp gói tin giữa các trình ứng dụng của Reliability lớp vận chuyển: 1) Dịch vụ hướng kết nối - connection oriented (TCP) Thiết lập kết nối Điều khiển luồng 2) Dịch vụ không hướng kết nối - connectionless (UDP) Chuyển tiếp và thu nhận gói tin theo đúng thứ tự Điều khiển lỗi Điều khiển tắc nghẽn 3 Không đảm bảo tính tin cậy, chuyển tiếp gói tin không theo thứ tự Giới gian tính năng trong điều khiển lỗi Các chức năng của lớp vận chuyển (4) Addressing Địa chỉ lớp ứng dụng (địa chỉ cổng) dùng để phân biệt giữa các tiến trình xử lý lớp trên đang thực hiện truyền thông dữ liệu. client – demand service server – provide service 4 Giao thức truyền thông UDP UDP message UDP segment UDP UDP header UDP header 5 Giao thức vận chuyển UDP Là giao thức lớp vận chuyển không hướng kết nối và không đảm bảo tính tin cậy (không điều khiển luồng và giới hạn iệ kiể t dữ liệ ) UDP khô thê bất ứ ử lý àv c m ra u . ng m c x n o với các dịch vụ ở lớp IP, ngoại trừ cho phép cơ chế xử lý ghép/tách các luồng dữ liệu truyền thông 1) Không cần thiết lập kết nối giữa các hệ thông đầu cuối. Với giao thức TCP cần có xứ thiết lập kêt nối “bắt tay 3 bước” trước khi truyền nhận các gói dữ liệu Î trễ thiết lập. Các ưu điểm chính 2) Không kiểm soát trạn thái kết nối – xử lý phần thông tiêu đề đơn giản. Với giao thức TCP cần quản lý trạng thái kết nối ở mỗi hệ thông đầu cuối và quản lý các thông tin khác như các chỉ số các gói dữ liệu truyền và nhận, chỉ số các gói tin báo nhận ACK 3) Phần thông tin tiêu đề ngắn – chỉ có 8-byte. Với giao thức TCP yêu cầu phần thông tin tiêu đề là 20-bytes 4) Không điều khiển luồng và điều khiển tắc nghẽn UDP có thể gửi các gói 6 – nhanh nhất có thể. Î ứng dụng tốt trong các dịch vụ truyền dữ liệu thời gian thực. Giao thức truyền thông UDP Gói tin UDP 8 byte tiêu đề + dữ liệu lớp ứng dụng header = 4 fields only, each consisting of 2 bytes Chiều dài tổng– Chỉ định kích thước của gói tin UDP bao gồm cả phần tiêu đề và tải trong ỗ ể 16 bits ֜ giá trị max có thể là 65,535 bytes; tuy nhiên do sự giới hạn về tài nguyên bộ nhớ được phép cấp phát của hệ điều hành nên gói tin UDP có kích thước tối đa là 8192 Chu i ki m tra Chỉ dùng để xác định lỗi với dữ liệu trong gói tin UDP (header + data) ¾ Việc tính toán kiểm tra được tùy chọn! - Nếu không cần tính, dữ ệ ế ậ ờ à à á í 7 li u th t l p cho trư ng n y l c c b t 0 ¾ Nếu có lỗi được xác định, bản tin được bỏ qua và khong có xử nào được thực hiện tiếp sau. Giao thức truyền thông TCP Định hướng kết nối: giữa các hệ thống đầu cuối phải bắt tay “handshake” trước khi thực hiện truyền thông Giao thức điều khiển truyền dẫn TCP Là giao thức lớp vận chuyển có các thuộc tính sau: Điều khiển luồng Tính tin cậy = dữ liệu được sắp xếp + điều khiển lỗi: điều khiển lỗi trong TCP bao gồm cả cơ chế xác định lỗi, xác định thứ tự và tinh sao chép của các gói dữ liệu được xử lý. Tính liên tục: Nếu dữ liệu bị chuyển tiếp sai và vượt quá thời gian cho phép TCP sẽ cảnh báo với hệ thống và ngắt kết nối Điều khiển tắc nghẽn: TCP giới hạn số lượng dữ liệu được chuyển tải trong mạng nằm trong khả năng chuyển tải của mạng. Kết nối điểm – điểm: kết nối TCP được thiết lập giữa hai phía phát và phía thu theo tính chất một – một. T ề dẫ ô ử lý hát à hậ độ lậ à dữ liệ t ể tải 8 ruy n n song c ng: x p v n n c p, v u ruy n theo hai hướng đồng thời. Giao thức truyền thông TCP Cấu trúc gói tin TCP 9 Cấu trúc gói tin TCP Chỉ số phân đoạn dữ liệu Sequence Numbet Trường thông tin 32-bit, giúp cho xử lý phía thu xác định được vị trí của byte đầu tiên trong mỗi bản tin (segment) Chỉ số báo nhận Trường thông tin 32-bit – chỉ định vị trí của byte kế tiếp cần được truyền đi ở phía phát Chiều dài tiêu đề Trường thông tin 4-bit , là giá trị bội số của 4, chỉ định kích thước (số byte) của phần thông tin tiêu đề Reserved Trường thông tin 6-bit , trường thông tin dữ phòng (chứa dùng) T ờ thô ti 16 bit hỉ đị h kí h th ớ ủ hầ dữWindow Size rư ng ng n - , c n c ư c c a p n liệu trong bản tin TCP 10 Cấu trúc gói tin TCP Chuỗi kiểm tra trường thông tin 16 bit – sử dụng để xác định lỗi thành phần dữ liệu trong gói tin TCP bao gồm (header + data) + 96-bit để đảm bảo tính chính xác cho các xử lý tính toán tiếp theo , . phần giả tiêu đề chứa một số trường thông tin trong phần tiêu đề gói tin IP gồm: địa chỉ nguồn và địa chỉ đích, giao thức và chiều dài phân đoạn dữ liệu. Phần giả tiêu đề này sẽ giúp xử lý chuyển tiếp nhầm bởi phân lớp IP . phần tiêu đề giả ngẫu nhiên giúp tránh xử lý với gữ liệu bị chuyển tiếp nhầm ở lớp IP Urgent Pointer – trường thông tin 16 bit – chỉ định vị trí (thứ tự) của byte cuối cùng trong khối dữ liệu cần được truyền. Options – có thể mở rộng lên 40 byte để mang thêm các thông tin dùng cho các quá trình xử lý điều khiển luồng/ điều khiển tắc nghẽn 11 Padding – các bít chèn, cách ly giữa phần thông tin tiêu đề và dữ liệu, được thiết lập là các bít 0 Các giá trị cờ điều khiển Flag Miêu tả URG ACK If this bit field is set, the receiving TCP should interpret the urgent pointer field. Used when data should be read out of order, from receive window, by the receiving application. If this bit field is set the acknowledgement field is valid PSH , . If this bit field is set, the receiver should deliver this segment to the receiving application as soon as possible, without waiting for receive window to get filled. RST If this bit is present, it signals the receiver that the sender is aborting the connection and all queued data and allocated buffers for the connection can be freely relinquished. SYN When present, this bit field signifies that sender is attempting to "synchronize" sequence numbers. This bit is used during the initial stages of connection establishment between a sender and receiver. 12 FIN If set, this bit field tells the receiver that the sender has reached the end of its byte stream for the current TCP connection. Điều khiển thiết lập kết nối theo giao thức TCP Thiết lập kết nối TCP Các tranh TCP phải thiết lập kết nối trước khi gửi đi dữ liệu của mình, thông qua quá trình thiết lập kết nối bắt tay ba bước. “Three-Way Handshake”: (1) máy trạm gửi bản tin yêu cầu kết nối SYN cho server, kèm theo các thông tin: Source and Destination Port – chỉ định địa chỉ cổng (chỉ số cổng) truyền thông SYN = 1 Sequence Number = client_seq – thiết lập giá trị ngẫu nhiên Không mang theo dữ liệu!!! allocate buffers and variables (window size defined) allocate buffers and variables 13 (window size defined) ACK = Client seq + Client TCPLength (2) khi server nhận được bản tin yêu cầu kết nối SYN, nó sẽ cấp phát bộ nhớ và hiế lậ á biế ử lý kế ối à ửi bả i bá hiệ hấ hậ kế ối (SYNACK) Quá trình bắt tay 3 bước (tiếp) t t p c c n x t n , v g n t n o u c p n n t n cho phía máy trạm có yêu cầu. SYN = 1 Sequence Number = server seq _ ACK = client_seq + 1 (chỉ +1 vì chưa có dữ liệu nào được truyền) (3) khi phía máy trạm nhận được bản tin SYNACK, nó cũng cấp phát bộ nhớ và thiết lập các biến cho xử lý truyền thông, và gửi lại bản tin báo nhận (ACK) SYN = 0 – connection is established! Sequence Number = client_seq + 1 connection l d (SYN=1, seq. # = i, ACK - ) ACK = server_seq + 1 c ose SYN=1, seq. # = j, ACK = i+1) 14time time Giản đồ chuyển trạng thái của máy trạm và máy chủ TCP trong xử lý truyền thông 15dotted lines = server, solid lines = client Miêu tả chức năng và ý nghĩaTên trạng thái Các trạng thái xử lý CLOSED Không có một kết nối nào đang được thiết lập trước đó LISTEN S Máy chủ chờ yêu cầu kết nối từ phía các máy trạm. SYN-SENT SYN-RCVD C S Một yêu cầu kết nối được gửi đi; chờ báo nhận. Một yêu cầu kết nối được nhận về. ESTABLISHED FIN-WAIT-1 FIN WAIT 2 C C Kết nối đã được thiết lập, tiến hành quá trình truyền thông. Lớp úng dụng được yêu cầu đóng kết nối. Hệ hố đầ ối hấ hậ đó kế ối- - TIME-WAIT CLOSE-WAIT C S t ng u cu c p n n ng t n . Trạng thái chờ và truyền lại các bản tin để đóng kết nối hoàn toàn. Máy chủ chờ thông báo từ lớp ứng dụng để đóng kết nối 16 LAST-ACK S . Máy chủ đạng chờ bản tin báo nhận ACK cuối cùng để đóng kết nối. (1) Máy trạm TCP thiết lập ban đầu ở trạng thái CLOSED . Chuỗi xử lý của máy trạm TCP (2) Ở trạng thái này, máy trạm TCP có thể nhận một yêu cầu mở “cổng truyền thông” từ các chương trình lớp trên để thu nhận dữ liệu. Ngay sau đó, bản tin (segment) SYN được ửi tới á hủ TCP à h ể à tg m y c v c uy n v o rạng thái SYN-SENT. (3)Trong khi ở trạng thái SYN-SENT, máy trạm TCP có thể nhận được bản tin SYN+ACK từ một máy chủ TCP kết nối. Ngay sau đó, nó sẽ gửi một bản tin ACK cho máy chủ TCP và chuyển vào trạng thái ESTABLISHED, cho truyền nhận dữ liệu. Máy trạm TCP có thể ở trạng thái này trong một thời gian dài trong suôt quá trình truyền thông dữ liệu. (4)Ở trạng thái ESTABLISHED, máy trạm TCP có thể nhận một bản tin yêu cầu đóng (ngắt) ế ố send & receive 17 k t n i tử chương trình ứng dụng lớp trên của máy trạm. Ngay sau đó nó sẽ gửi một bản tin FIN cho máy chủ TCP đang kết nối và chuyển vào trạng thái FIN-WAIT-1. receive only Chuỗi xử lý của máy trạm TCP (5)Khi ở trạng thái FIN-WAIT-1, nếu nhận được bản tin ACK từ phía máy chủ máy trạm sẽ , chuyển sang trạng thái FIN-WAIT-2, và không gửi đi bản tin báo hiệu tiếp theo nào. Truyền thông giữa 2 máy được kêt thúc, kết nối được ngắt từ một chiều (6)Máy trạm TCP vẫn ở trạng thái FIN-WAIT-2 và chở cho máy chủ TCP đóng kết nối đầu cuối. Khi máy trạm nhận được bản tin FIN từ phía máy chủ nó sẽ gửi lại bản tin ACK và chuyển về trạng thái TIME-WAIT. (7)Khi ở trạn thái TIME-WAIT, Máy trạm TCP định thời đợi một khoảng thời gian. Khoảng thời gian đợi “TIME-WAIT” được thiết lập gấp đôi so với thời gian sống dài nhất của một gói tin trong mạng (maximum segment lifetime) (2MSL). Máy trạm vẫn ở trạng thái này trước khi đóng hẳn kết nối để chắc chắn rằng bản tin ACK được gửi tới máy chủ. 18 nếu do một nguyên nhân nào bản tin FIN gửi từ phía máy chủ không được nhận ở máy trạm thì các bản tin ACK sẽ được gửi lại, và việc thiết lập định thời sẽ thực hiện lại để đảm bảo đảm bảo rằng tất cả các bản tin được trao đổi trước đó được xóa bởi mạng Chuỗi xử lý của máy chủ TCP Thông thường, máy chủ TCP có thể ở bất cứ trạng thái nào Trong 11 trạng thái chỉ định. Tuy nhiên thông thường máy chủ có thể ở tại một trạng thái trong chuỗi xử lý sau: (1) Máy chủ TCP ở trạng thái CLOSED. (2)Khi ở trạng thái này, máy trạm TCP có thể nhận một yêu cầu kích hoạt một cổng truyền thông từ các chương trình ứng dụng lớp trên. Sau đó máy chủ sẽ chuyển sang trạng thái LISTEN. (3)Trong khi ở trạng thái này LISTEN, máy chủ có thể nhận được bản tin từ phía máy trạm. Ngay sau đó nó sẽ gửi lại một bản tin SYN +ACK cho máy trạm và chuyển sang trạng thái SYN-RCVD (4)Khi ở trạng thái SYN-RCVD, máy chủ có thể nhận một bản tin ACK từ phía máy trạm để chuyển sang trạng thái tiếp 19 send & receive send only theo ESTABLISHED. Máy trạm và máy chủ TCP sẽ ở trạng thái này trong một thời gian dài để truyền nhận dữ liệu. Chuỗi xử lý của máy chủ TCP (5) Trong khi ở trạng thái ESTABLISHED, Máy hủ TCPc có thể nhận được bản tin FIN từ phía máy trạm để báo hiệu cần kết thúc truyền thông và cắt kết nối. Khi đó máy chủ sẽ gửi lại bản tin ACK cho máy trạm có yêu cầu và chuyển sang trạng thái CLOSE-WAIT. (6)Trong khi ở trạng thái CLOSE-WAIT, máy chủ TCP sẽ chờ cho đến khi nhận được yêu cầu đóng kết nối từ chương trinh ứng dụng lớp trên và sau đó máy chủ sẽ gửi cho máy trạm bản tin FIN và chuyển sang trạng thái LAST-ACK. (7)Khi ở trạng thái LAST-ACK, Máy chủ ố 20 sẽ chờ nhận bản tin ACK cu i cùng từ phía máy trạm và đóng kết nối, chuyển về chế độ CLOSED. sending buffer deallocated receiving buffer deallocated sending buffer d ll t d receiving buffer deallocated 21 ea oca e 22

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_mang_so_lieu_lop_van_chuyen_va_giao_thuc_udp_tcp.pdf