Như tên cho thấy, giao thức chọn lọc lặp lại tránh retransmis-sions không cần thiết bằng cách gửi retransmit chỉ những gói nó nghi ngờ đã nhận được lỗi (có nghĩa là, đã bị mất hoặc bị hỏng) lúc người nhận. Này retransmission cá nhân, là cần thiết, sẽ yêu cầu người nhận riêng lẻ thừa nhận cor-rectly nhận được gói. Kích thước cửa sổ N một lần nữa sẽ được sử dụng để hạn chế số lượng gói dữ liệu nổi bật, unacknowledged trong các đường ống. Tuy nhiên, không giống như GBN, người gửi sẽ đã nhận được ACKs cho một số các gói dữ liệu trong cửa sổ. Con số 3,23 Hiển thị người gửi SR xem số lượng trình tự. Con số 3,24 chi tiết các hành động khác nhau thực hiện bởi người gửi SR.Nhận SR sẽ thừa nhận một gói tin nhận được một cách chính xác định có hay không nó là theo thứ tự. Gói dữ liệu ra trật tự được đệm cho đến khi nhận được bất kỳ gói dữ liệu bị thiếu (có nghĩa là, gói với số thứ tự thấp hơn), điểm mà tại đó một lô gói-ets có thể được gửi theo thứ tự để lớp trên. Con số 3,25 itemizes hành động khác nhau thực hiện bởi người nhận SR. Con số 3,26 cho thấy một ví dụ về SR hoạt động sự hiện diện của gói dữ liệu bị mất. Lưu ý rằng trong hình 3,26, người nhận ban đầu bộ đệm gói 3, 4 và 5, và cung cấp chúng cùng với gói 2 để lớp trên khi gói 2 cuối cùng đã nhận được.Nó là quan trọng cần lưu ý rằng trong bước 2 ở con số 3,25, người nhận reacknowledges (chứ không phải bỏ qua) đã nhận được gói với số thứ tự nhất định bên dưới các cơ sở cửa sổ hiện tại. Bạn nên thuyết phục mình rằng reacknowledgment này là thực sự cần thiết. Cho các người gửi và người nhận thứ tự số không gian trong hình 3,23, ví dụ, nếu có là không có ACK cho gói send_base tuyên truyền từ người nhận cho người gửi, người gửi sẽ cuối cùng retransmit gói send_base, mặc dù nó là rõ ràng (đối với chúng tôi, không có người gửi!) rằng người nhận đã nhận được gói đó. Nếu người nhận đã không thừa nhận gói này, chiến thắng của người gửi-dow sẽ không bao giờ tiến lên đi! Ví dụ này minh họa một khía cạnh quan trọng của giao thức SR (và nhiều giao thức khác). Người gửi và người nhận sẽ không luôn luôn có một cái nhìn giống hệt nhau của những gì đã được nhận một cách chính xác và những gì đã không. Cho giao thức SR, điều này có nghĩa rằng các cửa sổ người gửi và người nhận sẽ không luôn luôn trùng.1. dữ liệu nhận được từ phía trên. Khi dữ liệu nhận được từ phía trên, người gửi SR kiểm tra số có trình tự tiếp theo cho gói tin. Nếu số thứ tự là trong cửa sổ của người gửi, dữ liệu packetized và gửi; khác khôn ngoan nó một trong hai có đệm hoặc quay trở lại lớp trên sau đó truyền, như trong GBN.2. Timeout. Timers are again used to protect against lost packets. However, each packet must now have its own logical timer, since only a single packet will be transmitted on timeout. A single hardware timer can be used to mimic the operation of multiple logical timers [Varghese 1997].3. ACK received. If an ACK is received, the SR sender marks that packet as having been received, provided it is in the window. If the packet’s sequence number is equal to send_base, the window base is moved forward to the unacknowledged packet with the smallest sequence number. If the window moves and there are untransmitted packets with sequence numbers that now fall within the window, these packets are transmitted.1. Packet with sequence number in [rcv_base, rcv_base+N-1] is cor-rectly received. In this case, the received packet falls within the receiver’s win-dow and a selective ACK packet is returned to the sender. If the packet was not previously received, it is buffered. If this packet has a sequence number equal to the base of the receive window (rcv_base in Figure 3.22), then this packet, and any previously buffered and consecutively numbered (beginning with rcv_base) packets are delivered to the upper layer. The receive window is then moved forward by the number of packets delivered to the upper layer. As an example, consider Figure 3.26. When a packet with a sequence number of rcv_base=2 is received, it and packets 3, 4, and 5 can be delivered to the upper layer.2. gói với số thứ tự trong [rcv_base-N, rcv_base-1] là cor-rectly đã nhận được. Trong trường hợp này, một ACK phải được tạo ra, mặc dù đây là một gói mà người nhận đã ghi nhận trước đó.3. nếu không. Bỏ qua gói.Thiếu sự đồng bộ hóa giữa người gửi và người nhận windows có hậu quả impor-ý khi chúng tôi đang phải đối mặt với thực tế của một loạt hữu hạn các số thứ tự. Xem xét những gì có thể xảy ra, ví dụ, với một phạm vi hữu hạn của bốn số thứ tự gói, 0, 1, 2, 3, và một kích thước cửa sổ của ba. Giả sử gói 0 thông qua 2 được truyền và một cách chính xác nhận và công nhận lúc người nhận. Tại thời điểm này, cửa sổ của người nhận kết thúc thứ tư, thứ năm, và thứ sáu gói, có trình tự số 3, 0 và 1, tương ứng. Bây giờ hãy xem xét hai kịch bản. Trong trường hợp đầu tiên, Hiển thị trong hình 3.27(a), các ACKs cho các gói dữ liệu đầu tiên ba bị mất và người gửi retransmits các gói dữ liệu. Người nhận như vậy tiếp theo nhận được một gói với chuỗi số 0 — một bản sao của gói đầu tiên gửi.Trong trường hợp thứ hai, Hiển thị trong hình 3.27(b), các ACKs cho các gói dữ liệu đầu tiên ba được tất cả phân phối một cách chính xác. Người gửi như vậy di chuyển cửa sổ của nó về phía trước và gửi thứ tư, thứ năm và thứ sáu gói, với dãy số 3, 0 và 1, respec-cách. Gói với chuỗi số 3 bị mất, nhưng gói với chuỗi số 0 đến — một bưu phẩm có chứa dữ liệu mới.Now consider the receiver’s viewpoint in Figure 3.27, which has a figurative curtain between the sender and the receiver, since the receiver cannot “see” the actions taken by the sender. All the receiver observes is the sequence of messages it receives from the channel and sends into the channel. As far as it is concerned, the two scenarios in Figure 3.27 are identical. There is no way of distinguishing the retransmission of the first packet from an original transmission of the fifth packet. Clearly, a window size that is 1 less than the size of the sequence number space won’t work. But how small must the window size be? A problem at the end of the chapter asks you to show that the window size must be less than or equal to half the size of the sequence number space for SR protocols.At the companion Web site, you will find an applet that animates the operation of the SR protocol. Try performing the same experiments that you did with the GBN applet. Do the results agree with what you expect?This completes our discussion of reliable data transfer protocols. We’ve covered a lot of ground and introduced numerous mechanisms that together provide for reli-able data transfer. Table 3.1 summarizes these mechanisms. Now that we have seen all of these mechanisms in operation and can see the “big picture,” we encourage you to review this section again to see how these mechanisms were incrementally added to cover increasingly complex (and realistic) models of the channel connecting the sender and receiver, or to improve the performance of the protocols.Hãy kết luận của chúng tôi thảo luận về dữ liệu đáng tin cậy chuyển giao thức bằng cách xem xét một giả định còn lại trong mô hình kênh cơ bản của chúng tôi. Nhớ lại rằng chúng tôi đã giả định rằng gói dữ liệu không thể được sắp xếp lại trong vòng eo giữa người gửi và người nhận. Điều này thường là một giả định hợp lý khi người gửi và nhận được kết nối bởi một dây vật lý duy nhất. Tuy nhiên, khi "kênh" kết nối hai là một mạng lưới, sắp xếp lại các gói có thể xảy ra. Một biểu hiện của gói sắp xếp lại là rằng các bản sao cũ của một gói với một số thứ tự hay sự thừa nhận của x có thể xuất hiện, mặc dù cả người gửi và người nhận cửa sổ chứa x. Với gói sắp xếp lại, các kênh có thể được nghĩ đến như là bản chất đệm gói và tự phát ra các gói dữ liệu tại bất kỳ điểm nào trong tương lai. Bởi vì số thứ tự có thể được tái sử dụng, một số chăm sóc phải được thực hiện để bảo vệ chống lại các gói dữ liệu trùng lặp. Phương pháp lấy trong thực tế là để đảm bảo rằng một số thứ tự không tái sử dụng cho đến khi người gửi là "chắc chắn" rằng bất kỳ trước đó gửi gói với chuỗi num-ber x là không còn trong mạng. Điều này được thực hiện giả định rằng một gói dữ liệu không thể "sống" trong mạng lâu hơn một số cố định số tiền tối đa thời gian. Người ta cho một đời maxi-mẹ gói của khoảng ba phút trong Tiện ích mở rộng TCP cho tốc độ cao mạng [RFC 1323]. [Nắng 1978] mô tả một phương pháp cho việc sử dụng các số thứ tự như vậy mà sắp xếp lại các vấn đề có thể hoàn toàn tránh được.
đang được dịch, vui lòng đợi..