2008
dce
©2008, Dr. Dinh Duc Anh Vu
10
Data Communication and Computer Networks
Cơ chế
phát hiện lỗi
2008
dce
©2008, Dr. Dinh Duc Anh Vu
11
Data Communication and Computer Networks
Phát hiện lỗi bằng bit parity
•
1 bit parity được thêm
vào 1 khối dữ
liệu cần
truyền đi
•
Bit parity
–
Parity chẵn: tổng số
bit 1
có
trong khối dữ
liệu, kể
cả
bit parity, là
số
chẵn
–
Parity lẻ: tổng số
bit 1 có
trong khối dữ
liệu, kể
cả
bit parity, là
số
lẻ
D a t aD a t a
( ASCII )
B0 B1 B2 B3 B4 B5 B6
Parity bit
(odd )
h 0 0 0 1 0 1 1 0
e
0 1 0 1 0 1 1 1
2008
dce
©2008, Dr. Dinh Duc Anh Vu
12
Data Communication and Computer Networks
Parity
•
Đặc điểm
–
Chỉ dò được lỗi sai một
số
lẻ bit, không dò được
lỗi sai một số
chẵn bit
–
Không sửa được lỗi
–
Ít được dùng trong truyền
dữ
liệu đi xa, đặc biệt ở
tốc độ
cao
2008
dce
©2008, Dr. Dinh Duc Anh Vu
15
Data Communication and Computer Networks
Cyclic Redundancy Check (CRC)
•
Nguyên lý
–
k-bit message
–
Bên phát tạo ra chuỗi n bit FCS (Frame Check Sequence)
sao cho frame gởi đi (n+k bit) chia hết cho 1 số
xác định
trước
–
Bên thu chia frame nhận được cho cùng 1 số
và
nếu
không có
phần dư thì
có
khả năng không có
lỗi
•
Số
học modulo 2
–
Exlusive-or
1010
0101-
1111
1 1 0 0 1
x 1 1
1 1 0 0 1
1 1 0 0 1
1 0 1 0 1 1
1010
0101+
1111
2008
dce
©2008, Dr. Dinh Duc Anh Vu
16
Data Communication and Computer Networks
CRC –
dùng số
học
•
Xác định FCS
–
T: frame được truyền (k+n bit)
–
D: message, dữ
liệu cần truyền (k bit đầu của T)
–
F: FCS (n bit sau của T)
–
P: số chia được xác định trước (n+1 bit)
–
Giả
sử
–
Suy ra nếu lấythìT chia hết P
•
Kiểm tra lại?
P
R
Q
P
D
n
2
FD
n
2 T
R
F
2008
dce
©2008, Dr. Dinh Duc Anh Vu
17
Data Communication and Computer Networks
CRC –
dùng số
học
•
Ví
dụ:
•
D = 1010001101 (10 bit)
•
P = 110101 (6 bit)
•
F =? (? bit)
n = 6-1 = 5 bit, k = 10 bit, n+k = 15 bit
Đáp số: F = 01110
Dữ
liệu T = 101000110101110
2008
dce
©2008, Dr. Dinh Duc Anh Vu
18
Data Communication and Computer Networks
CRC –
dùng số
học
•
Số
chia P
–
Dài hơn 1 bit so với FCS mong muốn
–
Được chọn tùy thuộc vào loại lỗi mong muốn phát hiện
–
Yêu cầu tối thiểu: msb và
lsb phải là
1
•
Biểu diễn lỗi
–
Lỗi = nghịch đảo bit (i.e. xor của bit đóvới 1)
T
r
= T + E
•
T: frame được truyền
•
T
r
: frame nhận được
•
E: error pattern với 1 tại những vị
trí
lỗi xảy ra
–
Nếu có
lỗi xảy ra (E ≠
0) thì
bộ
thu không phát hiện ra lỗi
đó
khi và
chỉ
khi T
r
chia hết cho P, nghĩa là
E chia hết cho
P khócókhả năng xảy ra
2008
dce
©2008, Dr. Dinh Duc Anh Vu
19
Data Communication and Computer Networks
CRC –
dùng đa thức
•
Cách khác để
xác định FCS: đa thức
D=110011 D(x) = x
5
+x
4
+x+1
P=11001 P(x) = x
4
+x
3
+1
•
Ví
dụ
–
Dữ
liệu cần truyền: 1001001 (k = 7 bits) đa thức biểu diễn:
D(x) = x
6
+ x
3
+ 1
–
Cho đa thức sinh: P(x) =x
3
+ 1 (n = 3 bits)
–
Dữ
liệu D dịch trái n bits:
x
n
D(x) = X9 + X6 + X3
–
FCS = 001
–
Dữ
liệu T được truyền: 1001001001
2008
dce
©2008, Dr. Dinh Duc Anh Vu
20
Data Communication and Computer Networks
Cyclic Redundancy Check
•
Các lỗi được phát hiện
–
Tất cả
các lỗi bit đơn
–
Tất cả
các lỗi kép nếu P(x) có
ít nhất 3 toán hạng
–
Một số
lẻ
lỗi bất kỳ
nếu P(x) chứa 1 thừa số
(x+1)
–
Bất kỳ
lỗi chùm nào mà
chiều dài của chùm nhỏ
hơn hoặc bằng chiều dài FCS
–
Hầu hết các lỗi chùm lớn hơn
•
CRC là
một trong những phương pháp thông
dụng và
hiệu quả
nhất để
phát hiện lỗi