Cơ chế phỏt lại của giao thức TCP chuẩn phỏt lại cỏc gúi tin bị mất dựa trờn hai dấu hiệu sau đõy:
- Quỏ thời gian truyền lại mà khụng nhận được gúi tin xỏc nhận từ phớa thu. - Phớa phỏt nhận được ba gúi tin xỏc nhận ACK cú chỉ số ACK giống nhau. Cơ chế này cú nhược điểm là:
- Phớa phỏt chỉ cú thể phỏt lại được một gúi tin trong một cửa sổ truyền dẫn. - Phớa phỏt cú thể phỏt lại một cỏch khụng cần thiết cỏc gúi tin đó tới đớch. Thật vậy, giả sử phớa phỏt phỏt đi 20 gúi tin, gúi tin thứ 11 và 12 bị mất, cỏc gúi tin 13, 14 và 15 tới đớch.
Trường hợp thứ nhất, nếu quỏ thời gian RTO mà phớa phỏt khụng nhận được
gúi tin xỏc nhận ACK cho gúi tin thứ 11, phớa phỏt giảm kớch thước cửa sổ truyền dẫn xuống cũn 1 gúi tin và khởi động thuật toỏn khởi đầu chậm để truyền lại cỏc gúi tin bắt đầu từ gúi tin thứ 11, như vậy phớa phỏt phải phỏt lại cỏc gúi tin 13, 14 và 15 một cỏc khụng cần thiết.
86
Trường hợp thứ hai, mỗi khi cỏc gúi tin 13, 14, 15 tới đớch phớa thu phỏt đi
một gúi tin xỏc nhận ACK trong đú trường ACK cú giỏ trị bằng 11. Như vậy phớa phỏt chỉ cú thể phỏt lại một gúi tin là gúi tin thứ 11, cũn gúi tin thứ 12 khụng được phỏt lại được vỡ phớa phỏt khụng nhận được bất cứ thụng tin nào về gúi tin này.
Nguyờn nhõn của hạn chế này là do gúi tin xỏc nhận ACK từ phớa thu với trường ACK chỉ đủ để mang thụng tin về một gúi tin. TCP với tuỳ chọn SACK (Selective Acknowlegedmen t- Xỏc nhận lựa chọn) cú thể khắc phục được nhược điểm trờn bằng cỏch sử dụng thờm trường Option của gúi tin TCP để mang thụng tin xỏc nhận cho nhiều gúi tin hơn. TCP với tuỳ chọn SACK chỉ sử dụng trường Option của gúi tin TCP, cỏc thuật toỏn điều khiển tắc nghẽn của TCP chuẩn khụng thay đổi cơ chế hoạt động.
Để thấy rừ hiệu quả của TCP với tuỳ chọn SACK, thực nghiệm được tiến
hành với hai thiết bị như sau:
- Thiết bị mụ phỏng đường truyền vệ tinh: Thiết bị này được thiết lập những tham số giống hệt với đường truyền vệ tinh. Thiết bị cú ưu điểm là mềm dẻo trong việc thiết lập cỏc tham số mụ phỏng đường truyền. Cấu hỡnh thiết bị như sau :
Hỡnh 4.11. Cấu hỡnh của thiết bị mụ phỏng SACK
Trong đú: Eror/Delay Box là thiết bị cú tỏc dụng làm trễ gúi, mất gúi, gõy ra lỗi tương tự như đường truyền vệ tinh thật.
87
Hỡnh 4.12. Mụ hỡnh thực nghiệm dựng vệ tinh địa tĩnh
Trong cả hai trường hợp, thiết bị của khỏch hàng và mỏy chủ để thực nghiệm đều cú cấu hỡnh là: bộ xử lý Pentium IV chạy trờn hệ điều hành Linux.
a. Kết quả thực nghiệm với thiết bị mụ phỏng
Thiết bị mụ phỏng cú đặc điểm là cú thể thay đổi cỏc tham số mụ phỏng một cỏch dễ dàng, chớnh vỡ vậy thực nghiệm được tiến hành nhiều lần trờn thiết bị này với cỏc tham số được điều chỉnh khỏc nhau:
- Thiết bị mụ phỏng được thiết lập ở chế độ “no corruption”.
Thiết bị mụ phỏng cú cỏc thụng số sau: RTT=510ms, tốc độ đường truyền 10MBps, khụng cú lỗi đường truyền. Cỏc file cú độ lớn khỏc nhau: 100KB, 1MB và 10MB được gửi đi từ thiết bị đầu cuối khỏch hàng tới mỏy chủ. Cửa sổ phỏt TCP cú kớch thước biến đổi từ 32KB đến 1024KB (Ở đõy dựng giao thức TCP với kớch thước cửa sổ lớn bằng cỏch sử dụng thờm phần tuỳ chọn trong tiờu đề gúi tin TCP, giỏ trị trong phần tuỳ chọn này là hệ số nhõn. Kớch thước cửa sổ lỳc này bằng hệ số nhõn với kớch thước cửa sổ tiờu chuẩn là 216 byte. Giỏ trị của hệ số nhõn khụng được vượt quỏ 214).
88
Kớch thước cửa sổ (KB)
Hỡnh 4.13. Thụng lƣợng đạt đƣợc khi truyền cỏc file 100KB trong trƣờng hợp “no corruption”.
Kớch thước cửa sổ KB
Hỡnh 4.14. Thụng lƣợng đạt đƣợc khi truyền cỏc file 1MB, 10MB trƣờng hợp “no corruption”.
Trong đú, cỏc nột nối khỏc nhau là cỏc trường hợp giao thức TCP SACK và giao thức TCP chuẩn (TCP NewReno) được sử dụng.
Từ hỡnh 4.13 và hỡnh 4.14 ta thấy:
- Thụng lượng khi truyền cỏc file nhỏ 100KB và 1MB thấp hơn thụng lượng khi truyền cỏc file lớn 10MB. Nguyờn nhõn là do kớch thước cỏc file 100KB và 1MB khụng đủ để tận dụng được kớch thước cửa sổ lớn và tốc độ của đường truyền. - Trong mụi trường thực nghiệm khụng cú lỗi, sự khỏc nhau giữa TCP với tuỳ chọn SACK và TCP chuẩn là rất rừ ràng, trừ trường hợp với kớch thước cửa sổ lớn. Do TCP với tuỳ chọn SACK cú khả năng xử lớ những gúi tin bị mất bằng cỏch sử dụng những khối tuỳ chọn SACK nờn thụng lượng đạt được lớn hơn so với TCP chuẩn. Khi truyền cỏc file 10MB với cửa sổ cú kớch thước 1024 KB, thụng lượng ở cả TCP chuẩn và TCP với tuỳ chọn SACK đều giảm, tuy nhiờn ở TCP chuẩn giảm nhiều hơn. Giải thớch như sau: với những đường truyền cú băng tần 10MB và RTT=510ms, tớch BDP bằng 652,8KB, do đú với những cửa sổ cú kớch thước cửa
sổ lớn hơn giỏ trị này sẽ xảy ra tắc nghẽn và thụng lượng giảm. Do đú nếu cứ tăng kớch thước cửa sổ thỡ sẽ ảnh hưởng xấu đến thụng lượng ngay cả khi SACK được sử dụng.
- Thiết bị mụ phỏng được đặt ở chế độ “corruption”. Thiết bị mụ phỏng được thiết lập với những thụng số sau đõy: Tỉ lệ mất gúi 1% tương ứng với BER = 0,9x10-6, RTT=510ms, tốc độ đường truyền 10MBps. Cỏc file cú kớch thước bằng
89
1MB và 10MB được truyền với những cửa sổ cú kớch thước khỏc nhau. Kết quả được cho trờn hỡnh 4.15.
Kớch thước cửa sổ (KB)
Hỡnh 4.15. Thụng lƣợng khi truyền file cú kớch thƣớc 1MB và 10MB, tỉ lệ mất gúi 1%.
Từ hỡnh 4.15 ta thấy TCP với tuỳ chọn SACK cú thụng lượng lớn hơn so với TCP chuẩn. Giống như trường hợp trước, thụng lượng giảm khi kớch thước cửa sổ lớn hơn giỏ trị BDP=652,8KB do cú sự hiện diện của tắc nghẽn và mất gúi do lỗi bit. Khi truyền dẫn những file cú kớch thước 10MB, so với trường hợp trước thỡ thụng lượng giảm nhiều hơn do tỉ lệ mất gúi. Thực nghiệm trờn được lặp lại với kớch thước file 10MB, tỉ lệ mất gúi 2% và 0,5%. Kết quả được chỉ ra trờn hỡnh 4.16:
Hỡnh 4.16. Thụng lƣợng khi truyền dẫn cỏc file 10MB, tỉ lệ mất gúi là 2% và 5%.
Thụng lượng trong cỏc trường hợp truyền dẫn file 10MB với kớch thước cửa sổ bằng 1024MB, tỉ lệ mất gúi khỏc nhau được túm tắt trong bảng sau:
Tỉ lệ mất gúi Thụng lƣợng TCP với tuỳ chọn SACK
Thụng lƣợng của TCP chuẩn
Chờnh lệch
90
1% 29509 29798 289
2% 18463 18684 221
Với kớch thước cửa sổ lớn (1024KB), tỉ lệ mất gúi lớn thỡ chất lượng của TCP với tuỳ chọn SACK xấp xỉ so với TCP chuẩn. Điều này là do hai nguyờn nhõn:
Thứ nhất: trường tuỳ chọn SACK giới hạn trong 4 khối dữ liệu trong khi đú
thể cú nhiều hơn 4 khối dữ liệu bị mất do tắc nghẽn và do mất gúi. Do đú trường tuỳ chọn khụng đủ khụng gian để thụng bỏo cho phớa phỏt biết cỏc gúi tin bị mất.
Thứ hai: vỡ tỉ lệ mất gúi lớn nờn cú những trường hợp phớa thu khụng nhận
được một gúi tin nào cả, do đú cũng khụng cú gúi tin xỏc nhận nào được phỏt trở lại phớa phỏt.
Cả hai trường hợp này đều dẫn tới truyền lại dựa trờn RTO do vậy thụng lượng giảm.
b. Kết quả thực nghiệm với đường truyền vệ tinh
Kờnh truyền vệ tinh cú tốc độ 2Mbps và RTT bằng 510ms. Cỏc file cú kớch thước 1MB và 10MB được truyền từ thiết bị đầu cuối của khỏch hàng tới mỏy chủ. Kớch thước cửa sổ phỏt bằng 64KB, 128KB và 256KB.
Kết quả ghi trờn bảng sau được lấy trung bỡnh cộng của thụng lượng qua 5 lần thực nghiệm.
Truyền file 1MB Truyền file 10MB
TCP chuẩn SACK TCP chuẩn SACK
64KB 13 14 16,5 17,6
128KB 13,75 15 16,5 18,5
256KB 12,5 13 15,75 17,75
Cỏc kết quả thu được cũng tương đương như kết quả thực nghiệm trờn thiết bị mụ phỏng. Tất cả cỏc trường hợp SACK đều cho kết quả tốt hơn TCP chuẩn. Thụng lượng giảm khi kớch thước cửa sổ tăng đặc biệt là khi kớch thước cửa sổ bằng 256KB lớn hơn tớch BDP của đường truyền (2Mbpsx510ms=130,56KB).
Qua cỏc kết quả thực nghiệm ta cú nhận xột:
- Qua đường truyền vệ tinh thụng lượng của TCP với tựy chọn SACK lớn hơn so với TCP chuẩn.
- Trong trường hợp lỗi lớn, kớch thước cửa sổ phỏt quỏ lớn, đặc biệt là khi kớch thước cửa sổ phỏt lớn hơn so với tớch số BDP của đường truyền, thụng lượng
91
của TCP với tuỳ chọn SACK khụng cải thiện được nhiều so với TCP chuẩn thậm chớ cũn kộm hơn.