Giao thức truyền tin TFRC

Một phần của tài liệu Tìm hiểu ảnh hưởng của giao thức định tuyến AODV và DSR trong điều khiển tắc nghẽn của TCP và TFRC trên mạng MANET (Trang 31)

Giao thức truyền tin TFRC [3], [4] sử dụng cơ chế điều khiển tắc nghẽn dựa vào quỏ trỡnh điều khiển thụng lượng. Trong khi điều khiển tắc nghẽn AIDM được thực hiện tương ứng với một dấu hiệu tắc nghẽn, điều khiển tắc nghẽn dựa vào quỏ trỡnh điều khiển thụng lượng là một biểu thức tớnh tốc độ gửi tối đa như một hàm của tỉ lệ sự kiện mất gúi trong khoảng thời gian ngắn. Thiết bị phỏt điều chỉnh tốc độ gửi được ước tớnh bởi biểu thức tớnh thụng lượng này, tương ứng với thụng tin phản hồi từ mỏy thu.

Điều khiển tắc nghẽn dựa trờn quỏ trỡnh điều khiển thụng lượng tăng tốc độ gửi chọ̃m hơn tương ứng với việc giảm tỉ lệ sự kiện mất gúi để sử dụng băng thụng sẵn cú nhằm duy trỡ một tốc độ gửi tương đối ổn định trong khi vẫn hạn chế được tắc nghẽn. Để thực hiện được điều này, điều khiển tắc nghẽn dựa trờn quỏ trỡnh điều khiển thụng lượng thực hiện cõn bằng việc hạn chế sử dụng tối đa băng thụng cú sẵn theo cỏch thức của TCP.

Cỏc ưu điểm thiết kế truyền thống cho điều khiển tắc nghẽn dựa trờn quỏ trỡnh điều khiển thụng lượng cho cỏc lưu lượng unicast gồm cú:

- Mỏy thu gửi bản tin phản hồi lại cho mỏy phỏt ớt nhất một lần mỗi RTT nếu nú nhận được cỏc gúi trong khoảng thời gian đú.

- Nếu mỏy phỏt khụng nhận được phản hồi sau một vài RTT, mỏy phỏt sẽ giảm tốc độ gửi của nú và cuối cựng ngừng hoàn toàn việc gửi.

TFRC sử dụng cơ chế điều khiển tắc nghẽn dựa vào quỏ trỡnh điều khiển thụng lượng, được thiết kế cho cỏc luồng unicast hoạt động trong mụi trường Internet và hoạt động cựng với cỏc lưu lượng TCP. Cơ chế này cú thể được sử dụng trong một giao thức truyền tải như RTP, UDP hay DCCP. TFRC hoạt động bảo đảm cụng bằng về băng thụng với cỏc luồng TCP, ở đú một luồng nếu tốc độ gửi của nú tương đương với tốc độ gửi của một luồng TCP dưới cỏc điều kiện như nhau. Tuy nhiờn, TFRC cú sự thay đổi thụng lượng theo thời gian thấp hơn so với TCP, điều này giỳp nú phự hợp hơn với cỏc ứng dụng như điện thoại hoặc luồng đa phương tiện.

Do cú thụng lượng ổn định hơn TCP khi hoạt động cụng bằng về băng thụng nờn TFRC đỏp ứng chọ̃m hơn TCP đối với việc thay đổi băng thụng cú sẵn. Do đú TFRC chỉ nờn được sử dụng khi ứng dụng cú yờu cầu về thụng lượng ổn định đặc biệt là trỏnh việc giảm một nửa tốc độ gửi của TCP khi cú một gúi bị rơi.

TFRC được thiết kế cho cỏc ứng dụng sử dụng kớch thước gúi cố định và thay đổi tốc độ gửi của chỳng theo gúi/giõy khi cú tắc nghẽn. TFRC là một cơ chế phớa thu với cỏc tớnh toỏn thụng tin điều khiển tắc nghẽn (vớ dụ tỉ lệ sự kiện mất gúi) trong dữ liệu bờn thu hơn là trong dữ liệu bờn phỏt.

Cơ chế hoạt động của giao thức TFRC

TFRC là một cơ chế dựa vào mỏy thu (receiver-based) [3], [4] với cỏc tớnh toỏn thụng tin điều khiển xung đột tại mỏy thu tốt hơn là tại mỏy phỏt. Đối với cơ chế điều khiển tắc nghẽn của nú, TFRC trực tiếp sử dụng một biểu thức tớnh thụng lượng cho tốc độ gửi cho phộp như một hàm của tỉ lệ sự kiện mất gúi, round-trip time và kớch thước gúi. Núi chung, cơ chế điều khiển tắc nghẽn của TFRC (hỡnh 2.2) như sau:

- Mỏy thu đo tỉ lệ sự kiện mất gúi (the loss event rate) và truyền thụng tin đú cho mỏy phỏt.

- Mỏy phỏt cũng sử dụng cỏc bản tin phản hồi đú để đo RTT.

- Tỉ lệ sự kiện mất gúi và RTT sau đú được chuyển vào biểu thức tớnh thụng lượng của TFRC để đưa ra tốc độ truyền cú thể chấp nhận được.

- Mỏy phỏt sau đú điều chỉnh tốc độ truyền phự hợp với tốc độ tớnh toỏn.

Hỡnh 2.2. Cơ chế hoạt động của giao thức TFRC 2.1.2.1. Biểu thức tớnh thụng lượng

Trờn cỏc mạng hiện nay, sự tồn tại của cỏc luồng lưu lượng TCP là một tất yếu. Vỡ vọ̃y giao thức TFRC chỉ thực sự được sử dụng rộng rói khi nú đảm bảo hoạt động tương thớch với cỏc lưu lượng TCP. Một luồng tương thớch TCP là một luồng mà ở trạng thỏi ổn định khụng sử dụng băng thụng nhiều hơn so với một luồng TCP thụng thường chạy trong cỏc điều kiện như nhau. Đối với cỏc lưu lượng best- effort hoạt động cựng TCP trờn Internet hiện nay, để trở nờn tương thớch với TCP, lựa chọn đỳng đắn cho biểu thức điều khiển là một hàm tương ứng TCP mụ tả tốc độ gửi ở trạng thỏi ổn định của TCP. Nếu chỳng ta sử dụng một hàm đỏp ứng kộm linh hoạt hơn nhiều khi đú lưu lượng kộm linh động hơn cú thể bị giảm khi hoạt động cựng lưu lượng TCP trong một hàng đợi FIFO. Trong thực tế, khi hai loại lưu lượng hoạt động trong một hàng đợi FIFO, hiệu suất cú thể chấp nhọ̃n được cho hai loại lưu lượng chỉ cú kết quả nếu hai loại lưu lượng cú cỏc hàm đỏp ứng tương tự nhau.

TFRC sử dụng biểu thức thụng lượng của TCP như một hàm của tỉ lệ sự kiện mất gúi và RTT. Tuy nhiờn, cần chỳ ý rằng biểu thức tớnh thụng lượng TCP đó sử dụng phải trả lời hoạt động truyền lại sau thời gian timeout, điều này làm ảnh hưởng lớn đến thụng lượng TCP làm tỉ lệ mất gúi cao hơn. Chỳng ta cũng chỳ ý rằng cỏc giả thiết ẩn trong biểu thức thụng lượng về tham số tỉ lệ sự kiện mất gúi phải là một sự

phự hợp để thực hiện đo tỉ lệ mất gúi hoặc tỉ lệ sự kiện mất gúi. Biểu thức thụng lượng sử dụng trong TFRC như sau [3], [4]:

Trong đú:

X là tốc độ truyền (byte/s) S là kớch thước gúi (byte) R là round-trip time (s)

p là tỉ lệ sự kiện mất gúi (cú giỏ trị từ 0 đến 1) t_RTO là giỏ trị timeout cho việc truyền lại TCP (s) b là số lượng gúi được chấp nhọ̃n bằng 1 TCP ACK đơn

Mỏy phỏt và mỏy thu cựng sử dụng cỏc số thứ tự cho việc đo RTT. Mỗi lần mỏy thu gửi phản hồi nú lặp lại số thứ tự từ gúi dữ liệu gần nhất, cựng với thời gian từ lỳc gúi đú được nhọ̃n. Trong cỏch này, mỏy phỏt đo RTT qua mạng. Mỏy phỏt khi đú dàn xếp việc đo RTT sử dụng một trung bỡnh dịch chuyển cú trọng số tăng theo hàm mũ (EWMA). Trọng số này quyết định tớnh đỏp ứng của tốc độ truyền thay đổi theo RTT. Mỏy phỏt cũng nhọ̃n được tỉ lệ sự kiện mất gúi p trong cỏc bản tin phản hồi từ mỏy thu ớt nhất một lần/RTT.

Mỏy phỏt cú thể nhọ̃n được giỏ trị timeout truyền lại t_RTO sử dụng thuọ̃t toỏn TCP thụng thường: t_RTO = SRTT +4*RTTvar

Trong đú:

RTTvar là sự thay đổi của RTT SRTT là ước tớnh RTT

Tuy nhiờn, trong thực tế t_RTO chỉ ảnh hưởng nghiờm trọng đến tốc độ gửi khi tỉ lệ mất gúi là rất cao. Khụng giống với TCP, TFRC khụng sử dụng giỏ trị này để quyết định việc truyền lại cú an toàn khụng và vỡ vọ̃y họ̃u quả của việc tớnh sai là khụng quỏ nghiờm trọng. Trờn thực tế, dựa trờn những dự đoỏn với t_RTO = 4R thỡ TFRC cú thể hoạt động cụng bằng với TCP [4].

Cỏc thụng số s (kớch thước gúi), p (tỉ lệ sự kiện mất gúi) và R (round-trip time) cần được đo hoặc tớnh toỏn bởi một hoạt động của TFRC. Trong cỏc phiờn bản sau, cỏc biểu thức TCP khỏc nhau cú thể thay thế cho biểu thức này. Yờu cầu là biểu thức thụng lượng phải là một xấp xỉ hợp lý của tốc độ gửi của TCP cho điều khiển tắc nghẽn đảm bảo hoạt động của cỏc luồng lưu lượng này trờn mạng.

2.1.2.2. Cỏc loại gúi tin

Nội dung của cỏc gúi dữ liệu được gửi bởi mỏy phỏt và cỏc gúi phản hồi được gửi bằng mỏy thu. Do TFRC sẽ được sử dụng với một giao thức truyền tải nờn ở đõy khụng chỉ ra cỏc định dạng gúi vỡ chỳng phụ thuộc vào chi tiết của giao thức truyền tải đó sử dụng.

Cỏc gúi dữ liệu

Mỗi gúi dữ liệu được gửi bởi mỏy phỏt dữ liệu chứa thụng tin sau đõy: (adsbygoogle = window.adsbygoogle || []).push({});

- Một số thứ tự (sequence number): Số này được tăng lờn một sau mỗi lần một gúi dữ liệu được truyền. Trường này phải đủ lớn sao cho khụng tồn tại hai gúi khỏc nhau cú cựng số thứ tự chứa trong hồ sơ gúi gần đõy của mỏy thu tại cựng thời điểm.

- Một thời gian mẫu (timestamp) chỉ ra thời điểm gúi được gửi. Mỗi gúi cú số thứ tự và sẽ cú thời gian mẫu tương ứng (thường được đo bằng mili giõy). Thời gian mẫu này được sử dụng bởi mỏy thu để quyết định những lần mất gúi nào thuộc về cựng sự kiện mất gúi. Thời gian mẫu cũng được mỏy thu gửi lại, cho phộp mỏy phỏt ước lượng RTT đối với cỏc mỏy phỏt mà khụng lưu cỏc thời gian mẫu của cỏc gúi dữ liệu đó phỏt. Ngoài ra, mỏy phỏt cũng cú thể lưu cỏc timestamp của cỏc gúi dữ liệu đó gửi để ước lượng RTT.

- Ước lượng hiện tại về RTT của mỏy phỏt. Ước lượng RTT được sử dụng bởi mỏy thu cựng với thời gian mẫu quyết định khi nào nhiều gúi mất thuộc về cựng sự kiện mất gúi.

Cỏc gúi phản hồi

Mỗi gúi phản hồi được gửi bởi mỏy thu chứa cỏc thụng tin sau:

- Thời gian mẫu của gúi dữ liệu nhọ̃n được sau cựng. Thời gian mẫu này được mỏy phỏt sử dụng để ước lượng RTT và chỉ cần thiết khi mỏy phỏt khụng lưu cỏc timestamp của cỏc gúi dữ liệu đó phỏt.

- Khoảng thời gian giữa việc nhọ̃n gúi dữ liệu sau cựng tại mỏy thu và việc phỏt của thụng bỏo phản hồi này.

- Tốc độ nhọ̃n ước lượng tại mỏy thu khi thụng bỏo phản hồi sau cựng được gửi. - Ước lượng về tỉ lệ sự kiện mất gúi hiện tại của mỏy thu.

2.1.2.3. Tớnh tỉ lệ sự kiện mất gúi

Để đạt được một phộp đo tỉ lệ sự kiện mất gúi ổn định và chớnh xỏc là vấn đề quan trọng đối với TFRC. Phương phỏp tớnh tỉ lệ sự kiện mất gúi vẫn cũn nhiều tranh luọ̃n và thử nghiệm với cỏc yờu cầu:

- Tỉ lệ mất gúi ước tớnh đo tỉ lệ sự kiện mất gúi, một sự kiện mất gúi bao gồm một vài gúi bị mất trong một RTT.

- Tỉ lệ sự kiện mất gúi được ước tớnh trong mụi trường với tỉ lệ sự kiện mất gúi trạng thỏi ổn định.

- Tỉ lệ sự kiện mất gúi phải đỏp ứng một cỏch chặt chẽ với cỏc sự kiện mất gúi trong một vài RTT thành cụng.

- Tỉ lệ sự kiện mất gúi ước tớnh chỉ tăng khi xuất hiện một sự kiện mất gúi mới. - Một khoảng thời gian mất gúi được định nghĩa như số lượng gúi giữa cỏc sự kiện mất gúi. Tỉ lệ sự kiện mất gúi ước tớnh chỉ tăng khi đỏp ứng với một khoảng thời gian mất gúi mới dài hơn trung bỡnh đó tớnh trước đú, hoặc một khoảng thời gian đủ dài tớnh từ sự kiện mất gúi cuối cựng.

Việc đo tỉ lệ sự kiện mất gúi được thực hiện tại mỏy thu, dựa trờn phỏt hiện mất gúi hoặc cỏc gúi đó đỏnh dấu từ cỏc số thứ tự của cỏc gúi đến.

Phỏt hiện cỏc gúi bị mất hoặc bị đỏnh dấu

TFRC giả thiết rằng tất cả cỏc gúi chứa một số thứ tự tăng lờn 1 khi mỗi gúi được gửi. Nếu một gúi bị mất được truyền lại thỡ việc truyền lại được đưa cho một số thứ tự mới là sau cựng trong số truyền dẫn và khụng phải cựng số thứ tự như gúi đó mất. Nếu một giao thức truyền tải yờu cầu phỏt lại với số thứ tự gốc khi đú giao thức truyền tải phải tớnh xem phõn biệt trễ từ cỏc gúi được truyền lại như thế nào và cỏch phỏt hiện cỏc truyền lại bị mất.

Mỏy thu duy trỡ một cấu trỳc dữ liệu mà vết của cỏc gúi đó đến và đang thất lạc. Cấu trỳc dữ liệu này bao gồm một danh sỏch cỏc gúi đó đến cựng với mẫu thời gian tại

mỏy thu khi mỗi gúi được nhọ̃n. Việc mất gúi được phỏt hiện khi nhọ̃n được ớt nhất 3 gúi với số thứ tự cao hơn gúi bị mất. Yờu cầu đối với 3 gúi liờn tiếp là tương tự như đối với TCP và làm cho TFRC mạnh hơn khi cú sự sắp xếp lại gúi. Đối lọ̃p với TCP, trong TFRC nếu một gúi đến chọ̃m (sau khi 3 gúi liờn tiếp đó đến), gúi đến muộn cú thể được điền vào chỗ trống trong hồ sơ nhọ̃n của TFRC và mỏy thu cú thể tớnh lại tỉ lệ sự kiện mất gúi. Cỏc phiờn bản sau của TFRC cú thể cần yờu cầu đối với 3 gúi liờn tiếp tương ứng dựa trờn việc sắp xếp lại gúi đó kiểm nghiệm.

Sự kiện mất gúi

TFRC yờu cầu rằng đoạn mất gúi là lớn đối với một vài gúi bị mất liờn tiếp ở đú cỏc gúi này là một phần của cựng một sự kiện mất gúi. Điều này tương tự với TCP mà thụng thường chỉ thực hiện một nửa cửa sổ tắc nghẽn trong một RTT bất kỡ. Do đú, mỏy phỏt cần sắp xếp cỏc gúi đó mất vào trong một hồ sơ sự kiện mất gúi ở đú một sự kiện mất gúi là một hoặc nhiều gúi bị mất trong một RTT. Để thực hiện việc sắp xếp này, mỏy thu cần biết RTT được mỏy phỏt gửi định kỡ như là thụng tin điều khiển được mang trờn một gúi dữ liệu.

Hỡnh 2.3. Vớ dụ về cỏc sự kiện mất gúi

Để quyết định một gúi bị mất hoặc bị đỏnh dấu thuộc một sự kiện mất gúi mới hay được tớnh như phần của một sự kiện mất gúi tồn tại trước đú, cần phải so sỏnh cỏc số thứ tự và cỏc thời gian mẫu của cỏc gúi tại mỏy thu. Đối với một gúi đó đỏnh dấu, thời gian nhọ̃n của nú cú thể được quan tõm hơn. Đối với một gúi bị mất, cú thể thực hiện nội suy để tỡm “thời gian đến” định danh.

2.2. Hoạt động của giao thức định tuyến AODV và DSR

Như chỳng ta đó biết, việc định tuyến trờn cỏc hệ thống mạng là khỏ quan trọng, quỏ trỡnh định tuyến cú thể xảy ra trước khi hệ thống cú nhu cầu truyền dữ liệu hoặc trong khi hệ thống truyền dữ liệu. Cỏc phương thức này cũng là một trong những yếu tố ảnh hưởng đến sự hoạt động của toàn bộ hệ thống mạng. Định tuyến điều khiển theo yờu cầu là một trong những phương thức định tuyến cơ bản trong hệ thống mạng khụng dõy đặc biệt là hệ thống mạng MANET. Theo phương thức này, việc định tuyến chỉ xảy ra khi hệ thống cú nhu cầu truyền dữ liệu. Cú rất nhiều giao thức định tuyến sử dụng theo phương thức này. Trong luọ̃n văn này, chỳng tụi phõn tớch hai giao thức được sử dụng phổ biến nhất hiện nay: Giao thức DSR và giao thức AODV.

2.2.1. Giao thức định tuyến DSR (Dynamic Source Routing)

Giao thức DSR là giao thức định tuyến phản ứng (Reactive) sử dụng cơ chế định tuyến nguồn (source routing), nghĩa là bờn gửi sẽ biết toàn bộ thụng tin về đường đi đến đớch. Phần Header của gúi dữ liệu sẽ lưu trữ thứ tự cỏc nỳt mà gúi tin cần phải đi qua để đạt tới đớch. Do vọ̃y, cỏc nỳt trung gian chỉ cần giữ liờn lạc với cỏc nỳt hàng xúm của nú để chuyển tiếp cỏc gúi tin.

Tại mỗi một nỳt trong mạng luụn duy trỡ một bộ nhớ đệm (Router Cache), đõy là cấu trỳc dữ liệu lưu trữ cỏc con đường đó biết. Khi cú đường đi tồn tại trong Router Cache, cỏc gúi tin sẽ nhọ̃n thụng tin về đường đi và thực hiện việc truyền tin trờn con đường đó chọn. Ngược lại, khi khụng tồn tại đường đi trong Router Cache hoặc cú tồn tại đường đi nhưng khụng cũn hiệu lực, DSR sẽ thực hiện cơ chế phỏt hiện đường (Route Discovery) bằng cỏch gởi cỏc gúi tin quảng bỏ Route Request đến cỏc nỳt lõn cọ̃n trờn toàn bộ mạng. Cỏc nỳt trung gian nhọ̃n được gúi tin quảng bỏ sẽ kiểm tra đường đi trong Route Cache. Khi đường đi được tỡm thấy, gúi tin Route Reply sẽ chứa thứ tự cỏc chặng tới đớch và được truyền trở lại nguồn.

Một phần của tài liệu Tìm hiểu ảnh hưởng của giao thức định tuyến AODV và DSR trong điều khiển tắc nghẽn của TCP và TFRC trên mạng MANET (Trang 31)