Điều khiển tắc nghẽn trong TCP

Một phần của tài liệu Điều khiển chống tắc nghẽn trong mạng NGN toàn IP (Trang 50 - 51)

Quản lý chống tắc nghẽn TCP dựa trên thuật toán tăng cộng giảm nhân (AIMD). Nếu xảy ra tắc nghẽn, kích thƣớc cửa sổ gửi giảm đi một nửa (nhân với 0,5), ngƣợc lại thì tăng lên một giá trị là MSS (Maximum Segment Size). Ngoài điều khiển chống tắc nghẽn ra, TCP còn thực hiện các 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.

Việc điều khiển tắc nghẽn trên đƣợc thực hiện dựa trên cơ chế điều khiển luồng đầu cuối bằng cửa sổ trƣợt. Cơ chế cửa sổ trƣợt cho phép TCP truyền nhiều gói tin trƣớc khi dừng lại đợi ACK, do đó tăng tốc độ truyền tin. Việc thay đổi kích thƣớc cửa sổ ảnh hƣởng trực tiếp đến tốc độ dữ liệu đƣa lên mạng. Do đó điều khiển hoạt động của cửa sổ trƣợt một cách hợp lí sẽ giúp hạn chế tắc nghẽn mạng.

Tuy nhiên, các thuật toán điều khiển tắc nghẽn trên TCP không chỉ làm nhiệm vụ quản lí cửa sổ mà còn quản lí cả thời gian phát lại - một trong hai nhân tố ảnh hƣởng đến hoạt động truyền tin của TCP. Các thuật toán chủ yếu khác nhau ở phần quản lí cửa sổ. Đã có khá nhiều thuật toán đƣợc đƣa ra nhƣ Tahoe, Reno, Vegas, SACK, Veno, etc.. Tahoe và Reno thuộc loại các thuật toán

reactive (tác động trở lại) nên thông lƣợng thƣờng biến đổi theo chu kì. Tahoe tuy chƣa xử lí tốt khi xảy ra mất gói tin, nhƣng do ƣu điểm đơn giản và ra đời sớm nên đã đƣợc triển khai rộng rãi. Reno ra đời nhằm khắc phục yếu điểm của Tahoe, nhƣng Reno chỉ xử lí tốt trong tình huống mất một gói tin trong một cửa sổ dữ liệu. Vegas thuộc loại thuật toán proactive (tác động trƣớc) nên có nhiều

ƣu điểm nhƣ: mất ít gói tin, thông lƣợng ổn định, ít gây tắc nghẽn. Tuy nhiên sự triển khai Vegas bị hạn chế không chỉ vì nó ra đời sau, mà còn vị sự cạnh tranh băng thông không tốt khi nó hoạt động cùng các thuật toán reactive. SACK tập trung vào giải quyết tình huống nhiều gói tin trong cùng một cửa sổ dữ liệu bị mất. Tuy nhiên SACK yêu cầu thay đổi cả phía phát và phía thu nên phức tạp hơn. Trong khi các thuật toán trên không thích hợp trong môi trƣờng không dây, nơi có tỉ lệ mất gói tin do lỗi đƣờng truyền và khả năng mất gói tin dạng burst (hàng loạt) cao, thì SACK (Selected Acknowledgement) vẫn có thể dùng đƣợc. Veno là sự kết hợp của Vegas và Reno, có khả năng phân biệt sự mất gói tin do tắc nghẽn và mất gói tin do lỗi, cũng là một thuật toán phù hợp cho môi trƣờng không dây.

Một phần của tài liệu Điều khiển chống tắc nghẽn trong mạng NGN toàn IP (Trang 50 - 51)