Tải bản đầy đủ (.pdf) (39 trang)

Kỹ Thuật Truyền Số Liệu Chương 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.6 MB, 39 trang )

CHƯƠNG 3
BẢO VỆ CHỐNG SAI TRONG
TRUYỀN SỐ LIỆU

GV: Th.s Lương Hoài Thương

1


Tổng quát






Mạng phải truyền dữ liệu một cách chính xác, nếu không bảo đảm
được tính năng này thì không sử dụng được.
Trong quá trình truyền thì bị tác động bởi nhiễu (điện, từ,…), nên hệ
thống cần có độ tin cậy tốt với cơ chế phát hiện và sửa lỗi.
Việc phát hiện và sửa lỗi được thiết lập ở lớp kết nối dữ liệu hay lớp
vận chuyển trong mô hình OSI.

GV: Th.s Lương Hoài Thương

2


Tổng qt
Bảo vệ chống sai trong truyền số liệu nhằm
 Bảo vệ thông tin phát đi để chống sai do đường dây gây nên. Để


giải quyết ta đặt giữa nguồn phát và thu một thiết bò mã hóa và giải
mã.
 Bảo mật: ta dùng những mã khóa đặc biệt mà chỉ có bên cần thu
biết khóa mã mới giải mã và thu được thông tin.


Tổng qt
Các thiết bò mã hóa và giải mã có hai loại :
 Loại thiết bò giải mã đơn giản chỉ phát hiện sai, mà không tự sửa
được sai, khi đó nó sẽ yêu cầu bên phát phát lại (ARQ)
 Loại thiết bò giải mã phát hiện sai và tự sửa sai một hoặc hai lỗi sai:
như mã khối tuyến tính, mã Hamming, mã vòng,…


Lỗi


Quá trình phát hiện sai


Parity dò 1 bit sai



Parity chẵn: (N + P) phải là một số chẵn
Parity lẻ: (N + P) phải là một số lẻ





N: tổng số bit 1 có trong dữ liệu cần kiểm
tra lỗi
P: giá trị của bit parity, là 0 hay 1 sao cho
tổng số bit 1 (N+P) luôn là một số chẵn
(lẻ) tùy theo phương pháp parity chẵn hay
lẻ tương ứng
Data
( ASCII )
h
e

B1
1
1

B2
0
0

B3
0
0

Data
B4
0
0

B5
0

0

B6
1
0

B7
1
1

Parity bit
(odd )
0
1



Parity dò 2 bit sai


Để dò ra 2 bit sai => thực hiện đồng thời phép kiểm tra parity tại bít
chẳn và bit lẽ


Parity dò một chuỗi bit sai


Kiểm tra khối – BSC (Block Sum Check)
Sử dụng parity hàng và cột
Data

H
E
L
L
O
BCC
(odd)

Start
1
1
1
1
1
1

B1
0
1
0
0
1
1

B2
0
0
1
1
1

0

B3
0
0
0
0
0
1

Data
B4
0
0
0
0
0
1

B5
0
0
0
0
0
1

B6
0
0

0
0
0
1

B7
1
1
1
1
1
0

Parity
(even)
1
0
0
0
1
1

Stop
0
0
0
0
0
0


Dò tìm được tất cả các lỗi sai một số lẻ bit và hầu hết các lỗi sai một số chẵn bit.
Không dò được lỗi sai một số chẵn bit xảy ra đồng thời trên cả hàng và cột.


Kiểm tra dư thừa theo chu kỳ - CRC Cyclic Redundancy Check


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 (k+n 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
• Cộng nhị phân không nhớ
• Phép nhân 2^n thì dời số đó
sang trái n bit và thêm n bit 0
vao phải
• Phép trừ xem như phép
cộng


Xác định mã CRC dùng thuật toán Mod-2
Goi T = (k+n) bit là khung thông tin của dũ liệu phát, với n < k
M = k bit dữ liệu, k bit đầu tiên của T
F = n bit cua khung FCS, n bit cuối của T
P = (n+1) bit, số chia trong phép toán
Số T được tạo ra bằng cách dời số M sang trái n bit rồi cộng với
số F : T = 2nM + F

Chia số 2nM cho P ta được :
Phép chia số nhị phân nên số dư luôn nhỏ hơn số chia 1 bit nên
lấy số dư này thay cho F: T = 2nM + R


CRC


Ví dụ 2 – tìm mã CRC
Cho
M = 1010001101 (10 bit)
P = 110101
(6 bit)


Dùng phép biễu diễn đa thức


Dùng phép biễu diễn đa thức


Phát hiện lỗi mã CRC


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


Error=nghịch đảo bit Tr = T + E




T: frame được truyền
Tr: frame nhận được
E: error pattern với 1 tại những vị trí lỗi xảy ra



Error không bị phát hiện if Tr chia hết cho P



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 có ít nhất 3 toán hạng
Một số lẻ lỗi bất kỳ nếu P 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 chiều dài FCS
Hầu hết các lỗi chùm lớn hơn


Một số đa thức sinh thông dung


4 P được sử dụng rộng rãi


CRC-12 = X12 + X11 + X3 + X2 + X + 1





CRC-16 = X16 + X15 + X2 + 1







16-bit FCS

8-bit characters

US

CRC-CCITT = X16 + X12 + X5 +1




12-bit FCS
6-bit characters

Europe

CRC-32 = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4
+ X2 + X + 1



32-bit FCS
Point-point synchronous transmission, DoD apps


Mạch tạo mã CRC

Message

+

+


FCS0
P1

+

E

+

FCS1
P2

X

+

Pn - 2

X

D

P = 111011

+

FCS2

C


+

+

FCSn - 2
Pn - 1

X

B

FCSn - 1

X

+

A


Kiểm tra lổi trên mạch thiết kế
M=1010001101
P=110101
1

A

B


C

D

E

Initial

0

0

0

0

0

Step 1

0

0

0

0

1


1

Step 2

0

0

0

1

0

0

Step 3

0

0

1

0

1

1


Step 4

0

1

0

1

0

0

Step 5

1

0

1

0

0

0

Step 6


1

1

1

0

1

0

Step 7

0

1

1

1

0

1

Step 8

1


1

1

0

1

1

Step 9

0

1

1

1

1

0

B

Step 10

1


1

1

1

1

1

Step 11

0

1

0

1

1

0

+

Step 12

1


0

1

1

0

0

Step 13

1

1

0

0

1

0

Step 14

0

0


1

1

1

0

Step 15

0

1

1

1

0

0

+
E
D

x2

+
C


x4
x5

A

1010001101

FCS = 01110

Input


Bộ tạo CHECKSUM
Bên phát thực hiện các bước như sau
 Bộ tạo checksum sẽ chia dữ liệu thành k phần, mỗi phần n bit
(8, 16).
 Các phân đoạn này được cộng lại.
 Lấy bù 1 của kết quả cộng. Giá trị này được gắn vào đuôi của
dữ liệu gốc và được gọi là trường checksum.
 Checksum được truyền cùng với dữ liệu.


Bộ tạo CHECKSUM


Bộ tạo CHECKSUM
Máy thu thực hiện các bước như sau
 Bộ kiểm tra checksum sẽ chia các đơn vị dữ liệu thành k phần
mỗi phần n bit

 Cộng các phần trên, được tổng (Sum).
 Lấy bù 1 của tổng.
 Nếu kết qủa lấy bù là zêrô thì dữ liệu thu không bị sai, nguợc lại
dữ liệu bị sai.


Bộ tạo CHECKSUM


×