II. Điều khiển lưu lượng, tránh tắc nghẽn
4. Kỹ thuật TCP-friendly
Phần lớn ứng dụng hội thảo đa phương tiện được dùng trên Internet hiện nay, ví dụ như VIC, VAT đều dựa trên giao thức lớp vận chuyển UDP, là một giao thức vận chuyển không đảm bảo chất lượng, độ tin cậy không cao do không có cơ chế điều khiển lưu lượng và do đó có thể không đảm bảo bất kỳ một cấp độ QoS nào. Trong khi trên thực tế, tình trạng mạng luôn thay đổi trong các tuyến đường từ nguồn tới đích của một gói tin, đặc biệt là trong môi trường mạng hỗn hợp dẫn đến việc những ứng dụng đa phương tiện khó có được kết quả tốt nhất. Ngoài ra, khi triển khai những giao thức không có cơ chế điều khiển lưu lượng, tránh tắc nghẽn sẽ làm mất sự cân bằng về lưu lượng với các luồng TCP tương tranh dẫn đến những kết nối TCP đang chiếm khoảng 95% lưu lượng Internet có thể bị giảm tốc độ truyền của chúng một cách đáng kể… Do vậy, khi xây dựng những ứng dụng multimedia trong mạng hỗn hợp, một yếu tố rất cần được lưu ý là các thuật toán cần phải đảm bảo tính đúng của thời gian thực nhưng không được để những luồng đa phương tiện lấn chiếm băng thông của các luồng TCP, cụ thể hơn những nguồn UDP cần được cải tiến để có cơ chế điều khiển thích nghi tránh tắc nghẽn tương tự như cơ chế điều khiển tắc nghẽn của TCP nhằm mục tiêu giảm tình trạng mất dữ liệu, tăng hiệu dụng của băng thông đồng thời tạo sự cân bằng với những luồng TCP tương tranh, tránh tình trạng sụp đổ tắc nghẽn (Congestion collapse) những kỹ thuật như vậy người
một luồng có tốc độ truyền dữ liệu trong một khoảng thời gian dài không vượt quá bất kỳ một luồng TCP thích nghi nào trong cùng điều kiện đó.
Những lược đồ này thường được chia làm hai loại, một số lược đồ là end-to-end bao gồm kỹ thuật dựa trên cửa sổ với việc tăng theo cấp số cộng và giảm theo cấp số nhân (AIMD Windows-base) và kỹ thuật dựa trên tốc độ (rate-based). Một loại khác là kỹ thuật điều khiển tắc nghẽn theo từng chặng (hop-by-hop). Trong phạm vi luận văn này chúng ta chỉ tập trung vào giải pháp end-to-end.
Kỹ thuật điều khiển tắc nghẽn TCP-Friendly End-to-end
Lược đồ AIMD-based:
Lược đồ AIMD dựa trên khái niệm AIMD (Additive Increase Multiplicative Decrease). Kết nối TCP thăm dò để mở rộng băng thông bằng cách tăng kích cỡ cửa sổ của nó lên một cách tuyến tính theo thời gian và giảm cửa sổ phát của nó đi nhiều lần khi phát hiện tắc nghẽn nên thuật toán AIMD có thể biểu diễn là AIMD (α,β) hoặc:
I: Tăng cửa sổ khi nhận được biên nhận trong khoảng thời gian Round trip time
D: Giảm cửa sổ khi phát hiện mất dữ liệu ωt : kích cỡ cửa sổ tại thời gian t
R: Round trip time của luồng α=1 packet
β=1/2
Kỹ thuật AIMD window là một sự lựa chọn tốt cho hầu hết các ứng dụng hiện nay, nó rất hiệu quả vì sự tăng nhanh băng thông sử dụng khi băng thông trở nên sẵn sàng. Tuy nhiên, với các ứng dụng real-time, multimedia thì yêu cầu thay đổi đều đặn về tốc độ truyền là quan trọng
hơn so với việc tăng nhanh băng thông nên với các ứng dụng này thường không sử dụng trực tiếp kỹ thuật điều khiển tắc nghẽn của TCP nói trên để tránh việc chia đôi tốc độ truyền một cách đột ngột khi một gói tin bị hủy. Do đó, lược đồ trên được sửa đổi khi áp dụng cho các ứng dụng real- time.
Lược đồ Window-based:
Với điều kiện k+l=1, l <=1; (Nếu k=0, l=1 trở về thuật toán AIMD của TCP cho ứng dụng dữ liệu thông thường). Khi thêm các tham số với l<1 thì ứng dụng real- time sẽ giảm tình trạng giảm đột ngột hơn cách thức của TCP và có thể chấp nhận được cho một số trường hợp yêu cầu về chất lượng dịch vụ không quá cao.
Lược đồ của Jacobs
Jacobs trình bày một lược đồ sử dụng kỹ thuật điều khiển tắc nghẽn của TCP, tuy nhiên lược đồ này nêu rằng sẽ không truyền lại gói tin bị mất. Thực thể gửi lưu giữ một cửa sổ truyền dựa trên những biên nhận của thực thể nhận. Dựa trên kích cỡ của cửa sổ truyền này, thực thể gửi sẽ ước lượng tốc độ truyển thích hợp. Bằng cách đó các kết nối thích nghi được bảo đảm dành được cùng dải băng thông như kết nối TCP trong cùng một điều kiện mất dữ liệu và độ trễ. Nhưng việc cần biên nhận cho mỗi gói tin như thế sẽ giới hạn hiệu suất, đặc biệt là trong liên lạc unicast thì các gói tin biên nhận cũng làm tăng lưu lượng qua mạng đáng kể…
Lược đồ khác
Floyd [7] đề xuất mô hình đo thông lượng của kết nối TCP khi biết các điều kiện về độ trễ và tình trạng gói dữ liệu bị mất:
với M là độ dài lớn nhất của một gói tin, RTT là độ trễ toàn phần của kết nối và l là giá trị mất dữ liệu trung bình được đo trong suốt thời gian sống của kết nối. Dựa trên sự ước lượng này những hệ thống cuối (end systems) đo tình trạng mất dữ liệu và độ trễ trên mạng đồng thời cấm tốc độ truyền của chúng tới giá trị trên. Tuy nhiên phương pháp này cũng giảm tốc độ truyền đi một nửa khi phản ứng lại tình trạng mất dữ liệu và cũng chỉ tăng cửa sổ truyền lên một gói tin sau mỗi round trip time dẫn đến kết quả là việc tăng giảm không đều đặn, ảnh hưởng lớn đến hiệu suất của cá ứng dụng multimedia.
Các kỹ thuật trên nếu áp dụng cho các luồng lưu lượng real-time là không thích hợp do sự dao động quá lớn về tốc độ truyền. Thêm vào đó, với kỹ thuật AIMD windows-base thì việc chọn các tham số cho ứng dụng khác nhau cũng không phải là đơn giản. Ta xét một số lược đồ AIMD rate-base sau:
Lược đồ AIMD rate-based
Lược đồ RAP
Lược đồ AIMD dựa trên rate-base như RAP (Rate Adaptive Protocol - RAP) do Rejaie [11] trình bày sẽ điều chỉnh tốc độ truyền một cách liên tục. Lược đồ này sẽ gửi tiếp những gói tin khác nếu những gói tin trước đó đã được biên nhận. Việc phát hiện ra những dữ liệu bị mất dựa vào số tuần tự của những gói tin biên nhận bị thiếu hoặc quá thời gian phát timeout. Thực thể gửi ước lượng độ trễ toàn phần dựa vào thuật toán Jacobson/Karel’s thông qua các gói tin biên nhận, tuy nhiên RAP không biên nhận từng gói tin một mà có thể gửi một vài gói tin rồi mới biên nhận. Nếu mất dữ liệu không được phát hiện, thực thể gửi tăng một
cách tuần tự tốc độ truyền của nó. Sau khi phát hiện ra mất dữ liệu, tốc độ truyền được giảm xuống theo một hàm số được chọn.
Lược đồ LDA+
Trong cách tiếp cận AIMD rate-base có lược đồ LDA+ (The Enhanced Loss delay based adjustment algorithm) cũng là một lược đồ thích nghi về tốc độ truyền cho các ứng dụng đa phương tiện phụ thuộc vào cấp độ tắc nghẽn mạng. Thuật toán LDA+ được thiết kế để làm giảm
tình trạng mất thông tin và cải thiện việc sử dụng băng thông theo cách TCP-Friendly. Thuật toán này dựa trên kỹ thuật của giao thức RTP để sử
dụng các thông tin phản hồi trong việc xác định round trip time và biết được tình trạng dữ liệu bị mất. Thêm vào đó, kỹ thuật này còn được nâng cao với chức năng xác định băng thông nơi cổ chai trên tuyến đường của kết nối nhằm nâng cao hiệu suất trong truyền thông multimedia.
Các lược đồ trên được ứng dụng cho môi trường mạng cố định. Trong môi trường mạng hỗn hợp, có thành phần tham gia của những nút mạng không dây thì phương pháp này được cải tiến thành phương pháp WLDA+ được trình bày ở phần tiếp theo.