Bài giảng Bảo toàn dữ liệu

Phân loại lỗi —Lỗi phát hiện ₫ược, không sửa ₫ược —Lỗi phát hiện ₫ược nhưng sửa ₫ược, và —Lỗi không phát hiện ₫ược. ƒ Giải pháp —Giải pháp phần cứng —Giải pháp phần mềm (xử lý giao thức) => Bảo toàn dữ liệu ƒ Phát hiện lỗi là vấn ₫ề quan trọng hàng ₫ầu! ƒ Nguyên lý cơ bản: Bổsung thông tin dự trữ (redundancy) phục vụ kiểm soát lỗi

pdf18 trang | Chia sẻ: haohao89 | Lượt xem: 3345 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài giảng Bảo toàn dữ liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
©2 0 0 4 , H O À N G M I N H S Ơ N C h ư ơ n g 1 Hệ thống thông tin công nghiệp 1/20/2006 4.4 Bảo toàn dữ liệu 2© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS 4.4 Bảo toàn dữ liệu 1. Vấn ₫ề bảo toàn dữ liệu 2. Phương pháp bit chẵn lẻ 3. Bit chẵn lẻ hai chiều 4. Mã vòng (CRC) 5. Nhồi bit 3© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS 1. Vấn ₫ề bảo toàn dữ liệu ƒ Phân loại lỗi — Lỗi phát hiện ₫ược, không sửa ₫ược — Lỗi phát hiện ₫ược nhưng sửa ₫ược, và — Lỗi không phát hiện ₫ược. ƒ Giải pháp — Giải pháp phần cứng — Giải pháp phần mềm (xử lý giao thức) => Bảo toàn dữ liệu ƒ Phát hiện lỗi là vấn ₫ề quan trọng hàng ₫ầu! ƒ Nguyên lý cơ bản: Bổ sung thông tin dự trữ (redundancy) phục vụ kiểm soát lỗi 4© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Các vấn ₫ề cần xem xét ƒ Chiều dài thông tin kiểm soát lỗi? — Dài hay ngắn thì tốt? — Tỉ lệ so với lượng thông tin ban ₫ầu? ƒ Thuật toán xác ₫ịnh thông tin kiểm soát lỗi? ƒ Biện pháp kiểm soát lỗi liên quan tới tính năng kỹ thuật nào? — Độ tin cậy — Hiệu suất sử dụng ₫ường truyền — Tính ₫ơn giản — Tính thời gian thực 5© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Một số khái niệm liên quan ƒ Tỉ lệ bit lỗi p là thước ₫o ₫ặc trưng cho ₫ộ nhiễu của kênh truyền dẫn, ₫ược tính bằng tỉ lệ giữa số bit bị lỗi trên tổng số bit ₫ược truyền ₫i. ƒ Tỉ lệ lỗi còn lại R là thông số ₫ặc trưng cho ₫ộ tin cậy dữ liệu của một hệ thống truyền thông, sau khi ₫ã thực hiện các biện pháp bảo toàn (kể cả truyền lại trong trường hợp phát hiện ra lỗi) ƒ Thời gian trung bình giữa hai lần lỗi TMTBF (MTBF = Mean Time Between Failures): TMTBF = n/(v*R) Ví dụ: Một bức ₫iện có chiều dài n = 100 bit ₫ược truyền liên tục với tốc ₫ộ 1200 bit/s R TMTBF 10-6 1 ngày 10-10 26 năm 10-14 260 000 năm 6© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS ƒ Khoảng cách Hamming: thông số ₫ặc trưng cho ₫ộ bền vững của một mã dữ liệu — chính là khả năng phát hiện lỗi của một phương pháp bảo toàn dữ liệu. — HD có giá trị bằng số lượng bit lỗi tối thiểu mà không ₫ảm bảo chắc chắn phát hiện ₫ược trong một bức ₫iện. Nếu trong một bức ₫iện chỉ có thể phát hiện một cách chắc chắn k bit bị lỗi, thì HD = k+1. ƒ Hiệu suất sử dụng ₫ường truyền E = m (1-p)n/n m - Số lượng bit dữ liệu trong mỗi bức ₫iện n - Chiều dài bức ₫iện p - Tỉ lệ bit lỗi ƒ Ví dụ 1: m = 8 bit n = 11 bit (1 bit ₫ầu + 8 bit dữ liệu + 1 bit chẵn lẻ+ 1 bit cuối) p = 10-3 Hiệu suất truyền dữ liệu E = 0,72. 7© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS 2. Bit chẵn lẻ (parity bit) ƒ Ví dụ dùng parity chẵn: Dãy bit nguyên bản: 1001101 Dãy bit gửi ₫i: 10011010 Giả sử nhận ₫ược 10111010 => Lỗi phát hiện ₫ược Giả sử nhận ₫ược 11111010 => Lỗi không phát hiện ₫ược ƒ Hai kiểu parity: — Parity chẵn: Tổng số bit 1 trong bức ₫iện cuối cùng phải chẵn — Parity lẻ: Tổng số bit 1 trong bức ₫iện cuối cùng phải lẻ ƒ Khoảng cách Hamming: 2 8© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Ví dụ: Khung UART ƒ UART (Universal Asynchronous Receiver/Transmitter) ₫ược sử dụng khá rộng rãi Start 0 1 2 3 4 5 6 7 P Stop 0 LSB MSB 1 9© 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS 3. Bit chẵn lẻ hai chiều (bảo toàn khối) 1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 0 1 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 1 0 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0 10 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Trường hợp xảy ra 1 lỗi 1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 1 1 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 1 0 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0 11 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Trường hợp xảy ra 3 lỗi 1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 1 0 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 0 1 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0 12 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Khoảng cách Hamming? 1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 1 0 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 0 1 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0 13 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS 4. Mã vòng (CRC) ƒ CRC (Cyclic Redundancy Check ): thông tin kiểm lỗi (ở ₫ây ₫ược gọi là checksum) phải ₫ược tính bằng một thuật toán thích hợp, trong ₫ó giá trị mỗi bit của thông tin nguồn ₫ều ₫ược tham gia nhiều lần vào quá trình tính toán. ƒ CRC ₫ược sử dụng rộng rãi trong ₫a số các hệ thống truyền thông CN ƒ CRC còn ₫ược gọi là phương pháp ₫a thức, bởi nó sử dụng phép chia ₫a thức (nhị phân) 14 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Phép chia ₫a thức (nhị phân) ƒ Đa thức nhị phân: các hệ số là 0 hoặc 1, ví dụ — G = x7 + x6 + x5 + (0x4 + 0x3) + x2 + (0x1) + 1 — Viết gọn lại thành một dãy bit G = {11100101} ƒ Phép chia ₫a thức nhị phân ₫ược qui về các phép so sánh, sao chép và XOR (hay trừ không có nhớ) 1 - 1 = 0 0 - 0 = 0 1 - 0 = 1 0 - 1 = 1 15 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Nguyên tắc thực hiện ƒ Hai bên qui ước một “₫a thức phát” G bậc n, ví dụ x3+x+1 tương ứng với dãy bit {1011}. ƒ Dãy bit mang thông tin nguồn I ₫ược thêm vào n bit 0 và coi như một ₫a thức nhị phân P. — Ví dụ thông tin nguồn là {110101} => {110101000} ƒ Lấy P chia cho G ƒ Phần dư R (lấy n chữ số) của phép chia ₫ược thay thế vào chỗ của n chữ 0 bổ sung trong P, tức là ta có D = P + R. R ₫ược gọi là checksum và D chính là dãy bit ₫ược gửi ₫i thay cho I. ƒ Giả sử dãy bit nhận ₫ược là D' không chia hết cho G => bức ₫iện chắc chắn bị lỗi. Nếu D' chia hết cho G, thì xác suất rất cao là bức ₫iện nhận ₫ược không có lỗi. 16 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Ví dụminh họa ƒ Thông tin cần truyền I = 110101, ₫a thức G = 1011 (tức x3 + x + 1) ƒ Thêm 3 bit 0 vào thông tin nguồn I, ta có P = 110101000 ƒ Chia ₫a thức P : G 110101000 1011 -1011 111101 01100 -1011 01111 -1011 01000 -1011 001100 -1011 0111 Phần dư R ƒ Dãy bit ₫ược chuyển ₫i: D = P + R = 110101111 ƒ Giả sử dữ liệu nhận ₫ược là D' = 110101111 ƒ Chia ₫a thức D' : G 110101111 : 1011 = 111101 Phần dư 0000 -> Xác suất rất cao là không có lỗi 17 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS 5. Nhồi bit (Bit stuffing) ƒ Nguyên tắc thực hiện: — Bên gửi: Nếu trong dữ liệu có n bits 1 ₫ứng liền nhau thì thêm một bit 0 vào ngay sau ₫ó. Như vậy trong dãy bit ₫ược chuyển ₫i không thể xuất hiện n+1 bits 1 ₫i liền nhau. — Bên nhận: Nếu phát hiện thấy n bits 1 liền nhau mà bit tiếp theo là 0 thì ₫ược tách ra, còn nếu là bit 1 thì dữ liệu chắc chắn bị lỗi. ƒ Ví dụ với n = 5 (như ở CAN-Bus): — Thông tin nguồn I = 0111111 — Thông tin gửi ₫i D = 01111101 — Nếu thông tin nhận ₫ược D' = 01111101, bên nhận có thể coi xác suất cao không có lỗi — Nếu thông tin nhận ₫ược D' = 11111101, qua mẫu bit ₫ặc biệt bên nhận sẽ phát hiện ra lỗi. 18 © 2 0 0 4 , H O À N G M I N H S Ơ N 4.4 Bảo toàn dữ liệu © 2005 - HMS Sử dụng phối hợp các biện pháp bảo toàn dữ liệu ƒ Ví dụ dãy bit ban ₫ầu ƒ Áp dụng CRC ƒ Phân chia thành từng byte ƒ Bổ sung bit chẵn lẻ và các bit ₫ầu, bit cuối 101011000......1011010 101011000......1011010 01001101 parity Checksum 10101100 11011010 01001101 01010110001 00101101011 00100110101 ... parity
Tài liệu liên quan