Chương 1: Các thuật toán điều khiển tắc nghẽn mạng trên lớp TCP
1.6.3 Thay đổi cơ chế slow-start
Cơ chế slow-start trong các thuật toán Tahoe và Reno có thể gây ra mất rất nhiều gói tin trước khi tìm ra băng thông phù hợp của kết nối. Trong trường hợp xấu nhất nó có thể làm mất đễn một nửa cửa sổ hiện tại. Vegas cố gắng tìm ra băng thông phù hợp bằng cách so sánh hai loại thông lượng tương tự như trên. Để làm được điều này, cwnd được tăng gấp đôi trong một RTT, nhưng được giữ nguyên trong RTT tiếp theo để so sánh, RTT tiếp theo lại tăng gấp đôi,.... Đến khi Actual cách Expected một khoảng nhỏ hơn , Vegas
sẽ thoát khỏi slow-start và chuyển sang giai đoạn CA. Tuy nhiên [4] không đưa ra một giá trị cụ thể. Giá trị của có thể chọn ở mức tương đương với và .
1.7 Ƣu nhƣợc điểm và so sánh các thuật toán
Tahoe có ưu điểm là đơn giản và đạt hiệu quả hoạt động khá tốt. Do ra đời sớm nên Tahoe đã được triển khai rộng rãi trên mạng. Nhược điểm của Tahoe là chưa tận dụng hết băng thông trong giai đoạn tắc nghẽn do xử lí chưa tốt. Reno khắc phục yếu điểm này của Tahoe bằng một sự điều chỉnh khá đơn giản, và đây cũng chính là ưu điểm của Reno. Tuy nhiên Reno chưa giải quyết triệt để được và hiệu quả hoạt động bị giảm xuống trong trường hợp nhiều gói tin cùng bị mất trong một cửa sổ dữ liệu. Đây cũng chính là một nhược điểm của Reno. NewReno thêm một sự điều chỉnh nhỏ vào Reno và khắc phục khá tốt yếu điểm này của Reno và điều này trở thành ưu điểm của NewReno. Nhược điểm của NewReno là vẫn chưa khắc phục được triệt để yếu điểm của Reno, dẫn đến hiệu quả hoạt động vẫn bị giảm sút trong một số tình huống, đặc biệt là khi rất nhiều gói tin trong một cửa sổ cùng bị mất.
Tuy nhiên nhược điểm của Reno và NewReno thường chỉ ảnh hưởng trong giai đoạn đầu của quá trình truyền hoặc trong giai đoạn có sự tăng đột biến mức dữ liệu tải lên mạng, vì hầu như chỉ trong các tình huống này mới xảy ra mất nhiều gói tin gần nhau.
Các thuật toán trên đều có ưu và nhược điểm riêng, nhưng đều có chung một nhược điểm là phải làm mất gói tin trong giai đoạn khởi động thì mới tìm được thông lượng cho phép và tiếp tục làm mất gói tin trong quá trình hoạt động. Sự giảm thông lượng khi mất gói tin khiến cho hoạt động của các thuật toán này có tính chu kì: tăng dần thông lượng theo thời gian, đến một lúc nào
đó vượt quá mức cho phép dẫn đến mất gói tin, thông lượng bị giảm đi ít nhất là một nửa, rồi lại tăng lên và bắt đầu một chu kì mới. Đây là nhược điểm cố hữu của các thuật toán kiểu reactive.
Vegas thay đổi hẳn tính chất reactive của các thuật toán trước nó, trở thành thuật toán có tính proactive. Vegas dự đoán mức tắc nghẽn trên mạng dựa vào sự so sánh thông lượng mong muốn và thông lượng thực tế, khiến cho nó có thể giữ giai đoạn hoạt động CA trong một thời gian dài hơn. Điều này tạo sự ổn định trong quá trình truyền dữ liệu. Mặt khác sự thay đổi cơ chế slow-start trong Vegas tuy có làm giai đoạn này kéo dài hơn một chút, nhưng làm cho Vegas có thể dự đoán được thông lượng cho phép mà không cần làm mất gói tin - một điều mà các thuật toán trước đó hầu như không bao giờ đạt được. Các thay đổi của Vegas khiến cho thông lượng của nó tăng lên 40-70%
và tốc độ gói tin mất giảm 2-5 lần so với Reno [4] khi hoạt động riêng rẽ. Nếu toàn bộ các TCP trên mạng hoạt động theo thuật toán Vegas, tắc nghẽn trên các nút mạng sẽ được giảm đi rất nhiều và thông lượng của các TCP sẽ ổn định hơn rất nhiều so với mạng dùng các thuật toán khác.
Vegas có hai nhược điểm chính được chỉ ra trong [19]. Nhược điểm thứ nhất nằm trong bản chất của một thuật toán dạng proactive, khiến cho nó luôn giữ thông lượng sao cho không xảy ra mất gói tin, dẫn đến thông lượng đạt được thấp hơn một chút khi hoạt động cùng các thuật toán reactive. [19] cho rằng Vegas chịu thiệt thòi hơn khi hoạt động cùng Reno. Điều này có thể được hiểu đơn giản là vì mức độ tranh giành băng thông chung của Reno mạnh hơn Vegas, Reno chấp nhận để cho mạng xảy ra tắc nghẽn - tức là mất gói tin - thông qua việc phát nhiều gói tin, trong khi Vegas thì cố gắng không để xảy ra như vậy. Nhược điểm thứ hai nằm trong cơ chế sử dụng BaseRTT của Vegas để tính thông lượng mong muốn, khiến cho các kết nối truyền tin
kích hoạt sau - có BaseRTT cao hơn do mức tải dữ liệu lên mạng cao hơn - có khả năng chiếm được băng thông cao hơn các kết nối đang truyền tin trước đó [19].
CHƯƠNG 2