Phân loại các phương pháp điều khiển chống tắc nghẽn a Các đặc điểm chung Các phương pháp điều khiển chống tắc nghẽn có thể được phân loại dựa trên các đặc điểm chung như sau: − Điều k
Trang 1Abstract: The Next Generation Network (NGN) and the
rapid growth of new services on the All-IP basis pose new
challenges to congestion control TCP congestion control
and its enhanced variations such as ECN [2] or RED [3]
seem to be quite effective in sustaining the stability in
traditional networks [1], but did not consider the effects of
network nodes and characteristics of transmission medium,
thus they become no longer suitable for NGN Besides, a
number of new services needs congestion control that not
relies on TCP mechanism [21,20,13,8,9,4,3,2] There is an
actual need to systematically revise typical congestion
control methods, in order to propose essential criteria,
which could be used for design of a comprehensive
framework for analyzing and evaluating various congestion
control methods as well as for improving and applying
them in NGN environment That is the contribution of this
paper
I ĐẶT VẤN ĐỀ
Mạng viễn thông của các nước trên thế giới cũng
như ở Việt Nam đang chuyển dần đến mạng thế hệ
sau NGN và tiến tới IP hoá (all-IP) với mục tiêu: mọi
lúc - mọi nơi và bằng mọi phương tiện Nhu cầu về
các dịch vụ mạng ngày càng đa dạng, phong phú và
đòi hỏi nhiều mức độ chất lượng dịch vụ khác nhau
Xu hướng phát triển là tiến tới hội tụ về mạng và hội
tụ về dịch vụ Tài nguyên của mạng thì có giới hạn
trong khi nhu cầu truyền thông tin ngày càng tăng
Chính vì vậy hiện tượng tắc nghẽn mạng là khó tránh
khỏi Để giải quyết vấn đề này có hai hướng giải
quyết tổng quát nhất, đó là:
− Tăng tài nguyên của mạng (mở rộng nút mạng, tăng
các tuyến truyền dẫn, tăng băng thông của mạng )
− Điều khiển để chống tắc nghẽn mạng [4]
Với cách thứ nhất chi phí đầu tư lớn, làm thay đổi phần cứng của mạng và không thể thực hiện thường xuyên được
Cách thứ hai sử dụng các thuật toán, các giao thức
để điều khiển chống tắc nghẽn mạng Cách này đầu tư nhỏ, không ảnh hưởng đến phần cứng của mạng và rất mềm dẻo linh hoạt và đây cũng là phương án khả thi, thích hợp với điều kiện ở Việt Nam
Tuy nhiên điều khiển chống tắc nghẽn mạng là một
vấn đề phức tạp, nhất là khi mạng ngày càng phát triển rộng lớn, dịch vụ gia tăng nhanh, các dịch vụ mới ngày càng nhiều, số lượng người sử dụng tăng đột biến kèm theo vấn đề lưu lượng tăng vọt và biến đổi động Vì vậy, điều khiển chống tắc nghẽn mạng ngày càng trở lên cấp thiết
Thực chất vấn đề điều khiển chống tắc nghẽn đã được nghiên cứu từ khá lâu và cũng đã có nhiều thuật toán và giao thức điều khiển chống tắc nghẽn được công bố Tuy nhiên, chúng được thiết kế chủ yếu cho mạng truyền thông cũ Trong môi trường tích hợp đa dịch vụ của mạng NGN với những đặc trưng khác biệt của mạng NGN so với các mạng truyền thống, những phương thức điều khiển đó khó có thể được áp dụng ngay nếu không có những sửa đổi hiệu chỉnh cần thiết Chính vì những lẽ nêu trên, điều khiển chống tắc nghẽn đã trở thành một trong những chủ đề nóng trong các nghiên cứu triển khai mạng NGN trên nền
All-IP mới đây
Vậy bản chất của điều khiển chống tắc nghẽn là gì? Tại sao vấn đề này ngày càng cấp thiết hơn đối với
Điều khiển chống tắc nghẽn trong các mạng
NGN – toàn IP
Congestion Control in NGN – All IP Networks
Cao Huy Phương, Hoàng Đăng Hải
Trang 2mạng NGN? Những tiêu chí có thể đặt ra để đánh giá
những phương pháp điều khiển chống tắc nghẽn là gì,
đặc biệt trong môi trường mạng NGN? Có thể xây
dựng được một mô hình tổng quát để phân tích, đánh
giá và so sánh các phương pháp đó không? Mục tiêu
của bài viết này là nhằm tìm ra câu trả lời cho các câu
hỏi đó Phần 2 của bài trình bày tổng quan về nguyên
lý và phân loại các phương pháp điều khiển chống tắc
nghẽn Tiếp đó bài viết đề xuất những tiêu chí đánh
giá các phương pháp điều khiển chống tắc nghẽn trên
quan điểm mạng NGN hiện nay Phần 3 của bài hệ
thống hóa lại một số phương pháp điển hình truyền
thống và cải tiến trong điều khiển chống tắc nghẽn,
phân tích đánh giá chúng theo các tiêu chí đã đề ra
Trong phần 4, bài viết đề xuất một mô hình tổng quát
có thể áp dụng cho phân tích, đánh giá và so sánh các
phương pháp điều khiển chống tắc nghẽn Phần cuối
cùng là kết luận của bài
II ĐIỀU KHIỂN CHỐNG TẮC NGHẼN TRONG
MẠNG NGN- TOÀN IP
1 Vấn đề tắc nghẽn nói chung
Tắc nghẽn là một hiện tượng rất quen thuộc trên
mạng, mà nguyên nhân nói chung là do tài nguyên
mạng giới hạn trong khi nhu cầu truyền thông tin của
con người là không có giới hạn Hình 1 trình bày hiện
tượng tắc nghẽn trên mạng và hiệu quả của việc có
điều khiển
Thông thường, nút mạng được thiết kế với một bộ
đệm lưu trữ có hạn Nếu tình trạng nghẽn mạng kéo
đủ dài, bộ đệm bị tràn, các gói sẽ bị mất hoặc trễ quá
thời gian cho phép Nếu một gói bị mất trên mạng thì
tại thời điểm ấy các tài nguyên mạng mà gói đó đã sử
dụng cũng bị mất theo
2 Vấn đề tắc nghẽn trong NGN
Hình 2 minh họa môi trường mạng hỗn tạp trong
NGN Các mạng riêng lẻ được kết nối với nhau thông
qua các bộ định tuyến hay các cổng (MG), tại đây các
gói tin đến sẽ được lưu giữ (store) trong bộ đệm và
chuyển tiếp (forward) theo một trong các đường kết
nối đầu ra Tốc độ của các gói tin đầu ra bị giới hạn
bởi băng thông (bandwidth) của các đường kết nối, thường nhỏ hơn băng thông của các đường đến do phải phân chia cho nhiều luồng
Hình 1 Hiện tượng xảy ra tắc nghẽn và hiệu quả của việc
điều khiển
Hình 2 Môi trường mạng hỗn tạp trong NGN
Nguyên nhân của xảy ra tắc nghẽn trong môi trường mạng mới đó là :
1 Tràn bộ đệm: đây cũng là nguyên nhân giống như trong mạng truyền thống
2 Lỗi do đường truyền vô tuyến: các hiệu ứng môi trường như di động, che chắn, pha đinh, … gây ra mất gói và ảnh hưởng đến tắc nghẽn mạng
3 Do nghẽn cổ chai: tại điểm đấu nối từ các mạng tốc độ thấp vào mạng tốc độ cao Đây là một trong những đặc điểm nổi bật của môi trường hỗn tạp
MG
MG
Mạng di động
Mạng dữ liệu
Máy chủ
Mạng truyền hình
MG - Media gateway Mạng cố định
MG
Xảy ra tắc nghẽn
Lưu lượng đầu vào
Có điều khiển
Không có điều khiển
Trang 3NGN
4 Nhu cầu băng thông cao của các dịch vụ đa
phương tiện và các loại hình dịch vụ mới: dữ liệu,
âm thanh và hình ảnh được tích hợp truyền trên
mạng duy nhất NGN ALL – IP gây ra tắc nghẽn tại
các đường truyền dẫn băng thông nhỏ
5 Lưu lượng lớn, thay đổi đột biến và biến đổi
động: Thông thường, các ứng dụng mới trong mạng
NGN được thiết kế với nhu cầu lưu lượng truyền tải
lớn (đặc biệt là các ứng dụng liên quan đến cơ sở
dữ liệu phân tán, hay VoIP, Video, IPTV,…) Mặt
khác, những ứng dụng đa phương tiện có đặc điểm
là lưu lượng biến đổi động khó dự đoán trước được
6 Tính biến động của mạng, hình trạng mạng: Đây
là một đặc tính mới của mạng NGN so với mạng
truyền thống Các nút mạng có thể dịch chuyển làm
hình trạng mạng thay đổi gây ra những biến đổi về
phân chia lưu lượng trên mạng
3 Nguyên lý chung điều khiển chống tắc nghẽn
Hình 3 Quá trình xảy ra tắc nghẽn
Quá tải làm thông lượng (throughput) suy biến như
được chỉ ra trên hình 3 Đồ thị biểu diễn mối quan hệ
giữa thông lượng với lưu lượng đưa vào (offered
load) Ở mức lưu lượng đưa vào nhỏ (phía trái của
điểm gãy - Knee), thông lượng tăng tuyến tính với lưu
lượng đưa vào Đó là lúc băng thông chưa sử dụng
hết Thông lượng lớn nhất khi lưu lượng đưa vào gần
với băng thông thắt cổ chai (bottleneck bandwidth) và
thông lượng tăng chậm tương ứng với kích thước dữ
liệu trong bộ đệm Khi lưu lượng đưa vào tiếp tục
tăng, thông lượng giảm đột ngột từ điểm vách (Cliff)
xuống một giá trị rất nhỏ, đó là lúc tất cả các luồng
cùng gửi dữ liệu nhưng dữ liệu không được truyền đến phía nhận Lúc đó hầu hết các gói bị mất và hiện tượng tắc nghẽn xảy ra
Giải pháp cho vấn đề trên là phải chống tắc nghẽn trên mạng Nguyên lý chung để điều khiển chống tắc nghẽn là cần duy trì điểm hoạt động của mạng luôn nằm bên trái điểm Knee và đảm bảo các bộ đệm của
bộ định tuyến không bị tràn Ngoài ra điều khiển chống tắc nghẽn còn đảm bảo phía gửi dữ liệu nhanh
mà phía nhận vẫn có thể xử lý, giúp sử dụng tài nguyên mạng một cách hiệu quả nhất
4 Phân loại các phương pháp điều khiển chống tắc nghẽn
a) Các đặc điểm chung
Các phương pháp điều khiển chống tắc nghẽn có thể được phân loại dựa trên các đặc điểm chung như sau:
− Điều khiển tiếp nhận (Admission control): Cho phép một kết nối mới chỉ khi mạng có thể đáp ứng một cách thích hợp Người dùng đưa ra một tập các mô
tả về lưu lượng (tốc độ truyền dẫn cực đại, tốc độ truyền dẫn trung bình, trễ cực đại cho phép ) trong pha thiết lập kết nối Mạng cho phép người sử dụng truy nhập đến chỉ khi nào có đủ tài nguyên sẵn sàng trong mạng Ngược lại, yêu cầu kết nối bị từ chối Mạng giám sát, kiểm soát các luồng lưu lượng để xem liệu người dùng có tuân theo các mô tả về lưu lượng không
− Kiểm soát (Policing): Kiểm tra kết nối nào vi phạm các mô tả về lưu lượng để đưa ra xử lý trừng phạt bằng việc: 1) Xoá các gói vi phạm mô tả; 2) Gán cho chúng quyền ưu tiên thấp hơn
− Điều khiển luồng lưu lượng (Flow control)
b) Phân loại
Theo các đặc điểm chung nêu trên, các phương pháp điều khiển chống tắc nghẽn có thể được phân loại như trên hình 4
Điều khiển chống tắc nghẽn vòng hở (Open-loop congestion control) là sự kết hợp của điều khiển tiếp nhận, kiểm soát và nguyên lý thùng rò (leaky bucket) Điều khiển chống tắc nghẽn vòng kín (Close-loop
Tắc nghẽn xảy ra
Lưu lượng đầu vào (bit/s)
Điểm
gãy Điểm
vách Kích thước
bộ đệm tăng
Trang 4congestion control) là dựa trên trạng thái của mạng
với giám sát tắc nghẽn và điều khiển lưu lượng dựa
trên thông tin phản hồi
Hình 4 Phân loại điều khiển chống tắc nghẽn
+ Vòng hở: không có thông tin phản hồi từ mạng
hoặc từ phía nhận
+ Vòng kín: có thông tin phản hồi rõ (explicit) hoặc
ẩn (implicit) từ mạng hoặc từ phía nhận
+ Phản hồi ẩn (implicit feedback): nguồn phát sử
dụng thời gian chờ (time-out) để xác định liệu có xảy
ra tắc nghẽn hay không Ví dụ: điều khiển chống tắc
nghẽn trong TCP thực hiện theo kiểu này
+ Phản hồi rõ (explixit feedback): một số bản tin
tường minh được gửi đến nguồn phát Ví dụ: điều
khiển chống tắc nghẽn cho dịch vụ ABR (Available
Bit Rate) trong ATM
+ Điều khiển theo tốc độ: điều khiển một cách trực
tiếp tốc độ truyền tại phía gửi (nguồn gửi tin)
+ Điều khiển theo kích thước cửa sổ: điều khiển
gián tiếp tốc độ truyền thông qua việc thay đổi kích
thước cửa sổ (số gói tin hoặc số byte tồn tại ở đó)
5 Thuật toán tăng giảm
Nguyên lý chủ đạo của điều khiển chống tắc nghẽn
là dựa trên thuật toán tăng giảm Chiu và Jain [18]
nghiên cứu các điều khiển khác nhau, tuyến tính và
không tuyến tính, điều chỉnh giá trị X i(t) để đạt được
các mục đích quản lý tài nguyên được miêu tả trong phần trên Họ kết luận rằng các điều khiển phi tuyến
là rất nhạy cảm với các tham số hệ thống và vì vậy không khả thi Điều khiển tuyến tính được chọn có dạng:
X (t+1) = a + bX (t) (1)
Căn cứ vào một số tiêu chuẩn về hiệu quả điều khiển, khả năng hội tụ và khả năng đáp ứng nhanh, Chiu và Jain [18] đã đề xuất thuật toán tăng cộng - giảm nhân như sau:
Tăng cộng (additive increase):
X (t+1) = X (t) + a, a > 0 i i (2)
Giảm nhân (multiplicative decrease):
X (t+1) = bX (t), 0 b < 1≤ (3)
Thuật toán tăng cộng/giảm nhân (AIMD – Additive Increase/ Multiplicative Decrease) này đã trở thành thuật toán được lựa chọn rộng rãi nhất để điều khiển chống tắc nghẽn
Tuy nhiên, thực tế cho thấy thuật toán AIMD đã được xây dựng trên giả thiết biến đổi lưu lượng rất ít
và mạng chỉ có dịch vụ truyền tải dữ liệu thuần tuý như TCP Điều này không còn đúng trong thực tế, đặc biệt là đối với mạng NGN Các nghiên cứu mới đây cho thấy, thuật toán AIMD tỏ ra không còn hữu hiệu
và một loạt các phương pháp mới đã được đề xuất nhằm cải thiện AIMD và thay thế AIMD [4, 5, 7, 16, 20]
6 Các tiêu chí đánh giá phương pháp điều khiển chống tắc nghẽn
Vậy những đặc tính cần được thỏa mãn của các phương pháp điều khiển chống tắc nghẽn là gì? Những tiêu chí nào cần thiết đối với điều khiển chống tắc nghẽn cho mạng NGN? Chắc chắn những tiêu chí
đó cần xem xét đến những đặc điểm riêng biệt của mạng thế hệ mới với các dịch vụ và ứng dụng mới Trong phần này, bài viết đề xuất một số tiêu chí đánh giá cơ bản nhất dựa trên cơ sở những tiêu chí truyền thống [18], song có xem xét đến những đặc tính của môi trường mạng mới NGN
Các cơ chế điều khiển chống tắc nghẽn
Vòng hở (open loop) Vòng kín (closed loop)
Điều
khiển
phía
nhận
Phản hồi ẩn (Implicit) Phản hồi rõ (Explicit)
Liên tục Phản ứng lại
Toàn bộ Cục bộ
Điều
khiển
phía
gửi
Trang 5Để tiện trình bày, giả sử rằng mạng được chia sẻ
bởi n người sử dụng (n users) Thời gian được chia ra
thành các khe rời rạc Lưu lượng đưa vào của người
sử dụng thứ i trong khe thời gian t là X i(t) Những tiêu
chí cơ bản nhất dùng cho phân tích, đánh giá các
phương pháp điều khiển chống tắc nghẽn bao gồm:
1 Tính hiệu quả (Efficiency): Được định nghĩa là tỉ
số giữa tổng tài nguyên phân phối cho các ứng
dụng và tổng tài nguyên mong muốn tại điểm Knee
của mạng, nghĩa là trước thời điểm mạng xảy ra
bão hòa Nếu X goal biểu thị mức lưu lượng đưa vào
mong muốn tại điểm Knee, X(t) biểu thị tổng tài
nguyên phân phối cho các ứng dụng, nghĩa là
1
( ) i n i( )
X t =∑= X t , thì tính hiệu quả được xác
định bởi tỉ số:
( ) goal
X t X
Thuật toán hiệu quả khi η tiến gần tới 1, nghĩa là
X(t) tiến gần tới Xgoal
2 Tính bình đẳng (Fairness): Khi nhiều người sử
dụng chia sẻ tài nguyên, tất cả người sử dụng trong
cùng một lớp phải có chia sẻ như nhau về tài
nguyên Thường thì sự phân bổ không bằng nhau
một cách chính xác, mức độ bình đẳng được đo bởi
chỉ số bình đẳng Chỉ số bình đẳng được định nghĩa
khái quát trong [18] như sau:
2 1 2 1
n i i n i i
X t F
n X t
=
=
Thuật toán bình đẳng khi F tiến gần tới 1 Tuy
nhiên, chỉ số này chỉ biểu diễn tính bình đẳng giữa các
người dùng mạng nói chung mà chưa thể hiện được
bản chất đa dịch vụ trong mạng thế hệ mới Trong
mạng NGN sẽ có nhiều lớp dịch vụ khác nhau, sử
dụng nhiều hệ giao thức vận chuyển khác nhau Vì
vậy, cần thiết phải đưa thêm hai chỉ số bình đẳng mới:
− Chỉ số bình đẳng giữa các giao thức cùng họ:
F = θ θ (6)
trong đó θi và θj là thông lượng của các giao thức i
và j cùng sử dụng cho một lớp ứng dụng
− Chỉ số bình đẳng giữa các giao thức khác họ:
trong đó θi và ωj là thông lượng của các giao thức i
và j khác họ sử dụng cho các lớp ứng dụng khác nhau
3 Tính hội tụ (Convergence): Sự hội tụ được đánh giá bởi thời gian cần để hệ thống đạt đến trạng thái mong muốn từ một trạng thái xuất phát bất kỳ Một cách lý tưởng, hệ thống đạt tới trạng thái đích nhanh và có biên độ dao động rất nhỏ xung quanh
nó
Như vậy, tính hội tụ được đánh giá qua 3 yếu tố:
− Trạng thái cân bằng tiệm cận với X goal
− Thời gian cần thiết để thuật toán hội tụ đến X goal
− Biên độ của dao động xung quanh giá trị X goal nhỏ dần
4 Thời gian đáp ứng nhanh (Small response time):
Thuật toán phải nhanh chóng phát hiện được tắc nghẽn và thời gian kể từ khi phát hiện tắc nghẽn đến khi có tác động của điều khiển chống tắc
nghẽn phải càng nhanh càng tốt: T resp ≤ Tgoal Trong
đó T goal là cơ sở để so sánh các thuật toán điều khiển
5 Độ mịn trong điều khiển (Smoothness): Trong thực tế, tác động của điều khiển không thể đưa hệ thống đến trạng thái mong muốn ngay lập tức Vì vậy, các thuật toán điều khiển chống tắc nghẽn phải thiết kế sao cho tác động điều khiển có độ mịn cần thiết, tránh đưa hệ thống vào trạng thái mất ổn định thêm Đại lượng để đo độ mịn có thể là hiệu số giữa lưu lượng tại 2 thời điểm điều khiển liên tiếp t1 và
t2: |X i(t2) – Xi(t1)| hoặc hiệu số giữa tổng lưu lượng
mạng tại 2 thời điểm điều khiển liên tiếp t1 và t2:
|X(t 2) – X(t1)|
6 Tính phân tán (Distributedness): Đây là điều cần thiết bởi vì một mô hình tập trung đòi hỏi thông tin đầy đủ về trạng thái của mạng cũng như các luồng riêng lẻ, và điều này là không thể không có đối với mạng cỡ lớn
Như vậy, mô hình có thể xây dựng để đánh giá các phương pháp điều khiển chống tắc nghẽn cho
Trang 6mạng NGN có thể được thiết kế dựa trên sáu tiêu chí
cơ bản nêu trên Trong phần tiếp theo, bài viết sẽ hệ
thống hóa lại một số phương pháp điều khiển chống
tắc nghẽn điển hình nhất, phân tích đánh giá chúng
dựa trên cơ sở những tiêu chí đã đề xuất
III CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN
CHỐNG TẮC NGHẼN
1 Một số phương pháp điều khiển chống tắc
nghẽn truyền thống
a) DECbit
DECbit là một trong các mô hình điều khiển
chống tắc nghẽn sớm nhất Phương pháp này sử dụng
phản hồi ẩn Trong DECbit, mạng cung cấp thông tin
phản hồi cho phép phía gửi điều chỉnh lưu lượng vào
mạng Các bộ định tuyến giám sát kích thước trung
bình của hàng đợi trong khoảng thời gian được định
nghĩa Nếu độ dài trung bình của bộ đệm vượt quá
ngưỡng (threshold) thì bộ định tuyến thiết lập một bit
chỉ dẫn chống tắc nghẽn (gọi là DECbit) trong các gói
tin để thông báo sự tắc nghẽn của mạng Phía nhận
gửi lại bit này trong thông báo nhận được đến phía
gửi Phía gửi giám sát các bit chỉ dẫn chống tắc nghẽn
này để điều chỉnh kích thước của cửa sổ gửi như sau:
Nếu xảy ra tắc nghẽn thì giảm đi theo phép nhân
(nhân với 0,875), trong trường hợp ngược lại thì kích
thước cửa sổ được tăng lên theo phép cộng
DECbit là phương pháp khá đơn giản và hữu hiệu
Tuy nhiên, căn cứ vào các tiêu chí nêu trên thì thuật
toán này không đạt được tính hiệu quả vì lưu lượng bị
gạt bỏ đáng kể (qua hệ số 0,875) dẫn đến thông lượng
rất thấp Ngoài ra, các tiêu chí về tính bình đẳng, độ
hội tụ, độ mịn điều khiển cũng không đạt được Thuật
toán không phù hợp cho các ứng dụng mới trong
NGN
b) Điều khiển chống tắc nghẽn trong TCP
TCP (Transmission Control Protocol) là giao thức
phổ biến nhất hiện nay cho truyền dữ liệu tin cậy trên
Internet Ngoài điều khiển chống tắc nghẽn ra, nó còn
thực hiện các chức năng khôi phục dữ liệu đã mất và
quản lý kết nối Điều khiển chống tắc nghẽn trong
TCP thuộc loại điều khiển vòng kín phản hồi ẩn
Quản lý chống tắc nghẽn TCP dựa trên thuật toán tăng cộng giảm nhân (AIMD) Nếu xảy ra tắc nghẽn,
kích thước cửa sổ gửi giảm đi một nửa (nhân với 0,5),
ngược lại thì tăng lên một giá trị là MSS (Maximum Segment Size)
Điều khiển chống tắc nghẽn trong TCP được thực hiện như sau: khởi tạo cập nhật ngưỡng tắc nghẽn (CT – Congestion Threshold) và tuỳ thuộc vào Wc (cửa sổ điều khiển chống tắc nghẽn) lớn hơn hay nhỏ hơn CT, lưu lượng TCP được điều khiển theo hai pha như sau:
+ Pha 1: Pha bắt đầu chậm (Wc < CT):
− Khi một đoạn được báo là đã nhận được, Wc được tăng lên một giá trị MSS
− Các gói được truyền vào kênh
+ Pha 2: Pha chống tắc nghẽn (Wc > CT):
− Đường truyền xảy ra tắc nghẽn
− Giảm Wc xuống còn một nửa
− Cập nhật lại CT
Điều khiển chống tắc nghẽn trong TCP có những nhược điểm cơ bản là:
− Thông tin phản hồi là ẩn và vì vậy cửa sổ gửi luôn giảm đi một nửa khi xảy ra tắc nghẽn là không thực
sự hiệu quả
− TCP không chia sẻ thông tin điều khiển, vì vậy các kết nối cùng một thời điểm đến cùng một đích (một trường hợp thường xảy ra với lưu lượng web) sẽ phải cạnh tranh, thay vì phối hợp để sử dụng băng thông mạng một cách hợp lý
Điều khiển chống tắc nghẽn của TCP không đáp ứng được đầy đủ các tiêu chí đã nêu, cụ thể là:
− Đối với mạng NGN, đặc biệt là trong môi trường nhiều lỗi như môi trường vô tuyến, vệ tinh… thuật toán điều khiển chống tắc nghẽn của TCP không hiệu quả Thậm chí thông lượng không thể chấp nhận được [4]
− Đối với mạng đa dịch vụ, thuật toán điều khiển chống tắc nghẽn của TCP không đem lại tính bình đẳng cần thiết cho các ứng dụng
− Đối với mạng có lưu lượng biến đổi động, biến đổi
Trang 7nhanh, điều khiển chống tắc nghẽn của TCP tỏ ra
bất ổn định và không hội tụ [4]
c) Các phương pháp khác
Ngoài hai phương pháp đã nói đến ở trên còn có các
phương pháp như ECN [2] (Explicit Congestion
Notification), RED [3] (Random Early Detection) (sử
dụng trong các bộ định tuyến để hỗ trợ điều khiển
chống tắc nghẽn cho TCP), RAP [21] (Rate
Adaptation Protocol) (giao thức điều khiển chống tắc
nghẽn ở mức ứng dụng) và các phương pháp điều
khiển chống tắc nghẽn trong từng ứng dụng cụ thể
như trong RealPlayer [20], Microsoft Windows Media
Player [19]
d) Đánh giá chung
Căn cứ vào các tiêu chí đề ra, có thể thấy các
phương pháp trên chủ yếu chỉ phù hợp cho các mạng
cũ truyền thống, không đáp ứng nhu cầu của các mạng
mới và dịch vụ mới Tất cả các phương pháp trên đều
không thể thích ứng nhu cầu phát triển của mạng và
không thể ứng dụng một cách chung và rộng rãi trên
mạng, chúng có những nhược điểm như: chưa thích
ứng một cách hiệu quả với sự tắc nghẽn của mạng;
chưa có sự chia sẻ bình đẳng về băng thông; một số
phương pháp đòi hỏi sự thay đổi ở phía đầu cuối…
Chính vì vậy cần phải nghiên cứu đưa ra các phương
pháp điều khiển chống tắc nghẽn mới
2 Một số phương pháp điều khiển chống tắc
nghẽn mới
Trong phần này, bài viết đề cập đến một số phương
pháp điều khiển chống tắc nghẽn mới được đề xuất
trên cơ sở cải tiến các phương pháp truyền thống
Những phương pháp này đã được nêu chi tiết trong
[7] Bài viết này chỉ tóm lược những đặc điểm quan
trọng nhất và phân tích đánh giá chúng trên cơ sở
những tiêu chí đã đề xuất trong phần 2
a) EWA và FEWA
Phương pháp EWA [5] (Explicit Window
Adaptation) dùng thông báo một cách rõ ràng đến
phía gửi về băng thông còn khả dụng của các đường
ra bằng cách sử dụng cơ chế điều khiển lưu lượng
giống như trong TCP để truyền thông tin phản hồi từ
các bộ định tuyến đến phía gửi Bên trong bộ định tuyến EWA thông tin phản hồi được tính toán định kỳ dựa trên đánh giá dung lượng rỗi hiện tại của hàng đợi trong bộ định tuyến nhân với một biến α α tuỳ thuộc vào giá trị khởi tạo và kích thước hàng đợi hiện tại
Nó được điều khiển theo thuật toán AIMD EWA cho thấy các kết quả hoạt động tốt trong các bộ định tuyến
có tải lớn, nhưng có một số vấn đề trong các bộ định tuyến hoạt động ở dưới mức tải trong hầu hết thời gian Lý do nằm ở việc tính toán α, nó đặt quá nhiều vào trọng tải trước đó của bộ định tuyến, vì vậy không thể phản ứng lại đủ nhanh đối với những thay đổi lớn của các điều kiện tải
Chính vì hạn chế đó EWA mờ (FEWA – Fuzzy EWA) đã phát triển, khác với EWA cũ chủ yếu ở việc tính toán α FEWA sử dụng một bộ điều khiển mờ để tính α dựa theo giá trị hiện tại và một giá trị gần nhất của bộ đệm bộ định tuyến Với các thay đổi này trong việc tính toán phản hồi bên trong bộ định tuyến, hiệu suất từ đầu cuối đến đầu cuối có thể đạt được lớn hơn
so với EWA
b) ETCP
Ý tưởng của ETCP [7] (Enhanced TCP) là sử dụng phản hồi FEWA (dựa trên sự thích ứng với cửa sổ điều khiển lưu lượng - AWND) để tính cửa sổ gửi mới (SWND) ETCP phía gửi không thực hiện chu trình bắt đầu chậm (slow start) và chống tắc nghẽn (congestion avoidance), mà bắt đầu với một cửa sổ gửi khởi tạo và cập nhật cửa sổ gửi theo các cách sau:
− Nếu cửa sổ gửi hiện tại lớn hơn cửa sổ điều khiển lưu lượng thì cửa sổ gửi mới được thiết lập bằng cửa
sổ điều khiển lưu lượng: SWND ← AWND
− Nếu cửa sổ gửi hiện tại nhỏ hơn cửa sổ điều khiển lưu lượng thì cửa sổ gửi được tính như sau: SWND←SWND.(AWND/SWND)1/SWND
Với tính toán này cửa sổ gửi của phía gửi ETCP được tăng theo hàm mũ để tiệm cận với cửa sổ điều khiển lưu lượng Với các thay đổi nhỏ này có thể thu được sự cải thiện đáng kể về khả năng thực hiện
c) XCP
XCP [8] (Explicit Control Protocol) là một giao
Trang 8thức truyền thông dự kiến thay thế TCP Sự phát lại
và cửa sổ chống tắc nghẽn của XCP dựa trên TCP
Mặc dù vậy, một cơ chế điều khiển chống tắc nghẽn
mới được đề xuất Phía gửi đưa yêu cầu lưu lượng vào
các biến điều khiển chống tắc nghẽn nằm ở phần mào
đầu gói tin XCP để mỗi bộ định tuyến trên đường
truyền có thể ước lượng được tốc độ nguồn phát trên
luồng đó Mỗi bộ định tuyến có một thuật toán điều
khiển chống tắc nghẽn và một thuật toán điều khiển
bình đẳng Thuật toán điều khiển chống tắc nghẽn xác
định tải lưu lượng và băng thông sẵn sàng Thuật toán
điều khiển bình đẳng phân bổ một cách hợp lý băng
thông sẵn sàng bằng cách cập nhật vào trường phản
hồi chống tắc nghẽn trong phần mào đầu chống tắc
nghẽn của mỗi gói XCP Các thuật toán điều khiển
chống tắc nghẽn và điều khiển bình đẳng của bộ định
tuyến XCP có đặc điểm là chúng không đòi hỏi thông
tin trạng thái của mỗi luồng Thay thế nó, bộ định
tuyến khai thác thông tin lưu lượng tổng bằng cách
tích luỹ thông tin từ tất cả các gói truyền qua bộ định
tuyến trong một khoảng thời gian nhất định Với cơ
chế điều khiển chống tắc nghẽn theo mô hình MIMD
(Multiplicative Increase Multiplicative Decrease),
cho phép XCP sử dụng tài nguyên đang rỗi nhanh hơn
so với các phương pháp sử dụng AIMD Mặt khác,
thuật toán điều khiển bình đẳng của XCP phân bổ
thông tin phản hồi tắc nghẽn tổng theo các luồng và
nó đảm bảo tính bình đẳng giữa các luồng [14, 15,
17]
d) FBA-TCP
Phân bổ băng thông hợp lý cho TCP (FBA-TCP)
[10] (Fair Bandwidth Allocation for TCP) là một
phương pháp điều khiển lưu lượng TCP dựa trên
thông tin phản hồi về mạng được cung cấp bởi CSFQ
(Core-Stateless Fair Queueing) [9]
CSFQ nhằm mục đích đạt được một sự phân bổ
băng thông hợp lý trong bộ định tuyến mà không yêu
cầu sự tính toán cho mỗi luồng hoặc trạng thái mỗi
luồng trong bộ định tuyến lõi của một miền CSFQ Sự
tính toán trên mỗi luồng và trạng thái được giới hạn
bởi các bộ định tuyến nằm ở biên, nó ước lượng tốc
độ đến của mỗi luồng đưa vào miền, và dán nhãn
thông tin này vào mỗi gói Các bộ định tuyến lõi tính toán băng thông hợp lý chia sẻ cho tất cả các luồng dựa trên tốc độ đến và chuyển tiếp Các gói mà nhãn của nó chỉ ra tốc độ luồng vượt quá sự chia sẻ băng thông hợp lý sẽ bị xoá gói
Trong kiến trúc của CSFQ, các bộ định tuyến nằm
ở biên sẽ xoá các nhãn khỏi các gói khi mà chúng rời khỏi miền CSFQ FBA-TCP sao chép nhãn vào mào đầu IP, vì thế giữ giá trị chia sẻ hợp lý ở biên của miền CSFQ và chuyển chúng trên tất cả các đường tới đầu cuối Dựa trên thông tin này, FBA-TCP phía nhận cung cấp phản hồi đến phía gửi bằng cách thiết lập kích thước cửa sổ thông báo để giá trị chia sẻ hợp lý
và thời gian vòng truyền (RRT) Vì thế, tốc độ đầu ra của phía gửi được giới hạn một cách hiệu quả bởi băng thông nút cổ chai của bộ định tuyến trong miền CSFQ
Các kết quả mô phỏng trình bày trong [10] chỉ ra rằng FBA-TCP có thể làm tăng sự bình đẳng giữa các luồng đồng thời cải thiện khả năng hoạt động với việc tránh mất gói TCP (điều khiển FBA-TCP ngăn ngừa khả năng tăng tốc độ vượt quá dung lượng sẵn sàng)
e) QS-TCP
QS-TCP (Quick Start TCP) đã được đề xuất năm
2002 bởi Jain và Floyd như là một cách để tăng cửa sổ khởi tạo của một kết nối TCP [11] Trong thủ tục thiết lập kết nối TCP (TCP SYN và TCP SYN/ACK) phía
gửi TCP chèn một yêu cầu bắt đầu nhanh (Quick Start Request) vào gói TCP nó chính là tốc độ khởi tạo mà
phía gửi muốn truyền Mỗi bộ định tuyến dọc theo đường truyền xác nhận liệu nó có thể đáp ứng yêu cầu lưu lượng mới này Nếu nó có thể đáp ứng yêu cầu mới này thì nó sẽ truyền yêu cầu QS đi, ngược lại nó
sẽ giảm tốc độ dữ liệu đến một giá trị phù hợp Để làm được điều đó bộ định tuyến cần thiết phải giám sát sự khác nhau của trọng tải hiện tại và dung lượng sẵn sàng và những yêu cầu QS trong thời gian gần
đây Khi yêu cầu QS (QS request) tới TCP phía nhận, một đáp ứng QS (QS response) tương ứng được tạo ra
và chèn vào một thông báo nhận được gửi trở về phía gửi Nhận được đáp ứng QS, phía gửi điều chỉnh cửa
sổ chống tắc nghẽn khởi tạo theo tốc độ dữ liệu chỉ ra
Trang 9trong đáp ứng QS Để tránh lưu lượng bùng phát, phía
gửi tăng dữ liệu từng bước vào cửa sổ khởi tạo
QS-TCP đòi hỏi tất cả các bộ định tuyến, phía gửi và phía
nhận hỗ trợ khởi tạo nhanh (QS) Cơ chế này được
dựa trên một bộ đếm bước truyền (hop) nó tương tự
như bộ đếm bước truyền trong giao thức IP (dựa trên
trường Time-to-live)
Đề xuất QS-TCP ban đầu nhằm mục đích xác định
khởi tạo cửa sổ TCP Một cập nhật gần đây của
QS-TCP [11] mở rộng QS như kích hoạt một tín hiệu khi
thông tin đính kèm vào một nút đầu cuối thay đổi, ví
dụ cho IP di động (mobile IP) Vấn đề mở rộng liên
quan đến ứng dụng của QS cho DCCP được nói rõ
hơn trong [11]
f) Đánh giá chung
Các đặc tính và chức năng chính của các phương
pháp điều khiển chống tắc nghẽn được tổng kết và so
sánh trong bảng 1, trong đó ECN là đại diện cho các
phương pháp điều khiển chống tắc nghẽn truyền
thống
Phương pháp nào được sử dụng trong các mạng còn
tuỳ thuộc vào mức độ mong muốn về tính tương thích
với các giao thức truyền tải TCP và UDP hiện tại đã
triển khai trong các hệ thống đầu cuối Ví dụ, XCP là
một phương pháp tốt nhất để cải thiện hoạt động tổng
thể của mạng Đặc biệt với các mạng có băng thông
lớn (ví dụ mạng tốc độ cao gigabit hay mạng di động tốc độ cao), vấn đề quan trọng là điều khiển chống tắc nghẽn cho phép tăng nhanh tốc độ gửi dữ liệu để tận dụng tài nguyên mạng Đặc điểm này được cung cấp bởi XCP, QS-TCP và ETCP Mặc dù vậy, chỉ XCP và ETCP cho phép tăng nhanh khi băng thông nút cổ
chai thay đổi động Nhưng XCP đòi hỏi các sự thích ứng của các giao thức truyền tải nằm tại các hệ thống đầu cuối Ngược lại với XCP, (F)EWA không đòi hỏi bất kỳ sự thay đổi nào ở các hệ thống đầu cuối
Nhưng (F)EWA kém hơn XCP, bởi vì với (F)EWA cửa sổ gửi của phía gửi TCP không thể được điều khiển một cách chính xác như là XCP Biến thể (F)EWA được gọi Forward-(F)EWA (F(F)EWA)
FBA-TCP cũng có thể là ứng cử viên sáng giá cho việc cải thiện điều khiển chống tắc nghẽn trên mạng
IP Từ thiết kế của cơ chế phản hồi, FBA-TCP có các cải thiện hoạt động tương tự như (F)EWA Nhưng nhược điểm là đòi hỏi sự triển khai ở phạm vi rộng của CSFQ thì mới trở nên hiệu quả
Có thể thấy mỗi phương pháp có những ưu nhược điểm riêng của nó, tuy nhiên nếu căn cứ vào các tiêu chí áp dụng cho mạng NGN, ta có thể thấy được những hạn chế như sau:
− Đa số các phương pháp còn chưa xem xét đến các khác biệt về nguyên nhân tắc nghẽn trong mạng
Bảng 1 So sánh các phương pháp điều khiển chống tắc nghẽn
Hỗ trợ các luồng TCP/UDP Có/không Có/không không/ không Có/không Có/Không Có/không
Trong suốt đối với phía
gửi/nhận Có/có Không/có Không/ không Có/không Không/ Không Không/ không
Cách điều khiển Một chiều Một chiều Hai chiều Một chiều Hai chiều Một chiều
Sử dụng cửa sổ tăng/giảm Không/ có Có/ có Có/ có Không/ có Có/ Có Không/Có
Cung cấp phản hồi liên tục Có Có Có Có Không Có
Cần trạng thái mỗi luồng trong
các bộ định tuyến Không Không Không Có Không Không
Cần định tuyến đối xứng Có Có Không Không Không Không
Có cơ chế phát triển từng phần Không Có Không Không Có Không
Độ phức tạp trong các hệ
thống đầu cuối/bộ định tuyến
Thấp/
Trung bình
Thấp/
Trung bình
Thấp/
cao
Thấp/
cao
Thấp/
Trung bình
Thấp/
Trung bình Tăng hoạt động của mạng (+)++ ++++ +++++ +++ ++ +
Trang 10NGN để có điều khiển một cách thích ứng
− Hầu hết các phương pháp còn dựa trên nguyên lý
điều khiển chống tắc nghẽn tuyến tính truyền thống,
do vậy không thể hiện được đặc tính động và sự
biến thiên về lưu lượng động trong mạng NGN
− Chưa xem xét đến vấn đề đa dịch vụ: về các yêu cầu
chất lượng dịch vụ đa dạng… Cần cơ chế điều khiển
ưu tiên theo yêu cầu của từng dịch vụ
− Chưa xem xét đến biến đổi tăng vọt và biến đổi
động của lưu lượng Cần phải theo dõi, giám sát lưu
lượng Một hướng mới cho vấn đề này là sử dụng
mô hình phân cấp điều khiển
IV MÔ HÌNH TỔNG QUÁT ĐIỀU KHIỂN
CHỐNG TẮC NGHẼN
Như đã trình bày ở trên, hầu hết các phương pháp
còn dựa trên nguyên lý điều khiển chống tắc nghẽn
tuyến tính truyền thống, cụ thể là tăng cộng - giảm
nhân Duy có XCP có đề xuất theo hướng sử dụng
tăng nhân - giảm nhân nhằm tăng tốc độ truyền dữ
liệu và tận dụng hiệu quả tài nguyên Rõ ràng nguyên
lý điều khiển tuyến tính không còn đáp ứng đầy đủ để
thể hiện đặc tính động của mạng, sự biến thiên của lưu
lượng trong mạng NGN với những ứng dụng đa
phương tiện và các ứng dụng mới Việc đưa ra một
mô hình tổng quát cho điều khiển chống tắc nghẽn
trong mạng thế hệ mới là điều cần thiết
Mô hình tổng quát cần dựa trên cơ sở phi tuyến,
nhằm thể hiện được hết bản chất động của mạng và
dịch vụ Hơn nữa, mô hình này còn cần khái quát
được cho cả hai phương thức điều khiển cơ bản là:
dựa theo cửa sổ (theo cách truyền thống) và dựa theo
tốc độ (cho các giao thức tốc độ cao thế hệ mới)
Từ ý tưởng đó, mô hình được đề xuất như Hình 5
Hình 5 Mô hình tổng quát cho điều khiển chống tắc nghẽn
Bộ giám sát có chức năng giám sát trạng thái mạng
để phát hiện tắc nghẽn Bộ này được đặt ở đầu thu nhằm thu thập thông tin về việc vận chuyển các gói tin từ đầu phát - qua mạng - tới đầu nhận, qua đó biết được về độ mất gói qua mạng, mức độ sử dụng tài nguyên trên mạng thông qua các tham số thời gian gửi
và nhận, mức tắc nghẽn trên mạng, v.v Các trễ T 1 và
T2 thể hiện thời gian cần thiết khi truyền qua mạng và khi phản hồi, liên quan đến quá trình các gói tin phải chờ trong các bộ đệm (hàng đợi) trong mạng Khối điều khiển, căn cứ vào thông tin phản hồi từ bộ giám sát/đầu thu để ra quyết định điều khiển thích ứng
Thời gian điều khiển được tính toán căn cứ vào các trễ trong mạng, hiệu số giữa thời gian thu – phát và thông tin phản hồi Mặt khác, thông qua việc cộng tác mật thiết giữa bộ giám sát và khối điều khiển, có thể phát hiện được lỗi mất gói do tắc nghẽn hay là do môi trường truyền một cách hữu hiệu, điều mà rất ít thuật toán hiện nay có thể thực hiện được Đây cũng là một điều cần thiết khi truyền tin qua mạng NGN, khi có môi trường liên kết giữa mạng cố định và mạng di động
Về nguyên tắc chung, mô hình vẫn dựa trên cơ sở tăng - giảm, nghĩa là điều khiển tăng lưu lượng khi không tắc nghẽn và điều khiển giảm lưu lượng khi có tắc nghẽn Hàm điều khiển tổng quát của mô hình có dạng:
Z = Z + f(Z , f (k)) (8)
Trong đó k thể hiện trạng thái hệ thống, i thể hiện người dùng thứ i trong hệ thống, f b(k) là hàm phản hồi
ở bước k (trạng thái k) Nếu biểu thị hai hàm tăng và
Khối điều khiển
Bộ giám sát
Đầu thu Đầu phát
Mạng
Bộ đệm trong mạng
Trễ T 1
Trễ T 2