1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

Thuật toán điều khiển lưu lượng

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



Xem Thêm
Tải bản đầy đủ (.pdf) (99 trang)

×