người dùng 2. Tất cả sự phân phối với x 1 +x 2 =X goal là phân phối có hiệu quả. Nó tương ứng với đường thẳng là “đường hiệu quả” (efficiency line). Tất cả phân phối mà x 1 = x 2 là phân bố bình đẳng. Nó tương ứng với đường thẳng được gọi là “đường bình đẳng” (fairness line). Hai đường này cắt nhau tại điểm (X goal /2, X goal /2) là điểm tối ưu. Mục tiêu (goal) của phương pháp điều khiển là làm cho hệ thống đến hoạt động tại điểm này mà không quan tâm đến vị trí bắt đầu. Tất cả các điểm bên dưới đường hiệu quả mô tả hệ thống “không đủ tải”(underload) và một cách lý tưởng hệ thống sẽ yêu cầu người dùng tăng tải. Theo quan sát, chẳng hạn, điểm x 0 =(x 10 , x 20 ). Nguyên tắc tăng cộng tăng phân phối của cả 2 người dùng bởi a 1 tương ứng với việc dịch chuyển dọc đường tạo với trục ngang góc 45 0 . Nguyên tắc tăng nhân tăng phân phối cho cả 2 người dùng bằng hệ số b 1 tương ứng với việc dịch theo đường nối điểm đó với gốc toạ độ. Tương tự, tất cả các điểm trên đường hiệu quả mô tả hệ thống quá tải (overload) và giảm cộng mô tả bởi đường tạo với trục ngang góc 45 0 , khi giảm nhân được mô tả bởi đường nối điểm đó với gốc. Tính bình đẳng tại điểm bất kỳ (x 1 , x 2 ) được cho bởi: 2 2 2 1 2 21 2 xx xx F Chú ý rằng nhân cả hai phân bố với hệ số b không thay đổi tính bình đẳng. Đó là, (bx 1 ,bx 2 ) có cùng tính bình đẳng với (x 1 , x 2 ) cho tất cả các giá trị của b. Do đó, tất cả các điểm trên đường nối điểm đó với gốc có cùng tính bình đẳng. Chúng ta, gọi đường đi qua gốc là đường “đồng đẳng” (equi-fairness). Tính bình đẳng giảm khi độ dốc của đường này hoặc tăng lên trên hoặc giảm xuống dưới đường bình đẳng. Hình 2.8 cho ta thấy quỹ đạo của hệ thống 2 người dùng bắt đầu từ điểm x 0 dùng nguyên tắc điều khiển tăng cộng/giảm nhân. Điểm x 0 nằm dưới đường hiệu quả và do đó cả hai người dùng đều được yêu cầu tăng. Chúng di chuyển dọc đường tạo với trục ngang góc 45 0 . Nó di chuyển đến x 1 nằm trên đường hiệu quả. Người dùng được yêu cầu giảm và thực hiện phép nhân, tương ứng với việc chuyển động đến điểm gốc trên đường nối x 1 và gốc. Nó di chuyển đến điểm x 2 , nằm dưới đường hiệu quả và lập lại theo chu kỳ. Chú ý rằng x 2 có tính bình đẳng cao hơn x 0 . Do đó, với mỗi chu kỳ, tính bình đẳng tăng chậm, và cuối cùng, hệ thống hội tụ đến trạng thái tối ưu, dao động quanh điểm “goal”. Quỹ đạo tương tự có thể vẽ cho nguyên tắc điều khiển khác. Mặc dù không phải tất cả các nguyên tắc điều khiển đều hội tụ. Chằng hạn, hình 2.9 cho ta thấy quỹ đạo của nguyên tắc điều khiển tăng cộng/giảm cộng AIAD bắt đầu từ vị trí x 0 . Hệ thống giữ chuyển động lùi và đến dọc theo đường qua điểm x 0 , tạo với trục ngang góc 45 0 . Với nguyên lý như thế, hệ thống có thể hội tụ đến hiệu quả, nhưng nó không bình đẳng. Đường bình đẳng Đường hiệu quả Phân bố x 2 của người dùng 2 Hình 2.8 AIMD hội tụ đến điểm tối ưu Hình 2.9 AIAD không hội tụ Đường bình đẳng Đường hiệu quả Phân bố x 2 của người dùng thứ 2 Phân bố x 1 của người dùng 1 Điểm làm việc dao đ ộng d ọc đư ờng n ày Điều kiện để hội tụ đến hiệu quả và bình đẳng được đưa ra theo phương pháp đại số trong [7]. 2.6 Kết luận chương Hiện tượng tắc nghẽn xảy ra trong mạng là vấn đề khó tránh khỏi, do đó điều khiển tắc nghẽn ngày càng trở nên cấp thiết. Chương 2 đã nêu tổng quan về nguyên lý, phân loại các phương pháp điều khiển tắc nghẽn, tiêu chí đánh giá những phương pháp điều khiển. Ngoài ra, thuật toán tăng giảm (ở đây chỉ nói đến tăng giảm tuyến tính) cũng đã đề cập đến. Từ đó, ta thấy rằng AIMD được sử dụng nhiều hơn các thuật toán khác do nó đảm bảo hội tụ đến tính hiệu quả và bình đẳng. Phần tiếp theo sẽ đi sâu vào các phương pháp điều khiển tắc nghẽn. Chương 3 CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN 3.1 Giới thiệu chương 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 2. Đó 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. 3.2 Một số phương pháp điều khiển tắc nghẽn truyền thống 3.2.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ươ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. 3.2.2 Điều khiển chống tắc nghẽn trong TCP TCP (Transmission Control Protocol) [11] 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 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, TCP dựa và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. Đầu tiê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ết hiệ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ía nhậ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ận gầ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ía nhậ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 sao phú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 3.1 cho ta thấy quỹ đạ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ởi phí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 cho tớ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ía gởi giảm cửa sổ tắc nghẽn đi 1 nửa và đi vào giai đoạn AIMD. Hình 3.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 sau bởi giảm nhân. Trạng thái này thường được xem như “TCP sawtooth” hình 3.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ử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 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 nhanh, điều khiển tắc nghẽn của TCP tỏ ra bất ổn định và không hội tụ [5] 3.3 Một số phương pháp điều khiển tắc nghẽn mới 3.3.1 EWA (Explicit Window Adaptation) và FEWA (Fuzzy EWA) Phương pháp EWA [10] (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. 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ăng thông của tuyến mà router có khả năng EWA được nối, chẳng hạn, 10ms, router với khả năng EWA đo độ dài hàng đợi hiện thời của nó Q i và tính toán độ dài hàng trung bình hiện thời i Q . i i QQ , và độ dài hàng trung bình trước đó 1i Q đượ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 MSSQBMSS i .log.,max 2 (3.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ểm nhiề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án như trong phần sau. B và Q i đượ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 (3.1) được giới thiệu để phản ánh kết nối TCP vớ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 gian vòng truyền kế tiếp (RTT- Round Trip Time). Hệ số có thể thay đổi trong đẳng thức (3.1) được giới thiệu để sử dụng tốt đường truyền nếu chỉ 1 vài kết nối TCP được truyền đoạn qua router. được cập nhật mỗi milli giây như sau: i Qf , down up . (3.2) với i ii QQQ 128 1 128 127 1 (3.3) Giá trị khởi tạo của hệ số sử dụng được thiết lập là 1, tham số up ( để tăng cộng) và down (để giảm bằng cách nhân với ) được thiết lập lần lượt là 1/8 và 31/32, độ dài hàng đợi ngưỡng dưới và ngưỡng trên trung bình được thiết lập đến 20% và 60% của độ dài hàng B. Cửa sổ gởi đã tính toán được truyền đến mỗi TCP phía gởi bằng cách hiệu chỉ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ểm nố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} (3.4) Nếu i Q ngưỡng dưới Nếu i Q ngưỡng trên . các phương pháp điều khiển tắc nghẽn. Chương 3 CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN 3.1 Giới thiệu chương 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ều khiển tắc nghẽn ngày càng trở nên cấp thiết. Chương 2 đã nêu tổng quan về nguyên lý, phân loại các phương pháp điều khiển tắc nghẽn, tiêu chí đánh giá những phương pháp điều khiển. Ngoài. xuất trong chương 2. Đó 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