View Full Version : cho e hỏi Flow control, window?
chipheotk
04-08-2005, 10:08 AM
chào các huynh,
Cho em hỏi, trong giao thức TCP, khi truyền dữ liệu với kích thước cửa sổ trượt giả sử là 7 segments , nếu như bên nhận không nhận không nhận được segment thứ 3 thì nó báo lại cho bên gửi như thế nào? Khi nào nó báo? Và bên gửi sẽ thực hiện truyền lại như thế nào? Bắt đầu một của sổ mới 7 segments với segment đầu tiên là 3 hay chỉ truyền lại một segment 3 thôi.
Thanks a lot!
nhanh
04-08-2005, 11:05 AM
TCP sử dụng cơ chế điều khiển luồng với giao thức Go-Back-N, nghĩa là: Bên gửi sẽ gửi liên tiếp nhiều gói tin(bằng cỡ cửa sổ đã đặt) mà không cần chờ ACK từng gói một.
Với khái niệm ACK Go-Back-N, nó sẽ không truyền lại từ đầu mà bắt đầu từ gói tin kế tiếp cho đến hết, nghĩa là với trường hợp của bạn, nó sẽ bắt đầu gửi từ gói 3 đến gói 7 chứ không phải chỉ mình gói 3.
Nếu giả sử bạn đã nhận được các gói 4,5,6 trước thì nhưng gói 3 lại bị mất thì hết thời gian time out, bên nhận sẽ discard cả các gói 4,5,6 khỏi buffer và yêu cầu bên phát gửi lại bắt đầu từ gói 3.
Trường hợp gửi lại chỉ mình gói 3 được gọi là ACK Selective Repeat, nhưng không được sử dụng trong TCP.
chipheotk
04-08-2005, 11:48 AM
Xin anh vui lòng giải thích rõ hơn:
- Thứ nhất, bên nhận có cần phải gửi ack khi nó nhận thành công một gói không?
- Thứ hai, khi bên gửi nhận một yêu cầu gởi lại gói thứ 3 thì nó sẽ bắt đầu gửi lại từ gói thứ 3,4,...,9 trong một của sổ mới phải không? (giả sử kích thước cửa sổ là 7 như ví dụ) Có nghĩa là bên gửi sẽ khởi tạo một cửa sổ mới khi nhận được một yêu cầu từ bên nhận, có phải như vậy không?
Cảm ơn anh rất nhiều
nhanh
04-08-2005, 03:21 PM
Bên nhận sẽ ACK lại với từng gói nhận được, nhưng bên phát không phải chờ ACK đấy mới gửi tiếp gói sau. Và khi gửi lại nó sẽ gửi với một cửa sổ mới, có nghĩa là từ gói 3 đến gói 9
Tóm lại, có 3 loại ARQ:
Wait and Stop ARQ: Bên phát gửi từng gói, chờ bên thu gửi lại gói ACK thì mới gửi tiếp gói sau, nếu bên thu gửi gói NACK thì gửi lại gói bị mất
Go-Back-N ARQ: Gửi nhiều gói, không cần chờ từng ACK. Khi gửi lại thì gửi lại từ gói bị mất cho đến các gói tiếp sau
Selective Repeat ARQ: Chỉ yêu cầu gửi lại gói bị mất.
Powered by vBulletin® Version 4.2.1 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.