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.
Trang 1Chương 2 ĐIỀU KHIỂN TẮC NGHẼN TRONG NGN
2.1 Giới thiệu chương
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 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 mà hiện tượng tắc nghẽn mạng là khó tránh khỏi Chương 2 trình bày về vấn đề tắc nghẽn, nguyên nhân phân loại cũng như các tiêu chí đánh giá phương pháp điều khiển tắc nghẽn Ngoài ra, thuật toán tăng giảm tuyến tính cũng được đề cập trong chương này
2.2 Vấn đề tắc nghẽn trong NGN
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 2.1 trình bày hiện tượng tắc nghẽn trên mạng và hình 2.2 trình bày 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
Trang 2Hình 2.1 Hiện tượng xảy ra tắc nghẽn
Hình 2.2 Hiệu quả của việc điều khiển tắc nghẽn [7]
Hình 2.3 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
4 1
2
5
3
7
6
8 Xảy ra tắc nghẽn
Trang 3Hình 2.3 Môi trường mạng hỗn tạp trong NGN
2.2.1 Nguyên nhân xảy ra tắc nghẽn
Nguyên nhân xảy ra tắc nghẽn trong môi trường mạng mới đó là:
1 Tràn bộ đệm: thường nút mạng được thiết kế với 1 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 Đâ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
3 Do nghẽn cổ chai: tại điểm đấu nối từ các mạng tốc độ thấp vào các mạng tốc độ cao
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
5 Lưu lượng lớn, thay đổi đột biến và biến đổi động
6 Tính biến động của mạng, topo 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 topo mạng thay đổi gây ra những biến đổi về phân chia lưu lượng trên mạng
2.2.2 Nguyên lý chung điều khiển chống tắc nghẽn
Mạng lõi
MG MG
MG
Mạng
dữ liệu
Mạng
cố định
Mạng
di động
Má
y chủ
MG
Mạng truyền hình
Trang 4Hình 2.4 Quá trình diễn ra tắc nghẽn [7]
Quá tải làm thông lượng (throughput) suy biến như được chỉ ra trên hình 2.4
Đồ 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
Nguyên lý chung để điều khiển chống tắc nghẽn là:
- Duy trì điểm hoạt động của mạng luôn ở mức lưu lượng đưa vào nhỏ
- Đảm bảo cho các bộ đệm của bộ định tuyến không bị trà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ột cách hiệu quả nhất
Thông lượng
(Throughput)
Lưu lượng đầu vào (offered load) Điểm gãy
(knee) Điểm vách(cliff)
Trang 52.3 Các phương pháp điều khiển chống tắc nghẽn
2.3.1 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 Trong pha thiết lập kết nối có chứa 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…) Mạng chỉ 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 trên 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 cách:
1) Xóa 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) là những hoạt động của mạng để tránh xảy ra tắc nghẽn Ngoài ra điều khiển lưu lượng còn nhằm sử dụng tối ưu tài nguyên mạng để đạt được một hiệu suất mạng thực sự
2.3.2 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 tắc nghẽn có thể được phân loại như sau:
Điều khiển 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) Trong đó không có thông tin phản hồi từ mạng hoặc phía nhận
Điều khiển chống tắc nghẽn vòng kín (Close-loop congestion control) là dựa trên trạng thái của mạng với sự 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 Trong đó, thông tin phản hồi có thể là:
Trang 6 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
Đ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 ở đó)
2.4 Các tiêu chí đánh giá phương pháp điều khiển chống tắc nghẽn
Trong phần này đề 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 [7], song có xem xét đến những đặc tính của môi trường mạng mới NGN
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:
2.4.1 Tính hiệu quả (Efficient)
Tính hiệu quả đượ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àX(t) x i(t), thì tính hiệu quả được xác định bởi tỉ số:
goal X
t
X )(
Quá tải X(t) X goal hay dưới mức tải X(t) X goal đều không mong muốn và được coi là không có hiệu quả như nhau 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
Chú ý, tính hiệu quả chỉ có liên quan đến tổng lượng phân phối và do đó 2 lượng phân phối khác nhau có thể cả hai đều hiệu quả miễn là tổng lượng phân phối
Trang 7là gần đến “goal” Sự phân bố của tổng lượng phân phối giữa các người dùng được
đo bởi chỉ tiêu bình đẳng
2.4.2 Tính bình đẳng (Fairness)
Khi nhiều người dùng chia sẻ tài nguyên, tất cả người dùng trong cùng một lớp dịch vụ 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 [7] như sau:
) (
)
2
i
i
x n
x x
Chỉ số này có các đặc tính sau đây:
0 F x 1 Lượng phân phối bình đẳng (với tất cả lượng x i bằng nhau)
có tính bình đẳng là 1 và lượng phân phối không bình đẳng (với tất cả các tài nguyên chỉ dùng cho một người) có tính bình đẳng là 1/n đạt đến 0 khi n tiến tới vô cùng
Tính bình đẳng độc lập vào thang đo, tức là, đơn vị đo là không quan trọng
Tính bình đẳng là hàm liên tục Một vài sự thay đổi nhỏ trong lượng phân
bố cũng thấy trong tính bình đẳng
Nếu chỉ có k trong n người dùng chia sẻ tài nguyên như nhau với (n - k) người dùng không nhận tài nguyên nào, thì tính bình đẳng là k/n
Ta có các đặc tính khác trong [13]
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 [2]:
− Chỉ số bình đẳng giữa các giao thức cùng họ:
j i
Trang 8trong đó θ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ọ:
j i
F
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
2.4.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.
Thời gian để đạt được trạng thái cân bằng (equilibrium) xác định độ nhạy (responsiveness) và độ dao động xác định độ mịn (smoothness) của phương pháp điều khiển Một cách lý tưởng, chúng ta muốn thời gian cũng như sự dao động phải nhỏ Do đó, điều khiển với thời gian nhỏ và biên độ nhỏ của dao động gọi là nhạy hơn và mịn hơn, như trong hình 2.5
2.4.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
Trang 9Hình 2.5 Độ nhạy (responsiveness) và độ mịn (smoothness).
2.4.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) x i(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(t2) X(t1)
2.4.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 Chẳng hạn, chúng ta muốn biết về các nhu cầu cá nhân hay toàn bộ Thông tin này có thể hữu dụng tại nguồn tài nguyên Tuy nhiên, truyền đạt thông tin này cho nhiều người dùng làm chúng ta quan tâm đến mào đầu (overhead), đặc biệt khi một người dùng có thể dùng vài nguồn tài nguyên (resource) tại cùng một thời điểm Do đó, chúng ta phải quan tâm hàng đầu đến phương pháp điều khiển có thể thực hiện trong hệ thống thực và giả sử rằng hệ thống có lượng phản hồi ít nhất Nó chỉ cho ta biết nơi nào là không đủ tải hay quá
Độ nhạy
Độ mịn
Tổng lưu lượng mạng
Thời gian
“Goal”
Trang 10tải thông qua bit phản hồi nhị phân Thông tin khác như Xgoal và số lượng người dùng cùng chia sẻ nguồn tài nguyên được giả thiết là không được biết bởi người dùng Điều này hạn chế phương pháp khả thi
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 mạng NGN có thể được thiết kế dựa trên sáu tiêu chí cơ bản nêu trên
2.5 Thuật toán tăng giảm
2.5.1 Thuật toán tăng giảm
Trong hình 2.6 mô tả mạng với n người dùng nó Tình trạng tắc nghẽn của hệ thống được xác định bởi số gói trong hệ thống Thời gian được chia thành các khe rời rạc Những khe đó đặc trưng căn bản cho các khoảng bắt đầu khi người dùng thiết lập mức tải dựa vào phản hồi mạng nhận trong các khoảng trước Nếu trong suốt khe thời gian t, người dùng thứ i là x i (t), sau đó tải tổng cộng tại tài nguyên thắt cổ chai là x i (t), và trạng thái của hệ thống biểu thị bởi vector có độ dài n
( ), ( ), , ( )
)
(t x1 t x2 t x t
x n Khi chúng ta đang hoạt động tại hay gần điểm Knee, mọi tài nguyên yêu cầu bởi người dùng được chấp nhận (điều này không đúng tại điểm cliff) Do đó, xi(t) biểu thị người dùng thứ i
27
Người dùng 1
Người dùng 2
Người
x1
?
xn
Trang 11Hình 2.6 Hệ thống gồm n người dùng chia sẻ một mạng
Trong suốt khoảng thời gian, hệ thống xác định mức tải của nó và gởi phản hồi nhị phân y(t),với Nếu y (t) 0 tăng tải
Nếu y (t) 1 giảm tải Những người dùng cùng hoạt động trong hệ thống và thay đổi (tăng hay giảm) yêu cầu bởi một lượng u i (t) Do đó,
) ( ) ( ) 1
Sự thay đổi của u i (t)mô tả sự điều khiển của người dùng thứ i Nó là hàm theo yêu cầu trước đó của người dùng và phản hồi hệ thống:
( ), ( )
)
Do đó, ta có:
( ), ( )
) ( ) 1
Chú ý rằng người dùng không biết được yêu cầu của người khác, và do đó, )
(t
u i không thể là hàm của x j(t), j i Thông thường, hàm điều khiển f có thể là tuyến tính hay không tuyến tính Tuy nhiên, trước hết chúng ta sẽ tập trung đến điều khiển tuyến tính Hàm trạng thái (2.1) trở thành
Ở đây, aI, bI, aD, bD là hằng số Dưới đây là 4 trường hợp của hàm điều khiển:
Tăng nhân/giảm nhân (MIMD- Multiplicative Increase/Multiplicative Decrease)
nếu nếu
Tăng Giảm
) (
) ( )
1 (
t x b a
t x b a t
x
i D D
i I I i
Trang 12Với b I 1và 0 b D 1 Mọi người dùng tăng nhu cầu bằng cách nhân yêu cầu trước
đó với hệ số hằng (constant factor) Giảm cũng bằng cách nhân
Tăng cộng/giảm cộng (AIAD- Additive Increase/ Additive Decrease)
(2.8)
Ở đây, a I 0 và a D 0 Tất cả người dùng tăng nhu cầu bằng cách cộng lượng hằng với nhu cầu trước đó Giảm cũng bằng phép cộng
Tăng cộng/giảm nhân (AIMD- Additive Increase/Multiplicative Decrease)
(2.9)
Tăng bằng cách cộng với lượng không đổi nhưng giảm bằng nhân hệ số hằng
Tăng nhân/giảm cộng (MIAD- Multiplicative Increase/Addative Decrease).
(2.10)
Để đánh giá hiệu quả của những phương pháp điều khiển, chúng ta đề cập trong phần tiếp theo
2.5.2 Biểu diễn thuật toán bằng vector
Khi xác định phương pháp điều khiển khả thi, chúng ta nên xem sự chuyển đổi trạng thái hệ thống như quỹ đạo trong không gian vector n chiều Chúng ta xét phương pháp này trong trường hợp 2 người dùng, có thể xem như không gian 2 chiều
29
nếu nếu
Tăng Giảm
) (
) ( )
1 (
t x a
t x a t
x
i D
i I i
nếu nếu
Tăng giảm
) (
) ( )
1 (
t x b
t x a t
x
i D
i I i
nếu nếu
Tăng giảm
) (
) ( )
1 (
t x a
t x b t
x
i D
i I i
X0
(1)
(2) (5) (3) (4) (6)
Phân
bố x2 của người dùng 2