Chương 4
Data Link Protocol
4.1- Tổng quan
Trong lớp Data Link, có rất nhiều giao thức được gọi chung là DLP và chia ra
làm 2 loại:
-Giao thức truyền bất đồng bộ (dị bộ)
-Giao thức truyền đồng bộ
Giao thức liên kết dữ liệu
Giao thức đồng bộ
Giao thức hướng kí tự
11.2
Giao thức dị bộ
Giao thức hướng bit
4.2 Truyền bất đồng bộ
Các DLP bất đồng bộ sử dụng phương thức truyền dị
bộ, tức là không cần có sự đồng bộ liên tục giữa người
gửi và người nhận.
Cho phép một đơn vị dữ liệu được truyền đi bất kỳ lúc
nào mà không cần quan tâm đến các tín hiệu đồng bộ
trước đó.
Các bít đặc biệt START và STOP được dùng để tách các
xâu bit biểu diễn các ký tự.
Phần lớn các máy PC sử dụng phương thức truyền dị bộ
vì tính đơn giản của nó.
11.3
4.2 Truyền bất đồng bộ
Chiều dài ký tự phụ thuộc vào phương pháp mã
hóa
4.2 Truyền bất đồng bộ
-
Quy ước truyền dẫn
Không có dữ liệu -> truyền các bít Idle
Có dữ liệu truyền:
- Phát đi bít khởi đầu - bít “start” - bit “0”
- Gửi ký tự cần truyền (1 ký tự dài 5-8 bit)
- Phát thêm bit kiểm tra (chẵn lẻ) nếu cần
- Phát đi bít “Stop” cho đến khi bắt đầu ký tự
tiếp theo (ít nhất 1 bit)
4.2 Truyền bất đồng bộ
-
-
Đặc điểm
Hiệu suất truyền dẫn không cao
(ví dụ với mã ASCII: 1+7+1+1)
Xuất hiện lỗi trong quá trình truyền dẫn:
do sự không đồng bộ thời gian giữa bên
thu và bên phát.
4.2 Truyền bất đồng bộ
Ví dụ: mã ASCII: 1+7+1+1, Rb= 10.000
bps
Thời gian truyền 1 bít:
Tb = 1/10.000 = 0,1.10-3s = 100s
Thời gian nhận 1 bít (T’b)> thời gian truyền:
7%
T’b = 93 s => nhận sai bít sau cùng
•
•
Bit sau cùng được nhận không chính xác.
Nếu bít thứ 7 là “1”, bít thứ 8 là “0” => Bit
8 là bít start.
4.2Các
Truyền
bấtsửđồng
bộ thức truyền dị bộ, tức là
DLP dị bộ
dụng phương
không cần có sự đồng bộ liên tục giữa người gửi và
người nhận.
Cho phép một đơn vị dữ liệu được truyền đi bất kỳ lúc
nào mà không cần quan tâm đến các tín hiệu đồng bộ
trước đó.
Các bít đặc biệt START và STOP được dùng để tách các
xâu bit biểu diễn các ký tự.
11.8
Phần lớn các máy PC sử dụng phương thức truyền dị bộ
vì tính đơn giản của nó.
4.3 Truyền đồng bộ - thiên hướng ký tự
Phương thức truyền thông đồng bộ sử dụng các ký tự đặc biệt
SYN, EOT hoặc là các cờ (flag) giữa các dữ liệu của người dùng
để báo cho người nhận biết rằng dữ liệu “đang đến” hay “đã
đến”.
Một khối bít được truyền không cần bít “start”, “stop”
Các bít dữ liệu được truyền trong các Frame
Yêu cầu: đồng bộ bên phát và bên thu (đồng hồ bên phát và bên
thu làm việc đồng bộ)
11.9
Cấu trúc của Frame:
Frame trong truyền đồng bộ thiên hướng ký tự
Dữ liệu cần truyền
A
DLE B
ETX DLE STX E
Frames bao gồm một số nguyên các bytes
Các giao thức hướng ký tự được xây dựng dựa trên các ký tự đặc biệt
của một bộ mã chuẩn nào đó (như ASCII hay EBCDIC)
11.10
Octets với giá trị HEX <20 thì không thể in được
Các ký tự đặc biệt dùng để điều khiển (mã ASCII)
STX (start of text) = 0000010 (0x02)
ETX (end of text) = 0000011 (0x03);
DLE (data link escape) = 0010000 (0x10)
Frame trong truyền đồng bộ thiên hướng ký tự
Nội dung dữ liệu cần truyền
A
DLE
B
ETX
DLE
STX
E
Sau khi đóng khung
DLE
STX
A
DLE
B
ETX
DLE
STX
E
DLE
ETX
Sau khi đóng khung và chèn
DLE
STX
A
DLE
DLE
B
ETX
DLE
DLE
STX
E
DLE
ETX
Gửi đi
SYN
11.11
SYN
DLE
STX
A
DLE
DLE
B
ETX
DLE
DLE
STX
E
DLE
ETX
Chèn byte
Chèn byte là quá trình bên phát thêm
một byte bất cứ khi nào dữ liệu trùng
với byte điều khiển.
11.12
SYN - Đồng bộ ký tự
Các giao thức hướng ký tự
Được dùng cho cả hai phương thức truyền dựa trên
cách kết nối các máy tính: "điểm - điểm" và "điểm nhiều điểm".
Phương thức "điểm - điểm" các đường truyền riêng biệt được
thiết lâp để nối các cặp máy tính lại với nhau.
Phương thức "điểm - nhiều điểm " tất cả các máy phân chia
chung một đường truyền vật lý. Một khối bít được truyền
không cần bít “start”, “stop”
Các giao thức hướng ký tự
Simplex: Giao thức Kermit
Half-duplex: Giao thức Binary Synchronous Contro
(BSC) và được dùng phổ biến nhất
Full-duplex: Có rất ít giao thức hướng ký tự cho
phương thức, Ví dụ giao thức giữa các nút
chuyển mạch IMP (Interface Message Protcol):
ARPANET
Giao thức BSC
Được phát triển bởi ZBM năm 1964
Sử dụng cho cả hai cấu hình “điểm-điểm” và “điểm
– đa điểm”
Hỗ trợ chế độ half-duplex dùng giao thức kiểm soát
lỗi ARQ dừng và đợi
Không hỗ trợ chế độ song công và giao thức cửa sổ
trượt
Là giao thức cơ sở để xây dựng giao thức hướng ký
Nguyên tắc hoạt động của BSC
11.17
Các ký tự đặc biệt của BSC
ASCII Code
Chức năng
ACK 0
DLE and 0
(Acknowledge): để báo cho người gửi biết đã nhận tốt
dữ liệu
ACK 1
DLE and 1
(Acknowledge): để báo cho người gửi biết đã nhận tốt
dữ liệu
DLE
DLE
(Data Link Escape): để thay đổi ý nghĩa của các ký tự
điều khiển truyền khác
ENQ
ENQ
(Enquiry): để yêu cầu phúc đáp từ một trạm ở xa.
EOT
EOT
(End Of Transmission): chỉ sự kết thúc của một hoặc
nhiều đơn vị dữ liệu và giải phóng liên kết
Các ký tự đặc biệt của BSC
Ký tự ASCII Code
Chức năng
ETB
ETB
(End Of Transmission Block): chỉ sự kết thúc của một
khối dữ liệu nếu dữ liệu được chia thành nhiều khối.
ETX
ETX
(End Of Text): chỉ phẩn kết thúc của phần dữ liệu
NAK
NAK
(Negative Acknowledge): để báo lỗi
SOH
SOH
(Start Of Header): chỉ bắt đầu của phần header
STX
STX
(Start Of Text): chỉ phần bắt đầu của phần dữ liệu (văn bản)
SYN
SYN
(Synchronous Idle): ký tự đồng bộ, dùng để duy trì sự đồng bộ
Giao thức BSC – Cấu trúc khung
Giao thức BSC – Cấu trúc khung dữ liệu
8 bit kiểm tra lỗi theo
kiểu bit chẵn lẻ theo
khối hoặc 16 bit theo
CRC-16
Giao thức BSC – Cấu trúc khung dữ liệu
Header field
Một hoặc nhiều byte định địa chỉ
và/hoặc các thông tin khác
Giao thức BSC – Cấu trúc khung dữ liệu
Ví dụ:
SYN
SYN
SOH
Id
Add
STX
Data
ETX
BCC
i-frame, data chöùa trong moät
khung
SYN
SYN
SOH
Id
Add
STX
Data 1
ETB
BCC
SYN
SYN
SOH
Id
STX
Data 2
ETB
BCC
SYN
SYN
SOH
Id
STX
Data 3
ETX
BCC
I-frame data chứa trong nhiều khung
Giao thức BSC – Cấu trúc khung điều khiển
SYN
Station
ENQ
Poll/Select-frame
SYN
EOT
SYN
SYN
ACK
SYN
SYN
ACK
0/1
Báo nhận tốt I-frame
SYN
SYN
NAK
0/1
Báo hỏng I-frame
SYN
SYN
EOT
address
SYN
P/S
SYN
NAK
Đáp ứng Poll/Select
Kết thúc phiên truyền
Giao thức BSC – Các thủ tục
Mời truyền tin
Giả sử trạm A muốn mời trạm B truyền tin, A sẽ gửi khung như sau
tới B
SYN
SYN
EOT
ENQ
BCC
Address B
EOT để chuyển liên kết sang trạng thái điều khiển
Khi B nhận được lệnh này, có thể xảy ra hai trường hợp:
- Nếu có tin để truyền thì trạm B sẽ cấu tạo một đơn vị dữ liệu và
gửi cho A.
-
Nếu không có tin để gửi, B sẽ gửi EOT để trả lời.