Giao thức định hướng bit là giao thức được dùng phổ biến hiện nay, tất cả các loại dữ liệu có thể được truyền dưới dạng bit nghĩa là phải được giải mã thành các bit trước khi truyền. Tất cả những giao thức định hướng bit đều bắt
nguồn từ giao thức HDLC.
Giao thức HDLC là chuẩn quốc tế được ISO đề nghị, dùng cho tất cả liên kết dữ liệu kiểu điểm-nối-điểm và đa điểm,
hỗ trợ đường truyền song công. Tiền thân của HDLC là giao thức SDLC (điều khiển liên kết dữ liệu đồng bộ) của IBM và giao thức điều khiển truyền dữ liệu cấp cao ADCCP (Advanced Data Communication Control Procedure) của ANSI.
4.4.1 Giao thức HDLC
a. Khuôn dạng bản tin
Định dạng
Trong đó:
Flag: Để nhận biết gói dữ liệu dùng cờ bắt đầu và kết thúc :01111110
Address: địa chỉ người nhận.
Control: phần điều khiển.
FCS: Frame Check Sequence
Flag FCS Information Control Address Flag 8 16/32 O - N 8/16 8/16 8
4.4.1 Giao thức HDLC
Giao thức HDLC dùng cho cả dữ liệu và thông báo điều khiển thực hiện theo khuôn dạng khung chuẩn. Có 3 loại khung được dùng trong HDLC
I (Information) khung thông tin : Mang thông tin thật hoặc số liệu. Các khung I có thể được dùng để mang thông tin ACK liên quan đến luồng khung I trong hướng ngược lại khi liên kết đang được hoạt động trong ABM và ARM.
S (Supervisor) khung giám sát: Được dùng để điều khiển luồng và điều khiển lỗi và do đó chứa số thứ tự gửi và nhận, có hiệu lực điều hành sự nối.
N (Unnumbered) khung không đánh số: Được dùng cho những chức năng như thiết lập liên kết và xóa kết nối.
4.4.1 Giao thức HDLC
Cấu tạo các loại khung trong HDLC thông qua trường điều khiển – Control
a. Khung thông tin – Information
b. Khung giám sát – Supervisor
4.4.1 Giao thức HDLC
Bit P/F được thay thế cho Poll/ Final.
P: máy tính bên kia được yêu cầu gửi dữ liệu, tất cả các frame được gửi đi có giá trị là P
F: Frame cuối cùng được đánh là F, và không được gửi đi.
Các frame giám sát được phân biệt bởi trường type
Type = 0 acknowledgement frame (Receive Ready): đợi frame kế tiếp
Type = 1 negative acknowledgement frame (Reject): truyền lỗi, cần truyền lại từ frame trong trường Next
Type = 2 Receive Not Ready: Báo ngưng gửi gói tin vì lỗi tạm thời của bên thu
4.4.1 Giao thức HDLC
Hoạt động của HDLC: Trao đổi I-Frame, S-Frame và U-Frame giữa 2 bên
3 giai đoạn
Khởi tạo
Trao đổi dữ liệu
4.4.1 Giao thức HDLC
Giai đoạn 1: Khởi tạo
Gửi U-frame khởi tạo 1 trong 6 chế độ
SNRM / SNRME
SARM / SARME
SABM / SABME
Chế độ truyền và số bit đánh chỉ số frame
Nếu đồng ý kết nối gửi lại U-frame UA (unnumbered acknowledged)
Nếu không đồng ý kết nối gửi lại U-frame DM (disconnected mode)
4.4.1 Giao thức HDLC
Trao đổi dữ liệu: Sau khi đã kết nối, Cả hai bên đều có thể gửi I-frame (chỉ số tuần tự bắt đầu từ 0)
Các S-frame có thể được dùng để điều khiển luồng DL và điều khiển lỗi
RR : ACK
RNR : bên nhận bận, sau đó phải phát RR để tiếp tục nhận dữ liệu
REJ: NACK – R (phát lại từ gói N)
SREJ: NACK – S (phát lại có chọn lọc)
Ngắt kết nối:
Một trong hai bên ngắt kết nối bằng cách gửi U-frame DISC (disconnect)
Bên kia phải chấp nhận ngắt kết nối, gửi lạiU-frame UA(unnumbered acknowledgment)
Các khung quá độ có thể bị mất (việc phục hồi phải do các lớp trên)
4.4.1 Giao thức HDLC
Sơ đồ hoạt động của HDLC
Ngắt Đợi UA Đợi UA Nối Phát SABM Nhận UA Nhận UA Phát DISC Trao đổi số liệu
4.4.1 Giao thức HDLC
4.4.1 Giao thức HDLC
b. Hoạt động của giao thức
Cơ chế vận hành của HDLC xoay quanh hai chức năng cơ bản là quản lý liên kết và truyền dữ liệu
(bao gồm điều khiển luồng và điều khiển lỗi):
Quản lý liên kết: Trước khi truyền một thông tin bất kỳ giữa hai trạm kết nối bằng liên kết điểm - điểm (point to point), một kết nối logic được thiết lập giữa hai bộ phận truyền thông tin
4.4.1 Giao thức HDLC
Truyền dữ liệu
Hai vấn đề quan trọng nhất trong giai đọan truyền dữ liệu là kiểm soát lỗi và điều khiển luồng. Kiểm soát lỗi trong HDLC sử dụng thủ tục phát lại từ
khung thứ N (go back N) hoặc phát lại có chọn lọc (selective repeat), điều khiển luồng dựa trên cơ chế cửa sổ trượt