Giới thiệu Mục đích của 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 c
Trang 1CH ƯƠ NG VII: L P GIAO V N Ớ Ậ
TRANSPORT LAYER
Trang 2Quan 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
Tập trung đáp ứng các yêu cầu và các ứng dụng của người s ử dụng
Trang 3Giới thiệu
Mục đích của 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
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(có thể “có kết nối” hoặc
“không kết nối”,có thể tin cậy hoặc chưa tin cậy, )
Trang 47.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 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
1.1.3 Dịch vụ Barkely Socket
Trang 57.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.
Trang 67.1.1 Mối quan hệ giữa lớp giao vận với các lớp khác
Hình 7-1: Quan hệ giữa các lớp của 2 máy trạm
Trang 77.1.2 Các dịch vụ cơ bản (lệnh gốc) của lớp giao vậ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 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
Trang 87.1.2 Các dịch vụ cơ bản (lệnh gốc) của lớp giao vận
- Dịch vụ của lớp giao vận: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
Trang 97.1.2 Các dịch vụ cơ bản (lệnh gốc) của
lớp giao vận
Lệnh gốc Gói dữ liệu gửi đi Ý nghĩa
LISTEN (không có) Giữ trạng thái khóa cho đến khi có tiến trình nối đến.
CONNECT CONNECT REQ Cố gắng chủ động thiết lập kết nối
RECEIVE (không có) Giữ trạng thái khóa cho đến khi có gói dữ liệu DATA đến.DISCONNECT DISCONNECT REQ. Muốn giải phóng kết nối
Bảng 7-1.1: Các dịch vụ gốc (lệnh gốc) của lớp giao vận ở dạng kết
nối
Trang 107.1.2 Các dịch vụ cơ bản (lệnh gốc) của
lớp giao vận
Lệnh gốc Gói dữ liệu gửi đi Ý nghĩa
RECEIVE Không có Giữ trạng thái khóa cho
đến khi có gói dữ liệu đến
và nhận nó
Bảng 7-1.2: Các dịch vụ gốc (lệnh gốc) của lớp giao vận ở dạng không kết nối
.
Trang 11Khi 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
Trang 127.1.2 Các dịch vụ cơ bản (lệnh gốc) của lớp giao vận
Hình 7-2: Vị trí của TPDU, gói dữ liệu và khung dữ liệu
Trang 137.1.2 Các dịch vụ cơ bản (lệnh gốc) của lớp giao vận
Hình 7-3: Quá trình thiết lập kết nối và giải phóng kết nối sử dụng các lệnh gốc
Trang 147.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
Trang 157.1.3 Dịch vụ Barkely Socket
SOCKET Tạo mới một điểm kết cuối trao đổi thông tin
BIND Gắn địa chỉ socket
LISTEN Thông báo sẵn sàng nhận kết nối; cung cấp kích
thước hàng đợiACCEPT Khóa người gọi cho đến khi kết nối vào
CONNECT Chủ động thiết lập kết nối
SEND Gửi dữ liệu lên kết nối
RECEIVE Nhận dữ liệu lên kết nối
CLOSE Giải phóng kết nối
Bảng 7-2: Các socket trong TCP
Trang 167.2 Các giao thức trong lớp giao vận
7.2.1 Yêu cầu, đặc điểm
Các giao thức của lớp giao vận, chức năng
Trang 177.2.1 Yêu cầu, đặc điểm
Các dịch vụ lớp giao vận được bảo đảm bằng cách giao thức giữa hai thực thể của lớp giải quyết vấn đề lỗi, đ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, đường kênh vật lý được thay bằng Subnet (Mạng cấp dưới)
Trang 187.2.1 Yêu cầu, đặc điểm
Sự khác nhau về xây dựng các thủ tục:
Lớp giao vận phải xác định địa chỉ nơi nhận,còn lớp liên kết dữ liệu thì không (vì chỉ có một đường truyền tin giữa 2 điểm)
Quá trình kết nối ở lớp giao vận cũng phức tạp hơn
Trang 197.2.1 Yêu cầu, đặc điểm
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 các vấn đề đệm
dữ liệu và điều khiển luồng phức tạp hơn
Trang 207.2.1 Yêu cầu, đặ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 mạng 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
Trang 217.2.2 Các giao thức của lớp giao vận, chức năng.
Mô hình OSI chia giao thức của lớp giao vận thành 5
lớp:
Lớp 0: Lớp mạng đơn giản, kết nối mạng khi có yêu cầu
giao vận không giải quyết lỗi Chủ yếu tạo ra trình tự, điều khiển dòng dữ liệu để làm cho lớp mạng hoạt động tốt hơn Bao gồm cơ cấu thiết lập và hủy liên kết ở lớp giao diện
Lớp 1: Tương tự lớp 0, ngoài ra:
- Khởi động lại mạng sau khi thực hiện N_RESET
Trang 227.2.2 Các giao thức của lớp giao vận, chức năng.
- Đồng bộ lại và sau đó nối lại liên lạc giữa các thực thể
giao vận đã bị gián đoạn Lớp 1 không kiểm tra lỗi và kiểm soát dòng dữ liệu
Lớp 2: Là phiên bản của lớp 0 và được xây dựng cho
mạng tin cậy, nhiều kết nối của lớp giao vận có thể dùng chung một kết nối ở lớp mạng Sử dụng khi nhiều liên kết
ở lớp giao vận được mở đồng thời, nối liên kết có lưu
lượng nhỏ
Trang 237.2.2 Các giao thức của lớp giao vận, chức năng.
Lớp 3: Là tổ hợp lớp 1 và lớp 2 Cho phép dồn kênh, khởi
động lại, điều khiển luồng dữ liệu
Lớp 4: Giải quyết các vấn đề về mất gói dữ liệu và các gói
dữ liệu bị hỏng đồng thời giải quyết yêu cầu khởi động lại, chọn lớp giao thức sẽ được thực hiện mỗi khi thiết lập liên kết
Trang 247.2.2 Các giao thức của lớp giao vận, chức năng.
Trang 257.2.2 Các giao thức của lớp giao vận, chức năng.
o 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)
Trang 267.2.2 Các giao thức của lớp giao vận, 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)
Trang 277.2.2 Các giao thức của lớp giao vận, chức năng.
Trang 287.2.2 Các giao thức của lớp giao vận, chức năng.
o 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
Trang 297.2.2 Các giao thức của lớp giao vận, chức năng.
Trang 307.2.2 Các giao thức của lớp giao vận, chức năng.
o 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
Trang 317.2.2 Các giao thức của lớp giao vận, chức năng.
o Điều khiển luồng: tương tự như lớp liên kết dữ liệu sử
Trang 327.2.2 Các giao thức của lớp giao vận, chức năng.
Trang 337.2.2 Các giao thức của lớp giao vận, chức năng.
• 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
Trang 347.2.2 Các giao thức của lớp giao vận, chức năng.
o Khắc phục lỗi
Trang 357.3 Giao thức giao vận UDP và TCP
7.3.1 Giao thức giao vận UDP
Trang 367.3.1.1 Giới thiệu UDP
Giao thức UDP cung cấp cho các ứng dụng một phương thức để 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
Hình 7-4: Phần mào đầu của gói dữ liệu UDP
Trang 377.3.1.2 Các ứng dụng của giao thức 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
Hình 7-5: Các bước gọi một thủ tục đầu xa
Trang 387.3.1.2 Các ứng dụng của giao thức UDP
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
Để gọi được một thủ tục đầu xa, chương trình tại máy trạm
phải có một thủ tục thư viện client stub đại diện cho thủ tục
của máy chủ trên máy khách Tại máy chủ cũng có một thủ
tục server stub.
Trang 397.3.1.2 Các ứng dụng của giao thức 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 đã
ra đời Chuẩn RFC 1889
Hình 7-6: Vị trí của RTP trong chồng giao thức và gói dữ liệu
RTP
Trang 407.3.1.2 Các ứng dụng của giao thức UDP
Chức năng chính của RTP là ghép nhiều luồng dữ liệu thời gian thực thành một luồng dữ liệu chung dạng
UDP
RTP header
Trang 417.3.2.1 Giới thiệu giao thức giao vận TCP
Được thiết kế để 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
Trang 427.3.2.1 Giới thiệu giao thức giao vận TCP
TCP segment header
Trang 437.3.2.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
Trang 457.3.2.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)
Trang 46 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
Trang 477.3.2.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
Trang 48CẢM ƠN THẦY, CÔ VÀ CÁC BẠN ĐÃ
QUAN TÂM THEO DÕI.