Xem mẫu

  1. Lớp vận chuyển và giao thức UDP, TCP chuy và giao th UDP, TCP 1
  2. Lớp vận chuyển – giám sát và chuyển tiếp dữ liệu của các tiến trình xử lý hoặc Transport Layer 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 tính khác trong mạng. 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
  3. Các chức năng của lớp vận chuyển Với dữ liệu được phát sinh từ các chương trình lớp ứng dụng, (1) Đóng gói lớp vận chuyển cần phải đáp ứng xử lý để chuyển tiếp gói tin. Packetizing 1) Chia nhở các gói tin lớn thành các phần nhỏ để phân lớp nh các gói tin thành các ph nh để phân 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 Hỗ trợ bởi một số giao thức trong họ giao thức TCP/IP Connection Control (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 khi lu 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 2) Dịch vụ không hướng kết nối - connectionless (UDP) không connectionless 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 3
  4. 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
  5. Giao thức truyền thông UDP UDP UDP message UDP segment UDP header UDP header 5
  6. Giao thức vận chuyển 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 UDP việc kiểm tra dữ liệu) . UDP không thêm bất cứ xử lý nào ki li UDP khô thê lý 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 Các ưu điểm chính 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. 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 khi lu và khi ngh có th các gói 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. 6
  7. Giao thức truyền thông UDP 8 byte tiêu đề + dữ liệu lớp ứng dụng Gói tin UDP 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ữ 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 7 được thực hiện tiếp sau.
  8. Giao thức truyền thông TCP Giao thức điều khiển truyền dẫn Là giao thức lớp vận chuyển có các thuộc tính sau: 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 trước khi thực hiện truyền thông khi th hi truy thông Đ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. Truyền dẫn song công: xử lý phát và nhận độc lập, và dữ liệu truyển tải lý độ li theo hai hướng đồng thời. 8
  9. Giao thức truyền thông TCP Cấu trúc gói tin TCP 9
  10. Cấu trúc gói tin TCP Chỉ số phân đoạn dữ liệu Trường thông tin 32-bit, giúp cho xử lý phía thu xác định Sequence Numbet được vị trí của byte đầu tiên trong mỗi bản tin (segment) Trường thông tin 32-bit – chỉ định vị trí của byte kế tiếp cần Chỉ số báo nhận đượ truy được truyền đi ở phía phát phía phát Trường thông tin 4-bit , là giá trị bội số của 4, chỉ định kích Chiều dài tiêu đề 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) Trường thông tin 16-bit , chỉ định kích thước của phần dữ thô ti 16 đị kí th Window Size liệu trong bản tin TCP 10
  11. Cấu trúc gói tin TCP trường thông tin 16 bit – sử dụng để xác định lỗi thành phần dữ Chuỗi kiểm tra 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. tính chính xác cho các lý tính toán ti 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. 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 … 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 11
  12. Các giá trị cờ điều khiển Flag Miêu tả If this bit field is set, the receiving TCP should interpret the urgent URG pointer field. Used when data should be read out of order, from receive window, by the receiving application. ACK If this bit field is set, the acknowledgement field is valid. If this bit field is set, the receiver should deliver this segment to the PSH receiving application as soon as possible, without waiting for receive window to get filled. If this bit is present, it signals the receiver that the sender is aborting RST the connection and all queued data and allocated buffers for the connection can be freely relinquished. When present, this bit field signifies that sender is attempting to "synchronize" sequence numbers. This bit is used during the initial SYN stages of connection establishment between a sender and receiver. If set, this bit field tells the receiver that the sender has reached the FIN end of its byte stream for the current TCP connection. 12
  13. Điều khiển thiết lập kết nối theo giao thức 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, Thiết lập kết nối thông qua quá trình thiết lập kết nối bắt tay ba bước. TCP “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) đị đị ch (ch 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 (window size ACK = defined) Client seq + Client TCP Length 13
  14. Quá trình bắt tay 3 bước (tiếp) (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à thiết lập các biến xử lý kết nối, và gửi bản tin báo hiệu chấp nhận kết nối (SYNACK) hi bi lý bá hi (SYNACK) cho phía máy trạm có yêu cầu. SYN = 1 Sequence Number = server seq 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 (SYN=1, seq. # = i, ACK - ) tin báo nhận (ACK) SYN = 0 – connection is established! Sequence Number = client_seq + 1 connection closed ACK = server_seq + 1 SYN=1, seq. # = j, ACK = i+1) time time 14
  15. 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 dotted lines = server, solid lines = client 15
  16. Các trạng thái xử lý Miêu tả chức năng và ý nghĩa Tên trạng thái 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 C Một yêu cầu kết nối được gửi đi; chờ báo nhận. SYN-RCVD S Một yêu cầu kết nối được nhận về. ESTABLISHED Kết nối đã được thiết lập, tiến hành quá trình truyền thông. C FIN-WAIT-1 Lớp úng dụng được yêu cầu đóng kết nối. FIN-WAIT-2 C Hệ thống đầu cuối chấp nhận đóng kết nối. đầ TIME-WAIT C Trạng thái chờ và truyền lại các bản tin để đóng kết nối hoàn toàn. CLOSE-WAIT S Máy chủ chờ thông báo từ lớp ứng dụng để đóng kết nối. ch ch thông báo để 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. 16
  17. Chuỗi xử lý của máy trạm TCP (1) Máy trạm TCP thiết lập ban đầu ở trạng thái CLOSED . (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 gửi tới máy chủ TCP và chuyển vào trạng á TCP 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 thái này trong th 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 kết nối tử chương trình ứng dụng lớp trên của receive only 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 17 thái FIN-WAIT-1.
  18. 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ẽ tin ACK phía máy ch máy tr 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 ch cho máy ch TCP đầ 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ủ. 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 18
  19. 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 yêu kích ho 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 SYN + ACK cho máy trạm và chuyển sang và chuy 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 để chuy sang tr thái ti send & receive 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 send only 19 để truyền nhận dữ liệu.
  20. Chuỗi xử lý của máy chủ TCP (5) Trong khi ở trạng thái ESTABLISHED, Máy chủ TCP TCP 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ủ 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. 20
nguon tai.lieu . vn