Selective repeat ARQ ngầm định.

Một phần của tài liệu truyền số liệu trong mạng chuyển mạch gói. một số bài toán ứng dụng (Trang 39 - 42)

N+4N+1 N+1 N+1 N+1 N N N N

danh s¸ch truyÒn l¹i

danh s¸ch thu N+5 N+1 N+4 N+3 N+4 N+3 N+2 ra khái tr¹ng th¸i truyÒn l¹i truyÒn l¹i

trôc thêi gian I(N+5) I(N+1) I(N+4) I(N+3) I(N+2) I(N) I(N+5) I(N+1) I(N+4) I(N+3) V(S) N+5 N N+1 N+1 N+1 N+1 N+1 N+5 N+5] N+4 N+3 N+2 N+1 N I(N+2) I(N+1) I(N) néi dung V(R) néi dung ACK( N+1) ACK( N+2) ACK( N+3) ACK( N+4) ACK( N+1) I(N +5) I(N +3) I(N+4) I(N+1) I(N +2) I(N +1) I(N) PhÝa thu PhÝa ph¸t N+3 N+4 N+2 N+4 N+3 N+2 N+3 N+2 N+2 N+2 N+2 N N+3 N N+1 vµo tr¹ng th¸i

Hình 2.14: Hoạt động của Selective RQ ngầm định với gói tin bị hỏng.

Trong RQ liên tục các gói tin được truyền một cách liên tục mà không đợi gói tin xác báo (ACK) trả về. Vì có nhiều gói tin đang đợi báo nhận nên phía phát vẫn giữ những gói tin đó trong danh sách truyền lại, danh sách này hoạt động theo nguyên tắc hàng đợi FIFO (First In First Out). Để thực hiện điều này phía phát sử dụng một biến tuần tự V(S), nó chỉ ra chỉ số tuần tự N(S) được phân phối vào gói tin kế tiếp sẽ được truyền. Tương tự như vậy phía thu cũng duy trì một biến tuần tự thu V(R), nó chỉ ra gói tin kế tiếp đang mong đợi được nhận. Việc sử dụng các biến tuần tự cho phép mỗi gói tin chứa một danh định duy nhất, danh định này cũng được gửi về trong gói xác báo (ACK) tương ứng. Trong RQ liên tục trường hợp không có lỗi truyền, cứ mỗi gói tin gửi đi từ phía phát, phía thu sẽ phúc đáp bằng một gói tin xác báo (ACK). Khi nhận được gói tin ACK không lỗi, phía phát sẽ biết rằng gói tin phát đi đã được thu tốt ở phía thu và nhờ vào chỉ số tuần tự gửi kèm theo gói xác báo ACK nó loại bỏ gói tin tương ứng ra khỏi danh sách truyền.

Giống như lược đồ RQ dừng và đợi, phía thu sẽ phúc đáp một gói tin ACK cho mỗi gói tin được nhận tốt trước đó. Giả sử gói tin I(N+1) bị hỏng, phía thu phúc đáp một gói tin ACK cho các gói tin I(N), I(N+2), I(N+3)… Sau khi nhận gói tin ACK(N+2), phía phát phát hiện ra gói tin I(N+1) đã không được báo nhận. Để chấp nhận khả năng có nhiều hơn một gói tin đang bị hỏng, khi phát hiện một gói tin không có báo nhận phía phát chuyển vào trạng thái truyền lại. Ở trạng thái này, việc truyền gói tin mới bị hoãn lại cho đến khi tất cả các gói tin không được báo nhận đều đã được truyền lại. Phía thu xóa gói tin I(N+2) ra khỏi danh sách truyền lại vì đã nhận được gói tin ACK tương ứng đồng thời thực hiện truyền lại gói tin I(N+1) trước khi truyền gói tin I(N+5). Khi nhận được gói tin I(N+1) phía thu sẽ phúc đáp ACK(N+1) cho phía phát để xóa gói tin I(N+1) ra khỏi danh sách truyền. Trong tuần tự truyền gói tin trên, phía phát và phía thu đều sử dụng các biến tuần tự V(S), V(R) nhờ các biến tuần tự này nội dung các gói tin sẽ được xếp hàng trong danh sách liên kết nhận được phía thu phân phối đến lớp phía trên theo đúng tuần tự.

N+3N+3 N N+3 N N+2 N+2 N+1 N+1 N N N N gãi tin bÞ háng ACK( N+1) N+3 vµo tr¹ng th¸i N+1 N N N+2 N+3 N+2 phÝa ph¸t phÝa thu

I(N) I(N+1) I(N+2) I(N I(N) +2) I(N I(N) +3) ACK( N+4) ACK( N+3) ACK( N+2) ACK( N) néi dung V(R) néi dung I(N) I(N+1) I(N+2)

N N+1 N+2 N+3 N+4 N+4 N+4 N+4 N+3 N+2 N+1 N N+4 V(S) I(N+3) I(N)

I(N) I(N+1) I(N+2) I(N+3) I(N)

trôc thêi gian truyÒn l¹i ra khái tr¹ng th¸itruyÒn l¹i

N+1

danh s¸ch thu danh s¸ch truyÒn l¹i

Trong trường hợp có lỗi xảy ra do gói tin xác báo (ACK) bị lỗi (giả sử các gói tin được nhận đúng hoàn toàn tại phía thu). Trường hợp này ACK(N) bị hỏng, khi nhận được gói xác báo ACK(N+1) phía phát thấy rằng gói tin I(N) vẫn chờ báo nhận và do đó truyền lại gói tin đó. Khi nhận được gói tin I(N) nhờ biến tuần tự phía thu xác định gói này này đã được nhận tốt, nó loại bỏ gói tin mới nhận này nhưng vẫn gửi báo gói tin báo nhận (gói tin ACK) để báo nhận cho phía phát nhằm xóa gói tin I(N) khỏi danh sách phát lại.

Một phần của tài liệu truyền số liệu trong mạng chuyển mạch gói. một số bài toán ứng dụng (Trang 39 - 42)