1.3.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ừ khiphát hiện tắc nghẽn đến khi có tác động của điều khiển chống
Trang 1MỤC LỤC
DANH MỤC TỪ, THUẬT NGỮ VIẾT TẮT vi
DANH SÁCH HÌNH VẼ ix
LỜI NÓI ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ TẮC NGHẼN TRONG MẠNG 3
1.1 Hiện tượng tắc nghẽn trong mạng 3
1.1.1 Nguyên nhân xảy ra tắc nghẽn 3
1.1.2 Nguyên lý chung của điều khiển tắc nghẽn 4
1.2 Các phương pháp điều khiển tắc nghẽn 5
1.2.1 Các đặc điểm chung 5
1.2.2 Phân loại 5
1.3 Các tiêu chí đánh giá phương pháp điều khiển tắc nghẽn 6
1.3.1 Tính hiệu quả (Efficient) 6
1.3.2 Tính bình đẳng (Fairness) 7
1.3.3 Tính hội tụ (Convergence) 8
1.3.4 Thời gian đáp ứng nhanh (Small response time) 9
1.3.5 Độ mịn trong điều khiển (Smoothness) 9
1.3.6 Tính phân tán (Distributedness) 9
CHƯƠNG 2: CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN 12
2.1 Một số phương pháp điều khiển tắc nghẽn truyền thống 12
2.1.1 DECbit 12
2.1.2 Điều khiển tắc nghẽn trong TCP 13
2.2 Một số phương pháp điều khiển tắc nghẽn mới 15
2.2.1 EWA (Explicit Windows Adaptation) và FEWA (Fuzzy EWA) 15
2.2.2 ETCP (Enhanced TCP) 16
2.2.3 XCP (Explicit Control Protocol) 17
2.2.4 FBA-TCP 22
2.2.5 QS-TCP (Quick Start TCP): 27
CHƯƠNG 3: PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN TRONG MẠNG NGN 29
3.1 Điều khiển tắc nghẽn trong môi trường mạng NGN 29
3.1.1 Khái niệm mạng NGN 29
Trang 23.1.2 Đặc điểm của mạng NGN 29
3.1.3 Vấn đề tắc nghẽn trong NGN 29
3.2 Đánh giá, so sánh và khả năng ứng dụng của các phương pháp điều khiển tắc nghẽn 32
3.2.1 Khả năng ứng dụng của các phương pháp điều khiển tắc nghẽn trong mạng NGN 32
3.2.2 Lựa chọn giải thuật điều khiển tắc nghẽn cho NGN 34
3.3 Thuật toán tăng giảm sử dụng trong phương pháp XCP 36
3.3.1 Thuật toán tăng giảm 36
3.3.2 Biểu diễn thuật toán bằng vector 39
CHƯƠNG 4: MÔ PHỎNG PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN 43
4.1 Phương pháp và công cụ mô phỏng 43
4.1.1 Phương pháp mô phỏng 43
4.1.2 Chuẩn bị công cụ mô phỏng 44
4.2 Nội dung và kết quả mô phỏng 45
4.2.1 Mô phỏng thuật toán tăng giảm 45
4.2.2 Mô phỏng XCP 52
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỂ TÀI 59
TÀI LIỆU THAM KHẢO 61
Trang 3DANH MỤC TỪ, THUẬT NGỮ VIẾT TẮT
ADSL Asymmetric Digital Subcriber Line Đường truyền thuê bao số bất đồng bộAIAD Additive Increase Additive Decrease Tăng cộng giảm cộng
AIMD Additive Increase Multiplicate Decrease Tăng cộng giảm nhân
API Application Program Interface Giao diện ứng dụng
AGC Access Gateway Controller Bộ điều khiển cổng truy cậpARWND Advertised Receiver Window Cửa sổ nhận quảng bá
ATM Asynchronoú Transfer Mode Mode truyền dị bộ
CATV Community Antenna Television Truyền hình cáp
CAVT Congestion – Avoidance Visulization Tool Công cụ mô phỏng tránh tắc nghẽnCSFQ Core-Stateless Fair Queueing Xếp hàng bình đẳng không trạngthái ở router lõi
EC Efficiency Controller Bộ điều khiển hiệu quả
EWA Explicit Window Adaptation Sự tương thích cửa sổ rõ
FBA-TCP Fair Bandwidth Allocation for TCP Phân bố băng thông hợp lý cho TCP
FC Fairness Controller Bộ điều khiển bình đẳng
GPRS General System for Radio Service Tiện ích liên lạc không dây theo
góiGSM Global System for Mobile Telecom Hệ thống thông tin di động toàn cầuIAD Integrated Access Decice Thiết bị truy cập tích hợp
Ipv6 Internet Protocol Version 6 Giao thức Internet phiên bản 6ISDN Intergrated Service Digital Network Mạng số tích hợp đa dịch vụITU International Telecommunication Union Hiệp hội viễn thông quốc tế
Trang 4MIMD Multiplicate Increase Multiplicate
MSS Maximum Segment Size Kích cỡ đoạn lớn nhất
NGN Next Generation Network Mạng thế hệ sau
PABX Private Automatic Branch Exchange Tổng đài nhánh riêng tự độngPLMN Public Land Mobile Network Mạng thông tin di động mặt đất công cộngPOTS Plain Old Telephone Service Mạng điện thoại công cộngPSDN Public Switched Data Network Mạng chuyển mạch dữ liệu côngcộngPSTN Public Switched Telephone Network Mạng thoại chuyển mạch công cộngQoS Quality of Service Chất lượng dịch vụ
QSR Quick-Start Request Yêu cầu bắt đầu nhanh
RED Random Early Detection Phát hiện sớm ngẫu nhiên
SVC Signalling Virtual Channel Kênh ảo cho báo hiệu
TCP Transmission Control Protocol Giao thức điều khiển truyền tảiTDM Time Divison Multiplexing Ghép kênh phân chia theo thời
gianTFRC TCP-Friendly Rate Control Điều khiển tốc độ thân thiện TCPTMN Telecommunications ManagementNetwork Mạng giám sát viễn thông
UDP User Datagram Protocol Giao thức gói người dùng
XCP Explicit Control Protocol Giao thức điều khiển rõ
Trang 5v
Trang 6DANH SÁCH HÌNH VẼ
Hình 1.1 Quá trình diễn ra tắc nghẽn 2
Hình 1.2 Độ nhạy (responsiveness) và độ mịn (smoothness) 7
Hình 2.1 Cửa sổ tắc nghẽn 12
Hình 2.2 Header chống tắc nghẽn trong gói dữ liệu/xác nhận XCP 16
Hình 2.3 Vùng router biên (E) và lõi (C) với khả năng CSFQ 21
Hình 2.4 Kết nối TCP đơn đi qua vùng router có khả năng CSFQ 24
Hình 3 1 Hiện tượng xảy ra tắc nghẽn 28
Hình 3.2 Hiệu quả của việc điều khiển tắc nghẽn 29
Hình 3.3 Môi trường mạng hỗn tạp trong NGN 29
Hình 3.4 Hệ thống gồm n người dùng chia sẻ 1 mạng 34
Hình 3.5 AIDM hội tụ đến điểm tối ưu 39
Hình 3.6 AIAD không hội tụ 39
Hình 4.1 Tổng quan về NS dưới góc độ người dùng 41
Hình 4.2 Sơ đồ thuật toán tăng giảm 44
Hình 4.3 Giao diện công cụ mô phỏng thuật toán tăng giảm 45
Hình 4.4 Biểu đồ vector của thuật toán AIMD 46
Hình 4.5 Đồ thị biểu diễn theo thời gian 47
Hình 4.6 Biểu đồ theo vector thuật toán MIAD 47
Hình 4.7 Đồ thị biểu diễn tốc độ theo thời gian 48
Hình 4.8 Thuật toán MIMD hội tụ nhanh đến đường hiệu quả 48
Hinh 4.9 Thuật toán AIMD khi RTT1 = 2 ¿ RTT2 49
Hình 4.10 Topo mạng sử dụng trong quá trình mô phỏng 50
Trang 7Hình 4.11 Hiệu quả sử dụng đường truyền cao 51
Hình 4.12 Hiệu quả vẫn bảo đảm khi 1 luồng ngừng truyền đột ngột 52
Hình 4.13 cwnd hội tụ nhanh đến lượng chia sẻ hợp lý 52
Hình 4.14 Số gói tại hàng đợi nhỏ 53
Hình 4.15 Biểu diễn cwnd của 2 loại lưu lượng TCP và XCP 54
Hình 4.16 Hiệu quả khi có 1 luồng TCP 54
Hình 4.17 Trạng thái hàng XCP 55
Trang 8LỜI NÓI ĐẦU
Cùng với sự phát triển của đất nước, những năm gần đây, các ngành côngnghiệp đều phát triển mạnh mẽ và ngành công nghiệp viễn thông cũng không làngoại lệ Ngày càng có nhiều các dịch vụ mới và chất lượng dịch vụ cũng được yêucầu cao hơn: Internet nhanh chóng được phổ biến, những đòi hỏi về dịch vụ IP (IPVPN ), xu thế tích hợp IP/ATM/MPLS cho mạng thông tin trục đã dẫn đến sựcần thiết phải thay đổi công nghệ mạng Đứng trước xu hướng đó, việc phát triểntheo cấu trúc mạng thế hệ sau (NGN) với các công nghệ phù hợp là bước đi tất yếucủa viễn thông thế giới và mạng viễn thông Việt Nam NGN không phải là mộtmạng có cơ sở hạ tầng được xây dựng hoàn toàn mới mà nó được hình thành vàphát triển trên nền tảng của các mạng thế hệ trước đó kết hợp với kỹ thuật chuyểnmạch gói theo giao thức IP
Mạng viễn thông của các nước trên thế giới cũng như ở Việt Nam đangchuyển dần đến mạng thế hệ sau NGN và tiến tới IP hóa (all-IP) với mục tiêu: mọilú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 đadạng, phong phú và đòi hỏi nhiều mức độ chất lượng dịch vụ khác nhau Xu hướngphá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 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
Trang 9Cách thứ hai sử dụng các thuật toán, các giao thức để điều khiển chống tắcnghẽ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
Sau một thời gian nghiên cứu và tìm hiểu, được sự giúp đỡ và hướng dẫn củathầy giáo Ts Nguyễn Chiến Trinh em đã nắm bắt được những kiến thức cơ bản vềmạng NGN nói chung và vấn đề tắc nghẽn trong NGN nói riêng.Đến nay, em đã
hoàn thành đồ án với đề tài “Nghiên cứu các phương pháp điều khiển tắc nghẽn
trong mạng NGN” Nội dung của bài được chia làm 4 phần chính:
Chương 1 : Tổng quan về tắc nghẽn trong mạng
Chương 2 : Các phương pháp điều khiển tắc nghẽn
Chương 3 : Phương pháp điều khiển tắc nghẽn trong mạng NGN
Chương 4: Mô phỏng phương pháp điều khiển tắc nghẽn
Do đây là một đề tài phức tạp và trình độ hiểu biết còn nhiều hạn chế nên bàilàm của em không tránh khỏi những sai sót Em rất mong nhận được sự chỉ dẫn vàgóp ý của các thầy cô giáo để bài làm được hoàn thiện hơn
Hà Nội, tháng 8 năm 2015
Học viên
Phùng Việt Phú
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ TẮC NGHẼN TRONG MẠ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 1 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
1.1 Hiện tượng tắc nghẽn trong mạng
1.1.1 Nguyên nhân xảy ra tắc nghẽn
Tắc nghẽn xảy ra do 1 số nguyên nhân sau:
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ềnthống
2 Lỗi do đường truyền vô tuyến Các hiệu ứng môi trường như di động, chechắn, phading…gây ra mất gói, ả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 các mạngtốc độ cao Đây là 1 trong những đặc điểm nổi bật của môi trường hỗn tạp 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ìnhdịch vụ mới : dữ liệu, âm thanh và hình ảnh được tích hợp truyền trên 1 mạng duynhất 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
Trang 11Thông lượng (Throughput)
Lưu lượng đầu vào (offered load)
Điểm gãy (knee) Điểm vách
(cliff)
xi
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ạngNGN 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ạngthay đổi gây ra những biến đổi về phân chia lưu lượng trên mạng
1.1.2 Nguyên lý chung của điều khiển tắc nghẽn
Hình 1.1 Quá trình diễn 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 1.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 (offeredload) Ở mức lưu lượng đưa vào nhỏ (phía trái của điểm gãy - Knee), thông lượngtă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ệutrong 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 tắc nghẽn là:
Trang 12- 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
1.2 Các phương pháp điều khiển tắc nghẽn
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
1.2.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:
Trang 13Điều khiển tắc nghẽn vòng hở (Open-loop congestion control) là sự kết hợpcủ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ựatrê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ênthông tin phản hồi Trong đó, thông tin phản hồi có thể là:
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ẽntrong 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 đếnnguồ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íagử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ôngqua việc thay đổi kích thước cửa sổ (số gói tin hoặc số byte tồn tại ở đó)
1.3 Các tiêu chí đánh giá phương pháp điều khiển 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, song có xem xét đến những đặc tính của môi trườngmạ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:
1.3.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 chocác ứng dụng và tổng tài nguyên mong muốn tại điểm Knee của mạng [10], 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
Trang 14mong 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ố:
η= X (t )
Quá tải (X (t )> X goal) hay dưới mức tải (X (t )< X goal) đều không mongmuố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 đó 2lượ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
là 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
1.3.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ộtlớp dịch vụ phải có chia sẻ như nhau về tài nguyên Thường thì sự phân bổ khôngbằ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 như sau:
F( x )= ( ∑x i)2
n(∑x i2)
(1.2)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 xi bằngnhau) 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àinguyê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 quantrọng
Trang 15Như 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
Trang 16Độ nhạy
Độ mịn
Tổng lưu lượng mạng
Thời gian “Goal”
xvi
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ảinhỏ Do đó, điều khiển với thời gian nhỏ và biên độ nhỏ của dao động gọi là nhạyhơn và mịn hơn, như trong hình 1.5
1.3.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ừ khiphá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
Hình 1.2 Độ nhạy (responsiveness) và độ mịn (smoothness).
1.3.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áimong 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
Trang 17thiế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àotrạng thái mất ổn định thêm Đại lượng để đo độ mịn có thể là hiệu số giữa lưulượng tại 2 thời điểm điều khiển liên tiếp t1 và t2: |xi(t2)− xi(t1)| hoặc hiệu số giữatổ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)|
1.3.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 haytoà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 đạtthô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 đếnphươ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átải thông qua bit phản hồi nhị phân Thông tin khác như Xgoal và số lượng ngườidùng cùng chia sẻ nguồn tài nguyên được giả thiết là không được biết bởi ngườidù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ểnchố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ảnnêu trên
Trang 19CHƯƠNG 2 CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN
Trong chương này, chúng ta sẽ hệ thống hóa lại một số phương pháp điều khiển 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 trong chương 1 Đó là các phương pháp điều khiển tắc nghẽn truyền thống như DECbit, và một vài phương pháp mới như EWA, ETCP, FBA- TCP, QS- TCP để cải thiện hiệu suất hoạt động mạng Trong đó đặc biệt đi sâu vào phương pháp điều khiển tắc nghẽn sử dụng TCP phổ biến hiện nay (đặc biệt là trong mạng Internet) và XCP là ứng cử viên cho mạng dựa trên cơ sở IP sau này.
2.1 Một số phương pháp điều khiển tắc nghẽn truyền thống
2.1.1 DECbit
DECbit là một trong các mô hình điều khiển tắc nghẽn sớm nhất Phươngpháp này sử dụng phản hồi ẩn Trong DECbit, mạng cung cấp thông tin phản hồicho 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íchthước trung bình của hàng đợi trong khoảng thời gian được định nghĩa Nếu độ dàitrung bình của bộ đệm vượt quá ngưỡng (threshold) thì bộ định tuyến thiết lập mộtbit 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ắcnghẽ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
Trang 20tính bình đẳng, độ hội tụ, độ mịn điều khiển cũng không đạt được Thuật toánkhông phù hợp cho các ứng dụng mớitrong NGN.
2.1.2 Điều khiển tắc nghẽn trong TCP
TCP (Transmission Control Protocol) [11] là giao thức phổ biến nhất hiệnnay 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 chức năng khôi phục dữ liệu đã mất và quản lý kết nối Điều khiểnchống tắc nghẽn trong TCP thuộc loại điều khiển vòng kín phản hồi ẩn, TCP dựavào mất gói để phát hiện tắc nghẽn Nó có 2 cơ cấu để phát hiện ra mất gói Đầutiên, khi gói được gửi, phía gửi TCP khởi tạo bộ định thời Nếu bộ định thời hếthiệu lực trước khi gói được xác nhận, TCP xem như gói bị mất Thứ 2, khi phíanhận TCP nhận gói không đúng trật tự Nó gửi xác nhận ACK cho gói mà nó nhậngần nhất Ví dụ, giả sử phía nhận nhận gói từ 1 đến 5, và gói 6 bị mất Khi phíanhận nhận gói 7, nó gửi dupack cho gói 5 Phía gửi TCP xét các sự tới của 3 bản saophúc đáp (3 dupack) như dấu hiệu của 1 gói mất
Kết nối TCP qua 2 pha: khởi đầu chậm và pha AIMD Hình 2.1 cho ta thấyquỹ đạo điển hình của cửa sổ chống tắc nghẽn
Khởi đầu chậm: TCP đi vào mô hình khởi đầu chậm khi bắt đầu kết nối.
Trong suốt quá trình khởi đầu chậm, phía gửi tăng tốc độ gửi theo hàm mũ Cụ thể,khi bắt đầu khởi đầu chậm cửa sổ tắc nghẽn thiết lập là 1 đoạn, là MSS khởi tạo bởiphía gửi trong suốt giai đoạn thiết lập kết nối Do đó, phía gửi gửi 1 đoạn và đợi chotới khi phía nhận xác nhận nó Một khi ACK đến phía gửi, phía gửi tăng cửa sổchống tắc nghẽn của nó bởi 1, gửi 2 đoạn, và đợi ACK tương ứng Mỗi khi ack đến,phía gửi có thể gửi 2 đoạn, 4 đoạn, gấp đôi lên dẫn đến tăng theo hàm mũ của cửa
sổ chống tắc nghẽn TCP thoát khỏi khởi đầu chậm khi đoạn bị mất Khi đó phíagửi giảm cửa sổ tắc nghẽn đi 1 nửa và đi vào giai đoạn AIMD
Trang 21Cửa sổ bằng
1 khi hết thời gian chở
AIMD (tăng tuyến tính)
Cửa sổ giảm 1 nửa khi phát hiện tắc nghẽn
Hình 2.1 Cửa sổ tắc nghẽn
AIMD: Trong mô hình này, miễn là không có đoạn nào bị mất, phía gửi TCP
tăng cửa sổ tắc nghẽn của nó bởi 1 MSS mỗi RTT Khi gói bị mất, TCP giảm cửa sổtắc nghẽn đi một nửa Như kết quả, thông lượng biểu thị 1 dãy tăng cộng theo saubởi giảm nhân Trạng thái này thường được xem như “TCP sawtooth” hình 2.1
Đ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ửakhi 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ộtthờ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 với mạng đa dịch vụ, thuật toán điều khiển chống tắc nghẽn củaTCP 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 nhanh, điều khiểntắc nghẽn của TCP tỏ ra bất ổn định và không hội tụ
Trang 222.2 Một số phương pháp điều khiển tắc nghẽn mới
2.2.1 EWA (Explicit Windows Adaptation) và FEWA (Fuzzy EWA)
Phương pháp EWA (Explicit Window Adaptation) [2] dùng thông báo mộtcá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ảnhồi từ các bộ định tuyến đến phía gửi
Sau mỗi khoảng đo i với thời gian tồn tại không đổi phụ thuộc vào băngthông của tuyến mà router có khả năng EWA được nối, chẳng hạn, 10ms, routervới khả năng EWA đo độ dài hàng đợi hiện thời của nó Qi và tính toán độ dài hàngtrung bình hiện thời Qi Qi,Qi và độ dài hàng trung bình trước đó Q¯i−1 được
dùng để tính toán cửa sổ gửi mới cho mỗi kết nối TCP đi qua router:
Cửa sổ gửi =max{MSS ,α log2(B−Q i) MSS} (2.1)
Trong đó, B là độ dài hàng lớn nhất trong router (tức là, tại cùng 1 thời điểmnhiều nhất B+1 gói có thể lưu trữ và được chuyển đi trong router), MSS là kích cỡđoạn của tất cả các kết nối TCP đi qua router, và α là hệ số động được tính toánnhư trong phần sau B và Qi được biểu diễn theo số gói và MSS được biểu diễn theo
số byte Biểu thức thuật toán trong (2.1) được giới thiệu để phản ánh kết nối TCPvới khởi đầu chậm và có thể gửi nhiều hơn 2 lần số đoạn trong khoảng thời gianvòng truyền kế tiếp (RTT- Round Trip Time)
Hệ số α có thể thay đổi trong đẳng thức (2.1) được giới thiệu để sử dụngtốt đường truyền nếu chỉ 1 vài kết nối TCP được truyền đoạn qua router α đượccập nhật mỗi milli giây như sau:
α=f(α , Q i)= { α+ω up ¿¿¿¿
(2.2)với
Trang 23Cửa sổ gửi đã tính toán được truyền đến mỗi TCP phía gửi bằng cách hiệuchỉnh cửa sổ thông báo phía nhận trong xác nhận TCP Router (có khả năng TCP)chỉ giảm cửa sổ khi cần thiết, nhưng không tăng để duy trì điều khiển luồng điểmnối điểm của TCP.
Cửa sổ gửi = min{cửa sổ gửi, cửa sổ thông báo phía nhận} (2.4)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íchhợ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) hay RED (Random Early Detection)
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ầuhế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 đổilớ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ácvớ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ớicá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
Trang 242.2.2 ETCP (Enhanced TCP)
Ý tưởng của ETCP [5] là sử dụng phản hồi FEWA (dựa trên sự điều khiểnthích ứng lưu lượng-AWND) để tính cửa sổ gửi mới (SWND) ETCP phía gửikhông thực hiện chu trình bắt đầu chậm (slow start) và tránh tắc nghẽn (congestionavoidance), 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áccá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ổ của phía gửi ETCP được tăng theo hàm mũ để tiệmcậ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
2.2.3 XCP (Explicit Control Protocol)
XCP là giao thức truyền thông liên quan đến TCP Không như TCP, XCPcung cấp phản hồi chống tắc nghẽn rõ từ router có khả năng XCP đến XCP phíagử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 đượctính hiệu quả, bình đẳng, điều khiển tắc nghẽn có thể mở rộng qui mô và ổn địnhtrong toàn mạng [7]
2.2.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 2.2 Hai giá trị đầu tiên, H_cwnd và H_rtt, được thiết lập bởi XCP phíagử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ùngcho 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 đếngiá 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
Trang 25router 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ựchiện trong router
H_cwndH_rttH_feedback
Hình 2.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 choH_feedback trong mào đầu có thể tính toán như sau:
H feedback=( γ rtt−cwnd )/¿ ¿ số gói trong cửa sổ tắc nghẽn (2.5)
Trong gói đầu tiên của kết nối XCP, H_feedback được khởi tạo bằng 0, khiXCP 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 sangxá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íagử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ẽnmới theo phản hồi router chứa trong mào đầu chống tắc nghẽn:
cwnd=max {cwnd+ H feedback , s} (2.6)với s là kích cỡ gói
2.2.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) [8] 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ẽntrê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
Trang 26tắ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 đượcchứ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ếtthời gian chờ (time-out) của bộ định thời điều khiển mỗi luồng, EC và FC đượcdù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ồngXCP đ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ềukhiển bình đẳng của bộ định tuyến XCP có đặc điểm là không đòi hỏi thông tintrạ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ượngtổ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 trongmộ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) [7]
Mục đích của bộ điều khiển hiệu quả là tăng tính sử dụng đường truyền trongkhi 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 trongkhoả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:
tham số hằng có giá trị lần lượt là α=0.4 và β=0.226 trong [6] Phản hồi
Trang 27chố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ồichố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
(2.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
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óiriê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ốntí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 (bandwidthshuffling) được dùng trong mỗi khoảng điều khiển, một lượng nhỏ lưu lượng h với:
Trang 28h=max{0, γ y−|φ|}
(2.8)
với hằng số γ=0.1 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_feedbacki có thể được xem như
là sự kết hợp tuyến tính của phản hồi dương pi và phản hồi âm ni:
H feedback
i=p i−n i
(2.9)Trong khoảng điều khiển đơn, pi và ni được tính toán bằng cách dùng các giá trị
S i
H cwnd i
(2.12)
n i=ξ n H rtt
i S i
(2.13)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ăngthông dự trữ trong hệ thống (thay vì tăng 1 MSS/RTT/luồng như TCP) Điều nàycho phép XCP nhanh chóng có được băng thông dự trữ dương ngay cả trên đườngtruyề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
Trang 29Thông thường, nếu XCP được dùng thì mất gói là rất hiếm Nhưng nếu mấtgói xảy ra, quá trình phát lại trong XCP phía gửi giống trong TCP
2.2.3.3 Tính thực tế của XCP [8]
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 XCPtrong router là tương đối cao Tuy nhiên, XCP là ứng cử đầy hứa hẹn trong việc cảithiệ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ườnghợ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 routertrong đườ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ửikhông thể sử dụng giao thức XCP và phải chuyển mạch sang giao thức truyền thôngtheo lối cổ truyền, chẳng hạn, TCP Trong trường hợp thứ 2, router có khả năngXCP phải được xử lí bình đẳng 2 loại lưu lượng Để thực hiện, router có khả năngXCP 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áchtá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íchnghi động theo phương pháp TCP-Friendly Rate Control (TFRC)
2.2.4 FBA-TCP
2.2.4.1 CSFQ (Core-Stateless Fair Queueing)
Ý tưởng của CSFQ (Core-Stateless Fair Queueing) [4] là phân đoạn mạngtrong một vùng router và phân biệt giữa biên và lõi trong 1 vùng
Trang 30Hình 2.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êntrong mạng có khả năng CSFQ Để tính toán, các router biên cần chứa trạng tháimỗ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èntố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ớixế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ủarouter lõi được gọi là core-stateless Router lõi thực hiện thuật toán giảm xác suấtcho 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 đíchchí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
Trong phần dưới đây, thuật toán ước lượng tốc độ thực hiện trong router biên
và thuật toán giảm gói thực hiện trong router lõi được nói đến Nhiều chi tiết vềCSFQ, chẳng hạn, giả mã cho thuật toán dùng trong router biên và lõi hay mở rộng
cơ cấu CSFQ cơ bản
Ước lượng tốc độ mỗi luồng CSFQ trong router biên.
Trong router biên tốc độ ước lượng ^r i của luồng i được cập nhật mỗi khigói mới của luồng này đến Ước lượng tốc độ luồng được thực hiện bằng cách dùng
Trang 31sự ước lượng dựa trên chuẩn hàm mũ Với t i(k ) và l i(k ) lần lượt là thời gian đến
(arrival time) và độ dài gói k của luồng i Sau đó, ^r i được cập nhật như sau:
Thuật toán giảm gói CSFQ trong router lõi
Trong luồng lưu lượng, tốc độ đến tổng n luồng trong tuyến đơn của routerlõi là:
Tổng tốc độ đến router lõi được ước lượng dựa vào hàm mũ trung bình:
Trang 32với thời gian đến T giữa gói trước và gói hiện tại và giá trị hằng số K α Đẳng
thức dạng tương tự được dùng để ước lượng tốc độ lưu lượng tổng ^F cho phép
bởi router
Nếu ^A≥C trong tất cả các khoảng Kc, đường truyền được giả thiết bị tắc
nghẽn Nếu ^A≤C trong tất cả các khoảng Kc, đường truyền giả thiết là không bị
tắc nghẽn
Giá trị mới cho tốc độ phân bổ bình đẳng ước lượng α^ chỉ được tính sau
một khoảng mà trong đó đường truyền được phân loại thành bị tắc nghẽn và khôngtắc nghẽn Nếu đường truyền bị tắc nghẽn thì α^ được cập nhật như sau:
Sau mỗi khi hàng bị tràn, α^ bị giảm bởi 1 phân số nhỏ cố định, chẳng hạn,
0.01
Để tránh sự điều chỉnh lại, giảm α^ phải giới hạn bởi 0.25 giá trị trước đó.
^
α khi đó được dùng để tính toán xác suất giảm gói của các luồng Với
luồng i, mỗi bit đang đến bị giảm trong router lõi với xác suất:
Trang 33Do đó, các gói trong luồng i phải được dán nhãn lại với:
label i new= min{α , label^ i old} (2.22)
Do đó, sau khi gói đi qua router biên ở phía nhận của luồng đó nhãn của góichứa tốc độ luồng hiện tại mà thành phần mạng CSFQ đã cung cấp Thông tin này
có thể được truyền đến phía nhận và truyền trở lại phía gửi để điều chỉnh tải màphía gửi đặt vào mạng Nhưng CSFQ không cung cấp cơ cấu phản hồi chống tắcnghẽn rõ Chỉ có gói bị mất trong router lõi và biên của phần mạng có khả năngCSFQ được dùng để góp phần khai báo ẩn cho phía gửi về tắc nghẽn (đang đe dọa)trong 1 đoạn mạng
2.2.4.2 FBA-TCP
Phân bổ băng thông hợp lý cho TCP (FBA-TCP) (Fair Bandwidth Allocationfor 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 [8]
FBA-TCP dùng cơ cấu CSQB miêu tả trong phần trước để cải thiện điềukhiển chống tắc nghẽn trong kết nối TCP FBA-TCP làm việc như sau: trong routerbiên của vùng mạng (trong hình 3.3) FBA-TCP dùng thuật toán giống CSFQ để ướclượng tốc độ luồng và dán nhãn gói trong luồng với tốc độ luồng ước lượng Trongmỗi router biên và lõi trong vùng mạng tốc độ phân bổ bình đẳng được ước lượng
và các gói của luồng bị giảm theo đẳng thức (3.21) nếu nhãn của chúng lớn hơnphân bổ cân bằng
Trang 34Hình 2.4 Kết nối TCP đơn đi qua vùng router có khả năng CSFQ
Đặc tính mới của FBA-TCP là router biên ở phía nhận của luồng không xoánhãn khỏi mỗi gói Router biên đặt nhãn của gói vào trong mào đầu Ipv4 (hay màođầu mở rộng của Ipv6) để truyền trong suốt nhãn này đến TCP phía nhận qua phầnmạng không có khả năng CSFQ Nếu hệ thống đầu cuối phía nhận của kết nối TCP
nhận gói với nhãn l hay tốc độ ước lượng r^ , nó gửi giá trị này đến TCP phíanhận để tính cửa sổ gửi mới mà TCP phía gửi cho phép
Cửa sổ gửi được phép= RTT ^r (2.23)
sử dụng RTT ước lượng Do khả năng song công của TCP, tức là, TCP phía nhậnđồng thời là TCP phía gửi và ngược lại, nó giả thiết rằng TCP phía nhận có sự ướclượng RTT thích hợp trong đường dẫn mạng Giá trị nhỏ nhất của cửa sổ gửi và sốbytes hiện thời mà TCP phía nhận có thể được nhận được từ TCP phía gửi là cửa sổthông báo phía nhận của TCP phía nhận
Cửa sổ thông báo phía nhận này được gửi đến TCP phía gửi trong xác nhậnTCP tiếp theo
2.2.5 QS-TCP (Quick Start TCP):
QS-TCP (Quick Start TCP) [8] đã được đề xuất năm 2002 bởi Jain và Floydtrong [3] như là một cách để tăng cửa sổ khởi tạo của một kết nối TCP Trong thủ