Phát hiện lỗi phương pháp Kiểm tra dư thừa vòng – Cyclic Redundancy Check (CRC) .Đây là 1 phương pháp phổ biến và có hiệu quả nhất trong việc phát hiện lỗi.
Cơ chế hoạt động: Cho 1 block hay 1 message gồm k bit,bên gửi sinh ra 1 chuỗi gồm n-k bit được gọi là chuỗi kiểm tra frame (Frame Check Sequence – FCS) như vạy sẽ tạo ra 1 frame gồm n bit và sau đó được chia bởi 1 các số đã xác định trước. Bên nhận sau đó cũng đem chia frame nhận được bởi các số này và nếu không có dư thì cho rằng không có lỗi. Phương pháp này được chia thành các loại như Modul 2, Đa thức và lô gic số học.
Phương pháp Modul 2: Sử dụng phép công không nhớ trong cơ số 2 hoặc phép trừ không nhỡ trong cơ số 2 (XOR)
Ví dụ:
1111 1111 11001
+1010 -0101 x11
0101 1010 11001
11001
101011
Khi đó:
T= 1 frame gồm n bit để truyền
D= 1 block hay 1 message gồm k bit, đây là k bit đầy tiên của T
F= FCS gồm n-k bit và là các bit cuối cùng của T
P là 1 mẫu gồm n-k+1 bit là số chia được xác định trước
Ta mong muốn rằng T/P không có dư
Thuật tóan được thực hiện như sau:
- Ban đầu ta gắn k bit 0 vào cuối D để được n bit
- Thực hiện phép chia lấy phần dư của n bit này cho mẫu P để tạo ra n-k bit của FCS
- Gắn k bit của số dư vào cuối của T để tạo thành 1 block và truyền
- Bên nhận sau khi nhận được block gồm n bit, thực hiện việc chia n bit này cho mẫu P, nếu kết quả chia không có dư thì khẳng định việc truyền là không bị lỗi
Ví dụ: Message D=1010001101(10 bits)
Pattern P=110101(6bits)
FSC R=Được tính gồm 5 bits
Do vậy: n=15, k=10, n-k=5
Từ k bits ban đầu ta có được 15 bits: 101000110100000
Thực hiện phép chia 15 bits này cho mẫu P (110101)
1101
/—————————————————————————
P=110101 10100011010000
110101
111011
110101
111010
110101
111110
110101
101100
110101
110010
110101
01110
Phần dư là 01110 Do đó ta có block 15 bits: 101000110101110 và được truyền đi. Bên nhận sau khi nhận được chuỗi bit thực hiện phép chia chuỗi bít này cho mẫu P nếu không có dư thì khẳng định không có lỗi, nếu có dư thì cho rằng đã có lỗi do đó có thể vứt bỏ block vừa nhận được và yêu cầu gửi lại.
Mẫu P được chọn sao cho dài hơn FSC 1 bit và mẫu bit được chọn phụ thuộc vào các loại lỗi có thể sảy ra, thông thường các bit cao và bit thấp phải được chọn bằng 1.
Phần mềm demo quá trình phát hiện lỗi dựa trên phương pháp module 2, do tác giả Phan Liêm viết:
Link tải file: https://ouo.io/gabLT9
link mediafire: https://svtb.com.vn/fw/46
Video demo cách sử dụng:
Mình lập blog này với mục đích lưu lại + chia sẻ các các kiến thức mình đã biết hoặc đang tìm hiểu. Cơ bản giúp ích cho mình 🙂 Nhưng hy vọng sẽ mang lại sự khởi đầu thuận lợi cho người mới bắt đầu!