2. Tầng liên kết dữ liệu
2.3. Giao thức hướng bit HDLC (Hight Level Data Link Control)
Giao thức hướng bit là giao thức được dùng phổ biến hiện nay, tất cả các lọai 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 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 số liệu point to point và multipoint. Nó hỗ trợ cho đườ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 số liệu đồng bộ) của IBM. và giao thức điều khiển truyền số liệu cấp cao ADCCP (Advanced Data Communication Control Procedure) của ANSI.
HDLC được xây dựng trên cơ sở cấu trúc nhị phân và việc thu hay phát đều tiến hành từng bit một. Một đơn vị dữ liệu (Frame) sử dụng trong HDLC có khuôn dạng tổng quát như sau
8 8/16 8/16 16/32 8
Cờ Địa chỉ Điều khiển Thông tin FCS Cờ
Trong đó:
+ Cờ: là các mã đóng khung cho Frame, đánh dấu bắt đầu và kết thúc một Frame. Mã này được chọn là: 01111110. Nội dung của byte cờ có thể trùng với thông tin của Frame. Trong trường hợp này, ta thực hiện như sau:
- Khi truyền đi, cứ phát hiện một xâu có năm bit 1 liên tiếp thì tự động chèn thêm 1 bit 0 vào.
ENQ
ACK
STX ... ETX BCC
ACK STX ... ETX BCC
ACK EOT
A ENQ ACK
STX ... ETX BCC
ACK
EOT
ENQ
ACK
STX ... ETX BCC
STX ... ETX BCC
EOT
A B A B
STX ... ETX BCC
ACK
Dạng thông thường Dạng hội thoại
- Khi nhận, nếu phát hiện có bit 0 sau năm bit 1 liên tiếp thì tự động bỏ bit 0 đó đi
+ Địa chỉ: ghi địa chỉ đích của Frame
+ Điều khiển: là vùng định danh cho các loại Frame khác nhau của HDLC + Thông tin: chứa thông tin cần truyền đi
+ FCS: vùng để ghi mã kiểm soát lỗi cho nội dung của Frame. Thường sử dụng phương pháp CRC (Cyclic Redundance Check) với đa thức sinh là: CRC- CCITT=X16+X12+X5+1
HDLC sử dụng 3 loại Frame sau đây
I (Information): Mang thông tin 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 SABM và SARM.
S (Supervisor): Được dùng để điều khiển luồng và điều khiển lỗi trong quá trình trao đổi thông tin
U (Unnumbered): Được dùng để thiết lập liên kết theo các phương thức hoạt động khác nhau và huỷ bỏ liên kết khi cần thiết, đây cũng là Frame điều khiển
Các loại Frame khác nhau được phân biệt bởi các bit trong vùng điều khiển. Trường điều khiển của 3 loại Frame có thể tóm tắt như sau:
Loại Frame
Các bit vùng điều khiển
1 2 3 4 5 6 7 8
U 1 1 M M P/F M M M
I 0 N(S) P/F N(R)
S 1 0 S S P/F N(R)
Với P (Poll): Nếu đó là Frame yêu cầu F (Final): Nếu đó là Frame trả lời
* Đối với Frame loại U: có 5 bit M để định danh, như vậy sẽ có 25 = 32 Frame loại U khác nhau. Tuy nhiên, chỉ có 5 loại Frame U phổ biến nhất được minh hoạ trong bảng sau
Các bit vùng điều khiển Tên và ý nghĩa của các Frame 1 2 3 4 5 6 7 8
1 1 0 0 P 0 0 1 SNRM - phương thức trả lời chuẩn 1 1 1 1 P 0 0 0 SARM - Phương thức trả lời dị bộ 1 1 1 1 P 1 0 0 SABM - phương thức dị bộ cân bằng 1 1 0 0 P 0 1 0 DISC (Disconnect), giải phóng liên kết
1 1 0 0 F 1 1 0 UA (Unnumbered Acknowledgement), báo nhận
Loại U M M M M M
HDLC định nghĩa 3 phương thức trao đổi thông tin chính tương ứng với 3 Frame như sau
+ SNRM (Set Normal Response Mode): được dùng trong cấu hình không cân bằng
+ SARM (Set Asynchronous Response Mode): được dùng trong cấu hình không cân bằng. nhưng có nới rộng quyền của trạm tớ nghĩa là cho phép một trạm tớ thiết lập đường truyền mà không cần trạm chủ cho phép. Chế độ này thường dùng cho cấu hình điểm - điểm với liên kết 2 chiều (Duplex) và cho phép trạm tớ gởi những khung không đồng bộ đối với trạm chủ.
+ SABM (Set Asynchronous Balance Mode): được dùng chủ yếu trong những liên kết điểm - điểm, 2 chiều(duplex), trong đó các trạm có vai trò tương đương
* Đối với Frame loại I: có hai tham số N(S) và N(R) có ý nghĩa như sau + N(S): là số thứ tự của Frame I được gửi đi.
+ N(R): số thứ tự của Frame I mà trạm gửi đang chờ để nhận và báo nhận tốt các Frame I nhỏ hơn N(R).
* Đối với Frame loại S: có 2 bit S để định danh. Như vậy, tối đa sẽ có 4 loại Frame S như sau
Bit
S Tên Frame Ý nghĩa của Frame
0 0 RR
(Receive Ready)
Dùng để thông báo rằng trạm gửi RR đi đang sẵn sàng nhận tin, đồng thời báo nhận tốt các Frame I N(R)
0 1 REJ
(Reject)
Dùng để yêu cầu truyền/truyền lại các Frame có số thứ tự từ N(R) trở đi, đồng thời báo nhận tốt các Frame I N(R)
1 0
RNR (Receive Not
Ready)
Dùng để thông báo trạm gửi RNR đi tạm thời không sẵn sàng nhận tin, đồng thời báo nhận tốt các Frame I N(R)
1 1 SREJ
(Selective Reject)
Dùng để yêu cầu truyền hoặc lại một Frame I duy nhất có số thứ tự N(R), đồng thời báo nhận tốt các Frame I N(R)
Sau đây là ví dụ về hoạt động của HDLC trong chế độ cân bằng dị bộ SABM:
Giáo trình Mạng máy tính Trạm B SABM
UA I,0,0 I,1,0 RR,2
I,2,0 Trạm A
29
Trường Đại học Sư phạm Khoa Tin học
* Các giao thức dẫn xuất từ HDLC
Giao thức HDLC là giao thức chuẩn định hướng bit có kết nối, nó được ứng dụng trong rất nhiều mạng hiện nay và tỏ ra là giao thức họat động có hiệu quả trên mạng diện rộng và mạng cục bộ.
Rất nhiều trong số các giao thức hướng bit cho tầng 2 là tập con hoặc cải biên từ HDLC như LAP-B, LAP-D,…
+ LAP-B (Link Access Procedure – Balanced) là một bộ phận của HDLC được dùng để điều khiển việc truyền các gói tin qua liên kết số liệu 2 chiều (duplex), điểm - điểm (point to point) để nối một máy tính đến mạng chuyển mạch gói công cộng. LAP-B tương ứng với phương thức dị bộ cân bằng.
Máy tính là DTE và tổng đài chuyển mạch gói là DCE. LAP-B được dùng để điều khiển việc truyền của những gói tin qua giao diện cục bộ DTE-DCE và vì thế nó có ý nghĩa cục bộ.
+ LAP-D (Link Access Procedure – D channel) là một phần của HDLC dùng cho mạng số đa dịch vụ ISDN (Intergrated Services Digital Network). Nó được định nghĩa để điều khiển luồng gói tin phù hợp với kênh báo hiệu sau đó được gọi là kênh D, do đó có khái niệm LAP-D. Nó cũng được dùng trong dạng mở rộng để điều khiển luồng gói tin qua một kênh người sử dụng gắn với một dịch vụ gọi là khung trể. ISDN giống như PSTN (Public Switched Telephone Network) là mạng chuyển mạch - trong thực tế là một đường dẫn ảo phải được thiết lập trước khi bất kỳ thông tin nào được truyền điều này được truyền bằng cách dùng sự phân chia kênh báo hiệu có giao thức khởi tạo riêng mà LAP-D là một bộ phận tạo thành. Dịch vụ kết nối định hướng được dùng để truyền cuộc gọi thiết lập giữa một bộ phận của thiết bị sử dụng điện thoại hoặc DTE và một tổng đài địa phương (chuyển mạch cục bộ).