a. Kh ia > 1 b Kh ia < 1 Hình 5.5 Ph-ơng thức dừng và đợ
5.3 Kiểm soát lỗ
Kiểm soát lỗi là cơ chế phát hiện và sửa lỗi xẩy ra trong khi truyền các Frame. Có một số tr-ờng hợp xẩy ra:
• Mất Frame: Frame do trạm A gửi song không tới đ-ợc trạm B. Do nhiễu tạp hay nhiều nguyên nhân, trạm B không hề biết đã có Frame gửi cho mình.
Ch-ơng 5: điều khiển liên kết dữ liệu 113 Cơ chế kiểm soát lỗi dựa trên một số hoạt động sau:
• Phát hiện lỗi: Dùng mã phát hiện lỗi nh- mô tả trong ch-ơng 4, phổ biến nhất là mã CRC
• Phúc đáp d-ơng ACK: Trạm nhận gửi trả một phúc đáp ACK để báo rằng đã thu tốt Frame khơng bị lỗi.
• Tự phát lại sau một thời gian đã định: Trạm nguồn sẽ tự phát lại Frame đã gửi nếu không nhận đ-ợc phúc đáp sau một thời gian đã định.
• Phúc đáp âm NAK (phúc đáp phủ định) và phát lại: Trạm nhận gửi trả lại một phúc đáp âm để báo rằng đã phát hiện lỗi trong Frame mà nó nhận đ-ợc, qua đó yêu cầu trạm nguồn phát lại Frame này.
Cơ chế này đ-ợc gọi chung là Tự đơng u cầu phát lại ARQ. Có 3 ph-ơng án cơ bản:
• ARQ dừng và đợi
• ARQ ng-ợc lại N
• ARQ phát lại chọn lọc.
Nguyên tắc hoạt động của chúng mô tả trên hình 5.8, 5.9 và 5.10 trong đó hàng trên mơ tả trạm nguồn phát, hàng d-ới mô tả trạm nhận.
ARQ dừng và đợi:
ARQ dừng và đợi dựa trên ph-ơng thức điều khiển luồng dừng và đợi đã trình bầy ở phần tr-ớc. Trạm nguồn phát một khung đơn sau đó bắt buộc phải chờ phúc đáp ACK. Khơng có khung dữ liệu nào đ-ợc phát đi tr-ớc khi trạm nguồn thu đ-ợc bản phúc đáp phản hồi từ trạm nhận.
Khi Frame dữ liệu truyền qua đ-ờng truyền bị lỗi, máy thu sẽ phát hiện sai lỗi, xố khơng nhận Frame này và phát phúc đáp NAK để báo cho trạm nguồn phát lại. Do đó, trạm nguồn phải l-u một bản sao của Frame đã phát cho tới khi nhận đ-ợc ACK trả lời. Nhằm phòng tr-ờng hợp đầu thu không hề nhận đ-ợc Frame dữ liệu nên không phát phúc đáp, hay phúc đáp bị lỗi trên đ-ờng phản hồi, cần phải đặt một thời gian ng-ỡng (Timeout) để khi quá thời gian này mà ch-a nhận đ-ợc trả lời, trạm nguồn sẽ tự phát lại Frame đã gửi.
114 Ch-ơng 5: điều khiển liên kết dữ liệu
Nếu do phúc đáp trả lời bị sai hỏng, có thể xẩy ra tr-ờng hợp đầu thu nhận đúp 2 lần cùng một Frame tin. Để tránh nhầm lẫn, các Frame đ-ợc gắn nhãn luân phiên 0 và1. Các phúc đáp cũng có nhãn t-ơng ứng: ACK0 (ACK1) báo rằng đã thu tốt Frame nhãn 1 (nhãn 0) và sẵn sàng thu Frame nhãn 0 (nhãn 1) tiếp sau.
0 1 0 0 0 1
0 1 E 0 0
Xố Frame trùng
Hình 5.8 ARQ dừng và đợi
Ưu điểm của ARQ dừng và đợi là đơn giản, song hiệu suất thấp nh- ta đã phân tích trong các phần tr-ớc.
ARQ ng-ợc lại n (ARQ Go back n).
Trong kỹ thuật ARQ ng-ợc lại n, trạm nguồn phát đi chuỗi các Frame xác định bởi kích th-ớc của sổ trong ph-ơng thức điều khiển luồng theo của sổ tr-ợt. Khi khơng có sai lỗi, trạm nhận sẽ phát trả lại các phúc đáp ACK nh- th-ờng lệ.
0 1 2 3 4 5 2 3 4 5 6 7 0
0 1 E 2 3 4 5 6
Hình 5.9 ARQ ng-ợc lại n
ACK1 ACK0 NAK ACK1 ACK1
Timeout ACK 2 NAK 2 ACK 4 ACK 1 ACK 6 ACK 5 ACK 3 Các khung bị bỏ qua Lỗi
Ch-ơng 5: điều khiển liên kết dữ liệu 115 Giả thiết trạm A là trạm gửi và trạm B là trạm nhận. Với ARQ ng-ợc lại N, khơng địi hỏi phải phát ACK cho từng Frame riêng lẻ. Ví dụ A phát 4 Frame 0, 1, 2 và 3. B phát trả lời ACK 1 sau khi thu Frame 0, song có thể khơng cần trả lời cho Frameme 1 và 2 mà sau khi thu Frame 3, nó mới phát ACK4 để báo đã thu tốt Frame 3 và các Frame tr-ớc đó.
Những h- hỏng sau có thể xẩy ra:
• Frame truyền bị lỗi hay thất lạc:
✓ A phát Frame i, B phát hiện sai lỗi và đã thu tốt các Frame tới Frame (i- 1). B phát NAK i để báo đã loại bỏ Frame i. Khi thu đ-ợc NAK này, A phải phát lại Frame i và tất cả các Frame đã phát kể từ Frame i đó.
✓ Frame i bị mất trong khi truyền, B không thu đ-ợc Frame i song thu đ-ợc Frame (i+1) không đúng thứ tự. B cũng phát phúc đáp NAK i.
✓ Frame i bị mất trong khi truyền và A không gửi tiếp các Frame sau. B không thu đ-ợc Frame và không đáp trả. Quá thời gian ng-ỡng Timeout, A phát lại Frame i
• Sai lạc ACK: B thu đ-ợc Frame i và gửi ACK(i+1) song bị mất. Do ACK có tính tích luỹ, nên nếu ch-a v-ợt q thời gian ng-ỡng Timeout mà A đã nhận đ-ợc ACK cho một Frame sau đó thì đ-ơng nhiên Frame i đã đ-ợc xác định là thu tốt. Nếu quá thời gian ng-ỡng, A phát lại Frame i và các Frame sau đó.
• Hỏng NAK: Nếu NAK mất, A sẽ đợi hết thời gian ng-ỡng Timeout và phát lại kể từ Frame t-ơng ứng.
ARQ phát lại chọn lọc:
Với ARQ phát lại chọn lọc, chỉ có các Frame sai mới phải phát lại nh- minh hoạ trên hình 5.10. Điều này làm tăng hiệu suất do tối thiểu việc phát lại.
Song ARQ phát lại chọn lọc phức tạp hơn đáng kể so với 2 ph-ơng thức trình bầy tr-ớc đó. Đầu thu phải ghi đệm lại các Frame sau Frame bị lỗi cho tới khi Frame này đã đ-ợc phát lại, điều khiển chèn nó vào đúng trình tự của dẫy. Phía phát cũng phức tạp hơn đáng kể, do phải có khả năng phát các Frame khơng theo trình tự định sẵn. Vì những lý do trên, ARQ phát lại chọn lọc hiện ch-a thực sự đ-ợc phổ biến rộng rãi.
116 Ch-ơng 5: điều khiển liên kết dữ liệu
0 1 2 3 4 5 2 6 7 0
0 1 E 3 4 5 2 6
Hình 5.10 ARQ phát lại chọn lọc