La43.011 mô hình tự thích nghi – giao thức họ tcp cho các ứng dụng đa phương tiện trong mạng không dây

  • 99 trang
  • file .pdf
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ CÔNG THƯƠNG
VIỆN NGHIÊN CỨU ĐIỆN TỬ, TIN HỌC TỰ ĐỘNG HÓA
----***----
VŨ TẤT THÀNH
MÔ HÌNH TỰ THÍCH NGHI – GIAO THỨC HỌ TCP CHO CÁC ỨNG
DỤNG ĐA PHƯƠNG TIỆN TRONG MẠNG KHÔNG DÂY
Chuyên ngành: KỸ THUẬT ĐIỆN TỬ
Mã số: 62 52 02 03
LUẬN ÁN TIẾN SỸ KỸ THUẬT
Hà nội 2014
LỜI CAM ĐOAN
Tôi xin cam đoan rằng các kết quả khoa học được trình bày trong luận án này
là thành quả nghiên cứu của bản thân tôi trong suốt thời gian làm nghiên cứu sinh và
chưa từng xuất hiện trong công bố của các tác giả khác. Các kết quả đạt được là chính
xác và trung thực.
Tác giả luận án
Vũ Tất Thành
2
LỜI CẢM ƠN
Trước hết, tôi xin bày tỏ lời cảm ơn sâu sắc đến PGS. TSKH. Nguyễn Hồng
Vũ, TS. Ngô Văn Sỹ đã hướng dẫn trực tiếp nghiên cứu cũng như đã hỗ trợ về mọi
mặt để tôi hoàn thành bản luận án này. Tôi xin cám ơn GS. TSKH Dietrich Reschke
(Trường ĐH Kỹ thuật Ilmenau, CHLB Đức) đã truyền cho tôi cảm hứng nghiên cứu
khoa học.
Qua đây, Tôi xin gửi lời cám ơn GS. TSKH Nguyễn Xuân Quỳnh, TS. Phạm
Thế Truyện và Viện Nghiên cứu Điện Tử Tin Học Tự động hóa, những người luôn
cho tôi sự tư vấn, hỗ trợ kịp thời và tạo điều kiện thuận lợi cho tôi ngay từ những
ngày đầu học tập làm nghiên cứu sinh.
Cuối cùng, tôi dành lời yêu thương nhất đến gia đình tôi: bố mẹ, em trai và
đặc biệt là vợ cùng hai con. Sự động viên, giúp đỡ và hy sinh, nhẫn nại của gia đình
là động lực mạnh mẽ giúp tôi vượt qua khó khăn để hoàn thành luận án này.
Xin chân thành cảm ơn!
Hà nội, ngày 18 tháng 11 năm 2014
Tác giả luận án
Vũ Tất Thành
3
MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT ...................................................6
DANH MỤC HÌNH VẼ ........................................................................................8
MỞ ĐẦU ................................................................................................................9
CHƯƠNG 1. ĐIỀU KHIỂN LƯU LƯỢNG VÀ TẮC NGHẼN .....................12
1.1 Mạng máy tính và ứng dụng ............................................................................ 12
1.2 Mạng Internet và mô hình TCP/IP ................................................................... 13
1.2.1 Tầng Internet...................................................................................................... 14
1.2.2 Tầng giao vận .................................................................................................... 14
1.2.3 Tầng Ứng dụng .................................................................................................. 15
1.2.4 Tầng Host-to-Network ....................................................................................... 15
1.3 Điều khiển tắc nghẽn trong TCP truyền thống ................................................ 15
1.3.1 Cơ bản về điều khiển lưu lượng và điều khiển tắc nghẽn .................................. 16
1.3.1.1 Khái niệm ...................................................................................................... 16
1.3.1.2 Các tầng có thể thực hiện điều khiển luồng ................................................. 16
1.3.1.3 Điều khiển luồng theo cơ chế cửa sổ............................................................. 17
1.3.1.4 Biên nhận từng gói số liệu............................................................................. 18
1.3.1.5 Biên nhận ở cuối cửa sổ ................................................................................ 19
1.3.1.6 Điều khiển tắc nghẽn ..................................................................................... 21
1.3.1.7 Điều khiển luồng trong giao thức TCP ......................................................... 24
1.3.1.8 Tính thời gian khứ hồi và thời gian hết hạn gói tin ....................................... 28
1.3.1.9 Rút lui theo hàm mũ. ..................................................................................... 28
1.3.1.10 Tránh tắc nghẽn ............................................................................................ 29
1.4 Điều khiển tắc nghẽn trong mạng có kết nối phức tạp .................................... 30
1.4.1 TCP và ứng dụng đa phương tiện ...................................................................... 30
1.4.2 Các vấn đề ảnh hưởng QoS trên mạng không dây............................................. 31
1.4.3 Hiệu suất của giao thức TCP trong mạng có đường truyền không dây ............. 32
1.4.4 Ảnh hưởng của đặc tính lỗi đường truyền không dây ....................................... 32
1.4.5 Ảnh hưởng của sự gián đoạn kết nối thường xuyên .......................................... 33
1.5 Đặt vấn đề nghiên cứu ..................................................................................... 36
1.6 Kết luận chương I ............................................................................................ 41
CHƯƠNG 2. CÁC GIẢI PHÁP ĐIỀU KHIỂN TẮC NGHẼN TRONG
MẠNG CÓ KẾT NỐI PHỨC TẠP .......................................................................43
2.1 Cấu trúc mạng có kết nối phức tạp – mạng có kết nối không dây ................... 43
2.2 Các kỹ thuật nhằm cải thiện hiệu năng TCP cho mạng không dây. ................ 44
2.2.1 Che giấu phần mạng hay làm mất gói số liệu do lỗi đường truyền ............. 45
2.2.1.1 Các giải pháp ở tầng liên kết dữ liệu ........................................................... 45
2.2.1.2 Các giải pháp ở tầng giao vận ...................................................................... 47
2.2.1.3 Các giải pháp liên tầng................................................................................. 50
2.2.2 Thông báo rõ ràng về nguyên nhân mất gói số liệu ..................................... 52
2.3 Xác định nhu cầu băng thông và trạng thái đường truyền ............................... 53
2.4 Kết luận chương II ........................................................................................... 62
4
CHƯƠNG 3. MÔ HÌNH ĐIỀU KHIỂN TRUYỀN THÔNG TỰ THÍCH
NGHI CHO HỌ GIAO THỨC TCP TRONG MẠNG KHÔNG DÂY ..............64
3.1 Mô hình điều khiển thích nghi mạng không dây ............................................. 64
3.2 Thuật toán tính RTT ........................................................................................ 71
3.2.1 Phân tích công thức RTT theo hàm thống kê ......................................................... 72
3.2.2 Đề xuất phương pháp tính RTT phù hợp môi trường không dây........................... 74
3.3 Giao thức tự thích nghi họ TCP cho môi trường không dây WRCAP ........... 79
3.4 Kết luận chương III .......................................................................................... 87
KẾT LUẬN..........................................................................................................89
DANH SÁCH CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ .......................................91
TÀI LIỆU THAM KHẢO ..................................................................................92
5
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT
ARQ Automatic Repeat reQuest Yêu cầu gửi nhắc lại tự động
ACK Acknowledgement Xác nhận nhận được gói tin
ADW Adaptive Delayed Acknowledgment Chiến lược trì hoãn xác nhận thích
Strategy nghi
AIMD Additive Increase, Multiplicative Chính sách tăng theo cấp số cộng,
Decrease giảm theo cấp số nhân
ARPANET
AP Access Point Thiết bị /Điểm truy cập
BS Base Station Trạm gốc
BER Bit Error Rate Tỉ lệ lỗi bit
BS Base Station Trạm gốc
BSD Berkeley Software Distribution Hệ điều hành Linux của Berkeley
CA Congestion Avoidance Thuật toán tránh tắc nghẽn
CBR Constant Bit Rate Tốc độ bit không đổi
CWND Congestion window Cửa sổ tắc nghẽn
DNS Domain Name System Hệ thống tên miền
ECN Explicit Congestion Notification Thông báo tường minh tắc nghẽn
ECIMD Exponential Combination Increase, Chính sách tăng theo hàm mũ kết
Multiplicative Decrease hợp, giảm theo cấp số nhân
ELN Explicit Loss Notification Thông báo tường minh mất gói
FEC Forward Error Correcting Sửa lỗi hướng đi
FH Fixed Host Trạm cố định
FTP File Transfer Protocol Giao thức truyền file
HDLC High-Level Data Link Control Giao thức kết nối dữ liệu bậc cao
I/O Input / Output Vào / Ra
IP Internet Protocol Giao thức Internet
I-TCP Indirect TCP TCP gián tiếp
LAN Local Area Network Mạng cục bộ
MTU Maximum Transmission Unit Đơn vị truyền thông tối đa
MH Mobile Host Trạm di động;
NRT Non-congestion Retransmission Hết thời gian truyền lại khi không
Timeout tắc nghẽn
OSI Open Systems Interconnection Mô hình liên kết các hệ thống mở
QoS Quanlity of Service Chất lượng dịch vụ
RED Random Early Detection Phát hiện/ Hủy bỏ sớm ngẫu nhiên
RTO Round trip Time Out Thời gian hết giờ
RTT Round Trip Time Thời gian khứ hồi
SATNET Satellite Network Mạng vệ tinh
SACK Selective ACK Xác nhận có lựa chọn
SMTP Simple Mail Transfer Protocol Giao thức trao đổi thư đơn giản
6
SRTT Sample RTT Giá trị thời gian khứ hồi mẫu
SS Slow Start Thuật toán khởi động chậm
TCP Transmission Control Protocol Giao thức Điều khiển truyền thông
TELNET Network Virtual Terminal Protocol Giao thức Trạm ảo mạng
TFRC TCP Friendly Rate Control Giao thức họ TCP, điều khiển tốc
độ
UDP User Datagram Protocol Giao thức tầng giao vận không xác
nhận
WRCAP Wireless ready control adative Giao thức điều khiển thích nghi
protocol cho môi trường không dây
7
DANH MỤC HÌNH VẼ
Hình 1.1 Mô hình tham chiếu TCP/IP và mô hình tham chiếu OSI 13
Hình 1.2 Các giao thức và các mạng trong mô hìnhTCP/IP ban đầu 15
Hình 1.3 Điều khiển lưu lượng bằng cửa sổ, biên nhận từng gói số liệu 18
Hình 1.4 Điều khiển lưu lượng bằng cửa sổ, biên nhận ở cuối cửa sổ. 19
Kích thước cửa sổ nhận và gửi ban đầu bằng 3
Hình 1.5 Điều khiển lưu lượng bằng cửa sổ, biên nhận ở cuối cửa sổ. 20
Hình 1.6 Sự xuất hiện tắc nghẽn khi quá tải 21
Hình 1.7 Sự phân lớp các giao thức 25
Hình 1.8 Sự tăng của cửa sổ trong cơ chế khởi động chậm 27
Hình 1.9 Mạng để nghiên cứu thực nghiệm về liên mạng di động 34
Hình 1.10 Ảnh hưởng của tỉ lệ lỗi bit (BER) cao và Sự chuyển cuộc gọi 35
đến hiệu suất của TCP
Hình 1.11 Mô hình mạng điều khiển tắc nghẽn và lưu lượng giữa hai đầu 37
cuối
Hình 1.12 Kiến trúc nguyên lý điều khiển thích nghi 38
Hình 1.13 Mô hình điều khiển tự thích nghi 40
Hình 2.1 Ví dụ mô hình mạng có kết nối phức tạp 44
Hình 2.2 Nghiên cứu 2 nút mạng tổng quát 54
Hình 2.3 Mô hình xác định băng thông khả dụng 56
Hình 2.4 So sánh giá trị R(t) theo công thức (2.7) và (2.11). 60
Hình 2.5 Biến đổi của R(t) theo giá trị Tqs. 61
Hình 2.6 Biến đổi của R(t) theo trọng số dung sai X 61
Hình 3. 1 Cơ chế điều khiển thích nghi 65
Hình 3. 2 Biến đổi của Thông lượng theo p 70
Hình 3. 3 Biến đổi của Thông lượng theo RTT 70
Hình 3. 4 Các tình huống lấy mẫu RTT bị sai 71
Hình 3.5 Mô phỏng quan hệ WR theo giá trị α, N 75
Hình 3.6 Lưu đồ thuật toán EWMA RTT 76
Hình 3.7 Giá trị RTT đo bằng phương pháp EWMA RTT 78
Hình 3.8 Nguyên lý hoạt động của WRCAP 80
Hình 3.9 Theo dõi QoS: Di động - Cố định 82
Hình 3.10 Theo dõi QoS: Cố định - Di động 83
Hình 3.11 Mô hình các trạng thái của giao thức tự thích nghi WRCAP 84
Hình 3.12 Thông lượng nguồn TCP và WRCAP 87
8
MỞ ĐẦU
Xu hướng hội tụ về công nghệ mạng IP và tính chất đa dạng của các mạng
máy tính, viễn thông trong tương lai sẽ khiến việc đảm bảo chất lượng dịch vụ cho
các kết nối thông qua các mạng này trở thành một thử thách lớn, đặc biệt khi mô hình
mạng hiện nay là hỗn hợp, bao gồm nhiều loại kênh truyền khác nhau.
Xu hướng sử dụng ngày càng phổ biến các ứng dụng đa phương tiện, chứa
nhiều loại dữ liệu dung lượng lớn như thoại, ảnh, video... cũng yêu cầu băng thông
cấp phát cho mỗi ứng dụng này càng cao.
Mặc dù băng thông của các mạng không dây thế hệ mới này đã được cải thiện,
và công nghệ mạng có dây thế hệ mới cũng không ngừng phát triển, bởi vậy mạng
không dây vẫn sẽ là nơi thắt nút của mạng hỗn hợp, gồm các thiết bị trong mạng có
dây, như Internet, đến thiết bị của mạng không dây (ví dụ như một handy phone).
Trong kết nối mạng có dây vào mạng không dây, điểm kết nối thường xảy ra tắc
nghẽn.
Nguyên nhân gây nên việc mất các gói tin trong mạng không dây khác xa các
giả thiết về nguyên nhân gây mất các gói tin khi thiết kế các giao thức truyền thông
truyền thống như TCP/IP.
Vì vậy nhu cầu cần thiết phải xây dựng một mô hình tự thích nghi, thông qua
việc đo băng thông tức thời, phát hiện chất lượng đường truyền, điều chỉnh tốc độ
truyền tin để đảm bảo chất lượng của các ứng dụng đa phương tiện, trong mạng không
dây là rất cần thiết. Đây chính là nội dung của công trình nghiên cứu này.
Mục tiêu của luận án là đề xuất phương pháp xác định nhanh chóng trạng thái
kênh truyền, điều chỉnh phương pháp tính thời gian khứ hồi gói tin, từ đó xây dựng
một mô hình thích nghi với sự thay đổi tham số của môi trường mạng, đặc biệt có thể
biến thiên với phần mạng không dây. Luận án áp dụng kết quả nghiên cứu lý thuyết
vào xây dựng thử nghiệm một giao thức truyền thông thuộc họ giao thức TCP, cải
thiện thông lượng, hội tụ nhanh, thích ứng tốt với lỗi mất gói tin cho ứng dụng đa
9
phương tiện trong mạng hỗn hợp, có sử dụng các thiết bị di động như các đầu cuối
để thu phát tín hiệu với các trạm gốc.
Bố cục của luận án gồm 3 chương.
Chương I giới thiệu mô hình tham chiếu TCP/IP, là chuẩn để các mạng máy
tính khác nhau có thể truyền thông tin với nhau, và phân tích đặc điểm thiết kế của
giao thức truyền thông TCP. Với giả định ban đầu nguyên nhân gây mất gói tin trên
mạng là do tắc nghẽn, nên TCP đã ứng dụng lý thuyết kiểm soát lưu lượng, chống tắc
nghẽn vào thiết kế của mình. Chương I trình bày vấn đề điều khiển tắc nghẽn trong
mạng có kết nối phức tạp, không đồng nhất, bao gồm đoạn mạng không dây, từ các
ứng dụng đa phương tiện, là các ứng dụng phổ biến hiện nay, gồm nhiều loại dữ liệu
khác nhau, nhiều loại dịch vụ và ứng dụng với nhu cầu hết sức đa dạng, các thiết bị
đầu cuối cũng rất khác nhau về nhiều mặt. TCP được phân tích không đạt hiệu năng
cao khi hoạt động trong môi trường mạng như vậy. Chương I đặt mục tiêu nghiên
cứu của luận án là xây dựng một mô hình điều khiển thông minh, nhằm phản ứng linh
hoạt hơn với các biến cố của đường truyền.
Chương II tổng hợp các đề xuất trong việc khắc phục điểm yếu của giao thức
truyền thông họ TCP cho đến nay, bao gồm các giải pháp che giấu phần mạng hay
làm mất gói số liệu do lỗi đường truyền, sao cho bên gửi chỉ phát hiện được những
sự mất gói số liệu do tắc nghẽn, loại thứ hai bao gồm các giải pháp cải tiến TCP bằng
các cơ chế thông báo rõ ràng về nguyên nhân mất gói số liệu, giúp cho TCP có thể
phân biệt được các kiểu mất gói số liệu khác nhau. Cả hai nhóm giải pháp đều cố
tránh thay đổi cách hoạt động của TCP, do đó không đóng góp nhiều trong việc cải
thiện hiệu năng TCP trong phần mạng không dây. Trong chương này, luận án xây
dựng công thức tính nhanh chóng nhu cầu băng thông của các kết nối và băng thông
khả dụng của đường truyền, trạng thái đường truyền từ mỗi nút mạng, dựa trên tốc
độ đến gói tin và kích thước bộ đệm, từ đó cho phép giao thức truyền thông có khả
năng nhận biết và điều khiển tắc nghẽn nhanh hơn.
10
Chương III đề xuất mô hình điều khiển thích nghi, là mô hình điều khiển tổng
quát cho các giao thức họ TCP, đảm bảo hiệu suất truyền thông đồng thời sự công
bằng giữa các luông tin. Trong mô hình này cơ chế ECIMD được đề xuất thay thế
cho AIMD của TCP, và được phân tích trong tình huống điều chỉnh kích thước cửa
sổ truyền, với các giá trị mới của các hệ số điều khiển, đảm bảo hiệu năng và khả
năng đáp ứng nhanh với môi trường mạng, đồng thời đảm bảo công bằng giữa các
luồng tin do đó hạn chế tắc nghẽn. Nghiên cứu cho thấy trong tình huống việc điều
khiển giá trị cửa sổ khi có lỗi đơn cho thấy cơ chế này mang lại thông lượng tốt hơn
so với AIMD.
Chương này cũng đề xuất phương pháp tính giá trị thời gian khứ hồi gói tin,
dựa trên phân tích tổng trọng số của N mẫu gần nhất. Điều này đặc biệt quan trọng
với môi trường không dây hay biến đổi, nên chỉ cần quan tâm đến sự ảnh hưởng của
một số giá trị gần nhất.
Mô hình đề xuất đã được áp dụng để xây dựng một giao thức họ TCP là
WRCAP và thử nghiệm mô phỏng trong môi trường NS đạt hiệu suất cao hơn, có khả
năng phát hiện, phân biệt và phòng lỗi hiệu quả hơn so với các kết quả nghiên cứu
đang sử dụng hiện nay trong các giao thức họ TCP, khi chạy trên môi trường hỗn
hợp, trong mô hình có trạm gốc và trạm di động.
11
CHƯƠNG 1. ĐIỀU KHIỂN LƯU LƯỢNG VÀ TẮC NGHẼN
1.1 Mạng máy tính và ứng dụng
Năm 1967, Robert L. G. đã đề xuất một mạng máy tính thí nghiệm, sau đó trở
thành mạng ARPANET (Department of Defense Advanced Research Projects
Agency Network) của Bộ Quốc phòng Mỹ. Ngay từ năm 1967 người ta đã nhận ra
rằng các mạng này sẽ là những tài nguyên tính toán quý giá, đem lại nhiều lợi ích cho
Bộ Quốc phòng Mỹ cũng như cho cộng đồng khoa học, nếu chúng cung cấp các dịch
vụ truyền thông, cho phép truy cập từ xa tới tất cả tài nguyên của hệ thống [6].
Năm 1969, Bộ Quốc phòng Mỹ triển khai thực hiện mạng ARPANET với
hãng BBN (Bolt, Beranek, and Newman). Đến tháng 9 năm 1969, mạng máy tính
chuyển mạch gói đầu tiên trên thế giới ra đời, kết nối mạng của các trường đại học,
các trung tâm nghiên cứu của chính phủ và của các hãng công nghiệp trên khắp nước
Mỹ.
Trong quá trình nghiên cứu và triển khai mạng ARPANET, nhiều tư tưởng và
phương pháp mới lần đầu tiên được đề xuất và đưa vào thực hiện, trong đó có giao
thức, mạng rối (mesh network), điều khiển lưu lượng (flow control), đặc tính chịu lỗi.
Với các đặc tính này, mạng vẫn có khả năng hoạt động được khi có một số nút hoặc
đường truyền bị hỏng mà không cần sự can thiệp của người điều hành. Ngoài ra,
những người nghiên cứu và thực hiện mạng ARPANET cũng đã sử dụng một cách
phổ biến các mô hình giải tích và mô hình mô phỏng để dự đoán và đánh giá hiệu
suất mạng.
Mạng ARPANET là tiền thân của mạng Internet. Khi các mạng vệ tinh và vô
tuyến ra đời thì các giao thức đang được sử dụng không đáp ứng được yêu cầu liên
mạng, do đó cần phải có các mô hình kiến trúc mới, có khả năng liên kết nhiều mạng
với nhau một cách trong suốt. Kiến trúc mới này được gọi là mô hình tham chiếu
TCP/IP [6] [27].
12
1.2 Mạng Internet và mô hình TCP/IP
Các mạng máy tính hiện đại được thiết kế bằng cách phân chia cấu trúc ở mức
độ cao nhằm làm giảm độ phức tạp của việc thiết kế; mạng được chia thành các tầng
(layer), hay còn gọi là mức hoặc lớp, mỗi tầng được xây dựng dựa trên tầng bên dưới
nó. Trong các mạng khác nhau, số tầng, tên, nội dung và chức năng của các tầng có
thể khác nhau. Tuy nhiên, mỗi tầng trên sử dụng các dịch vụ do các tầng bên dưới
cung cấp và cung cấp những dịch vụ nhất định cho các tầng cao hơn, sao cho các tầng
này khi sử dụng các dịch vụ đó không cần phải quan tâm tới các thao tác chi tiết mà
các dịch vụ phải thực hiện.
Để các mạng máy tính khác nhau có thể truyền thông tin với nhau, chúng cần
phải tuân theo các chuẩn. Người ta đã xây dựng nên các chuẩn như vậy và chúng còn
được gọi là mô hình tham chiếu, làm cơ sở chung cho các nhà thiết kế dựa vào khi
thiết kế mạng. Sau đây mô hình tham chiếu TCP/IP sẽ được trình bày và so sánh với
mô hình tham chiếu OSI truyền thống trong truyền thông.
Hình 1.1 Mô hình tham chiếu TCP/IP và mô hình tham chiếu OSI
13
1.2.1 Tầng Internet
Tầng Internet còn được gọi là tầng IP, có chức năng tương đương tầng mạng
trong mô hình OSI. Nhiệm vụ của tầng Internet là định tuyến gói số liệu, điều khiển
lưu lượng và điều khiển tắc nghẽn. Mỗi gói số liệu có thể đi tới điểm đến theo các
con đường khác nhau; tại điểm đến, thứ tự nhận các gói số liệu có thể khác với thứ tự
lúc chúng được phát đi từ nguồn, do đó tầng giao vận sẽ phải giải quyết vấn đề này.
Tầng Internet định nghĩa một khuôn dạng gói số liệu và giao thức chính là giao thức
IP.
1.2.2 Tầng giao vận
Tầng này phải được thiết kế sao cho các thực thể ngang hàng ở máy nguồn và
máy điểm đến có thể truyền thông với nhau, tương tự như trong mô hình OSI. Tại
tầng này, người ta định nghĩa hai giao thức kiểu đầu cuối - đầu cuối là TCP
(Transmission Control Protocol) và UDP (User Datagram Protocol).
TCP là giao thức hướng kết nối, được đảm bảo, nó vận chuyển dòng byte sinh
ra từ máy (nguồn) tới một máy tuỳ ý khác (điểm đến) trong liên mạng mà không có
lỗi. TCP phân mảnh dòng byte từ các tầng trên đi xuống thành các gói số liệu riêng
biệt rồi chuyển từng gói số liệu này xuống cho tầng Internet. Tại máy điểm đến, tiến
trình TCP nhận và thực hiện lắp ráp các gói số liệu nhận được lại thành dòng byte rồi
chuyển lên tầng trên. TCP cũng có các chức năng điều khiển lưu lượng và điều khiển
tắc nghẽn, để đảm bảo bên gửi tốc độ cao không "làm lụt" bên nhận có tốc độ thấp và
để tránh tắc nghẽn mạng. Vấn đề điều khiển lưu lượng trong giao thức TCP sẽ được
nghiên cứu tại mục 1.3 của chương này.
UDP là giao thức không hướng kết nối, không đảm bảo (không có sự biên
nhận cho gói số liệu UDP), dành cho các ứng dụng không muốn sử dụng các chức
năng điều khiển lưu lượng và phân phát các gói số liệu theo đúng thứ tự như TCP mà
muốn tự cung cấp các chức năng này. UDP được sử dụng rộng rãi trong các ứng
dụng kiểu dùng một lần, khách/chủ và các ứng dụng mà trong đó việc phân phát tin
14
nhanh chóng quan trọng hơn việc phân phối tin chính xác. Mối quan hệ giữa IP, TCP
và UDP được thể hiện trên hình 1.2.
Hình 1.2 Các giao thức và các mạng trong mô hìnhTCP/IP ban đầu
1.2.3 Tầng Ứng dụng
Tầng ứng dụng gồm các giao thức bậc cao, như các giao thức TELNET (virtual
terminal protocol), FTP (File Transfer Protocol) và SMTP (Simple Mail Transfer
Protocol) v.v.
1.2.4 Tầng Host-to-Network
Bên dưới tầng Internet là một khoảng trống lớn, mô hình tham chiếu TCP/IP
thực tế hầu như không nói gì về tầng này, ngoài việc chỉ ra rằng máy tính (host) phải
nối với mạng bằng cách sử dụng một số giao thức để có thể gửi các gói số liệu IP đi
trên mạng. Tầng này không được định nghĩa và nó khác nhau trên các máy tính khác
nhau cũng như trên các mạng khác nhau [6].
1.3 Điều khiển tắc nghẽn trong TCP truyền thống
Nói chung, nếu không có một cơ chế điều khiển nào đối với các lưu lượng đến
mạng thì tắc nghẽn là điều chắc chắn sẽ xảy ra. Chính vì vậy, các quy tắc hay các cơ
chế điều khiển lưu lượng, cần được triển khai thực hiện đúng đắn, nếu không, mạng
sẽ bị tắc nghẽn, đó là trạng thái khi lưu lượng đến mạng tăng lên, thông lượng vận
15
chuyển của mạng lại giảm đi. Thậm chí thông lượng vận chuyển của mạng có thể
bằng không ở trạng thái chết tắc [26],[36],[45],[46].
1.3.1 Cơ bản về điều khiển lưu lượng và điều khiển tắc nghẽn
1.3.1.1 Khái niệm
Điều khiển luồng liên quan đến việc vận chuyển giữa một người gửi nào đó
và một người nhận. Nhiệm vụ của nó là đảm bảo rằng bên gửi có tốc độ nhanh không
thể tiếp tục truyền dữ liệu nhanh hơn mức mà bên nhận có thể tiếp thu được. Điều
khiển luồng luôn luôn liên quan đến một sự phản hồi trực tiếp từ phía người nhận đến
người gửi để báo cho bên gửi về khả năng nhận số liệu thực của bên nhận.
Điều khiển tắc nghẽn thực hiện nhiệm vụ đảm bảo cho mạng có khả năng vận
chuyển lưu lượng đưa vào.
Điều khiển luồng và điều khiển tắc nghẽn là hai khái niệm khác nhau, nhưng
liên quan chặt chẽ với nhau. Điều khiển luồng là để tránh tắc nghẽn, còn điều khiển
tắc nghẽn là để đề phòng tắc nghẽn trước khi nó xuất hiện và giải quyết tắc nghẽn
khi nó có dấu hiu xảy ra. Trong thực tế triển khai thực hiện các thuật toán điều khiển
luồng và điều khiển tắc nghẽn, nhiều khi cả hai thuật toán này cùng được cài đặt
trong một giao thức, thể hiện ra như là một thuật toán duy nhất, thí dụ trong giao thức
TCP [24] [30].
1.3.1.2 Các tầng có thể thực hiện điều khiển luồng
Có thể thực hiện điều khiển lưu lượng ở một vài tầng trong mạng, thí dụ:
Điều khiển luồng ở tầng giao vận: thường được gọi là điều khiển lưu lượng
đầu cuối - đầu cuối: nhằm tránh cho bộ đệm của quá trình nhận tại điểm đến khỏi bị
tràn.
Điều khiển luồng trên từng chặng: nhằm tránh cho từng đường truyền khỏi bị
tắc nghẽn. Tuy nhiên, việc điều khiển luồng trên từng chặng sẽ có ảnh hưởng đến
các chặng khác, do đó nó cũng có tác dụng tránh tắc nghẽn cho các đường truyền có
16
nhiều chặng. Trong mô hình tham chiếu OSI, điều khiển lưu lượng theo từng chặng
được thực hiện ở tầng liên kết dữ liệu và tầng mạng.
1.3.1.3 Điều khiển luồng theo cơ chế cửa sổ
Điều khiển lưu lượng bằng cửa sổ trượt là một trong các cơ chế điều khiển lưu
lượng được sử dụng rộng rãi nhất, có thể áp dụng tại một hay nhiều tầng của mạng.
Cơ chế điều khiển luồng bằng cửa sổ cho phép bên gửi phát đi liên tiếp một
số gói số liệu nhất định rồi dừng lại chờ thông báo biên nhận, trước khi tiếp tục phát.
Bên nhận điều khiển lưu lượng bằng cách kìm lại hay gửi ngay biên nhận, hoặc một
gói số liệu có chứa thông tin điều khiển, dùng để báo cho bên gửi biết về việc đã nhận
một hay một số gói số liệu như thế nào. Tại mọi thời điểm, bên gửi phải ghi nhớ một
danh sách chứa số thứ tự liên tiếp các gói số liệu mà nó được phép gửi đi, nằm trong
cửa sổ gửi. Bên nhận cũng duy trì một danh sách gọi là cửa sổ nhận, tương ứng với
các gói số liệu mà nó được phép nhận.
Người ta đã đề xuất và sử dụng một số phương thức quản lý cửa sổ khác nhau.
Thí dụ như, biên nhận riêng rẽ cho mỗi gói số liệu nhận được, biên nhận ở cuối cửa
sổ sau khi đã nhận được gói số liệu cuối cùng trong cửa sổ, hay biên nhận ở đầu cửa
sổ v.v.
Để việc phân tích sự điều khiển luồng theo cơ chế cửa sổ được thuận lợi, trong
luận án sử dụng một số ký hiệu cho các tham số nêu trong bảng sau:
Bảng 1.1 Định nghĩa các tham số
Tt Thời gian truyền (transmit) một gói số liệu.
Tp Thời gian truyền tín hiệu cho phép.
 Thời gian trễ lan truyền.
W Kích thước cửa sổ, đơn vị là gói số liệu.
Thời gian từ khi bắt đầu truyền gói số liệu đầu tiên trong cửa sổ, cho đến khi
D nhận được tín hiệu cho phép truyền tiếp.
17
1.3.1.4 Biên nhận từng gói số liệu
Theo cách quản lý này, mỗi khi nhận được một gói số liệu, bên nhận sẽ gửi
một biên nhận cho bên gửi. Cửa sổ gửi tương ứng với các gói số liệu đã gửi đi nhưng
chưa được biên nhận (hình 1.3 a). Khi có một gói số liệu mới từ tầng trên chuyển
xuống để gửi đi, nó sẽ được gán số thứ tự lớn nhất tiếp theo, do đó mép trên của cửa
sổ gửi sẽ tăng thêm 1. Nếu cửa sổ tăng tới cực đại thì tiến trình truyền ở tầng trên bị
chặn lại, không thể truyền các gói số liệu xuống nữa, cho đến khi có chỗ trống trong
vùng nhớ đệm. Mỗi gói số liệu sau khi tới điểm đến sẽ được bên nhận biên nhận một
cách riêng rẽ. Khi biên nhận về đến bên gửi, mép dưới của cửa sổ gửi sẽ được tăng
thêm 1, làm cho danh sách các gói số liệu đã truyền nhưng còn chờ biên nhận giảm
đi một phần tử, đồng thời vùng nhớ tương ứng với phần tử đó cũng được giải phóng
để cấp phát cho một gói số liệu mới (hình 1.3 b, c). Bằng cách này, cửa sổ gửi luôn
ghi nhớ được danh sách các gói số liệu còn chưa được biên nhận. Vì các gói số liệu
trong cửa sổ gửi có thể bị hỏng hoặc mất trên đường truyền, nên bên gửi phải giữ lại
bản sao của chúng trong bộ nhớ đệm để phát lại nếu sau một khoảng thời gian nhất
định vẫn không nhận được biên nhận.
Hình 1.3 Điều khiển lưu lượng bằng cửa sổ, biên nhận từng gói số liệu. a. Trạng thái ban đầu b.
Gói số 0 được biên nhận c. Gói số 1 được biên nhận
Cửa sổ bên nhận tương ứng với các gói số liệu mà nó được phép nhận, các gói
số liệu nằm ngoài cửa sổ nhận nếu đến sẽ bị loại bỏ. Khi nhận được một gói số liệu
có số thứ tự bằng mép dưới của cửa sổ, nó sẽ được truyền cho tầng trên, bên nhận tạo
ra một biên nhận để gửi tới người gửi và tăng cửa sổ lên một ô. Nếu kích thước cửa
18
sổ nhận bằng 1, có nghĩa là nó chỉ chấp nhận các gói số liệu đến theo đúng thứ tự.
Nếu khác 1 thì không phải như vậy, trong trường hợp này, bên nhận sẽ giữ gói số liệu
đến không đúng thứ tự trong bộ đệm, chờ nhận đủ các gói số liệu trong cửa sổ rồi
mới chuyển các gói số liệu lên tầng trên theo thứ tự mà bên gửi đã gửi đi. Khoảng
thời gian chờ này luôn được giới hạn.
1.3.1.5 Biên nhận ở cuối cửa sổ
Đây là cách đơn giản nhất, bên nhận sẽ phát ra một biên nhận sau khi nhận
được tất cả các gói số liệu trong cửa sổ nhận. Hình 1.4 minh hoạ cho phương pháp
này, trong đó ví dụ nút A truyền thông với nút B, sử dụng một giao thức tựa như giao
thức HDLC, kích thước cửa sổ gửi và cửa sổ nhận ban đầu bằng 3. Các gói số liệu
đi trên mạng được biểu diễn bằng các mũi tên, kiểu của gói số liệu được ghi bên cạnh
mũi tên, ý nghĩa như sau [21]:
Hình 1.4 Điều khiển lưu lượng bằng cửa sổ, biên nhận ở cuối cửa sổ. Kích thước cửa sổ nhận và
gửi ban đầu bằng 3
 I n.m: là gói số liệu, với trường số thứ tự gói số liệu N(S) = n, trường biên nhận
N(R) = m. Bên B cho gói số liệu của nó “cõng” (“piggyback”) biên nhận tới bên
A, việc này giúp nâng cao hiệu quả sử dụng đường truyền. Tất nhiên, bên A cũng
có thể biên nhận các gói số liệu mà B gửi cho nó bằng cách trên.
19
 RNR 4: là gói số liệu điều khiển, B báo cho A rằng, lúc này nó không thể nhận
tiếp các gói số liệu của A, đồng thời biên nhận cho các gói số liệu có số thứ tự
nhỏ hơn hoặc bằng 3. Khi nhận được tín hiệu này, A sẽ phải ngừng gửi, chờ cho
đến khi nhận được tín hiệu cho phép gửi tiếp của B.
 RR 4: là gói số liệu điều khiển, B báo cho A rằng, lúc này nó sẵn sàng nhận tiếp
các gói số liệu của A, bắt đầu từ gói số 4.
Giả sử rằng bên gửi luôn có sẵn dữ liệu để gửi, còn bên nhận cũng gửi biên
nhận ngay sau khi nhận được gói số liệu cuối cùng trong cửa sổ nhận. Chúng ta có
thể tính được thông lượng trung bình lớn nhất có thể đạt được dựa trên hình 1.5:
WTt
Re  R (1. 1)
d
với d = WTt + Tp + 2 và R là dung lượng đường truyền giữa A và B.
Hình 1.5 Điều khiển lưu lượng bằng cửa sổ, biên nhận ở cuối cửa sổ.
Kích thước cửa sổ W=3.
So với cách biên nhận từng gói số liệu, rõ ràng là số lượng biên nhận giảm đi,
từ một biên nhận/một gói số liệu, xuống còn một biên nhận/một cửa sổ. Thí dụ, nếu
kích thước cửa sổ W=8, thì số biên nhận giảm đi 8 lần.
20