Nghị định thư rdt2.1 sử dụng các báo nhận cả tích cực và tiêu cực từ người nhận cho người gửi. Khi một gói out-of-đơn hàng được nhận, người nhận sẽ gửi một xác nhận dương tính với các gói tin đã nhận được. Khi một gói tin bị hỏng được nhận, người nhận sẽ gửi một sự thừa nhận tiêu cực. Chúng tôi có thể thực hiện các tác dụng tương tự như một NAK nếu, thay vì gửi một NAK, chúng tôi gửi một ACK cho gói tin nhận được một cách chính xác nhất. Một người gửi nhận được hai ACK cho gói tin đó (có nghĩa là, nhận ACK trùng lặp) biết rằng người nhận không nhận được một cách chính xác các gói dưới đây các gói tin đang được ACKed hai lần. Giao thức truyền dữ liệu đáng tin cậy NAK-miễn phí của chúng tôi cho một kênh với các lỗi bit là rdt2.2, thể hiện trong hình 3.13 và
3.14. Một sự thay đổi tinh tế giữa rtdt2.1 và rdt2.2 là người nhận phải
bây giờ bao gồm số thứ tự của gói tin được công nhận bởi một ACK
nhắn (điều này được thực hiện bằng cách bao gồm các ACK, 0 hoặc ACK, 1 đối số trong make_pkt () trong nhận FSM), và người gửi bây giờ phải kiểm tra số thứ tự của gói tin được công nhận bởi một thông điệp ACK nhận (điều này được thực hiện bằng cách bao gồm các tham số 0 hoặc 1 trong isACK () trong FSM người gửi).
đang được dịch, vui lòng đợi..
