Là một phương pháp điều khiển lỗi dựa trên cơ chế điều khiển luồng cửa sổ trượt.
Khi không có lỗi thì thao tác xử lý của nó giống hệt cửa sổ trượt. Tuy nhiên khi bên thu phát hiện lỗi:
- A phát frame i, B báo NAK frame i (các frame i-1 về trước truyền ok), thì dù trong lúc chờ phản hồi, bên A có phát đến frame i+n (n mấy chục, mấy trăm cũng mặc) thì nó vẫn phải truyền lại từ frame i trở đi.
- Frame i bị mất trong khi truyền, bên A truyền frame i-1 rồi nhảy cóc sang i+1 luôn thì bên B sẽ phát hiện, phát NAK bắt truyền lại.
- Frame i bị mất trong khi truyền, và bên A không truyền tiếp (có thể do bên B đã đầy bộ nhớ đệm hoặc truyền hết tin rồi), bên A sau 1 thời gian time out không thấy gì cũng sẽ phát lại frame i trở đi.
- ACK thứ i bị mất khi truyền lại, do nếu bên thu mà phát NAK thì sau đó nó sẽ không phát ACK tiếp mà đợi phản hồi, nên giả sử có mất ACK thứ i, vẫn thấy ACK thứ i+1 thì bên phát hiểu là vẫn truyền ok thôi.
- Nếu phát NAK bị lỗi, chờ không thấy gì (sau NAK bên thu sẽ đợi bên phát phát lại chứ không ACK xác nhận tiếp), bên phát không thấy gì, sau 1 thời gian time out sẽ phát lại khung i trở đi.
Đây là hình so sánh ARQ ngược lại n và ARQ phát lại chọn lọc (hiệu suất cao hơn nhưng phức tạp hơn).
1 nhận xét:
Hiệu suất Hiệu suất :((
Đăng nhận xét