Kỹ thuật VRC

Một phần của tài liệu Giáo Trình Truyền Thông Mạng Máy Tính, Mô Hình OSI (Trang 70 - 72)

DÒ TÌM VÀ SỬA LỖ

9.3Kỹ thuật VRC

Cơ chế phổ biến và chi phí ít nhất cho dò tìm lỗi là kỹ thuật VRC, thường được gọi là kiểm tra chẵn lẻ. Trong kỹ thuật này, một bit dư thừa được gọi là bit chẵn lẻ được ghép vào mọi đơn vị dữ liệu sao cho tổng số các bit 1 trong đơn vị dữ liệu đó (bao gồm cả bit chẵn lẻ) trở thành chẵn.

Giả sử chúng ta muốn truyền một đơn vị dữ liệu nhị phần 1100001 [ theo mã ASCII là a (97)]; xem hình 9.6. Chúng ta thấy rằng số bít 1 trong đơn vị dữ liệu là một số lẻ (3) nên chúng ta truyền nó qua một bộ sinh chẵn lẻ. Bộ sinh chẵn lẻ đếm các số 1 và ghép thêm bit chẵn lẻ (trong trường hợp này là một bit 1) vào cuối. Tổng số các bit một giờ là 4 và là số chẵn. Giờ hệ thống thực hiện truyền toàn bộ đơn vị dữ liệu được mở rộng đó qua đường truyền mạng. Khi nó đến được đích của nó, bên nhận thực hiện chuyển toàn bộ 8 bit đó qua một bộ phận có chức năng kiểm tra tính chẵn lẻ. Nếu bên nhận thấy 11100001, nó đếm bốn số 1, một số chẵn, đơn vị dữ liệu được qua. Nhưng nếu đơn vị dữ liệu bị hưu hại trong quá trình truyền thì sao? Sẽ ra sao thay vào đó đơn vị dữ liệu nhận được không phải là 11100001 mà là 11100101? Khi đó bộ phận kiểm tra chẵn lẻ đếm số các số 1, nó đếm được 5 số 1 và đó là một số lẻ. Bên nhận biết rằng lỗi đó phát sinh trong dữ liệu ở đó đó và do đó thực hiện loại bỏ toàn bộ đơn vị dữ liệu đó.

Trong kỹ thuật VRC, một bit chẵn lẻ được bổ sung vào tất cả các đơn vị dữ liệu sao cho tổng số bit 1 trong đơn vị dữ liệu trở thành một số chẵn.

Hình 9.6 Khái niệm về kỹ thuật kiểm tra chẵn lẻ VRC

Chú ý rằng để cho đơn giản, chúng ta chỉ bản luận về kiểm tra chẵn lẻ ở đó số các bít 1 sẽ là một số chẵn. Trong một vài hệ thống có thể sử dụng kiểm tra tính lẽ chẵn (odd parity). Nguyên tắc thì giống nhau nhưng việc tính toán thì khác nhau.

Ví dụ 9.1

Hình dung rằng bên gửi muốn gửi từ “world” bằng mã ASCII, 5 ký tự này sẽ tạo thành chuỗi mã nhị phân sau:

1110111 1101111 1110010 1101100 1100100

W o r l d

4 ký tự đầu tiên được mã hóa thành chuỗi dãy các bit có tổng số bit 1 là chẵn, vì vậy bit chẵn lẻ là 0. Tuy nhiên ký tự cuối cùng “d” có số bit 1 là 3 (một số lẻ), vì vậy bit chẵn lẻ là 1 vì vậy nó được bổ sung vào dãy bit để tổng số bit trong dãy bit là một số chẵn. Dưới đây thể hiện các bit thực sự được gửi (các bit chẵn lẻ được gạch chân)

1110111 1101111 1110010 1101100 11001001

Ví dụ 9.2

Giả sử chúng ta có từ “world” trong ví dụ trước, nhận được bởi bên nhận và không bị lỗi trong quá trình truyền

1110111 1101111 1110010 1101100 11001001

Bên nhận đếm số các bit một trong từng ký tự và cuối cùng đếm được toàn bộ là các số chẵn (6, 6 ,4 ,4 , 4). Dữ liệu được chấp nhận.

Ví dụ 9.3

Giờ giả sử rằng chúng ta có từ “world” như trong ví dụ 9.1, nhận được bởi bên nhận những bị lỗi trong quá trình truyền.

1111111 1101111 1110010 1101100 11001001

Bên nhận đếm số các bit một trong từng ký tự và kết quả được các số chẵn và số lẻ (7, 6, 4, 4, 4). Bên nhận biết rằng dữ liệu đã bị lỗi, loại bỏ chúng và yêu cầu việc truyền lại.

Hiệu quả của kỹ thuật VRC

VRC có thể dò tìm tất cả các lỗi bit đơn. Nó cũng có thể do tìm các lỗi hàng loạt bit miễn là tổng số các bit thay đổi luôn là số lẻ ( 1, 3, 5…). Chúng ta hãy lấy ví dụ một đơn vị dữ liệu chẵn lẻ ở đó tổng số các bit 1 bao gồm bit kiểm tra chẵn lẻ là 6: 1000111011. Nếu bất kỳ 3 bit nào thay đổi giá trị, kết quả chẵn lẻ sẽ là lẻ và lỗi sẽ được dò tìm: 1111111011: 9, 0110111011:7, 1100010011:5. Bộ kiểm tra VRC sẽ trả về một kết quả là 1 và đơn vị dữ liệu bị loại bỏ. Điều này cũng đúng đối với bất kỳ lỗi kiểu bit lẻ nào.

Tuy nhiên, giả sử có 2 bit của đơn vị dữ liệu bị thay đổi: 1110111011:8, 1100011011:6, 1000011010:4. Trong mỗi trường hợp số các bit 1 trong đơn vị dữ liệu vẫn luôn là chẵn. Bộ kiểm tra VRC không thể dò tìm khi tổng số các bit bị thay đổi là chẵn. Nếu bất kỳ hai bit nào thay đổi trong truyền dẫn, những thay đổi này loại bỏ lẫn nhau và đơn vị dữ liệu vẫn qua được kiểm tra tính chẵn lẻ thậm chí đơn vị dữ liệu bị hư hại. Điều này cùng đúng đối với bất kỳ lỗi số chẵn nào.

VRC có thể dò tìm mọi kiểu lỗi đơn. Nó có thể dò tìm các lỗi loạt bit khi và chỉ khi tổng số các lỗi trong mỗi đơn vị dữ liệu là lẻ.

Một phần của tài liệu Giáo Trình Truyền Thông Mạng Máy Tính, Mô Hình OSI (Trang 70 - 72)