Bài giảng Nhập môn mạng máy tính - Chương 5: Lớp Transport (Lớp giao vận)

pdf 40 trang phuongnguyen 3760
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn mạng máy tính - Chương 5: Lớp Transport (Lớp giao vận)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_mang_may_tinh_chuong_5_lop_transport_lop.pdf

Nội dung text: Bài giảng Nhập môn mạng máy tính - Chương 5: Lớp Transport (Lớp giao vận)

  1. NHẬP MÔN MẠNG MÁY TÍNH Chương 5 LỚP TRANSPORT (LỚP GIAO VẬN) Khoa CNTT - Trường Đai Học Mở TPHCM GV: Ninh Xuân Hương
  2. Nội dung chương 5 I. Các vấn đề thiết kế lớp transport II. Lớp transport trên mạng TCP/IP III. Giới thiệu giao diện lập trình mạng socket 2
  3. I. Các vấn đề thiết kế lớp transport 1. Nhiệm vụ lớp transport 2. Dịch vụ lớp transport 3
  4. 1. Nhiệm vụ lớp transport  Cung cấp dịch vụ gởi nhận dữ liệu tin cậy giữa các chương trình trên hai máy bất kỳ  Thực hiện: • Chia và ghép dữ liệu từ lớp application • Kiểm soát lỗi, kiểm soát lưu lượng  Lớp transport có vai trò quan trọng trên kiến trúc mạng nhiều lớp 4
  5. 2. Dịch vụ lớp transport a. Dịch vụ lớp transport b. Các thao tác cơ sở 5
  6. a. Dịch vụ lớp transport Quan hệ giữa các lớp 6
  7. Các thuật ngữ  Transport entity: thực thể lớp transport  TPDU (Transport Protocol Data Unit): đơn vị dữ liệu giao thức lớp transport  Transport address: địa chỉ lớp transport • Transport Service Access Point • Port (mạng TCP/IP)  Network address: địa chỉ lớp network • Địa chỉ IP (mạng TCP/IP) 7
  8. Các dạng dịch vụ  Có kết nối (connection-oriented service)  Không kết nối (connectionless service) 8
  9. Đơn vị dữ liệu giao thức lớp transport TPDU trong packet và frame 9
  10. b. Các thao tác cơ sở (Transport service primitives)  Các thao tác cơ sở của dịch vụ đơn giản  Ví dụ: Mô hình client-server dạng có kết nối 10
  11. Các thao tác cơ sở của dịch vụ đơn giản Primitive Dữ liệu gởi Ý nghĩa LISTEN Không có Chờ process khác kết nối CONNECT CONNECTION Thiết lập kết nối REQUEST SEND DATA Gởi dữ liệu RECEIVE Không có Chờ nhận dữ liệu DISCONNECT DISCONNECTION Yêu cầu hủy kết REQUEST nối 11
  12. Mô hình Client-Server dạng có kết nối II 12
  13. II. Lớp transport trên mạng TCP/IP 1. Giao thức TCP (Transmission Control Protocol) 2. Giao thức UDP (User Datagram Protocol) 13
  14. 1. Giao thức TCP a. Giới thiệu TCP b. Mô hình dịch vụ TCP c. Giao thức TCP d. TCP segment header e. Thiết lập kết nối TCP 14
  15. a. Giới thiệu TCP  Cung cấp dịch vụ gởi nhận chuỗi byte tin cậy giữa hai chương trình trên mạng có thể không tin cậy  Thực thể TCP: • Thư viện • User process • Kernel  Chia dữ liệu từ process ứng dụng, gởi trên các gói IP 15
  16. b. Mô hình dịch vụ TCP  Dịch vụ TCP thực hiện trên kết nối TCP (TCP connection)  Kết nối TCP bao gồm hai đầu cuối (end- point), được gọi là socket  Socket number (socket address): • Địa chỉ IP – 32 bit • Port – 16 bit 16
  17. Port  Khái niệm trừu tượng nhiều ứng dụng TCP trên một máy  Well-known ports: dùng cho các dịch vụ chuẩn, ví dụ: Port 21: FTP - File Tranfer Protocol 25: SMTP - Email 80: HTTP - Web 17
  18. TCP port 18
  19. Các tính chất của kết nối TCP  Full-duplex  Point-to-point  Byte stream 19
  20. c. Giao thức TCP  Đơn vị dữ liệu: TCP segment • TCP header ≥ 20 bytes • TCP data ≥ 0 bytes  Kích thước TCP segment bị giới hạn bởi: • IP payload (65515 bytes) • MTU (Maximum Transfer Unit) Ví dụ: MTU mạng Ethernet ~ 1500 bytes 20
  21. Giao thức TCP (tt)  Mỗi byte truyền trên kết nối TCP có số thứ tự trình tự (sequence number) 32 bit  Giao thức cơ bản: sliding window • Sender gởi segment, khởi động timer • Receiver gởi segment có kèm ACK number là số thứ tự byte chờ nhận tiếp theo • Sender sẽ gởi lại nếu không có ACK khi hết thời gian 21
  22. d. TCP segment header 22
  23. Ví dụ: port trên TCP segment 23
  24. Ví dụ: windows size, ack trên TCP segment 24
  25. e. Thiết lập kết nối TCP Thiết lập kết nối giữa Host 1 (Client) và Host 2 (Server) (Three-way handshake)  Host 1 Host 2: seq=x, ack=0, SYN=1, ACK=0  Host 2 Host 1: seq=y, ack=x+1, SYN=1, ACK=1  Host 1 Host 2: seq=x+1, ack=y+1, SYN=0, ACK=1 25
  26. Sơ đồ thiết lập kết nối TCP 26
  27. Hủy bỏ kết nối TCP  Gởi TCP segment với FIN=1  Cần một FIN segment và một ACK segment cho một bên truyền thông 27
  28. Ví dụ hủy kết nối TCP 28
  29. 2. Giao thức UDP  Giao thức dạng không kết nối  Không có kiểm soát lỗi nếu cần thì thực hiện trên lớp application  Đơn vị dữ liệu: UDP datagram/segment • UDP header: 8 bytes • UDP data  Sử dụng khái niệm port tương tự TCP 29
  30. UDP port 30
  31. UDP header Source port: địa chỉ port chương trình gởi Destination port: địa chỉ port chương trình nhận UDP length: kích thước header+data UDP checksum: phát hiện lỗi cho header+data 31
  32. Ví dụ: port trên UDP headr 32
  33. III. Giới thiệu giao diện lập trình mạng socket 1. Khái niệm Socket API 2. Giới thiệu Windows Sockets (WinSock) 33
  34. 1. Khái niệm Socket API  API (Application Programming Interface) Giao diện lập trình ứng dụng: tập hợp các hàm cung cấp cho chương trình ứng dụng  Socket APIs trừu tượng hoá việc truyền thông dạng client/server trên bộ giao thức TCP/IP với mô hình socket  Socket API có thể sử dụng cho các bộ giao thức khác như IPX/SPX, DECNet, ) 34
  35. Hai dạng Socket APIs  Berkeley Sockets (BSD Sockets) cung cấp các thao tác cơ sở (primitives) dùng trên UNIX  Windows Sockets (WinSock) Có các mở rộng hỗ trợ cơ chế message- driven của Windows 35
  36. Ví dụ Các thao tác cơ sở trên TCP của BSD sockets 36
  37. 2. Giới thiệu WinSock  WinSock: giao diện lập trình mạng dùng trên hệ điều hành Windows trên mô hình socket  Chương trình sử dụng WinSock API, liên kết với thư viện WinSock 37
  38. Kiến trúc TCP/IP trên Microsoft Windows 38
  39. Dịch vụ WinSock  Các thao tác cơ sở • Liên kết chương trình ứng dụng với socket • Khởi tạo, chấp nhận kết nối • Gởi nhận dữ liệu • Đóng kết nối  Các hàm bất đồng bộ  Các hàm chuyển đổi dữ liệu 39
  40. Các dạng socket  Stream socket • Trao đổi dữ liệu tin cậy 2 chiều dùng TCP  Datagram socket • Trao đổi dữ liệu 2 chiều dùng UDP Socket được định nghĩa theo:  Giao thức sử dụng  Địa chỉ 40