400 likes | 578 Views
MẠNG MÁY TÍNH. LỚP GIAO VẬN Transport layer. Giới thiệu. 4 lớp thấp (Physical, Data Link, Network, Transport) quan tâm đến việc truyền dữ liệu giữa các hệ thống đầu cuối qua các phương tiện truyền thông.
E N D
MẠNG MÁY TÍNH LỚP GIAO VẬN Transport layer
Giới thiệu • 4 lớp thấp (Physical, Data Link, Network, Transport) quan tâm đến việc truyền dữ liệu giữa các hệ thống đầu cuối qua các phương tiện truyền thông. • 3 lớp cao (Session, Presention, Application) tập trung đáp ứng các yêu cầu và các ứng dụng của người sử dụng. • Lớp giao vận cung cấp dịch vụ truyền dữ liệu sao cho các chi tiết cụ thể của phương tiện truyền thông được sử dụng ở bên dưới trở nên "trong suốt" đối với lớp cao
Giới thiệu • Đặc trưng của mạng • có thể “có liên kết” hoặc “không liên kết”, • có thể tin cậy hoặc có thể chưa tin cậy, ... • Nhiệm vụ của Lớp giao vận: thích ứng với một phạm vi rất rộng các đặc trưng của mạng • xác định được yêu cầu về chất lượng dịch vụ của người sử dụng, • phải biết được khả năng cung cấp dịch vụ của mạng bên dưới.
7.1 Các dịch vụ của lớp giao vận • 7.1.1 Mối quan hệ giữa lớp giao vận với các lớp khác • 7.1.2 Các dịch vụ cơ bản (lệnh gốc) của lớp giao vận • 7.1.3 Dịch vụ Barkely Socket
7.1.1 Mối quan hệ giữa lớp giao vận với các lớp khác • Để thực hiện mục tiêu chuyển giao dữ liệu tin cậy, an toàn cho lớp trên, lớp giao vận (lớp 4) phải sử dụng các dịch vụ được cung cấp từ lớp mạng. • Phần cứng và mềm trong lớp giao vận để thực hiện các tác vụ được gọi là các thực thể giao vận.
7.1.2 Các dịch vụ cơ bản • Đặc điểm • Độ tin cậy • Dịch vụ lớp mạng không có độ tin cậy cao. • Dịch vụ lớp giao vận có độ tin cậy cao hơn trên nền một mạng thực có thể không ổn định. • Đối tượng sử dụng • Dịch vụ lớp mạng được dùng bởi các thực thể của lớp giao vận mà người sử dụng không thể thấy được hoặc không thể tác động được. • Dịch vụ của lớp giao vận là dành người sử dụng có thể nhận thấy được, do đó các dịch vụ của lớp giao vận rất dễ sử dụng và tiện lợi hơn
7.1.2 Các dịch vụ cơ bản • Hoạt động • Máy chủ kích hoạt lệnh LISTEN khóa máy chủ cho đến khi máy trạm kích hoạt. • Khi một máy trạm muốn trao đổi với máy chủ, nó kích hoạt lệnh CONNECT khóa máy gọi đi và gửi gói dữ liệu đến máy chủ. • Gói dữ liệu của lớp giao vận (TPDU-Transport Protocol Data Unit), được chứa trong khung dữ liệu. Khi khung dữ liệu đến, lớp liên kết dữ liệu sẽ xử lý phần mào đầu chuyển tải tin lên lớp mạng. • Lớp mạng tiếp tục xử lý phần mào đầu lớp giao vận (hình 7-2)
7.1.2 Các dịch vụ cơ bản • Quá trình thiết lập và giải phóng kết nối sử dụng lệnh gốc
7.1.3 Dịch vụ Barkely Socket • Barkeley socket là các dịch vụ được sử dụng trong Barkeley Unix dành cho giao thức TCP. Đây là các lệnh được sử dụng rộng rãi trong lập trình Internet.
7.2 Các giao thức trong lớp giao vận • 7.2.1 Đặc điểm • 7.2.2 Chức năng
7.2.1 Đặc điểm • Các dịch vụ lớp giao vận được triển khai bởi các giao thức giữa hai thực thể giao vận giải quyết vấn đề lỗi đường truyền, điều khiển lưu lượng và đảm bảo trình tự bản tin. • Ở lớp liên kết dữ liệu, hai thực thể truyền tin trực tiếp qua đường kênh vật lý. Ở lớp giao vận, kênh vật lý này được thay bằng Subnet.
7.2.1 Đặc điểm • khác nhau về triển khai giao thức: • Lớp giao vận phải xác định địa chỉ nơi nhận, lớp liên kết dữ liệu không cần (vì chỉ có một đường truyền tin giữa hai điểm). • Quá trình thiết lập kết nối ở lớp giao vận phức tạp hơn. • Lớp giao vận đòi hỏi khả năng lưu trữ trong Subnet để giữ những gói dữ liệu bị trục trặc và đòi hỏi thủ tục đặc biệt. • Ở lớp giao vận, số các kết nối lớn hơn nên đệm dữ liệu và điều khiển luồng phức tạp hơn.
7.2.1 Đặc điểm • Từ quan điểm thiết lập thủ tục lớp giao vận các tính chất thực tế của Subnet ít quan trọng hơn so với các dịch vụ. • Tuy nhiên, ở một giới hạn nhất định, dịch vụ lớp giao vận có thể che những mặt ít được chú ý của Subnet và cung cấp ghép nối tốt hơn.
7.2.2 Chức năng • Xác định điểm truy cập dịch vụ • Thiết lập kết nối • Giải phóng kết nối • Điều khiển luồng/Lưu trữ dữ liệu • Ghép kênh • Khắc phục lỗi
7.2.2 Chức năng • Xác định điểm truy cập dịch vụ • Khi một ứng dụng (hoặc user) muốn thiết lập kết nối đến một ứng dụng đầu xa nó phải xác định điểm kết nối (cổng truy cập dịch vụ) • Các mạng khác nhau qui định các điểm truy cập khác nhau • Đối với mạng Internet: port • Đối với ATM: AAL-SAP (ATM Adaptation Layer - Service Access Point)
7.2.2 Chức năng • Đối với Lớp mạng: NSAP (Network Service Access Point) • Đối với Lớp giao vận: TSAP (Transport Service Access Point)
7.2.2 Chức năng • Thiết lập kết nối • Thực thể giao vận gửi CONNECTION REQUEST TPDU đến đích nhận và đợi CONNECTION ACCEPTED phản hồi Vấn đề: có thể mất gói dữ liệu, lặp gói dữ liệu, lưu trữ gói dữ liệu,… • Thủ tục bắt tay 3 bước
7.2.2 Chức năng • Host 1: chon số seq x và gửi CONNECTION REQUEST TPDU đến host 2 • Host 2 phúc đáp bằng ACK TPDU xác nhận số seq x • Host 1 gửi dữ liệu với số seq x đến host 2
7.2.2 Chức năng • Giải phóng kết nối - Host 1 gửi DR (DISCONNECTION REQUEST) TPDU - Host 2 nhận được và gửi trả DR TDPU về cho Host 1 - Host 1 gửi ACK TDPU và giải phóng kết nối - Host 2 nhận được ACK TDPU và đồng thời giải phóng kết nối Việc xóa một kết nối thực thể giao vận xóa thông tin liên quan đến kết nối. Điều này khác với việc thực thể giao vận sử dụng lệnh DISCONNECT để giải phóng kết nối
7.2.2 Chức năng • Điều khiển luồng: tương tự như lớp liên kết dữ liệu sử dụng cửa sổ trượt và bộ đệm. • Khác nhau: • Một router chỉ có ít đường liên kết dữ liệu lớp liên kết dữ liệu tương ứng có ít kết nối • Trong khi đó, số lượng kết nối ở lớp giao vận trên một máy trạm là rất nhiều • Phương án điều khiển luồng/lưu đệm dữ liệu khác nhau: phân bố động dung lượng bộ đệm và kích thước cửa sổ trượt
7.2.2 Chức năng • Ghép kênh kết nối • Ghép chiều lên • Mỗi host chỉ có 1 đ/c mạng trong khi đó tất cả các kết nối lớp giao vận đều sử dụng đ/c này ghép kênh các kết nối.
7.2.2 Chức năng • Ghép kênh kết nối (tt) • Ghép chiều xuống • Khi một mạch ảo có nhu cầu tăng băng thông lớp giao vận ghép nhiều kết nối lại với nhau để cung cấp băng thông lớn hơn cho mạch ảo này
7.2.2 Chức năng • Khắc phục lỗi
7.3 UDP và TCP • 7.3.1 Giao thức giao vận UDP • 7.3.1.1 Giới thiệu • 7.3.1.2 Các ứng dụng của giao thức UDP • 7.3.2 Giao thức giao vận TCP • 7.3.1.1 Giới thiệu • 7.3.1.2 Các ứng dụng của giao thức TCP
7.3.1 UDP • Giao thức UDP: gửi datagram IP đã đóng gói mà không cần thiết lập kết nối. • UDP được mô tả trong chuẩn RFC 768. • Dữ liệu của UDP gồm 8-byte mào đầu và phần tải tin.
7.3.1 UDP • Khi gói dữ liệu UDP đến, tải tin của nó được giao cho tiến trình ở cổng đích xử lý. Trên thực tế, UDP chỉ sử dụng giá trị địa chỉ IP nguồn và đích là chính, nếu trường này trống thì lớp giao vận sẽ không thể xử lý được gói dữ liệu
7.3.1 Các ứng dụng UDP • Gọi thủ tục đầu xa (RPC) • Trong trường hợp người sử dụng muốn gửi một bản tin đến máy trạm đầu xa và lấy kết quả trả về, người ta thường sử dụng gói dữ liệu dạng UDP để thực hiện công việc này. Tiến trình này được gọi là Gọi thủ tục đầu xa. cho phép một chương trình gọi các thủ tục nằm trên máy trạm đầu xa.
7.3.1 Các ứng dụng UDP • Để gọi được một thủ tục đầu xa, chương trình tại máy trạm/máy chủ phải có một thủ tục gọi là stub • Client stub • Server stub
7.3.1 Các ứng dụng UDP Giao thức giao vận thời gian thực (RTP) • Đáp ứng nhu cầu dịch vụ thời gian thực: Internet, điện thoại Internet, âm nhạc trực truyến theo yêu cầu, truyền hình hội nghị và các ứng dụng đa phương tiện RTP • Chuẩn: RFC 1889.
7.3.1 Các ứng dụng UDP • RTP header
7.3.2 TCP • Cung cấp một luồng dữ liệu đầu cuối –đến – đầu cuối với độ tin cậy cao trên nền mạng thông thường. • Thích nghi với các đặc điểm của mạng và có khả năng đối phó với lỗi mạng. • Chuẩn • RFC 793 • RFC 1122, RFC 1323: bổ sung và mở rộng
7.3.2 TCP • TCP segment header
7.3.2 Dịch vụ TCP • Dịch vụ TCP được tạo ra bởi các điểm kết cuối ở 2 đầu phát và thu dữ liệu, được gọi là các socket. • Mỗi socket gồm địa chỉ IP và một địa chỉ cổng 16-bit. • Một socket có thể được dùng cho nhiều kết nối tại cùng một thời điểm.
7.3.2 Dịch vụ TCP • Tất cả các kết nối TCP đều là kết nối song công theo phương thức điểm – nối – điểm. TCP không hỗ trợ kết nối theo phương thức đa điểm (multicasting) và quảng bá (broadcasting).
7.3.2 Dịch vụ TCP • Thiết lập kết nối (3 bước) • Đầu phát gửi lệnh gốc CONNECT (SYN bit on + ACK off) và đợi phúc đáp • Nếu đầu thu chấp nhận kết nối, gửi trả ACK về • Kết nối được thiết lập, bắt đầu truyền dữ liệu
7.3.2 Dịch vụ TCP • Giải phóng kết nối • Một trong 2 đầu cuối gửi TCP segment với bit FIN • Khi FIN được xác nhận kết thúc kết nối