Company nameCác loại mã trong truyền dữ liệu Nguyễn Tấn Vương:MÃ NHỊ PHÂN CỦA CÁC CHỮ SỐ; SỰ ĐỒNG BỘ Phạm Trường Vũ: CÁC MÃ PHÁT HIỆN LỖI Nguyễn Tấn Tựu: MÃ NÉN DỮ LiỆU... Company name T
Trang 1LOGO TRƯỜNG CAO ĐẲNG KỸ THUẬT
Khoa: ĐIỆN-ĐIỆN TỬ
Môn: KT TRUYỀN SỐ LIỆU
GVHD: Thầy TRẦN CÔNG TiẾN
Trang 2Company name
Các loại mã trong truyền dữ liệu
Nguyễn Tấn Vương:MÃ NHỊ PHÂN CỦA CÁC CHỮ SỐ; SỰ ĐỒNG BỘ
Phạm Trường Vũ: CÁC MÃ PHÁT HIỆN LỖI Nguyễn Tấn Tựu: MÃ NÉN DỮ LiỆU
Trang 3Company name
TẤN VƯƠNG
Một yếu tố quan trọng trong hệ thống
thông tin là độ chính xác, thiếu yếu tố này
hệ thông xem như không có giá trị sử dụng, nên kèm theo bản tin các loại mã có khả năng phát hiện lỗi và thậm chí sửa
được lỗi.
Chương này bàn đến một số phương pháp mã hóa dữ liệu phổ biến để tạo các loại mã có khả năng phát hiện lỗi, sửa
lỗi,các loại mã nén
Trang 41.Mã Baudot
Là bộ mã nhị phân dùng 5bit để biểu diển chữ số và một số dấu hiệu
Trang 5-? :
$ 3
!
&
# 8
‘ ( ) , 9 0
11101 01010 10100 00001 11100 01111 11001 10111 10101 10001 11111 11011 00100 00010 01000 00000
Q R S T U V W X Y Z LTRS FIGS SPC CR LF NULL
1 4 BELL 5 7
; 2 / 6
“ LTRS FIGS SPC CR LF NULL
Trang 6Company name
TẤN VƯƠNG
Với n=5 chỉ số 2 n =32 mã khác nhau, không đủ biểu diển các ký tự chữ và số nên một số mã phải biểu thị cả hai và chúng được phân biệt bằng cách kèm theo ký tự
FIGS hoặc LTR ở trước.
Thí dụ: mã của doạn văn NO.27 có dạng như sau: LTRS
N 0 FIGS SPC 2 7
1111 00110 00011 11011 00111 00100 11001 11100
3.1.2 Mã ASCII: là bộ mã thơng dụng trong truyền dữ liệu
Mã ASCII dùng số nhị phân 7bit nên cĩ 2 7 =128 mã.
Ví dụ: Ký tự D là: 1000100 = 44H.
Trang 7
0 1 2 3 4 5 6 7 8 9 A B C D E F
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
* + , - /
0 1 2 3 4 5 6 7 8 9 :
P Q R S T U V W X Y Z [
\ ]
^( ) ()
‘ a b c d e f g h I j k 1 m n o
P q r s t u v w x y z { l }
~ DEL
Trang 8Company name
TẤN VƯƠNG
Là bộ mã 8 bit được dùng rộng rãi thường dùng trong thông tin dùng máy IBM
Vì mã ký tự chiếm 8 bit nên muốn dùng partity phải
dùng bit thứ 9 do đó mã EBCDIC thường được dùng
trong các chức năng đặc biệt như trong các ứng dụng đồ hoạ
Trang 9IFS IGS IRS IUS
DS SOS FS
BYP LF ETP ESP
SM
ENQ ACK BEL
SYN
PN RS UC EOT
DC4 NAK
SUB
SP
( +
&
!
$
* )
=
“
a b c d e f g h i
j k l m n o p q r
s t u v w x y z
A B C D E F G H I
J K L M N O P Q R
S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
Trang 10phần thông tin cần gửi đi.
- Dùng kiểm tra chẵn lẻ để dò ra một bit sai:
Đây là phương pháp kiểm tra đơn giản nhất, bằng cách thêm vào sao chuỗi dữ liệu (thường là một ký tự) một bit sao cho tổng số bit 1 kể cả bit thêm vào là một số chẵn (hoặc lẻ)
Trang 11Company name
TRƯỜNG VŨ
ở máy thu kiểm tra lại tổng số này để biết có lỗi hay không Phương pháp đơn giản nên chất lượng không cao, nếu số lỗi là chẵn thì máy thu không nhận ra
Vì mỗi lần thực hiện kiểm tra chẵn lẻ cho phép
dò ra một bit lỗi nên ta có thể nghỉ rằng nếu thực hiện nhiều phép kiểm tra đồng thời cho phép dò được nhiều lỗi
Trang 12Company name
Thí dụ, để dò ra 2 lỗi của một chuỗi dữ liệu có thể thực hiện hai phép kiểm tra, một với các bit chẵn và một với các bit lẻ.
Cho chuỗi dữ liệu: 01101000
Lần lượt kiểm tra chẵn với các bit ở vị trí 1, 3, 5, 7 và các bit ở vị trí 2, 4, 6, 8 Gọi P1 và P2 là các bit kiểm tra:
Trang 13Company name
TRƯỜNG VŨ
Thí dụ, để dò ra 2 lỗi của một chuỗi dữ liệu có thể thực hiện hai phép kiểm tra, một với các bit chẵn và một với các bit lẻ
Cho chuỗi dữ liệu: 01101000
Lần lượt kiểm tra chẵn với các bit ở vị trí 1, 3, 5, 7 và các bit ở vị trí 2, 4, 6, 8 Gọi P1 và P2 là các bit kiểm tra:
Trang 14Company name
Gửi số
bit parity của từng hàng 1 0 1 1 0 0 0 1 1 0 6
Nhận
số khung (hàng) 1 2 3 4 5 6 7 8 9 10 số cột
01101 10001 01100 11001 01000 10101 01100 00101 10001 11000 12345
bit parity của từng hàng 1 0 1* 1 0* 0* 0 1* 1* 0 6
Nhiễu tác Động vào Cột 4, làm Cho tất cả Các bit=0
TRƯỜNG VŨ
Trang 15Company name
TRƯỜNG VŨ
được cột nào bị sai do đó phải yêu cầu máy
phát phát lại tất cả các cột
Kiểm tra khối:
Một cải tiến của kiểm tra chẵn lẻ là kiểm tra khối (Block Check Character, BCC) Bản tin được
viết thành khối và việc kiểm tra chẵn lẻ được
thực hiện theo cả 2 chiều dọc (Vertical
Redundancy Check, VRC) và ngang
(Longitudinal Redundancy Check, LRC)
Trang 16Tập hợp các bit Ri (j = 1,… ,m) dùng kiểm tra chiều dọc
và tập hợp các bit Ci (i= 1,… ,n) dùng kiểm tra chiều ngang
(H 3.1) cho ta dạng của khối dữ liệu có thực hiện kiểm tra chẵn lẻ theo chiều ngang và dọc
Trang 17char C1 C2 ………… Cn +1Cn
Bit 1 2 ……… Bit n parity
10110111 VRC
11010111
00111010 11110000 10001011
01011111
01111110 LCR
Trang 18Company name
TRƯỜNG VŨ
Phương pháp kiểm ra khối cho phép phát hiện và sửa một lỗi vì xác định được vị trí của lỗi đó, chính
là giao điểm của hàng và cột có bit sai
Máy thu có khả năng phát hiên hai lỗi sai trên cùng một hàng hoặc một cột nhưng không xác định
được vị trí bit lỗi
Tóm lại, dùng kiểm tra chẵn lẻ cho phép phát hiện lỗi trong một số trường sử dụng mã CRC, mã này cho phép dò lỗi rất hiệu quả và hiệu suất trền cũng cao
Trang 19CRC-32 Khi chương trình này được thi hành, các bit thông tin và CRC theo ký hiệu hệ thập lục phân sẽ
được hiển thị
Trang 20Company name
TRƯỜNG VŨ
Thủ tục sử dụng trong việc mật mã khối được biểu diễn trong hình Những người làm công tác mật mã lấy một khối bit thông tin (như 8000 bit) và tạo ra các bit thêm Đầu ra của khối mã là dữ liệu gốc với 16 bit thêm Các bit thêm gọi là tổngkiểm tra hay là kiểm tra rườm rà chu kỳ(CRC).Khối mã có thể nhận ra lỗi nhưng không thể
sữa lỗi
Trong khối mã,một khối các bit thông tin được lấy và các bit thêm được tạo ra Những bit thêm được gọi tổng kiểm tra hay kiểm tra rườm rà chu kỳ Checksum hay
CRC được sử dụng cho việc nhận ra lỗi
Trang 21
Company name
Trang 22TRƯỜNG VŨ
Việc nhận lỗi sử dụng CRC là rất đơn giản Ở bên
truyền, CRC được thêm vào các bit thông tin Khi việc nhận kết thúc, bên nhận tính toán CRC từ những bit
thông tin và nếu CRC tích hợp CRC nhận, vậy thì người nhận biết được những bit thông tin là đúng CRC-16 và CRC-32 là hai thuật toán tiêu chuẩn được sử dụng để tính chu kỳ kiểm tra dư thừa Các bit CRC bổ sung (16
và 32) được nối thêm vào các bit thông tin ở bên phát Tại phía thu, các CRC nhận được so sánh với ước tính Nếu kết hợp hai, các bit thông tin được coi là đã nhận được một cách chính xác Nếu hai không phù hợp, nó cho thấy rằng có những sai sót trong các bit thông tin
Trang 23Company name
TRƯỜNG VŨ
3.2.2 Kiểm tra dư thừa theo chu kỳ
Để cải thiện hơn nửa việc kiểm tra lỗi người ta dùng
phương pháp kiểm tra dư thừa theo chu kỳ (Cyclic
Redundancy Check, CRC)
Nguyên tắc tạo mã CRC : Xét khung dữ liệu gồm k bit
và nếu ta dùng n bit cho khung kiểm tra FCS (Frame check sequence) thì khung thông tin kể cả dữ liệu kiểm tra gồm (k+n) bit sao cho (k+n) bit này chia đúng cho một số P có (n+1) bit chọn trước (dùng phép chia
Modulo-2) Ở máy thu khi nhận được khung dữ liệu, lại mang chia cho số P này và nếu phép chia đúng thì
khung dữ liệu không chứa lỗi
Trang 24Company name
TRƯỜNG VŨ
Cho M = 1010001101 (10 bit)
P = 110101 (6 bit)
Số phải tìm R (5 bit) cho khung FCS được xác định như sau :
- Nhân M với 25 cho : 101000110100000
- Thực hiện phép chia cho P
Trang 25Thực hiện phép chia T/P ta thấy số dư = 0
Tĩm lại, để cĩ một khung FCS n bit , người ta phải
dùng một số P cĩ n+1 bit để tạo số R cĩ n bit dùng cho
khung FCS P được gọi là đa thức sinh (generator
polynomial), dạng của nĩ do các giao thức qui định,
tổng quát P phải cĩ bit đầu và bit cuối là bit 1
Trang 26Company name
TRƯỜNG VŨ
3.2.2.3 Khả năng dò sai của mã CRC
Một lỗi xảy ra ở một vị trí nào đó trong khung dữ liệu làm đảo bit ở vị trí đó của khung, điều này tương đương với phép tính EX-OR bit đó và bit
Trang 27Company name
TRƯỜNG VŨ
3.2.2.4 Mạch tạo mã CRC.
Mạch tạo mã CRC được thực hiện như sau:
- Thanh ghi dịch chứa n bit, bằng với chiều dài của
khung FCS
- Có nhiều nhất n cổng EX-OR
- Sự có mặt hay không của cổng EX-OR tương ứng với
sự có mặt của số hạng lũy thừa bậc n trong đa thức P(x) (Riêng bậc cao nhất (n) của đa thức không kể )
Trang 28Company name
TẤN TỰU
3.2.3 Mã Hamming
các bit ấy được bố trí theo một cách là mỗi bỗ trí của nhóm các bit bị lỗi tạo nên một hình thái lỗi riêng biệt, thì chúng ta có thể xác định được những bit bị sai
Trong một thông điệp dài 7-bit, chúng ta có 7 khả
năng một bit có thể bị lỗi, như vậy, chỉ cần 3 bit kiểm tra (23 = 8) là chúng ta có thể, không những chỉ xác định được là lỗi trong truyền thông có xảy ra hay
không, mà còn có thể xác định được bit nào là bit bị lỗi
Trang 29Nếu tổ hợp này bằng 0 chứng tỏ bản tin nhận đúng
Mã Hamming có thể được phát triển để dò ra hai bit sai và sửa được một bit lỗi
Trang 30ký tự có xác suất xảy ra lớn và ngược lại
Thí dụ 1: Thiết lập mã Huffman cho các ký tự A,
B, C, D, E với tần số xuất hiện lần lượt là 0,25; 0,15; 0,10; 0,20; 0,30
Trang 31A 0,25 B0,45 C E0,30
D
E A
0,55
B C
D
B C
E A
0
0 1
1
0
0 1
1
Trang 33Company name
TẤN TỰU
3.3.2 Mã Run length
Mã Run length được tạo ra bằng cách quan sát chuỗi bit 0
(hoặc 1) liên tiếp và thay thế chiều dài chuỗi bit này bởi một số nhị phân Ở máy thu khi nhận được các số nhị phân sẽ thay
các số này bởi các bit 0 (1) đồng thời chèn các bit khác loại vào
Thí dụ ta phải tạo mã Run length cho chuỗi dữ liệu sau bằng
cách dùng số 4 bit thay cho số bit 0 liên tiếp:
Dòng dữ liệu 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0
91 bit
Số bit 0 liên tiếp 14 9 20 30 11
Run length (nhị phân) 1110 1001 0000 1111 0101 1111 1111
0000 0000 1011 40 bit
Run length (thập phân) 14 9 0 15 5 15 15 0 0 11
Trang 34Company name
TẤN TỰU
3.3.3 Mã vi phân (Differential encoding)
Nguyên tắc của mã vi phân như sau: khung thứ nhất được phát đi đồng thời lưu ở bộ đệm của máy phát và thu Máy phát sẽ so sánh khung thứ hai với khung thứ nhất này, mã sự khác biệt và phát đi dưới dạng một
khung Máy thu khi nhận khung thứ hai, nhờ các mã chỉ
sự khác biệt mà so sánh với khung thứ nhất (đã lưu
trước đó) để tái tạo khung thứ hai, đồng thời nó lưu
khung thứ hai này trong bộ đệm và quá trình tiếp tục với các khung mới
Trang 35Company name
TẤN TỰU
3.4.1 Mã Caesar (Caesar cipher)
Còn gọi là mã mẫu tự đơn (mono-alphabetic cipher)
Đây là loại mật mã có sớm nhất và đơn giản nhất
Người ta sẽ thay các ký tự của bản tin bằng các ký tự khác theo một qui luật nào đó, thí dụ bằng cách cộng
một số nguyên vào mã ASCII của các ký tự ta sẽ có một bản tin mật Thí dụ cộng 1 vào mã ASCII ta sẽ có ký tự
B thay cho A, C thay cho B Và nơi nhận sẽ giải mã bằng cách trừ 1 cho các mã nhận được trước khi tra
bảng mã ASCII
Trang 36Company name
TẤN TỰU
3.4.2 Mã đa mẫu tự (Poly-alphabetic cipher)
Để tránh việc lặp lại các ký tự trong bản mật mã, người ta dùng loại mã đa mẫu tự, tương tự mã Caesar, mỗi ký tự cũng được thay bởi một ký tự khác, nhưng các ký tự giống nhau không phải
được thay bằng một ký tự duy nhất, mà sẽ được thay bằng các ký tự khác nhau tùy theo vị trí của
nó
Trang 37Company name
TẤN TỰU
3.4.3 Mã chuyển vị (Transposition cipher)
Người ta sẽ sắp xếp lại thứ tự các ký tự của bản văn bằng cách lưu chúng trong một mãng 2
chiều m cột, m ký tự đầu tiên sẽ cho vào hàng thứ nhất, m ký tự kế tiếp cho vào hàng thứ hai,
và cứ thế tiếp tục cho hết bản tin, sau đó hoán đổi vị trí các cột theo thứ tự mới, giả sử p1,
p2 pm Sự hoán đổi có thể thực hiện một
cách ngẫu nhiên hoặc theo một qui luật định
trước Bản tin sẽ được truyền đi theo thứ tự từ p1, p2 đến pm
Trang 38Company name
3.4.4 Mã DES (Data Encryption Standard)
DES chia bản tin ra thành từng khối 64 bit và dùng khóa
56 bit để thực hiện quá trình tạo mã rất phức tạp bao gồm
các kỹ thuật như chuyển vị, thay thế, toán tử EX-OR và vài
xử lý khác để tạo nên một bản mã 64 bit
Tiến trình thực hiên gồm:
Bước 1: Chuyển vị 64 bit dữ liệu và 56 bit khóa
Bước 2 gồm 16 lần thực hiện sự mã hóa tương tự nhau nhưng với các khóa khác nhau, dữ liệu ra của lần thực
hiện trước sẽ là dữ liệu vào của lần thực hiện sau
- Bước 3: Trộn 32 bit đầu và 32 bit cuối
- Bước 4: Thực hiện lần chuyển vị cuối cùng
Trang 39Company name
TẤN TỰU
64 bit dữ liệu Chuyển vị
Trang 40Company name
Tóm lại, giải thuật để có được một bản tin mật rất là phức tạp, nhưng như thế vẫn chưa chắc
đã bảo mật tuyệt đối được bản tin Ngoài ra,
việc qui ước với nhau cách tạo các khóa hoặc cách thông tin cho nhau về các khóa cũng phải được thực hiện sao cho bí mật phải được bảo đảm Vấn đề bảo mật còn rất nhiều điều phải nghiên cứu
Trang 41Company name
TẤN VƯƠNG
4.Sự đồng bộ trong truyền dữ liệu
Về phương diện thực hiện sự đồng bộ giữa máy thu và phát trong một hệ thống thông tin hai chế độ truyền bất đồng bộ và đồng bộ có những điểm khác biệt :
từng ký tự một và sự đồng bộ được thực hiện cho từng ký tự này bởi các bit Start và Stop thêm vào trước và sau mỗi ký tự
nó là một khối và phát đi một lần cả khối đó, sự đồng bộ
được thực hiện bằng cách cho máy phát phát kèm theo tín hiệu dữ liệu các xung đồng hồ mà máy thu khi dò ra sẽ dùng
để đồng bộ tín hiệu ở máy thu
Trang 42Company name
TẤN VƯƠNG
4.1 GIAO TIẾP GIỮA DTE VÀ DCE ĐỒNG BỘ
Trong chế độ truyền đồng bộ, máy thu phục hồi xung đồng hồ từ dòng dữ liệu nhận được Chuẩn giao tiếp RS-232 và RS-449 có các đường dành cho xung đồng
hồ liên lạc giữa các cặp thiết bị đầu cuối (DTE) và
modem (DCE)
Trang 43Company name
TẤN VƯƠNG
KÝ HIỆU CHÂN TÊN KÝ
HIỆU CHÂN TÊN
TCLK
RCLK
ETCLK
15 17 24
Trans, clock (từ DCE) Receive, clock (DCE) Ext trans,clock (DTE)
ST RT TT
6 & 23
8 & 26 17&25
Send timing (DCE) Receive timing (DCE) Terminal timing (DTE)
Bảng mã các chân truyền đồng bộ củaRS-232 &RS- 449
Trang 44Company name
TẤN VƯƠNG
DTE
ST RT
A SD
RD
RT RD
DTE
B SD
ST RT
B DCE
RT RD DCE
RD
ST
SD ST
SD A SD
Xung đồng hồ từ DCE theo DTE theo đườngng ST
Trang 45Company name
DTE DTE
A SD
ST RT RD
SD ST RT RD
SD ST RT RD
SD TT RT RD
B
DCE
B DCE
Xung đồng hồ từ DTE theo đường ST, ở trạmB 2 đường ST (TT) và RT
nối chung
Trang 46năm 1964 và được sử dụng rất rộng rãi trong các ứng
dụng điểm - điểm (poin - point) và nhiều điểm (multipoint) với các phương thức đơn công và bán song công Đó là giao thức truyền đồng bộ nhị phân (Binary Synchronous
Communication, BSC, đôi khi gọi là BISYNC) Giao thức
BSC được ISO lấy làm cơ sở để xây dựng giao thức
hướng ký tự chuẩn quốc tế với tên Basic Mode (dữ liệu
dùng mã EBCDIC thay cho mã ASCII và mã dò sai là
CRC thay cho BCC)
Trang 47Company name
sử dụng có tên là Điều khiển liên kết dữ liệu
đồng bộ (Synchronous Data Link Control -
SDLC) và ISO lấy làm cơ sở để phát triển thành giao thức điều khiển liên kết dữ liệu mức cao
(High Level Data Link Control, HDLC)
theo các bộ mã ký tự khác nhau, vì vậy chỉ có
thể sử dụng với một bộ ký tự Để khắc phục các vấn đề này người ta dựng lược đồ truyền đồng
bộ định hướng bit
Trang 48Company LOGO