There is one important subtlety in the stop-and-wait algorithm. Suppos dịch - There is one important subtlety in the stop-and-wait algorithm. Suppos Việt làm thế nào để nói

There is one important subtlety in

There is one important subtlety in the stop-and-wait algorithm. Suppose the sender sends a frame and the receiver acknowledges it, but the
acknowledgment is either lost or delayed in arriving. This situation is
illustrated in timelines (c) and (d) ofFigure 2.17. In both cases, the sender
times out and retransmits the original frame, but the receiver will think
that it is the next frame, since it correctly received and acknowledged the
first frame. This has the potential to cause duplicate copies of a frame
to be delivered. To address this problem, the header for a stop-and-wait
protocol usually includes a 1-bit sequence number—that is, the sequence
number can take on the values 0 and 1—and the sequence numbers used
for each frame alternate, as illustrated in Figure 2.18. Thus, when the
sender retransmits frame 0, the receiver can determine that it is seeing
a second copy of frame 0 rather than the first copy of frame 1 and therefore can ignore it (the receiver still acknowledges it, in case the first ACK
was lost).
The main shortcoming of the stop-and-wait algorithm is that it allows
the sender to have only one outstanding frame on the link at a time,
and this may be far below the link’s capacity. Consider, for example,
a 1.5-Mbps link with a 45-ms round-trip time. This link has a delay ×
bandwidth product of 67.5 Kb, or approximately 8 KB. Since the sender
can send only one frame per RTT, and assuming a frame size of 1 KB, this
PETERSON-AND-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 Page 106 #37
106 CHAPTER 2 Getting connected
Sender
Time

Receiver
Frame 0
Frame 1
Frame 0
ACK 0
ACK 1
ACK 0
■ FIGURE 2.18 Timeline for stop-and-wait with 1-bit sequence number.
implies a maximum sending rate of
Bits Per Frame ÷ Time Per Frame
= 1024 × 8 ÷ 0.045
= 182 kbps
or about one-eighth of the link’s capacity. To use the link fully, then, we’d
like the sender to be able to transmit up to eight frames before having to
wait for an acknowledgment.
The significance of the delay × bandwidth product is that it represents the
amount of data that could be in transit. We would like to be able to send this
much data without waiting for the first acknowledgment. The principle at work
here is often referred to as keeping the pipe full. The algorithms presented in the
following two subsections do exactly this.
2.5.2 Sliding Window
Consider again the scenario in which the link has a delay × bandwidth
product of 8 KB and frames are 1 KB in size. We would like the sender to
be ready to transmit the ninth frame at pretty much the same moment
that the ACK for the first frame arrives. The algorithm that allows us to
PETERSON-AND-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 Page 107 #38
2.5 Reliable transmission 107
Sender
Time
……
Receiver
■ FIGURE 2.19 Timeline for the sliding window algorithm.
do this is called sliding window, and an illustrative timeline is given in
Figure 2.19.
The Sliding Window Algorithm
The sliding window algorithm works as follows. First, the sender assigns a
sequence number, denoted SeqNum, to each frame. For now, let’s ignore
the fact that SeqNum is implemented by a finite-size header field and
instead assume that it can grow infinitely large. The sender maintains
three variables: The send window size, denoted SWS, gives the upper
bound on the number of outstanding (unacknowledged) frames that
the sender can transmit; LAR denotes the sequence number of the last
acknowledgment received; and LFS denotes the sequence number of the
last frame sent. The sender also maintains the following invariant:
LFS − LAR ≤ SWS
This situation is illustrated in Figure 2.20.
When an acknowledgment arrives, the sender moves LAR to the right,
thereby allowing the sender to transmit another frame. Also, the sender
associates a timer with each frame it transmits, and it retransmits the
frame should the timer expire before an ACK is received. Notice that the
sender has to be willing to buffer up to SWS frames since it must be
prepared to retransmit them until they are acknowledged.
The receiver maintains the following three variables: The receive window size, denoted RWS, gives the upper bound on the number of outof-order frames that the receiver is willing to accept; LAF denotes the
sequence number of the largest acceptable frame; and LFR denotes the
PETERSON-AND-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 Page 108 #39
108 CHAPTER 2 Getting connected
≤ SWS
LAR LFS
… …
■ FIGURE 2.20 Sliding window on sender.
≤ RWS
LFR LAF
... ...
■ FIGURE 2.21 Sliding window on receiver.
sequence number of the last frame received. The receiver also maintains
the following invariant:
LAF − LFR ≤ RWS
This situation is illustrated in Figure 2.21.
When a frame with sequence number SeqNum arrives, the receiver
takes the following action. If SeqNum ≤ LFR or SeqNum > LAF, then
the frame is outside the receiver’s window and it is discarded. If LFR <
SeqNum ≤ LAF, then the frame is within the receiver’s window and it
is accepted. Now the receiver needs to decide whether or not to send
an ACK. Let SeqNumToAck denote the largest sequence number not yet
acknowledged, such that all frames with sequence numbers less than
or equal to SeqNumToAck have been received. The receiver acknowledges the receipt ofSeqNumToAck, even if higher numbered packets have
been received. This acknowledgment is said to be cumulative. It then sets
LFR = SeqNumToAck and adjusts LAF = LFR + RWS.
For example, suppose LFR = 5 (i.e., the last ACK the receiver sent was
for sequence number 5), and RWS = 4. This implies that LAF = 9. Should
frames 7 and 8 arrive, they will be buffered because they are within the
receiver’s window. However, no ACK needs to be sent since frame 6 has yet
to arrive. Frames 7 and 8 are said to have arrived out of order. (Technically,
the receiver could resend an ACK for frame 5 when frames 7 and 8 arrive.)
PETERSON-AND-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 Page 109 #40
2.5 Reliable transmission 109
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Đó là một tinh tế quan trọng trong các thuật toán dừng và chờ đợi. Giả sử người gửi sẽ gửi một khung và nhận thừa nhận nó, nhưng cácthừa nhận đã bị mất hoặc bị trì hoãn trong đến. Tình hình này làminh họa trong thời hạn (c) và (d) ofFigure 2,17. Trong cả hai trường hợp, người gửilần ra và retransmits khung ban đầu, nhưng người nhận sẽ nghĩ rằngnó là khung hình tiếp theo, kể từ khi nó một cách chính xác nhận và công nhận cácframe đầu tiên. Điều này có tiềm năng gây ra các bản sao trùng lặp của một khungsẽ được chuyển giao. Để giải quyết vấn đề này, các tiêu đề cho một ngừng-và-chờ đợigiao thức thường bao gồm một số 1-bit chuỗi — có nghĩa là, trình tựsố có thể đưa vào các giá trị 0 và 1 — và số thứ tự được sử dụngcho mỗi khung thay thế, như minh hoạ trong hình 2,18. Vì vậy, khi cácngười gửi retransmits khung 0, người nhận có thể xác định rằng nó nhìn thấymột bản sao thứ hai của khung 0 chứ không phải là bản sao đầu tiên của khung 1 và do đó có thể bỏ qua nó (người nhận vẫn còn thừa nhận nó, trong trường hợp đầu tiên ACKđã bị mất).Thiếu sót chính của thuật toán dừng và chờ đợi là nó cho phépngười gửi có chỉ có một khung xuất sắc vào liên kết ở một thời gian,và điều này có thể đến nay dưới công suất của liên kết. Hãy xem xét, ví dụ,một liên kết 1.5 Mbps với 45-ms trọn vòng thời gian. Liên kết này có một sự chậm trễ ×băng thông các sản phẩm của 67,5 Kb, hoặc khoảng 8 KB. Kể từ khi người gửicó thể gửi chỉ có một khung cho mỗi RTT, và giả định một kích thước khung hình của 1 KB, điều nàyPETERSON-và-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 trang 106 #37106 chương 2 nhận được kết nốiNgười gửiThời gian…NhậnKhung 0Khung 1Khung 0ACK 0ACK 1ACK 0■ Tìm 2,18 thời gian cho ngừng-và-chờ 1 chút chuỗi số.ngụ ý một tối đa là gửi lệBit trên một khung thời gian ÷ một khung= 1024 × 8 ÷ 0.045= 182 kbpshoặc khoảng một thứ tám của năng lực của liên kết. Để sử dụng liên kết đầy đủ, sau đó, chúng tôi đã cógiống như người gửi để có thể truyền tải tối đa tám khung trước khi phảichờ đợi cho một sự thừa nhận.Ý nghĩa của sự chậm trễ × băng thông sản phẩm là rằng nó đại diện cho cácsố lượng dữ liệu mà có thể trên đường vận chuyển. Chúng tôi muốn có thể gửinhiều dữ liệu mà không cần chờ đợi cho sự thừa nhận đầu tiên. Các nguyên tắc tại nơi làm việcđây thường được gọi là giữ ống đầy đủ. Các thuật toán trình bày trong cácsau hai phụ làm chính xác này.2.5.2 trượt cửa sổXem xét lại kịch bản trong đó liên kết có một sự chậm trễ × băng thôngCác sản phẩm của 8 KB và khung là 1 KB trong kích thước. Chúng tôi xin gửi đếnsẵn sàng để truyền tải khung thứ chín tại khá nhiều cùng một thời điểmrằng ACK cho khung đầu tiên đến. Các thuật toán cho phép chúng tôiPETERSON-và-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 trang 107 #382.5 đáng tin cậy truyền 107Người gửiThời gian……Nhận■ Tìm 2,19 thời gian cho các thuật toán cửa sổ trượt.làm điều này được gọi là trượt cửa sổ, và một thời gian biểu minh họa được đưa ra trongCon số 2.19.Các thuật toán cửa sổ trượtCác thuật toán cửa sổ trượt hoạt động như sau. Trước tiên, người gửi chỉ định mộtChuỗi số, kí hiệu là SeqNum, để mỗi khung. Để bây giờ, hãy bỏ quamột thực tế rằng SeqNum được thực hiện bởi một lĩnh vực tiêu đề kích thước hữu hạn vàthay vì giả định rằng nó có thể phát triển vô hạn lớn. Người gửi duy trìba biến: kích thước cửa sổ gửi, biểu hiện SWS, cung cấp cho phía trênràng buộc về số lượng xuất sắc (unacknowledged) khung màngười gửi có thể truyền tải; LAR biểu thị số trình tự cuối cùngthừa nhận đã nhận được; và LFS biểu thị số thứ tự của cáckhung cuối gửi. Người gửi cũng duy trì sau bất biến:LFS − LAR ≤ SWSTình trạng này được minh họa trong hình 2.20.Khi một sự thừa nhận đến, người gửi di chuyển LAR sang phải,do đó cho phép người gửi để truyền tải một khung. Ngoài ra, người gửiđối tác một bộ đếm thời gian với mỗi khung nó truyền tải, và nó retransmits cáckhung nên bộ đếm thời gian hết hạn trước khi một ACK được nhận. Nhận thấy rằng cácngười gửi đã được sẵn sàng để đệm đến SWS khung vì nó phảichuẩn bị sẵn sàng để retransmit chúng cho đến khi họ được công nhận.Duy trì nhận ba biến sau: nhận kích thước cửa sổ, kí hiệu là RWS, cho cận trên về số lượng trong khung của trật tự nhận là sẵn sàng chấp nhận; LAF là bắt cácThứ tự số lượng chấp nhận được khung lớn nhất; và LFR là bắt cácPETERSON-và-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 trang 108 #39108 chương 2 nhận được kết nối≤ SWSLAR LFS… …■ HÌNH 2.20 trượt cửa sổ trên người gửi.≤ RWSLFR LAF... ...■ HÌNH 2,21 trượt cửa sổ trên người nhận.Chuỗi số khung cuối nhận được. Người nhận cũng duy trìbất biến sau đây:LAF − LFR ≤ RWSTình trạng này được minh họa trong hình 2,21.Khi đến một khung với chuỗi số SeqNum, người nhậnsẽ hành động sau đây. Nếu SeqNum ≤ LFR hoặc SeqNum > LAF, sau đókhung bên ngoài cửa sổ của người nhận và nó được bỏ đi. Nếu LFR <SeqNum ≤ LAF, sau đó khung nằm trong cửa sổ của người nhận và nóđược chấp nhận. Bây giờ người nhận phải quyết định có hay không để gửimột ACK. Hãy để SeqNumToAck biểu thị số chuỗi lớn nhất chưacông nhận, như vậy mà tất cả các khung với chuỗi số ít hơnhoặc bằng SeqNumToAck đã được nhận được. Người nhận thừa nhận ofSeqNumToAck nhận được, ngay cả khi gói dữ liệu số cao cónhận được. Thừa nhận này được gọi là tích lũy. Nó sau đó đặtLFR = SeqNumToAck và điều chỉnh LAF = LFR + RWS.Ví dụ, giả sử LFR = 5 (tức là, cuối ACK nhận gửicho chuỗi số 5), và RWS = 4. Điều này ngụ ý rằng LAF = 9. Nênkhung 7 và 8 đến, họ sẽ được đệm vì chúng trong vòng cáccửa sổ của người nhận. Tuy nhiên, không có ACK cần phải được gửi vì khung 6 chưađến nơi. Khung 7 và 8 được cho là đã đến thứ tự. (Về mặt kỹ thuật,the receiver could resend an ACK for frame 5 when frames 7 and 8 arrive.)PETERSON-AND-DAVIE 08-ch02-070-167-9780123850591 2011/11/1 14:16 Page 109 #402.5 Reliable transmission 109
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Có một sự tinh tế quan trọng trong thuật toán dừng-và-chờ đợi. Giả sử người gửi sẽ gửi một khung và người nhận thừa nhận nó, nhưng
thừa nhận hoặc bị mất đi hoặc bị trì hoãn trong khi đến. Tình trạng này được
minh họa trong các mốc thời gian (c) và (d) ofFigure 2.17. Trong cả hai trường hợp, người gửi
lần ra và truyền lại khung ban đầu, nhưng người nhận sẽ nghĩ
rằng đó là những khung tiếp theo, vì nó chính xác nhận và ghi nhận những
hình ảnh đầu tiên. Điều này có khả năng gây ra các bản sao chép của một khung hình
sẽ được chuyển giao. Để giải quyết vấn đề này, các tiêu đề cho một stop-and-wait
giao thức thường bao gồm một 1-bit dãy số đó là, các dãy
số có thể mất trên các giá trị 0 và 1 và số thứ tự được sử dụng
thay thế cho mỗi khung hình như, minh họa trong hình 2.18. Như vậy, khi
người gửi truyền lại khung 0, người nhận có thể xác định rằng nó được nhìn thấy
một bản sao thứ hai của khung 0 chứ không phải là bản sao đầu tiên của frame 1 và do đó có thể bỏ qua nó (người nhận vẫn thừa nhận nó, trong trường hợp ACK đầu tiên
đã bị mất ).
Những thiếu sót chính của thuật toán dừng-và-chờ đợi là nó cho phép
người gửi để chỉ có một khung hình xuất sắc vào liên kết ở một thời điểm,
và điều này có thể còn thấp hơn năng lực của liên kết. Xem xét, ví dụ,
một liên kết 1,5-Mbps với một thời gian đi 45 ms. Liên kết này có một sự chậm trễ ×
sản phẩm băng thông 67,5 Kb, tương đương khoảng 8 KB. Kể từ khi người gửi
có thể gửi chỉ có một khung hình mỗi RTT, và giả định một kích thước khung hình của 1 KB, đây
2011/11/01 PETERSON-VÀ-DAVIE 08-ch02-070-167-9780123850591 14:16 Page 106 # 37
106 CHƯƠNG 2 Bắt kết nối
người gửi
Time
...
Receiver
Khung 0
Frame 1
Khung 0
0 ACK
ACK 1
ACK 0
■ Hình 2.18 Timeline cho dừng-và-chờ đợi với số thứ tự 1-bit.
nghĩa tối đa tỷ lệ gửi
Bits Per Khung ÷ Thời gian mỗi khung
= 1024 × 8 ÷ 0,045
= 182 kbps
hoặc khoảng một phần tám năng lực của liên kết. Để sử dụng các liên kết đầy đủ, sau đó, chúng tôi
muốn người gửi để có thể truyền tải lên đến tám khung trước khi phải
chờ đợi cho một sự thừa nhận.
Ý nghĩa của sự chậm trễ × sản phẩm băng thông là nó đại diện cho
số lượng dữ liệu mà có thể được quá cảnh. Chúng tôi muốn để có thể gửi thông điệp này
nhiều dữ liệu mà không cần chờ đợi sự thừa nhận đầu tiên. Các nguyên tắc trong công việc
ở đây thường được gọi là giữ ống đầy đủ. Các thuật toán được trình bày trong
hai phần dưới đây sẽ làm chính xác này.
2.5.2 Sliding Window
Xem xét lại các kịch bản trong đó các liên kết có một sự chậm trễ × băng thông
sản phẩm của 8 KB khung hình và 1 KB. Chúng tôi muốn cho người gửi để
chuẩn bị sẵn sàng để truyền frame thứ chín tại khá nhiều cùng một thời điểm
mà các ACK cho khung đầu tiên đến. Các thuật toán cho phép chúng tôi để
PETERSON-VÀ-DAVIE 08-ch02-070-167-9780123850591 2011/11/01 14:16 Page 107 # 38
2.5 đáng tin cậy truyền tải 107
Tên người gửi
Time
......
Receiver
■ Hình 2.19 Timeline cho các thuật toán cửa sổ trượt .
làm điều này được gọi là cửa sổ trượt, và một thời gian minh họa được đưa ra trong
Hình 2.19.
Các Sliding Window Algorithm
Thuật toán cửa sổ trượt hoạt động như sau. Đầu tiên, người gửi sẽ gán một
số thứ tự, ký hiệu là SeqNum, để mỗi frame. Còn bây giờ, chúng ta hãy bỏ qua
một thực tế rằng SeqNum được thực hiện bởi một trường tiêu đề hữu hạn kích thước và
thay vì cho rằng nó có thể phát triển vô cùng lớn. Người gửi duy trì
ba biến: Các kích thước cửa sổ gửi, ký hiệu là SWS, cung cấp cho các thượng
ràng buộc về số lượng vượt trội (không được thừa nhận) frame mà
người gửi có thể truyền tải; LAR biểu thị số thứ tự cuối cùng của
sự thừa nhận đã nhận được; LFS và biểu thị số thứ tự của
khung hình cuối cùng gửi. Người gửi cũng duy trì bất biến sau đây:
LFS - LAR ≤ SWS
Tình trạng này được minh họa trong hình 2.20.
Khi một sự thừa nhận đến, người gửi chuyển LAR bên phải,
do đó cho phép gửi truyền một khung khác. Ngoài ra, người gửi
liên kết một bộ đếm thời gian với mỗi khung nó truyền tải, và nó truyền lại các
khung hình nên bộ đếm thời gian hết hạn trước một ACK được nhận. Chú ý rằng
người gửi có thể sẵn sàng để đệm lên đến SWS khung vì nó phải được
chuẩn bị để truyền lại cho đến khi họ được công nhận.
Người nhận duy trì ba biến sau: Kích thước cửa sổ nhận, ký hiệu là RWS, cung cấp cho các giới hạn trên số của outof-trật tự frame mà người nhận là sẵn sàng chấp nhận; LAF biểu thị
số thứ tự của khung lớn nhất chấp nhận được; và LFR biểu thị
PETERSON-VÀ-DAVIE 08-ch02-070-167-9780123850591 2011/11/01 14:16 Page 108 # 39
108 CHƯƠNG 2 Bắt kết nối
≤ SWS
LAR LFS
... ...
■ Hình 2.20 Cửa sổ trượt trên người gửi.
≤ RWS
LFR LAF
... ...
■ Hình 2.21 Cửa sổ lùa vào thu.
số thứ tự của khung hình cuối cùng nhận được. Người nhận cũng duy trì
bất biến sau đây:
LAF - LFR ≤ RWS
Tình trạng này được minh họa trong hình 2.21.
Khi một khung với số thứ tự SeqNum đến, người nhận
có các hành động sau đây. Nếu SeqNum ≤ LFR hoặc SeqNum> LAF, sau đó
khung là bên ngoài cửa sổ của người nhận và nó được bỏ đi. Nếu LFR <
SeqNum ≤ LAF, sau đó khung là bên trong cửa sổ của người nhận và nó
được chấp nhận. Bây giờ nhận cần phải quyết định có hay không để gửi
một ACK. Hãy SeqNumToAck biểu thị số thứ tự lớn nhất chưa
thừa nhận, như vậy mà tất cả các khung có số thứ tự nhỏ hơn
hoặc bằng SeqNumToAck đã được nhận. Người nhận thừa nhận ofSeqNumToAck nhận, ngay cả khi các gói số cao hơn đã
được nhận. Sự thừa nhận này được cho là tích lũy. Sau đó nó đặt
LFR = SeqNumToAck và điều chỉnh LAF = LFR + RWS.
Ví dụ, giả sử LFR = 5 (tức là, các ACK cuối cùng người nhận gửi là
cho dãy số 5), và RWS = 4. Điều này ngụ ý rằng LAF = 9. Nên
khung hình 7 và 8 tới, họ sẽ được đệm bởi vì họ đang trong
cửa sổ của người nhận. Tuy nhiên, không có ACK cần được gửi đi từ khung 6 vẫn chưa
đến. Khung 7 và 8 được cho là đã đến ra lệnh. (Về mặt kỹ thuật,
người nhận có thể gửi lại một ACK cho frame 5 khi khung hình 7 và 8 tới.)
PETERSON-VÀ-DAVIE 2011/11/01 08-ch02-070-167-9780123850591 14:16 Page 109 # 40
2.5 đáng tin cậy truyền tải 109
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: