Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.8 MB, 99 trang )
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
- Congestion avoidance: Đặc trưng của hiện tượng tắc nghẽn số
liệu là thời gian trễ RTT tăng. Những nguyên nhân chính dẫn đến sự gia
tăng giá trị RTT là do hiện tượng mất gói số liệu tại một hệ định tuyến
nào đó trong mạng (do thiếu bộ nhớ nhận chẳng hạn) dẫn đến time-out
hoặc do thực thể phát nhận được nhiều lần thông báo trả lời ACK cho
cùng một gói tin, báo hiệu đã có các gói số liệu đã đến không theo đúng
thứ tự phát, nên thực thể phát phải phát lại gói số liệu bị mất.
Biện pháp tránh tắc nghẽn chính là giảm lưu lượng số liệu phát, từ
đó hạn chế được tình trạng mất gói số liệu. Thuật toán “bắt đầu chậm”
(Slow Start) và “tránh tắc nghẽn” (Congestion Avoidance) là những kỹ
thuật điều khiển lưu lượng, tránh tắc nghẽn số liệu hoạt động độc lập,
song có quan hệ mật thiết với nhau và thường được cài đặt cùng nhau.
Hoạt động của hai giải pháp này được kết hợp như sau:
* Đặt giá trị ban đầu cwnd = 1 đơn vị gói số liệu và ssthresh =
65.535 Byte, trong đó ssthresh là ngưỡng trên của CWND theo thuật toán
“bắt đầu chậm”.
* Thực thể TCP không bao giờ phát nhiều hơn giá trị tối thiểu của
cwnd và độ lớn cửa sổ thu rwnd được thực thể thu thông báo trước đó : W
= min {cwnd, rcnd].
* Khi hiện tượng tắc nghẽn số liệu xuất hiện, đặt giá trị ngưỡng tắc
nghẽn ssthresh = CWND/2 (nhưng không nhỏ hơn 2 đơn vị gói số liệu)
và đặt wcnd = 1 đơn vị gói số liệu.
* Mỗi khi nhận được thông báo ACK, giá trị wcnd được tăng lên,
mức độ tăng phụ thuộc vào thuật toán bắt đầu chậm hay thuật toán tránh
tắc nghẽn đang được thực hiện:
- Nếu thuật toán bắt đầu chậm đang được thực hiện (CWND <
ssthresh): giá trị wcnd được tăng 1 đơn vị gói số liệu với mỗi thông báo
ACK nhận được.
Trang 46
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
- Ngược lại, nếu thuật toán tránh tắc nghẽn đang được thực hiện
(CWND >= ssthresh): giá trị wcnd được tăng 1/cwnd với mỗi thông báo
ACK nhận được.
Có thể thấy độ gia tăng giá trị cửa sổ phát trong trường hợp điều
khiển tránh tắc nghẽn là tuyến tính, trong khi ở thuật toán bắt đầu chậm
(không có tắc nghẽn) là tăng theo hàm số mũ. Điều này đảm bảo tận dụng
băng thông còn có thể sử dụng được, tăng hiệu suất trao đổi số liệu trên
kết nối TCP khi áp dụng thuật toán bắt đầu chậm và vẫn phòng tránh có
hiệu quả khi hiện tượng tắc nghẽn số liệu xuất hiện.
Thuật toán “phát lại nhanh” Fast retranmistion: Theo cách thức
thông thường: khi thực thể gửi nhận được một NAK (thu sai) hoặc được
đồng hồ quản lý phát kích hoạt time-out thì nó sẽ phát lại gói tin. Thuật
toán phát lại nhanh thực hiện theo cách khác: khi nó nhận được nhiều hơn
hai thông báo ACK lặp thì lập tức phát lại gói tin ngay, không cần chờ
time-out. Thuật toán này dựa trên phán đóan tình trạng thức tế là sau 3
lần lặp ACK thì tình trạng tắc nghẽn đã giảm, có đến 3 gói tin đến đích và
được nhận đúng, cần phát lại ngay gói tin bị mất.
Thuật toán “khôi phục nhanh” fast Recovery: Thuật toán này quy
định thực hiện tránh tắc nghẽn ngay sau khi phát lại nhanh, tuy nhiên, chỉ
giảm cửa sổ phát xuống còn một nữa chứ không giảm xuống mức tối
thiều là một. Điều này làm cho lưu lượng số liệu trong kết nối TCP không
bị thay đổi đột ngột, gây lãng phí giải thông của đường truyền.
Một số phiên bản của giao thức TCP:
- Tahoe – TCP: Được phát triển lần đầu tiên vào năm 1988. Thuật
toán này dựa trên các đề xuất của Jacobson. Tahoe-TCP cài đặt thuật toán
bắt đầu chậm, tránh tắc nghẽn và phát lại nhanh. Trong phiên bản của
Tahoe, TCP phản ứng lại việc các gói tin bị mất bằng cách đặt biến
ngưỡng bắt đầu chậm slow start threshold (ssthreshold) bằng một nửa cửa
số tắc nghẽn (CWND) hiện tại và giảm cửa sổ tắc nghẽn xuống một. Sau
Trang 47
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
khi nhận ACK của gói tin được phát lại, nguồn sẽ đưa vào giai đoạn bắt
đầu chậm và cửa sổ truyền có thể được tăng theo hàm mũ khi
CWND<=ssthreshold.
- Reno – TCP: Được cài đặt vào năm 1990, và hiện nay là phiên
bản đang được sử dụng rộng rãi nhất của TCP. Ở thuật toán này khôi
phục nhanh được áp dụng cùng slow start, tránh tắc nghẽn, truyền lại
nhanh đang được sử dụng trong tahoe-tcp. Với kỹ thuật khôi phục nhanh ,
nguồn phát truyền lại gói tin bị mất sau khi nhận được 3 gói ACK trùng
lắp và thực hiện thuật tóan tránh tắc nghẽn, với việc đặt ssthreshold bằng
một nửa cửa sổ hiện tại. Cửa sổ hiện tại sau đó sẽ được đặt bằng
ssthreshold cộng thêm 3 lần kích cỡ một gói tin (3 biên nhận lặp ứng với
việc có 3 gói tin đã được nhận đúng). Sau đó, với mỗi một ACK lặp được
nhận, CWND được tăng bởi kích cỡ gói tin và một gói tin được truyền.
- New –Reno: Tahoe-TCP giảm cửa sổ truyền xuống 1 sau khi phát
hiện mất gói tin, như vậy ổn định hơn và cũng có thể dẫn tới dưới mức
hiệu dụng của mạng. Reno-TCP thực hiện khôi phục nhanh nên đạt hiệu
quả sử dụng giải thông của đường truyền cao hơn Tahoe-TCP. Tuy nhiên,
trong trường hợp mất trên một gói dữ liệu trong một cửa sổ phát thì
Reno-TCP lại kém hiệu quả hơn Tahoe-TCP. New-Reno là một cải tiến
được đưa ra cho phép thực thể gửi phát hiện tốt hơn việc mất trên một gói
dữ liệu trong một cửa sổ phát và chống lại việc giảm cửa sổ tắc nghẽn
một vài lần liên tiếp. Kiểu cài đặt này của TCP loại bỏ thời gian chờ hết
đồng hồ phát lại của Reno khi có nhiều gói tin bị loại bỏ từ một cửa sổ
phát. Sự khác biệt ở đây là cách xử lý của bên gửi trong quá trình Fast
Recovery khi một biên nhận cục bộ được nhận chỉ biên nhận một số chứ
không phải tất cả các gói tin trong một cửa sổ đã gửi tại lúc đã khởi động
quá trình Fast Recovery. Trong Reno, các ACK cục bộ sẽ làm TCP thoát
khỏi quá trình Fast Recovery với việc “giảm” kích thước cửa sổ xuống
kích thước cửa sổ tắc nghẽn. Trong New-Reno các biên nhận cục bộ
Trang 48
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
trong quá trình Fast Recovery được xem như dấu hiệu cho biết gói tin tiếp
theo gói tin đã được biên nhận đúng thứ tự đã bị mất và cần được phát lại.
Thế nên, khi nhiều gói tin bị mất, New-Reno có thể phục hồi mà không
cần phải chờ đến khi hết giờ phát lại mà phát lại ngay một gói tin bị mất
trong khi chờ hết khoảng thời gian khứ hồi cho đến khi tất cả các gói dữ
liệu bị mất của cửa sổ được phát lại. New-Reno tiếp tục ở quá trình Fast
Recovery cho đến khi tất cả dữ liệu trong cửa sổ đã phát được biên nhận.
- SACK-TCP: Với kỹ thuật này, thực thể nhận bao gồm trong
những gói tin biên nhận của nó một số các block chỉ ra các khối dữ liệu
không liên tục mà nó đã nhận được. Điều này cho phép thực thể gửi phát
hiện ra một vài khối dữ liệu mất một cách nhanh chóng để phát lại, tránh
được độ trễ phát lại không cần thiết và do đó cải thiện hiệu suất thông
lượng của SACK-TCP.
- VGAS-TCP: Kỹ thuật này sử dụng một số biến trong phép đo độ
trễ toàn phần RTT để xác định kích cỡ cửa sổ.
- ECN-TCP: Là phương pháp thông báo sớm và rõ ràng tình trạng
tắc nghẽn trên mạng. Các router trên mạng chỉ ra tình trạng quá tải mạng
bằng cách đặt một bit báo hiệu tắc nghẽn – bit ECN (Explicit Congestion
Notification) trong các header của các gói tin. Tuy nhiên để triển khai kỹ
thuật này đòi hỏi các router trên toàn mạng Internet phải được hỗ trợ tốt
khả năng này.
Các kỹ thuật điều khiển luồng và xử lý tắc nghẽn trên của TCP tỏ
ra khá hữu hiệu trong mạng máy tính được kết nối với nhau bởi đường
truyền có dây, tức là việc mất dữ liệu hay độ trễ tăng cao chủ yếu là do
tắc nghẽn. Trong mạng hỗn hợp có dây và không dây, người ta đã giới
thiệu và công bố một số phương pháp khác.
3. Điều khiển tắc nghẽn trong mạng hỗn hợp có dây và không
dây
Trang 49
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
Các cơ chế điều khiển lưu lượng trình bày ở trên của TCP bị hạn
chế trong mạng hỗn hợp do tình trạng mất dữ liệu không phải do lỗi tắc
nghẽn mà là do lỗi truyền dẫn và do tính cơ động của các node, đây chính
là đặc trưng của mạng có đường truyền không dây. Để khắc phục những
vướng mắc này người ta đã cải tiến thuật toán điều khiển thông thường
bằng những thuật toán phù hơn trong môi trường mạng hỗn hợp:
3.1 Indirect-TCP:
Ra đời vào những năm 1995 với tư tưởng là chia kết nối TCP thành
hai phần là phần cố định có dây và phần không dây :
Hình 2.1 Indirect-TCP
Từ những trạm máy tính cố định, thường được gọi là trạm đối tác,
ký hiệu là CH (Coresspondent host) kết nối với các máy tính trong mạng
không dây - MH (Mobile Host) thông qua Access Point (AP) hay Foreign
Agent (FA), do đó từ CH đến AP có thể sử dụng TCP chuẩn, không phải
thay đổi các kỹ thuật TCP đã tồn tại trong Internet. Access point sẽ hoạt
động như một Proxy, có nghĩa là nó trở thành điểm kết thúc của kết nối
TCP thay vì mobile host (MH), do đó AP được xem như là MH đối với
CH và là CH đối với MH. Kết nối TCP giữa AP và MH có thể thay đổi
hoặc không. Nếu CH gửi một gói số liệu cho MH thì AP biên nhận gói tin
này và chuyển tiếp gói tin đó tới MH. Nếu MH nhận được gói tin này sẽ
biên nhận lại. Tuy nhiên biên nhận này chỉ được biết bởi AP. Nếu gói tin
này bị mất trên đường truyền Wireless vì đường truyền lỗi thì CH không
Trang 50