Bài gi ng: Truy n s li u Ch ng 9: Phát hi n và s a l iươ
CH NG 9:ƯƠ
PHÁT HI N VÀ S A L I
Vi c phát hi n s a l i đ c thi t l p ượ ế l p k t n i d li u ế ho c l p v n
chuy n trong mô hình OSI.
9.1 CÁC D NG L I
Có 2 d ng l i: L i m t bit và l i nhi u bit (burst)
Errors
burst
Single-bit
+ L i m t bit: Ch m t bit b sai trong m t đ n v d li u (byte, t , đ n ơ ơ
v d li u, hay gói)
Ví d : thay đ i t 1 0 ho c t 0 1.
00000010 (STX: start of text) khi b sai 1 bit d li u nh n đ c ượ 00001010 (LF: line
feed)
01000000
0 thay đ i thành 1
01010000
nh ng i
L i m t bit ít xu t hi n trong ph ng th c truy n n i ti p. Th ng xu t hi n trongươ ế ườ
truy n song song.
+ L i b t: có hai ho c nhi u bit sai trong đ n v d li u. ơ
Nhi u b t không nghĩa là các bit b l i liên t c, chi u dài c a b t tính t bit sai
đ u tiên cho đ n bit sai cu i. M t s bit bên trong b t có th không b sai. ế
00100010 11000010
10111010 11000010
Received
Sent
Bits corrupted by burst error
Hình 3
Length of burst
error (5 bits)
Hình 9.1
Nhi u b t th ng xu t hi n trong truy n n i ti p. ườ ế
Biên d ch: Nguy n Vi t Hùng Trang 135
Bài gi ng: Truy n s li u Ch ng 9: Phát hi n và s a l iươ
9.2 PHÁT HI N L I
+ Mã th a (Redundancy)
Checking
function
Accept
Reject
101000000001010101010 1011101
Generating
function
101000000001010101010
1011101
Data
Redundancy check
Data & redundancy check
Receiver Sender
Hình 4
Ý t ng thêm các thông tin ph vào trong b n tin ch nh m m c đích giúpưở
ki m tra l i.
th a s đ c lo i b sau khi đã xác đ nh xong đ chính xác c a quá ượ
trình truy n.
Có b n d ng ki m tra l i c b n dùng mã th a trong truy n d li u: ơ
VRC (vertical redundancy check): ki m tra tính ch n l c a t ng bit ‘1’ trong
m t đ n v d li u.ơ
LRC (longitudinal redundancy check): ki m tra tính ch n l c a t ng các bit
‘1’ trong m t kh i.
CRC (cyclic redundancy check) : ki m tra chu kỳ d . ư
Checksum: ki m tra t ng.
Ba d ng đ u, VRC, LRC, CRC th ng đ c thi t l p trong l p v t đ dùng ườ ượ ế
trong l p k t n i d li u. D ng checksum th ng đ c dùng trong các l p trên. ế ườ ượ
Detection methods
ChecksumVRC CRC
LRC
9.3 VRC (ki m tra parity (ch n/l )
Thêm m t bit (0 ho c 1) vào đ n v d li u sao cho t ng s bit ‘1’ m t s ơ
ch n.
Đ c đi m: M t bit th a (bit parity) đ c g n thêm vào các đ n v d li u sao choượ ơ
t ng s bit ‘1’ trong đ n v d li u (bao g m bit parity) là m t s ch n (even). ơ
Gi s ta mu n truy n đ n v d li u nh phân ơ 1100001 [ASCII a (97)];
1100011 [ASCII là c (99)];
Ta th y t ng s bit 1 là 3 (a), t c là m t s l ; t ng s bit 1 là 4 (c), t c là m t
s ch n.
Tr c khi truy n, ta cho đ n v d li u qua b t o bit parity, đ g n thêm vàoướ ơ
đ n v d li u m t bit, làm t ng s bit 1 ơ là s ch n .
Biên d ch: Nguy n Vi t Hùng Trang 136
Bài gi ng: Truy n s li u Ch ng 9: Phát hi n và s a l iươ
H th ng truy n d li u v i parity bit này vào đ ng truy n: ườ 11000011,
11000110
Thi t b thu, sau khi nh n s đ a đ n v d li u sang hàm ki m tra parityế ư ơ
ch n.
N u d li u nh n đ c có t ng s bit 1 là s ch n thì ch p nh n.ế ượ
N u d li u nh n đ c có t ng s bit 1 là s l thì lo i toàn đ n v d li u.ế ượ ơ
Checking function
Is total number of 1s even?
Even-parity
generator
1100001 1
1100001
1
Data
Sender
Receiver
VRC
Hình 6
Hình 9.2
+ M ch t o bit Parity ch n (VRC):
Ví d : M ch t o bit VRC c a m t d li u 7 bit: 1100001
d0
d2
d3
d1
d5
d4
d6
VRC
0 1
1
1
1
1
0
0
00
1
1
1
+ M ch ki m tra bit Parity ch n (VRC):
Ví d : M ch ki m tra VRC c a m t d li u 8 bit: 1100001 1.
N u E=1 d li u sai, E=0 d li u đúng.ế
Biên d ch: Nguy n Vi t Hùng Trang 137
Bài gi ng: Truy n s li u Ch ng 9: Phát hi n và s a l iươ
E
R 1
R
12
D 1
L E D
12
1
1
1
1
0
0
0
0
0
1
0
0
0
0
0
Ví d 1:
Gi s ta mu n truy n t “world” trong ASCII, năm t này đ c hóa nh ượ ư
sau:
1110111 1101111 1110010 1101100 1100100
w o r l d
B n t đ u có s bit m t ch n, nên có bit parity 0, còn ký t cu is bit 1
là l nên có bit parity là 1 (các bit parity đ c g ch d i) ượ ướ
11101110 11011110 11100100 11011000 11001001
Ví d 2:
Gi s ký t t o đ c t Ví d 1 đ c máy thu nh n đ c nh sau: ượ ượ ượ ư
11101110 11011110 11100100 11011000 11001001
Máy thu đ m s bit 1 nh n ra s bit m t ch n l , phát hi n l i, nênế
lo i b n tin và yêu c u g i l i.
+ Hi u năng:
VRC có th phát hi n l i 1 bit .
Đ ng th i cũng th phát hi n các l i b t mà t ng s bit sai s l (1, 3,
5, v,v....)
Ví d :
1000111011,
- N u có ba bit thay đ i thì k t qu s là l và máy thu phát hi n ra đ c:ế ế ượ
1111111011: 9 0110 0111011:7
- Tr ng h p hai bit b l i: 1ườ 110111011:8 1100011011:6 1000011010:4
Máy thu không phát hi n đ c ra l i và ch p nh n. ượ
Biên d ch: Nguy n Vi t Hùng Trang 138
Bài gi ng: Truy n s li u Ch ng 9: Phát hi n và s a l iươ
9.4 LRC
LRCKi m tra m t kh i bit. Kh i bit đ c s p x p thành b ng (hàng và c t). ượ ế
+T o LRC:
Ví d : G i m t kh i có 32 bit
- S p x p d li u thành 4 hàng và 8 c t. ế
- Tìm bit VRC cho m i c t
- T o m t hàng m i g m 8 bit, đó là LRC
- G i kèm LRC vào cu i d li u.
11100111 11011101 00111001 10101001
11100111 11011101 00111001 10101001 10101010
11100111
11011101
00111001
10101001
10101010LRC
Hình 7
Original data plus LRC
Original data
+ Ki m tra LRC
Ví d : Thu m t kh i có 40 bit
- S p x p d li u nh n đ c thành 5 hàng và 8 c t (gi ng bên phát). ế ượ
- Tìm bit VRC cho m i c t, n u VRC b ng 1 thì d li u b sai. ế
- N u VRC c a m i c t b ng 0 thì d li u đúng.ế
- N u LRC bên thu là zêrô thì d li u đúng. Ng c l i d li u b sai.ế ươ
D li u đúng
11100111
11011101
00111001
10101001
10101010
LRC
Bên
thu
D li u nh n
11100111 11011101 00111001 10101001 10101010
00000000
Biên d ch: Nguy n Vi t Hùng Trang 139