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.
                
              
                                            
                                
            
                       
            
                 39 trang
39 trang | 
Chia sẻ: lylyngoc | Lượt xem: 1933 | Lượt tải: 1 
              
            Bạn đang xem trước 20 trang tài liệu Chương 7 Lớp giao vận Transport Layer, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1MẠNG MÁY TÍNH
Chương 7 LỚP GIAO VẬN
Transport layer
2Giớ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
3Giớ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. 
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 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
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. 
67.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 cho 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
77.1.2 Các dịch vụ cơ bản
Muốn giải phóng kết nốiDISCONNECT 
REQ.
DISCONNECT
Giữ trạng thái khóa cho
đến khi có gói dữ liệu
DATA đến.
(không có)RECEIVE
Gửi thông tinDATASEND
Cố gắng chủ động thiết lập
kết nối
CONNECT REQ.CONNECT
Giữ trạng thái khóa cho
đến khi có tiến trình kết
nối đến
(không có)LISTEN
Ý nghĩaGói dữ liệu gửi điDV cơ bản
87.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
97.1.2 Các dịch vụ cơ bản
10
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
11
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. 
Giải phóng kết nốiCLOSE
Nhận dữ liệu lên kết nốiRECEIVE
Gửi dữ liệu lên kết nốiSEND
Chủ động thiết lập kết nốiCONNECT
Khóa người gọi cho đến khi kết nối vàoACCEPT
Thông báo sẵn sàng nhận kết nối; cung cấp
kích thước hàng đợi
LISTEN
Gắn địa chỉ cho socketBIND
Tạo mới 1 điểm kết cuối trao đổi thông tinSOCKET
Ý nghĩaLệnh gốc
12
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
13
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. 
14
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.
15
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. 
16
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
17
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)
18
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)
19
20
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
21
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
22
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
23
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
24
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.
25
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
26
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 
27
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. 
28
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 
29
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. 
30
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
31
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.
32
7.3.1 Các ứng dụng UDP
 RTP header
33
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
34
7.3.2 TCP
 TCP segment header
35
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. 
36
7.3.2 Dịch vụ TCP
Tin tức USENETNNTP119
Truy cập thư điện tử từ xaPOP-3110
WebHTTP80
Tìm kiếm thông tin của người
dùng
Finger79
Truyền file TFTP69
Thư điện tửSMTP25
Đăng nhập từ xaTelnet23
Truyền fileFTP21
Ứng dụngGiao thứcCổng
37
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). 
38
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
39
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