ĐIỀU KHIỂN LƯU LƯỢNG VÀ ĐIỀU KHIỂN TẮC

Một phần của tài liệu Đánh giá hiệu suất giao thức TCP trong mạng sử dụng đường truyền xDSL (Trang 26)

1.2.2.1 Giao thức TCP

TCP là giao thức trao đổi số liệu cú kết nối, đảm bảo tin cậy và chớnh xỏc giữa hai thực thể cuối trong mạng. Việc thiết kế và thực hiện giao thức TCP phức tạp. Bởi vỡ, TCP phải làm nhiệm vụ quản lý đỳng số tuần tự tớnh theo byte của dũng số liệu. Ngoài ra, nú cũn phải làm nhiệm vụ tối ưu húa dải thụng của mạng bằng cỏch giỏm sỏt và điều khiển lưu lượng số liệu từ thực thể gửi tới thực thể nhận [1].

Để đảm bảo trao đổi số liệu tin cậy và chớnh xỏc giữa cỏc thực thể cuối, TCP thực hiện cỏc cơ chế: đối thoại khi thu phỏt; kiểm tra số liệu thu, phỏt; kiểm tra số tuần tự; và điều khiển lưu lượng.

Khi gửi một gúi số liệu, bờn gửi phải lưu lại gúi tin vừa gửi vào trong bộ đệm chờ biờn nhận. Bờn nhận phải thụng bỏo nhận đỳng sau một khoảng thời gian nhất định. Nếu sau khoảng thời gian đú bờn gửi vẫn chưa nhận được

29

biờn nhận đỳng thỡ gúi số liệu được coi là bị mất (do tắc nghẽn hoặc lỗi truyền) và được phỏt lại.

Để cú thể kiểm tra số liệu truyền đi trờn đường truyền cú bị lỗi truyền hay khụng. Người ta sử dụng cỏc thuật toỏn kiểm tra dữ liệu, theo đú cỏc số liệu kiểm tra (checksum) được truyền cựng với số liệu phỏt. Khi thu nhận gúi số liệu, bờn nhận ỏp dụng thuật toỏn kiểm tra và cỏc số liệu kiểm tra được gửi kốm theo số liệu để xỏc định số liệu vừa thu cú bị lỗi hay khụng. Nếu cú lỗi, thực thể thu thụng bỏo kết quả nhận sai cho thực thể phỏt và yờu cầu phỏt lại gúi số liệu hỏng.

TCP phải làm nhiệm vụ sắp xếp lại cỏc gúi số liệu do tầng IP chuyển lờn. Vỡ cỏc gúi IP đến đớch khụng theo đỳng trật tự khi phỏt (giao thức IP là giao thức khụng hướng kết nối) nờn thực thể TCP khi nhận phải lập lại trật tự cỏc gúi số liệu thu, hủy cỏc gúi số liệu trựng lặp khi cần và chuyển cỏc gúi số liệu đú theo đỳng trật tự phỏt cho cỏc ứng dụng.

Để cú thể đồng bộ việc phỏt và thu cỏc gúi số liệu, trong những trường hợp bờn phỏt cú khả năng phỏt nhanh hơn khả năng nhận của bờn thu. Người ta sử dụng bộ đệm cho cả thực thể thu và nhận, thực thể nhận chỉ cho phộp thực thể phỏt gửi một lượng số liệu đủ với vựng đệm thu của minh, để đảm bảo bờn phỏt nhanh khụng làm tràn bộ đệm bờn thu chậm.

Để nhiều tiến trỡnh trờn một mỏy tớnh cú thể đồng thời sử dụng cỏc thiết bị truyền thụng bằng giao thức TCP, giao thức này cung cấp một tập địa chỉ gọi là cỏc cổng (port) trờn mỗi mỏy tớnh. Địa chỉ cổng kết hợp với địa chỉ mạng (địa chỉ IP) tạo thành socket. Mỗi một socket cú thể được nhiều kết nối sử dụng đồng thời [2].

30

Hỡnh 1.6 Một vớ dụ về thuật toỏn trỏnh tắc nghẽn trờn Internet

1.2.2.2 Cỏc cơ chế điều khiển lưu lượng và điều khiển tắc nghẽn

Cơ chế cửa sổ động

Cơ chế cửa sổ động là một trong cỏc phương phỏp điều khiển lưu lượng số liệu trong mạng thụng tin mỏy tớnh. Độ lớn cửa sổ chớnh bằng số gúi số liệu được gửi liờn tục mà khụng cần chờ thụng bỏo trả lời về kết quả nhận cỏc gúi số liệu đú. Độ lớn cửa sổ quyết định hiệu suất trao đổ số liệu trong mạng. Nếu chọn độ lớn cửa sổ cao thỡ cú thể gửi được nhiều số liệu trong cựng một đơn vị thời gian. Nhưng khi việc truyền số liệu cú lỗi thỡ lượng gúi số liệu phải gửi lại lớn và vỡ vậy hiệu quả sử dụng đường truyền thấp.

Giao thức TCP cho phộp thay đổi độ lớn của cửa sổ một cỏch động, phụ thuộc vào độ lớn bộ đệm thu của thực thể TCP nhận. Để thực hiện cơ chế cửa sổ động, TCP đảm bảo:

- Trả lời về số tuần tự thu tiếp theo trong trường biờn nhận, nghĩa là khẳng định tổng số Byte nhận đỳng cho đến thời điểm gửi gúi tin trả lời này;

31

- Thụng bỏo về tổng số Byte nhận đỳng cú thể nhận được, tương ứng với độ lớn bộ nhớ đệm thu.

Cơ chế phỏt lại thớch nghi

Để đảm bảo kiểm tra phỏt hiện và khắc phục lỗi trong việc trao đổ số liệu qua mạng diện rộng, được kết nối từ nhiều mạng khỏc nhau, TCP phải cú cơ chế đồng hồ kiểm tra phỏt (time-out) và cơ chế phỏt lại (retransmission) mềm dẻo, thay đổi phụ thuộc vào thời gian trễ thực của mụi trường truyền dẫn cụ thể, cũng như số chặng mà gúi tin đi qua. Thời gian trễ toàn phần RTT(Round-trip-time), được xỏc định từ thời điểm bắt đầu phỏt gúi số liệu cho đến khi nhận được biờn nhận của gúi số liệu đú. Nú là yếu tố quyết định giỏ trị của đồng hồ kiểm tra phỏt (Tout).

Cơ chế phỏt lại thớch nghi dựa trờn việc xỏc định thời gian trễ toàn phần RTT theo thời gian. Bằng việc sử dụng cỏc hàm xỏc định thời gian của hệ điều hành, hoàn toàn xỏc định được thời gian trễ toàn phần của một kết nối TCP tại cỏc mốc thời gian nhất định. Cú thể tớnh thời gian trễ toàn phần RTT theo cụng thức sau đõy:

RTT = (* Old_RTT) + (1-)*New_RTT, trong đú 0<1. Từ đú, cú thể tớnh thời gian kiểm tra phỏt Tout theo cụng thức: Tout = * RTT, với  = 2.

Cơ chế điều khiển tắc nghẽn số liệu

Hiện tượng tắc nghẽn số liệu được thể hiện trước hết ở việc gia tăng thời gian trễ RTT của một gúi số liệu (bất kỳ) khi chuyển qua mạng. Để hạn chế khả năng dẫn đến tắc nghẽn số liệu trong mạng, người ta điều khiển lưu lượng số liệu trao đổi trờn mạng theo thuật toỏn bao gồm cỏc pha như sau: Pha bắt đầu chậm (Slow Start), Pha trỏnh tắc nghẽn (Congestion Avoidance),

32

Pha phỏt lại nhanh (Fast Retransmission) và khụi phục nhanh (Fast Recovery) [1].

- Pha bắt đầu chậm

Giai đoạn này nhằm mục đớch giảm bớt sự bựng nỗ của lưu lượng khi bắt đầu phỏt dữ liệu vào kờnh truyền. Thuật toỏn bắt đầu chậm định nghĩa thờm khỏi niệm "cửa sổ tắc nghẽn" (congestion window), hay cũn gọi là cửa sổ phỏt, cho thực thể TCP phỏt. Khi thiết lập kết nối TCP, cửa sổ phỏt được gỏn giỏ trị là một gúi số liệu. Thực thể TCP bắt đầu phỏt với cửa sổ tắc nghẽn là một. Mỗi khi nhận được thụng bỏo trả lời ACK khụng lặp, giỏ trị cửa sổ phỏt được tăng thờm một (núi một cỏch khỏc giỏ trị cửa sổ phỏt tăng gấp đụi), cho đến khi cửa sổ phỏt đạt đến một giỏ trị ngưỡng - giỏ trị ước lượng dung lượng cũn lại của mạng trong một thời điểm nhất định. Đến đõy, thực thể phỏt cần biết rằng độ lớn cửa sổ phỏt đó quỏ lớn, và cần phải cú điều chỉnh phự hợp.

- Pha trỏnh tắc nghẽn

Khi kớch thước cửa sổ phỏt đó đạt ngưỡng, cửa sổ phỏt sẽ tăng chậm hơn, cụ thể: cửa sổ phỏt sẽ được tăng lờn một khi nhận được biờn nhận của tất cả cỏc gúi tin trong cửa sổ. Khi phỏt hiện thấy cú gúi số liệu bị mất, chứng tỏ tắc nghẽn đó xảy ra trong mạng.

Đặ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à: 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 hết giờ (time-out) và thực thể phải thực hiện phỏt gúi số liệu bị mất; hoặc thực thể phỏt nhận được nhiều lần cỏc thụng bỏo trả lời ACK cho cựng một gúi tin, điều đú cho biết tại trạm nhận, cỏc gúi số liệu đến khụng đỳng thứ tự phỏt. Vỡ vậy, người ta thường dựng hai cơ chế phỏt hiện

33

tắc nghẽn là: sự hết giờ (time-out) và bờn phỏt nhận ba biờn nhận lặp liờn tiếp [2].

- Pha phỏt lại nhanh

Thụng thường, thực thể TCP thực hiện phỏt lại một gúi số liệu khi nhận được thụng bỏo NAK (thu sai) hoặc được đồng hồ quản lý phỏt lại kớch hoạt (time-out). Thuật toỏn phỏt lại nhanh (Fast Retransmission) cho phộp thực thể phỏt thực hiện phỏt lại khụng cần chờ đồng hồ “time-out”, trong trường hợp nhận được nhiều hơn hai thụng bỏo ACK lặp lại (duplicated ACK) [2].

Thụng bỏo ACK lặp lại được tạo ra trong trường hợp thực thể nhận thụng bỏo gúi số liệu đến khụng đỳng theo thứ tự phỏt (out-of-order) và nờu số thứ tự gúi số liệu chờ nhận. Trong thực tế, thường chỉ cần từ một đến hai thụng bỏo ACK lặp lại là đủ để gúi số liệu “bị lạc” đến và được xử lý đỳng thứ tự. Nếu thực thể phỏt nhận được nhiều hơn ba thụng bỏo ACK lặp lại thỡ điều đú đồng nghĩa với việc gúi số liệu bị mất (packet loss) và trong trường hợp này, gúi số liệu đú được phỏt lại ngay mà khụng chờ đến time-out, sau đú quay về giai đoạn khởi động chậm với cửa sổ phỏt bằng một. Trong cỏc phiờn bản TCP ra đời sau (Reno, New-Reno,...), sau khi phỏt lại nhanh thỡ thực hiện khụi phục nhanh (Fast Recovery) tức là giảm cửa sổ phỏt xuống cũn một nửa - chứ khụng phải là một như giai đoạn khởi động chậm. Sau đú mỗi khi nhận một biờn nhận lặp bờn phỏt sẽ gửi một gúi số liệu. Đến khi nhận được biờn nhận khụng lặp, cũn được gọi là "biờn nhận khụi phục" thỡ mới ra khỏi giai đoạn khụi phục nhanh và hoạt động bỡnh thường trở lại.

34

1.3 Cỏc cơ chế cải thiện hiệu suất TCP trong mạng khụng đồng nhất

1.3.1 Cỏc cơ chế cải thiện hiệu suất TCP trong mạng cú đường truyền khụng dõy

Trong mạng cú đường truyền khụng dõy, sự mất gúi số liệu chủ yếu là do lỗi đường truyền hoặc do sự chuyển cuộc gọi gõy trễ quỏ dài, chứ khụng phải là do tắc nghẽn trờn mạng. Người ta đó đề xuất nhiều phương phỏp giải quyết vấn đề này, chỳng cú thể được chia làm hai loại chớnh. Loại thứ nhất bao gồm cỏc giải phỏp che giấu phần mạng hay làm mất gúi số liệu do lỗi đường truyền, sao cho bờn gửi chỉ phỏt hiện được những sự mất gúi số liệu do tắc nghẽn. Loại thứ hai bao gồm cỏc giải phỏp cải tiến TCP bằng cỏc cơ chế thụng bỏo rừ ràng về nguyờn nhõn mất gúi số liệu, giỳp cho TCP cú thể phõn biệt được cỏc kiểu mất gúi số liệu khỏc nhau.

1.3.1.1 Cơ chế che giấu phần mạng hay làm mất gúi số liệu do lỗi đường truyền

Phương phỏp che giấu sự mất gúi số liệu khụng phải do tắc nghẽn, khụng cho bờn gửi của kết nối TCP phỏt hiện ra. Theo cỏch tiếp cận này, vỡ vấn đề xảy ra cú tớnh cục bộ, cho nờn giải quyết nú theo cỏch cục bộ, tầng Giao vận khụng cần phải nhận thấy cỏc đặc điểm của cỏc đường truyền riờng lẻ. Cỏc giao thức theo cỏch tiếp cận này cố gắng làm cho cỏc đường truyền gõy nhiều lỗi thể hiện ra như thể cỏc đường truyền cú chất lượng cao, nhưng cú dải thụng sử dụng được nhỏ hơn. Kết quả là bờn gửi của kết nối TCP hầu như chỉ nhận thấy sự mất gúi số liệu do tắc nghẽn mạng.

Cỏc giải phỏp ở tầng Liờn kết dữ liệu

Cỏc kỹ thuật khắc phục lỗi phổ biến nhất ở tầng Liờn kết dữ liệu thường cú hai dạng như sau:

35

Phỏt hiện lỗi/ Khắc phục lỗi: phương phỏp này người ta thờm một lượng thụng tin vào dữ liệu, theo một số thuật toỏn nhất định, sao cho bờn nhận cú thể phỏt hiện hoặc tự sửa lại dữ liệu bị lỗi cho đỳng.

Yờu cầu phỏt lại tự động (Automatic Repeat reQuest - ARQ): khi phỏt hiện ra một lỗi trong dóy dữ liệu đến, bờn nhận yờu cầu bờn gửi gửi lại.

Bằng cỏch kết hợp kỹ thuật phỏt hiện lỗi và kỹ thuật yờu cầu phỏt lại tự động trong giao thức tầng Liờn kết dữ liệu, người ta cú thể biến tầng Liờn kết dữ liệu khụng tin cậy thành một tầng tin cậy.

Cỏc giải phỏp ở tầng Giao vận

Cỏc giải phỏp này cố gắng nõng cao chất lượng đường truyền bằng cỏch phỏt lại cỏc gúi số liệu bị lỗi ở mức giao thức TCP. Người ta sẽ tạo một agent TCP trờn bộ định tuyến ở đầu vào của đường truyền gõy nhiều lỗi, agent này sẽ giữ bản sao của mọi gúi số liệu từ bộ định tuyến đi vào đường truyền này. Nếu nhận được biờn nhận của một gúi số liệu, agent sẽ loại bỏ bản sao của gúi số liệu đú khỏi bộ nhớ đệm của nú, cũn nếu biết rằng gúi số liệu bị mất, agent này sẽ thay mặt cho bờn gửi phỏt lại gúi số liệu. Cú hai cơ chế thực hiện agent, đú là TCP giỏn tiếp (Indirect TCP – I-TCP) và Snoop TCP.

TCP giỏn tiếp (Indirect TCP):

Theo cơ chế này, kết nối TCP từ người gửi sẽ kết thỳc tại đầu vào đường truyền hay gõy ra lỗi, nơi đặt agent TCP, agent sẽ biờn nhận cỏc gúi số liệu mà nú nhận được và chịu trỏch nhiệm gửi nú đến đớch. Trờn đường truyền khụng dõy, nơi cú tỉ suất lỗi bớt cao và thất thường, một kết nối TCP được tinh chỉnh cho phự hợp với đặc điểm của đường truyền này (thớ dụ SACK TCP) sẽ thiết lập. Ngoài kết nối TCP, tại đõy, cũng cú thể sử dụng một giao thức giao vận khỏc.

36

Nhược điểm của I-TCP là khụng tuõn thủ cơ chế điều khiển lưu lượng “đầu cuối-đầu cuối” trong giao thức TCP, nỳt trung gian (nỳt gắn agent TCP) gửi biờn nhận thay cho bờn nhận, do đú biờn nhận cú thể được bờn gửi nhận trước khi gúi số liệu thực sự đến bờn nhận. Ngoài ra I-TCP cũng gõy khú khăn cho cỏc trạm cơ sở (BS), vỡ chỳng phải chuyển một lượng lớn thụng tin trạng thỏi khi xảy ra việc chuyển cuộc gọi.

Snoop-TCP:

Cơ chế thực hiện agent TCP này tụn trọng ngữ nghĩa “end-to-end”. Agent nằm giữa hai mạng khụng chia đụi kết nối TCP, nú chỉ giữ bản sao cỏc gúi số liệu chứ khụng tự sinh ra cỏc biờn nhận. Cỏc biờn nhận khụng phải là biờn nhận lặp sẽ được agent chuyển tiếp tới bờn gửi, cũn cỏc biờn nhận lặp sẽ bị chặn lại. Khi nhận được biờn nhận lặp thứ ba, hoặc khi agent đó chờ hết thời gian hết giờ cục bộ, gúi số liệu tương ứng sẽ được agent phỏt lại. Thời gian hết giờ cục bộ này phải được xỏc định phự hợp với đường truyền khụng dõy chỉ cú một chặng, nú đương nhiờn là nhỏ hơn thời gian hết giờ mà bờn gửi (nguồn) sử dụng. Giải phỏp này cũng cú nhược điểm tương tự giải phỏp phỏt lại ở tầng Liờn kết dữ liệu, đú là việc nú cú thể cản trở cỏc cơ chế kiểu “đầu cuối - đầu cuối”. Về thực chất giải phỏp Snoop-TCP cũng giống giải phỏp phỏt lại ở tầng Liờn kết dữ liệu, chỳng che giấu mọi sự mất gúi số liệu gõy ra bởi đường truyền. Cả hai giải phỏp này đều đũi hỏi khụng cú sự mất gúi số liệu do tắc nghẽn trờn đường truyền giữa Snoop agent và đớch [2].

1.3.1.2 Thụng bỏo rừ ràng về nguyờn nhõn mất gúi số liệu

Việc cải thiện chất lượng cỏc đường truyền Internet khụng che giấu được tất cả cỏc mất mỏt khụng phải do tắc nghẽn. Nguyờn nhõn thứ nhất là, mặc dự cỏc mất mỏt gúi số liệu kiểu này tập trung trờn cỏc đường truyền khụng dõy, nhưng chỳng cũng cú thể xuất hiện ở mọi nơi trong mạng và cú lẽ

37

khụng thể che giấu hết cỏc lỗi này. Thứ hai là, cỏc cơ chế kiểu cục bộ, chẳng hạn như giải phỏp thờm thụng tin khắc phục lỗi (FEC) cho gúi số liệu cũng khụng thể khụi phục được cỏc gúi số liệu bị mất. Khi đú giải phỏp cải thiện hiệu suất TCP bằng một số cơ chế làm cho bờn gửi nhận thấy được sự tồn tại của cỏc chặng khụng dõy và những sự mất mỏt gúi số liệu khụng phải do tắc nghẽn mạng sẽ trỏnh cho bờn gửi khỏi kớch hoạt cỏc thuật toỏn điều khiển tắc nghẽn khi xảy ra mất gúi số liệu khụng do tắc nghẽn.

Thụng bỏo rừ việc mất gúi số liệu - ELN (Explicit Loss Notification):

Người ta đó đề xuất hai cỏch tiếp cận, cỏch thứ nhất là thụng bỏo rừ ràng nơi xảy ra việc mất gúi số liệu khụng phải do tắc nghẽn bằng tớn hiệu ELN. Bờn gửi phản ứng lại bằng cỏch phỏt lại gúi số liệu bị mất mà khụng giảm kớch thước cửa sổ của nú. Người ta cũng đề xuất việc sử dụng một tớn

Một phần của tài liệu Đánh giá hiệu suất giao thức TCP trong mạng sử dụng đường truyền xDSL (Trang 26)

Tải bản đầy đủ (PDF)

(115 trang)