Tải bản đầy đủ (.pdf) (9 trang)

NGHIÊN CỨU PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN TRONG NGN - 7 pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (343.81 KB, 9 trang )



Với thông tin phản hồi tắc nghẽn rõ, TCP phía gởi có thể phản ứng lại thích
hợp với tải hiện thời trong router hơn nó có thể với cơ cấu khác, chẳng hạn, ECN
(Explicit Congestion Notigication) [9] hay RED (Random Early Detection) [4].
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) [10] đã 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.
3.3.2 ETCP (Enhanced TCP)
Ý tưởng của ETCP [10] là sử dụng phản hồi FEWA (dựa trên sự điều khiển
thích ứng 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à tránh tắc nghẽn (congestion
avoidance), mà bắt đầu với 1 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: AWNDSWND




- 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
SWNDAWNDSWNDSWND
/1
/.

Với tính toán này cửa sổ 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.
3.3.3 XCP (Explicit Control Protocol)
XCP [6] là giao thức truyền thông liên quan đến TCP. Không như TCP, XCP
cung cấp phản hồi chống tắc nghẽn rõ từ router có khả năng XCP đến XCP phía
gởi. Do đó, XCP phía gởi có thể điều khiển cửa sổ gởi thích hợp hơn để đạt được
tính hiệu quả, bình đẳng, điều khiển tắc nghẽn có thể mở rộng qui mô và ổn định
trong toàn mạng.
Thuật toán điều khiển chống tắc nghẽn phản hồi trong router có khả năng
XCP được phân thành 2 phần: thuật toán hiệu quả và bình đẳng. Với phương pháp
này, tính hiệu quả và tính bình đẳng giữa các kết nối XCP trong 1 router có thể
được quản lý 1 cách tách biệt nhau.
3.3.3.1 Mào đầu chống tắc nghẽn.
Mỗi gói dữ liệu của 1 kết nối XCP mang theo phần mào đầu chống tắc nghẽn
(CH) hình 3.2. Hai giá trị đầu tiên, H_cwnd và H_rtt, được thiết lập bởi XCP phía
gởi là cửa sổ chống tắc nghẽn hiện thời và RTT ước lượng hiện thời và giữ nó
không đổi trong suốt quá trình truyền thông. Giá trị thứ ba, H_feedback, được dùng
cho phản hồi chống tắc nghẽn của router. Nó được khởi tạo bởi XCP phía gởi đến


giá trị tăng theo yêu cầu cửa sổ chống tắc nghẽn và có thể được điều chỉnh bởi
router dựa vào 2 giá trị đầu và thuật toán điều khiển tính hiệu quả và bình đẳng thực
hiện trong router.





H_cwnd
H_rtt
H_feedback

Hình 3.2 Header chống tắc nghẽn trong gói dữ liệu/xác nhận XCP
Nếu XCP phía gởi có tốc độ gởi yêu cầu

, giá trị khởi tạo cho H_feedback
trong mào đầu có thể tính toán như sau:



/._ cwndrttfeedbackH 

(3.5)
Trong gói đầu tiên của kết nối XCP, H_feedback được khởi tạo bằng 0, khi
XCP phía gởi có RTT ước lượng hiện thời không hợp lệ trong đường dẫn.
XCP phía nhận sao chép mào đầu chống tắc nghẽn của gói dữ liệu đến sang
xác nhận ACK và gởi xác nhận bao gồm mào đầu chống tắc nghẽn đến XCP phía
gởi. Sau khi xác nhận ACK đến nơi, XCP phía gởi sửa lại cửa sổ chống tắc nghẽn
mới theo phản hồi router chứa trong mào đầu chống tắc nghẽn:
},_max{ sfeedbackHcwndcwnd


(3.6)
/ s


g
ói
trong c
ửa
s

t
ắc
ngh
ẽn



với s là kích cỡ gói.
3.3.3.2 Bộ điều khiển chống tắc nghẽn.
Như đã đề cập, bộ điều khiển chống tắc nghẽn trong router có khả năng XCP
được chia thành điều khiển hiệu quả (EC) và điều khiển bình đẳng (FC). Nhiệm vụ
của bộ điều khiển hiệu quả là tận dụng kết nối lớn nhất, tốc độ mất gói nhỏ nhất và
hàng của đường dẫn ổn định. Chỉ đề cập đến EC khi lưu lượng đường truyền ổn
định và không quan tâm sự bình đẳng giữa các luồng có lưu lượng ổn định. Đây là
nhiệm vụ của bộ điều khiển bình đẳng. Dùng thông tin phản hồi chống tắc nghẽn
trên mỗi kết nối hiện thời được tính toán bởi EC, FC tính thông tin phản hồi chống
tắc nghẽn trên mỗi gói hiện thời cho mỗi luồng. Thông tin chống tắc nghẽn được
chứa trong trường H_feedback của mào đầu chống tắc nghẽn trong tất cả các gói và
truyền lại cho mỗi XCP phía gởi.
Với mỗi kết nối, router duy trì bộ định thời điều khiển được thiết lập xấp xỉ
đến giá trị RTT ước lượng trung bình của XCP phía gởi trên kết nối đó. Sau khi hết
thời gian chờ (time-out) của bộ định thời điều khiển mỗi luồng, EC và FC được
dùng để tính giá trị hiện thời của phản hồi điều khiển chống tắc nghẽn cho luồng
XCP đi qua đường dẫn này. 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à không đòi hỏi thông tin
trạng thái của mỗi luồng. Thay vào đó, 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.


Trong phần sau, biểu thức toán học của phép tính EC và FC được trình bày.
 Bộ điều khiển hiệu quả (EC)
Mục đích của bộ điều khiển hiệu quả là tăng tính sử dụng đường truyền trong
khi tối thiểu hóa tốc độ mất gói và hàng đợi ổn định. Nó chỉ xét lưu lượng tổng và
không chú ý đến tính hiệu quả cũng như luồng mà gói có liên quan.
EC tính số byte mà lưu lượng tổng tăng hay giảm theo mong muốn trong
khoảng thời gian điều khiển (RTT trung bình). Phản hồi tổng

(tính theo byte)
được tính trong mỗi khoảng điều khiển:
QSd





(3.7)
Với d là RTT ước lượng trung bình cho kết nối, S là băng thông dự trữ (spare
bandwidth) của đường truyền được định nghĩa là hiệu số giữa tốc độ lưu lượng vào
và dung lượng đường truyền. Và Q là kích cỡ hàng ổn định của đường truyền (tính
theo bytes) với kích cỡ hàng không tiêu hao trong thời gian trễ truyền (đi và về). Q
được ước tính như là giá trị nhỏ nhất trong tất cả kích cỡ hàng bởi vài gói. α và β là
tham số hằng có giá trị lần lượt là
4.0




226.0


trong [6]. Phản hồi chống
tắc nghẽn tổng

phải tỉ lệ với S, bởi nếu đường truyền sử dụng khôg đúng mức
(S>0) hay tắc nghẽn (S<0), thông tin phản hồi dương hay âm phải được gởi đến
XCP phía gởi. Nhưng

phải tỉ lệ với –Q để tiêu hao hàng. Chẳng hạn, nếu tốc độ
lưu lượng đầu vào bằng dung lượng đường truyền, tức là, S=0, phản hồi chống tắc
nghẽn tổng

phải là giá trị âm để giảm số gói tại hàng. Đẳng thức (3.7) đảm bảo
rằng phản hồi chống tắc nghẽn tổng

của đường truyền tỉ lệ với S và –Q.


Để đạt được tính hiệu quả, chúng ta phân bố phản hồi tổng đến từng gói qua
H_feedback. EC chỉ phân phối với trạng thái tổng, nó không quan tâm đến gói nào
có phản hồi và mỗi luồng riêng thay đổi cửa sổ chống tắc nghẽn bao nhiêu. Tất cả
các yêu cầu của EC là lưu lượng tổng phải thay đổi 1 lượng

trong khoảng thời
gian điều khiển. Làm thế nào chúng ta chia phản hồi chính xác giữa các gói (và giữa

các luồng) chỉ ảnh hưởng đến tính bình đẳng, và đó là công việc của bộ điều khiển
bình đẳng.
 Bộ điều khiển bình đẳng XCP
Công việc của bộ điều khiển bình đẳng (FC) là chia nhỏ phản hồi đến các gói
riêng rẻ để đạt được tính bình đẳng. FC dựa vào nguyên lý giống như TCP dùng để
hội tụ đến bình đẳng, gọi là tăng cộng giảm nhân (AIMD). Do đó, chúng ta muốn
tính toán phản hồi trên mỗi gói theo nguyên lý:
- Nếu

>0, lưu lượng của tất cả các luồng tăng giống nhau.
- Nếu

<0, lưu lượng của một luồng giảm tỉ lệ với lưu lượng hiện thời.
Nguyên lý này bảo đảm độ hội tụ đến tính bình đẳng liên tục nếu

khác 0.
Nhưng nếu tính hiệu quả là gần tối ưu, tức là, 0


, sự hội tụ có thể không được
đảm bảo. Để ngăn ngừa điều này, khái niệm băng thông xáo trộn (bandwidth
shuffling) được dùng trong mỗi khoảng điều khiển, một lượng nhỏ lưu lượng h với:
}.,0max{

 yh (3.8)
với hằng số 1.0


và lưu lượng vào y trong RTT trung bình, được phân bố lại theo
nguyên lý AIMD trên tất cả các luồng.



Với luồng
i
phản hồi chống tắc nghẽn mỗi gói H_feedback
i
có thể được xem như là
sự kết hợp tuyến tính của phản hồi dương p
i
và phản hồi âm n
i:

iii
npfeedbackH _
(3.9)
Trong khoảng điều khiển đơn, p
i
và n
i
được tính toán bằng cách dùng các giá trị






i
ii
p
cwndH

SrttH
d
h
_
._
.
0,max


(3.10)







i
n
Sd
h
.
0,max


(3.11)
p
i
và n
i

có thể được tính toán như sau:

i
ii
pi
cwndH
SrttH
p
_
._
.
2


(3.12)

iini
SrttHn ._.


(3.13)
Các công thức trên được chứng minh trong [6]. Trong XCP, bộ điều khiển
hiệu quả và bình đẳng được tách riêng. Đặc biệt, bộ điều khiển hiệu quả EC dùng
quy tắc MIMD, tăng mức lưu lượng tỉ lệ với băng thông dự trữ trong hệ thống (thay
vì tăng 1 MSS/RTT/luồng như TCP). Điều này cho phép XCP nhanh chóng có được
băng thông dự trữ dương ngay cả trên đường truyền dung lượng lớn. Bộ điều khiển
tính bình đẳng FC dùng quy tắc AIMD, hội tụ đến tính bình đẳng. Do đó, việc tách
cho phép mỗi bộ điều khiển dùng các quy tắc điều khiển thích hợp.
Thông thường, nếu XCP được dùng thì mất gói là rất hiếm. Nhưng nếu mất gói xảy
ra, quá trình phát lại trong XCP phía gởi giống trong TCP.



3.3.3.3 Tính thực tế của XCP
Thực hiện XCP trong hệ thống đầu cuối là tương đối đơn giản. Chỉ thay đổi
1 ít trong mã nguồn của TCP phía gởi và TCP phía nhận để làm cho chúng có khả
năng XCP. Trang bị router với khả năng XCP khá tốn kém, sự phức tạp của XCP
trong router là tương đối cao. Tuy nhiên, XCP là ứng cử đầy hứa hẹn trong việc cải
thiện điều khiển chống tắc nghẽn trong mạng cơ sở IP trong tương lai.
XCP có thể phát triển 1 cách nhanh chóng trong mạng cơ sở IP. Hai trường
hợp được phân biệt thành;
 Vài router và phía nhận không có khả năng XCP.
 Sự kết hợp kết nối XCP và không XCP cùng tồn tại trong mạng.
Trong trường hợp đầu tiên, XCP phía gởi phải kiểm tra rằng tất cả các router
trong đường truyền và phía nhận có khả năng XCP. Điều này có thể thực hiện với
cơ cấu XCP và IP hiện hành. Nếu chúng không có khả năng XCP, XCP phía gởi
không thể sử dụng giao thức XCP và phải chuyển mạch sang giao thức truyền thông
theo lối cổ truyền, chẳng hạn, TCP. Trong trường hợp thứ 2, router có khả năng
XCP phải được xử lí bình đẳng 2 loại lưu lượng. Để thực hiện, router có khả năng
XCP có thể phân biệt giữa lưu lượng XCP và không XCP và xếp hàng chúng 1 cách
tách biệt. Nó có thể thực hiện được với cơ cấu xếp hàng chờ xử lý cân bằng thích
nghi động theo phương pháp TCP-Friendly Rate Control (TFRC) [15]


3.3.4 FBA-TCP
3.3.4.1 CSFQ (Core-Stateless Fair Queueing)

Ý tưởng của CSFQ (Core-Stateless Fair Queueing) là phân đoạn mạng trong
một vùng router và phân biệt giữa biên và lõi trong 1 vùng.

Hình 3.3 Vùng router biên (E) và lõi ( C) với khả năng CSFQ

Mỗi router biên ước lượng tốc độ mỗi luồng cho mọi gói đi qua router biên
trong mạng có khả năng CSFQ. Để tính toán, các router biên cần chứa trạng thái
mỗi luồng. Tốc độ ước lượng mỗi luồng được dùng để dán nhãn gói bằng cách chèn
tốc độ ước lượng vào trong mào đầu gói của mỗi luồng. Router lõi được trang bị với
xếp hàng FIFO và không có chứa trạng thái luồng bất kỳ nào. Đặc tính này của
router lõi được gọi là core-stateless. Router lõi thực hiện thuật toán giảm xác suất
cho gói đến dựa vào lưu lượng tổng và thông tin chứa trong nhãn của gói. Mục đích
chính của thuật toán giảm gói theo xác suất là đạt được sự phân bổ băng thông hợp
lý giữa các luồng đi qua router lõi.

×