Computer networking a top down approach tiếng việt

Xem mẫu

  1. Chương 3 Lớp Transport Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Slide này được biên dịch sang tiếng Việt theo sự cho phép của các tác giả All material copyright 1996-2006 J.F Kurose and K.W. Ross, All Rights Reserved Lớp Transport 1
  2. Chương 3: Lớp Transport Mục tiêu:  hiểu các nguyên tắc  nghiên cứu về các giao đằng sau các dịch vụ thức lớp Transport trên lớp transport: Internet:  multiplexing/demultipl  UDP: vận chuyển không kết exing nối (connectionless)  truyền dữ liệu tin cậy  TCP: vận chuyển hướng kết  điều khiển luồng nối (connection-oriented)  điều khiển tắc nghẽn  điều khiển tắc nghẽn TCP Lớp Transport 2
  3. Chương 3: Nội dung trình bày  3.1 Các dịch vụ lớp  3.5 Vận chuyển hướng kết Transport nối: TCP  3.2 Multiplexing và  cấu trúc phân đoạn demultiplexing  truyền dữ liệu tin cậy điều khiển luồng  3.3 Vận chuyển không  quản lý kết nối kết nối: UDP   3.6 Các nguyên lý của  3.4 Các nguyên lý của việc truyền dữ liệu tin điều khiển tắc nghẽn cậy  3.7 Điều khiển tắc nghẽn TCP Transport Layer 3-3
  4. 3.1 Các dịch vụ lớp Transport Lớp Transport 4
  5. Các dịch vụ và giao thức Transport  cung cấp truyền thông logic application chạy trên các host khác nhau transport network data link network  các giao thức transport chạy physical data link network physical trên các hệ thống đầu cuối data link physical  phía gửi: cắt các thông network data link điệp ứng dụng thành các physical network data link segment (đoạn), chuyển physical cho lớp network network data link physical  phía nhận: tái kết hợp các đoạn thành các thông điệp, application transport chuyển cho lớp application network data link  có nhiều hơn 1 giao thức physical transport dành cho các ứng dụng  Internet: TCP và UDP Lớp Transport 5
  6. Lớp Transport với lớp network  lớp network: truyền Tình huống tự nhiên tương tự: thông logic giữa các 12 đứa trẻ gửi thư đến 12 host đứa trẻ khác  lớp transport: truyền  các tiến trình = các đứa thông logic giữa các trẻ tiến trình  các thông điệp = thư  dựa vào và làm nổi bật trong bao thư các dịch vụ lớp network  các host = các gia đình  giao thức transport = Ann và Bill  giao thức lớp network = dịch vụ bưu điện Lớp Transport 6
  7. Các giao thức lớp transport trên Internet  tin cậy, truyền theo thứ application transport tự (TCP) network data link network physical điều khiển tắc nghẽn data link  network physical data link  điều khiển luồng physical network  thiết lập kết nối data link physical network data link  không tin cậy, truyền physical không theo thứ tự: UDP network data link physical  mở rộng của giao thức IP application  không có các dịch vụ: transport network data link  bảo đảm trễ physical  bảo đảm bandwidth Lớp Transport 7
  8. 3.2 Multiplexing và demultiplexing Lớp Transport 8
  9. Multiplexing/demultiplexing Demultiplexing tại host nhận: Multiplexing tại host gửi: thu nhặt dữ liệu từ nhiều vận chuyển các đoạn đã nhận socket, đóng gói dữ liệu với được đến đúng socket header (sẽ dùng sau đó cho demultiplexing) = socket = tiến trình P3 P1 P1 P2 P4 application application application transport transport transport network network network link link link physical physical physical host 2 host 3 host 1 Lớp Transport 9
  10. Demultiplexing làm việc như thế nào  host nhận các IP datagrams  mỗi datagram có địa chỉ IP 32 bits nguồn và IP đích port # nguồn port # đích  mỗi datagram mang 1 đoạn của lớp transport  mỗi đoạn có số port nguồn các header fields khác và đích  host dùng địa chỉ IP & số port để điều hướng đoạn đến socket dữ liệu ứng dụng thích hợp (thông điệp) dạng thức đoạn TCP/UDP Lớp Transport 10
  11. Demultiplexing không kết nối  Khi host nhận đoạn UDP:  Tạo các sockets với các số  kiểm tra port đích trong port: đoạn DatagramSocket mySocket1 = new DatagramSocket(12534);  điều hướng đoạn UDP đến DatagramSocket mySocket2 = new socket nào phù hợp với số DatagramSocket(12535); port đó  UDP socket được xác định  IP datagrams với địa chỉ bởi bộ 2: IP nguồn và/hoặc số port (địa chỉ IP, số port đích) khác nhau có thể được điều hướng đến cùng socket Lớp Transport 11
  12. Demultiplexing không kết nối (tt) DatagramSocket serverSocket = new DatagramSocket(6428); P2 P1 P1 P3 SP: 6428 SP: 6428 DP: 9157 DP: 5775 SP: 9157 SP: 5775 client DP: 6428 DP: 6428 Client server IP: A IP: C IP:B SP cung cấp “địa chỉ trở về” Lớp Transport 12
  13. Demultiplexing hướng kết nối  TCP socket được xác  Host server có thể hỗ định bởi bộ 4: trợ nhiều TCP socket  địa chỉ IP nguồn đồng thời:  số port nguồn  mỗi socket được xác định  địa chỉ IP đích bởi bộ 4 của nó  số port đích  Web server có các  host nhận dùng cả 4 giá socket khác nhau cho mỗi trị trên để điều hướng kết nối từ client đoạn đến socket thích  kết nối HTTP không bền hợp vững sẽ có socket khác nhau cho mỗi yêu cầu Lớp Transport 13
  14. Demultiplexing hướng kết nối (tt) P1 P4 P5 P6 P2 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 SP: 9157 client DP: 80 DP: 80 Client server IP: A S-IP: A IP: C S-IP: B IP:B D-IP:C D-IP:C Lớp Transport 14
  15. Demultiplexing hướng kết nối: Threaded Web Server P1 P4 P2 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 SP: 9157 client DP: 80 DP: 80 Client server IP: A S-IP: A IP: C S-IP: B IP:B D-IP:C D-IP:C Lớp Transport 15
  16. 3.3 Vận chuyển không kết nối: UDP Lớp Transport 16
  17. UDP: User Datagram Protocol [RFC 768]  giao thức Internet transport “đơn giản hóa” Có UDP để làm gì?  dịch vụ “best effort”, các  không thiết lập kết nối (giúp đoạn UDP có thể: có thể thêm delay)  mất mát  đơn giản: không trạng thái  vận chuyển không thứ tự kết nối tại nơi gửi, nơi nhận đến ứng dụng  header của đoạn nhỏ  connectionless (không kết  không điều khiển tắc nghẽn: nối): UDP có thể gửi nhanh nhất  không bắt tay giữa bên theo mong muốn nhận và bên gửi UDP  mỗi đoạn UDP được quản lý độc lập Lớp Transport 17
  18. UDP: (tt)  thường dùng cho các ứng dụng streaming multimedia 32 bits  chịu mất mát Độ dài source port # dest port #  cảm nhận tốc độ đoạn UDP length checksum bao gồm cả  ngoài ra, UDP dùng header  DNS  SNMP  truyền tin cậy trên UDP: dữ liệu thêm khả năng này tại lớp ứng dụng application (thông điệp)  sửa lỗi dạng thức đoạn UDP Lớp Transport 18
  19. UDP checksum Mục tiêu: kiểm tra các “lỗi” (các bit cờ đã bật lên) trong các đoạn đã truyền bên gửi: bên nhận:  đối xử các nội dung đoạn  tính toán checksum của đoạn như một chuỗi các số đã nhận nguyên 16-bit  kiểm tra giá trị trên có bằng  checksum: bổ sung(tổng với giá trị trong trường bù 1) của các nội dung checksum: đoạn  NO – có lỗi xảy ra  đặt giá trị checksum vào  YES – không có lỗi. trường UDP checksum  Nhưng có thể còn lỗi khác nữa? Xem tiếp phần sau …. Lớp Transport 19
  20. Ví dụ Checksum  Lưu ý  Khi cộng các số, một bit nhớ ở phía cao nhất có thể sẽ phải thêm vào kết quả  Ví dụ: cộng hai số nguyên 16-bit 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 bit dư 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 tổng 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Lớp Transport 20

nguon tai.lieu . vn