a. Kh ia > 1 b Kh ia < 1 Hình 5.5 Ph-ơng thức dừng và đợ
5.4.2 Cấu trúc khung
Trong giao thức h-ớng bit, cấu trúc khung đã đ-ợc chuẩn hố cho việc trao đổi thơng tin dữ liệu, lệnh và phúc đáp. Cấu trúc khung của HDCL chỉ ra trên hình 5.11. Cờ chiếm một Octet. Tr-ờng địa chỉ và tr-ờng điều khiển có thể là 1 hay 2 Octet. Độ dài của tr-ờng dữ liệu thay đổi, tối thiểu là 0. Bản tin đ-ợc bảo vệ bằng mã điều khiển lỗi CRC gồm 2 (hoặc 4) octet. Thời gian giữa các lần truyền của các khung thực tế trên kênh đ-ợc gọi là thời gian lấp đầy giữa khung. Thời gian lấp đầy này đ-ợc thực hiện bằng cách truyền liên tục các cờ giữa các khung.
HDLC định nghĩa 3 loại khung:
- Khung thông tin - Khung I: dùng để phát dữ liệu tới ng-ời dùng. Ngoài ra, cịn dùng để trao đổi thơng tin điều khiển luồng, kiểm soát lỗi khi dùng cơ chế ARQ kèm ngay trên khung thơng tin. Nó cũng cịn dùng để thực hiện một vài chức năng cụ thể khác nh- lệnh thăm dò.
- Khung điều khiển - khung S: thực hiện các chức năng điều khiển để thực hiện ARQ không kèm theo khung thông tin nh- phúc đáp các khung, yêu cầu phát lại các khung, yêu cầu ngừng lập tức việc truyền các khung...
Ch-ơng 5: điều khiển liên kết dữ liệu 119 Việc dùng thực tế khung S phụ thuộc vào các chế độ kết nối (NRM, ABM hay ARM).
- Khung không số - khung U: dùng cho các mục đích điều khiển phụ. Khung U dùng cho khởi tạo kết nối, ngắt kết nối và các chức năng điều khiển khác. Khung dùng 5 bít UN để tạo lệnh, bởi vậy cho phép 32 lệnh hay đáp ứng khác nhau.
Hình 5.11 mô tả dạng khung thông tin. Trong các khung S và nhiều khung U khơng có tr-ờng dữ liệu. 8 bit 8 bit 8 hay 16 bit n x 8 bit 16 hay 32 bit 8 bit
Hình 5.11 Cấu trúc khung HDLC (Khung thơng tin I)
Cờ
Cờ chiếm một Octet, có mẫu bit là 01111110. Cờ đóng đồng thời là cờ mở cho khung tiếp sau. Để duy trì đồng bộ, cờ vẫn sẽ đ-ợc phát khi kênh ở trạng thái khơng tích cực. Nh- đã giải thích ở tr-ớc, ở đầu phát dùng kỹ thuật chèn bít (chèn bít 0) vào sau năm số 1 liên tiếp làm cho khơng thể có lớn hơn năm số 1 liên tiếp trong luồng dữ liệu phát giữa các cờ. Đầu thu sẽ tự động loại bỏ các bít chèn thêm này. Ngồi ra, dẫy số bít 1 dài cịn dùng để thơng báo một số tín hiệu đặc biệt: nếu số độ dài đoạn logic 1 là lớn hơn 7 song nhỏ hơn 15 sẽ đ-ợc đầu thu hiểu nh- tín hiệu "bỏ qua" (abort), cịn khi có độ dài đoạn logic 1 lớn hơn 15 đ-ợc xem nh- tin hiệu chỉ rằng kênh đang rỗi (treo).
Nh- vây, việc chèn bit đã cho phép dữ liệu truyền có dạng bất kỳ, đảm bảo "tính trong suốt". Chèn bít cũng đảm bảo cho các chuyển đổi từ 0 sang 1 và
Cờ Cờ Tr-ờng địa chỉ Tr-ờng điều khiển Tr-ờng kiểm tra lỗi CRC Tr-ờng thông tin (Dữ liệu) Khối dữ liệu Khung HDLC
120 Ch-ơng 5: điều khiển liên kết dữ liệu
ng-ợc lại xẩy ra đủ th-ờng xuyên, giúp cho dễ dàng đồng bộ các mạch thu về mặt vật lý.
Tr-ờng địa chỉ
Tr-ờng địa chỉ dùng để xác định hai trạm trong thủ tục điều khiển. Mỗi trạm đ-ợc kèm theo một địa chỉ duy nhất. Nội dung tr-ờng địa chỉ tuỳ thuộc vào loại trạm (trạm sơ cấp hay thứ cấp) và cấu hình kênh. Trong các cấu hình khơng cân bằng, chỉ cần xác định trạm thứ cấp vì thế tr-ờng địa chỉ trong cả khung lệnh và khung đáp ứng đều chứa địa chỉ của trạm thứ cấp. Trong cấu hình cân bằng, khung lệnh chứa địa chỉ trạm đích và khung đáp ứng chứa địa chỉ trạm gửi.
Tr-ờng địa chỉ th-ờng dùng 1 octet (8 bit) song có thể mở rộng ra nhiều octet để mô tả các địa chỉ dài. Khi này, bit cấp thấp nhất trong mỗi octet sẽ lấy giá trị là 0 hay 1, tuỳ thuộc vào đó có là octét cuối cùng trong tr-ờng địa chỉ hay ch-a nh- mơ tả trên hình 5.12.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 8xn
0 0 .. .. .. 1
Hình 5.12 Tr-ờng địa chỉ mở rộng
Tr-ờng điều khiển
Tr-ờng điều khiển chiếm 1 hay 2 octet, dùng để xác định chức năng của khung và thực hiện điều khiển logic việc trao đổi, thông tin giữa trạm nhận và trạm gửi. T-ơng ứng với 3 loại khung, tr-ờng này có 3 dạng chỉ ra trên hình 5.13. Các bít đầu tiên trong tr-ờng điều khiển xác định loại khung t-ơng ứng.
Trong tồn bộ các khung có bít P/F ( thăm dị/kết thúc - Poll/final). Bít này có thể nhận giá trị 0 hay 1. Giá trị 0 có nghĩa là trạng thái của 2 đối t-ợng tham gia liên lạc trên đoạn tuyến là khơng thay đổi. Ng-ợc lại, giá trị 1 của bít P/F nghĩa là quyền đ-ợc phát sẽ đ-ợc đổi từ trạm phát sang cho trạm thu.
Ch-ơng 5: điều khiển liên kết dữ liệu 121
1 2 3 4 5 6 7 8
Khung thông tin ( I ) 0 N(S) P/F N(R)
Khung giám sát ( S ) 1 0 SC P/F N(R)
Khung không số( U ) 1 1 UN P/F UN
Hình 5.13 Cấu trúc tr-ờng điều khiển
Để ví dụ, ta giả sử có 2 trạm Avà B. Trạm A đang phát và gửi một khung tới B có bít P/F nhận giá trị 1. Nhờ vậy, nó chuyển quyền đ-ợc phát về cho B. Nếu B có 5 khung để gửi tới A, thì 4 khung đầu có bít P/F đặt là 0, và chỉ có khung sau cùng có bít P/F đặt là 1. Sau khi gửi khung sau cùng này, quyền đ-ợc phát lại trả lại cho A.
Cộng thêm vào việc dùng bít P/F, khung I cịn th-ờng xun có 2 số dãy N(S) và N(R), có giá trị từ 0 tới 7 (từ 0 tới 127 trong chế độ mở rộng). Các giá trị này tăng từng nấc theo chu trình, sau 7 lại về giá trị 0. N(S) dùng để nhận dạng khung phát còn N(R) dùng để nhận dạng khung thu.
Để hiểu các số này chuyển vận nh- thế nào, ta xét giả thiết một đ-ờng song công A-B và chúng ta đứng ở vị trí A. Khi ta gửi một khung, chúng ta tăng số N(S) của nó lên 1. Theo cách này, mỗi khung có t-ơng ứng một số N(S). Nếu khơng xảy ra lỗi bít do các tác động thăng giáng hỏng hóc trên đ-ờng truyền, chúng ta sẽ thu đ-ợc số N(R) và số này nói lên rằng tồn bộ các đoạn tin với số nhỏ hơn số N(R) đều đã đ-ợc B thu và tiếp nhận.
Rõ ràng rằng N (S) và N(R) không đ-ợc trùm nhau do điều kiện này sẽ gây nên việc trùng lặp nhận dạng. Trong thực tế, đòi hỏi N(S) - N(R) phải v-ợt quá một giá trị W cụ thể < 8, gọi là giá trị cửa sổ. Giá trị cửa sổ nói cho ta biết số cực đại các khung có thể gửi mà ch-a đ-ợc khẳng định là đã tiếp nhận.
Ví dụ, ta giả thiết W= 5, N(S)A = 1, N(R)A = 1 và N(S)B = 5 và N(R)B = 5. Hiện trạm A có “quyền để nói” và chế độ làm việc là NRM.
122 Ch-ơng 5: điều khiển liên kết dữ liệu
A gửi 4 khung tin I với tr-ờng điều khiển nh- sau: 0 0 0 1 0 1 0 1 0, NA(S) = 1, 0, N(R)B = 5 0 0 1 0 0 1 0 1 0, N(S)A = 2, 0, N(R)B = 5 0 0 1 1 0 1 0 1 0, N(S)A = 3, 0, N(R)B = 5 0 1 0 0 1 1 0 1 0, N(S)A = 4, 1, N(R)B = 5
A gửi liền 4 khung, điều này là đ-ợc phép vì giá trị cực đại là 5, khung tin cuối cùng đặt P/F = 1, và bởi vậy "quyền đ-ợc nói" bây giờ chuyển về cho B. Khi này, B chuẩn bị một tin phát cho A (với tr-ờng địa chỉ là địa chỉ của bản thân nó, vì đây là 1 đáp ứng) và gửi đi với tr-ờng điều khiển nh- sau: