30
Abstract: 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
31
mạ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
Mạng lõi
MG
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
Thông lượng
Lưu lượng đầu vào
Có điều khiển
Không có điều khiển
32
NGN.
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
Thông lượng (bit/s)
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
33
congestion 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:
ii
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):
ii
X (t+1) = X (t) + a, a > 0
(2)
Giảm nhân (multiplicative decrease):
ii
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
34
Để 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
() ()
n
i
i
Xt X t
=
=
∑
, thì tính hiệu quả được xác
định bởi tỉ số:
()
goal
Xt X
η
=
(4)
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 X
goal
.
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
Xt
F
nXt
=
=
=
∑
∑
(5)
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ọ:
1 ij
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ọ:
2 ij
F
θ ω
=
(7)
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
≤ T
goal
. 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 t
1
và
t
2
: |X
i
(t
2
) – X
i
(t
1
)| 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 t
1
và t
2
:
|X(t
2
) – X(t
1
)| .
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