Điều khiển luồng dữ liệu

Một phần của tài liệu Giao thức TCP/IP và Mạng Internet (Trang 66 - 68)

V. Cỏc giao thức và khuụn dạng dữ liệu tương ứng

3.1.1.1Điều khiển luồng dữ liệu

3. Cỏc giao thức tầng Giao Vận

3.1.1.1Điều khiển luồng dữ liệu

Trong việc điều khiển luồng dữ liệu phương phỏp hay sử dụng là dựng phương phỏp cửa sổ trượt. Phương phỏp này giỳp cho việc nhận luồng dữ liệu hiệu quả hơn. Phương phỏp cửa sổ trượt cho phộp nới gửi (Sender) cú thể gửi đi nhiều gúi tin rồi sau đú mới đợi tớn hiệu bỏo nhận ACK (Acknowledgement) của nơi nhận (Receiver).Với phương phỏp cửa sổ trượt khi cần truyền cỏc gúi tin, giao thức sẽ đặt một cửa sổ cú kớch cố định lờn cỏc gúi tin. Những gúi tin nào nằm trong vựng cửa sổ ở một thời điểm nhất định sẽ được truyền đi. Hỡnh 36 minh hoạ quỏ trỡnh này. ở đõy kớch thước cửa sổ là 4. Tức là mỗi lỳc cửa sổ chỉ gửi được 4 gúi tin. Đầu tiờn cửa sổ gửi sẽ gửi 4 gúi tin từ 1 đến 4 và 4 gúi tin này sẽ được gửi cho bờn nhận. Cửa sổ tiếp tục trượt để gúi tin thứ 5 được gửi đi ngay sau khi nhận được tớn hiệu ACK của gúi tin thứ nhất từ trạm đớch qua trỡnh như vậy cứ tiếp tục cho đến khi gúi tin cuối cựng được chuyển đi.

Lờ Thị Thanh Hiền S0809G – BachKhoa-Npower 66

12 11 10 9 8 7 6 5 4 3 2 1 Window 12 11 10 9 8 7 6 5 4 3 2 1 12 11 10 9 8 7 6 5 4 3 2 1 Window Window (a) (b) (c) 1 1 Đã nhận được ACK Hướng trượt 2

Hình 32 : Hoạt động của cửa sổ trợt.

Trong qua trỡnh gửi và nhận dữ liệu, cú thể cú một số gúi tin mặc dự đó được gửi đi nhưng khụng cú phỳc đỏp (khụng nhận được bỏo nhận) cú nghĩa là bờn nhận khụng nhận được thỡ những gúi đú sẽ được truyền lại.

Tại bờn nhận cũng duy trỡ một cửa sổ trượt tương tự dựng để nhận và bỏo nhận cỏc gúi tin đó nhận được.

TCP cung cấp một kiểu dịch vụ gọi là dịch vụ chuyển luồng đỏng tin cậy. TCP xem luồng dữ liệu như là một thứ tự cỏc Bytes dữ liệu được tỏch thành cỏc Segments. Thường thỡ mỗi Segment truyền trong liờn mạng sẽ được lồng vào một Datagram. Với kỹ thuật cửa sổ trượt, sẽ giải quyết được hai vấn đề quan trọng đú là truyền cú hiệu quả và điều khiển luồng dữ liệu. TCP sử dụng kỹ thuật cửa sổ trượt dựa trờn kỹ thuật cửa sổ trượt đó trỡnh bày ở trờn. Nú cho phộp gửi được nhiều Segment trước khi bỏo nhận đến từ nơi nhận và do đú làm tăng thụng lượng truyền trờn mạng. Bờn cạnh đú kỹ thuật cửa sổ trượt cũn cho phộp bờn nhận trỏnh được tỡnh trạng dữ liệu bị mất bằng cỏch làm giảm lưu lượng dữ liệu gửi đến nếu bộ đệm của nú khụng chứa thờm nhiều dữ liệu.

Kỹ thuật cửa sổ trượt của TCP được tiến hành ở mức Byte chứ khụng phải ở mức Segment hay Packet như trỡnh bày ở trờn. Cỏc Bytes của luồng dữ liệu được đỏnh số một cỏch tuần tự và một cửa sổ được định nghĩa bởi ba con trỏ như hỡnh 37. 12 11 10 9 8 7 6 5 4 3 2 1 Window 3 Hướng trượt 2 1

Hỡnh 33 : Cấu hỡnh cửa sổ trượt.

Tại mỗi thời điểm, con trỏ đầu tiờn trỏ vào mộp bờn trỏi cửa sổ, con trỏ thứ hai trỏ vào mộp bờn phải cửa sổ và con trỏ thứ ba xỏc định vị trớ cỏc Bytes được gửi đi. Con trỏ bờn phải và bờn trỏi cửa sổ xỏc định kớch thước của cửa sổ. Cỏc phần mềm giao thức gửi cỏc gúi bờn trong cửa sổ khụng cú trễ do đú danh giới bờn trong cửa sổ luụn luụn di chuyển từ bờn phải qua bờn trỏi.

Như trong hỡnh 36 chỉ ra Byte thứ hai đó được gửi và nhận được bỏo nhận, Bytes thứ 3, 4 đó được gửi nhưng chưa cú bỏo nhận, Bytes thứ 5, 6 chưa được gửi nhưng sẽ được gửi mà khụng cú trễ. Cỏc Bytes lớn hơn 7 chưa được gửi cho đến khi cửa sổ di chuyển.

Cú một sự khỏc biệt giữa cửa sổ trượt TCP và cửa sổ trượt được trỡnh bày ở trờn là cửa sổ trượt TCP cú thể thay đổi kớch thước theo thời gian. Trong đú mỗi bỏo nhận đều cú thụng tin về trạng thỏi bộ đệm tại bện nhận, cho biết bờn nhận cú thể nhận thờm được bao nhiờu Bytes dữ liệu nữa. Nếu nhận được thụng bỏo kớch thước bộ đệm cũn ớt thỡ bờn gửi sẽ giảm kớch cỡ của cửa sổ và nú khụng gửi số Bytes dữ liệu quỏ kớch thước của bộ đệm. Cũn nếu thụng bỏo rằng kớch thước của bộ đệm tăng thỡ bờn gửi sẽ tăng tương ứng kớch thước của cửa sổ.

Một phần của tài liệu Giao thức TCP/IP và Mạng Internet (Trang 66 - 68)