Chương 3: Lớp Transport

Chia sẻ: Dang Viet | Ngày: | Loại File: PPT | Số trang:111

0
164
lượt xem
69
download

Chương 3: Lớp Transport

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu: hiểu các nguyên tắc đằng sau các dịch vụ lớp transport: multiplexing/demu ltiplexing, truyền dữ liệu tin cậy, điều khiển luồng, điều khiển tắc nghẽn, nghiên cứu về các giao thức lớp, Transport trên Internet: UDP: vận chuyển không kết nối (connectionless), TCP: vận chuyển hướng kết nối (connectionoriented), điều khiển tắc nghẽn TCP.

Chủ đề:
Lưu

Nội dung Text: Chương 3: Lớp Transport

  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  Ì nghiên cứu về các  tắc đằng sau các  giao thức lớp  dịch vụ lớp  Transport trên  transport: Internet: r multiplexing/demu r UDP: vận chuyển không  ltiplexing kết nối  r truyền dữ liệu  (connectionless) tin cậy r TCP: vận chuyển hướng  r điều khiển luồng kết nối (connection­ oriented) r điều khiển tắc  nghẽn r đ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ụ  Ì 3.5 Vận chuyển  lớp Transport hướng kết nối: TCP Ì 3.2 Multiplexing  r cấu trúc phân đoạn và demultiplexing r truyền dữ liệu tin  cậy Ì 3.3 Vận chuyển  r điều khiển luồng không kết nối:  r quản lý kết nối UDP Ì 3.6 Các nguyên lý  Ì 3.4 Các nguyên lý  của điều khiển  của việc truyền  tắc nghẽn dữ liệu tin 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  applicat ion logic chạy trên các  transpor t host khác nhau network lo network data  gi data  network link Ì các giao thức transport  ca link data  physical physical link l  chạy trên các hệ thống  physical network en data  đầu cuối d­ link network en physical data  r phía gửi: cắt các  d  link tr physical thông điệp ứng dụng  network an data  sp thành các đoạn,  link or physical chuyển cho lớp  t applicat ion network transpor t r phía nhận: tái kết  network data  hợp các đoạn thành  link physical các thông điệp,  chuyển cho lớp  application Lớp Transport 5 Ì có nhiều hơn 1 giao 
  6. Lớp Transport với lớp  network Ì lớp network:  Tình huống tự nhiên  tương tự: truyền thông  12 đứa trẻ gửi thư  logic giữa các   đến 12 đứa trẻ khác host Ì các tiến trình =  Ì lớp transport:  các đứa trẻ  truyền thông  Ì các thông điệp =  logic giữa các  thư trong bao thư tiến trình  Ì các host = các gia  đình r dựa vào và làm nổi  bật các dịch vụ lớp  Ì giao thức transport  network  = 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  applicat ion theo thứ tự (TCP) transpor t network lo network data  r điều khiển tắc  gi data  network link ca link data  physical nghẽn physical link l  physical network en r điều khiển luồng data  d­ link network en r thiết lập kết nối physical data  d  link tr physical Ì không tin cậy,  network an data  sp truyền không theo  link or physical t thứ tự: UDP applicat ion transpor r mở rộng của giao  t network thức IP data  link Ì không có các dịch  physical vụ:  r bảo đảm trễ Lớp Transport 7
  8. 3.2 Multiplexing và  demultiplexing Lớp Transport 8
  9. Multiplexing/demultiplexi ng 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  P1 application P2 P4 application applicationP3 P1 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 32 bits r mỗi datagram có địa  chỉ IP nguồn và IP  port # nguồn port # đích đích r mỗi datagram mang 1   các header fields khác đoạn của lớp  transport r mỗi đoạn có số port  dữ liệu ứng dụng nguồn và đích (thông điệp) Ì host dùng địa chỉ IP &  số port để điều hướng  đoạn đến socket thích  hợ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  Ì Tạo các sockets với  UDP: các số port: DatagramSocket mySocket1 = new r kiểm tra port đích  DatagramSocket(12534); trong đoạn DatagramSocket mySocket2 = new r điều hướng đoạn UDP  DatagramSocket(12535); đến socket nào phù  Ì UDP socket được xác  hợp với số port đó định bởi bộ 2: Ì IP datagrams với địa  (địa chỉ IP, số port đích) chỉ IP nguồn và/hoặc  số port 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:B IP: C SP cung cấp “địa chỉ trở về” Lớp Transport 12
  13. Demultiplexing hướng kết  nối Ì TCP socket được  Ì Host server có thể  xác định bởi bộ 4:  hỗ trợ nhiều TCP  r địa chỉ IP nguồn socket đồng thời: r số port nguồn r mỗi socket được xác  r địa chỉ IP đích định bởi bộ 4 của nó r số port đích Ì Web server có các  Ì host nhận dùng cả  socket khác nhau  4 giá trị trên để  cho mỗi kết nối từ  điều hướng đoạn  client đến socket thích  r kết nối HTTP không  hợp bền 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 S­IP: B IP:B IP: C 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 S­IP: B IP:B IP: C 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  Có UDP để làm gì? hóa” Ì không thiết lập kết  Ì dịch vụ “best effort”,  nối (giúp có thể thêm  các đoạn UDP có thể: delay) r mất mát Ì đơn giản: không trạng  r vận chuyển không  thái kết nối tại nơi  thứ tự đến ứng  gửi, nơi nhận dụng Ì header của đoạn nhỏ Ì connectionless (không  Ì không điều khiển tắc  kết nối): nghẽn: UDP có thể gửi  r không bắt tay giữa  nhanh nhất theo mong  bên nhận và bên gửi  muốn UDP r 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  32 bits multimedia Độ dài  source port # dest port # r chịu mất mát đoạn UDP length checksum r cảm nhận tốc độ bao gồm cả header Ì ngoài ra, UDP  dùng r DNS dữ liệu  r SNMP ứng dụng Ì truyền tin cậy trên  (thông điệp) UDP: thêm khả năng  này tại lớp  application  dạng thức đoạn UDP r sửa lỗi 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  Ì tính toán checksum của  đoạn như một chuỗi  đoạn đã nhận các số nguyên 16­bit Ì kiểm tra giá trị trên  Ì checksum: bổ  có bằng với giá trị  sung(tổng bù 1) của  trong trường checksum: các nội dung đoạn r NO – có lỗi xảy ra Ì đặt giá trị checksum  r YES – không có lỗi.  vào trường UDP  r Nhưng có thể còn lỗi  checksum  khác nữa?  Xem tiếp  phần sau …. Lớp Transport 19
  20. Ví dụ Checksum Ì Lưu ý r 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   bit dư 1  0  1 tổng 1  1  0  1  1  1  0  1  1  1  0  1  1  1   checksum 0  1  1 Lớp Transport 20 1  1  0  1  1  1  0  1  1  1  0  1  1  1  
Đồng bộ tài khoản