You are on page 1of 17

BÀI TẬP LỚN MÔN TRUYỀN SỐ LIỆU

Đề tài: tìm hiểu giao thức HDLC (High-level Data


Link Control).

Sinh viên thực hiện : Lưu Văn Đông.

Lớp : AT2C

1
Mục lục

I. Giới thiệu giao thức HDLC……………………………………3


II. Các đặc tính cơ bản của giao thức HDLC……………………4
III. Cấu trúc, khuôn dạng của frame……………………………...6
1. Cấu trúc chung……………………………………………..6
2. Các trường của frame……………………………………...6
IV. Hoạt động của giao thức HDLC……………………………...11

2
I. Giới thiệu giao thức HDLC
Giao thức HDLC là giao thức liên kết dữ liệu mức cao, thuộc tầng 2 –tầng liên kết
dữ liệu-trong mô hình tham chiếu OSI.

Giao thức HDLC là một giao thức chuẩn hóa quốc tế và đã được định nghĩa bởi
ISO để dùng cho cả liên kết điểm- nối- điểm và đa điểm. Nó hỗ trợ hoạt động ở chế độ
trong suốt, song công hoàn toàn và ngày nay được dùng một cách rộng rãi trong các
mạng đa điểm và trong các mạng máy tính. Tiền thân của HDLC là giao thức SDLC
(Synchronuous Data Link Control). Đây là một nghi thức liên kết dữ liệu rất quan trọng,
rất nhiều nghi thức liên kết dữ liệu khác tương tự hoặc dựa trên nghi thức này. HDLC là
một nghi thức hướng đến bit.

Đặc điểm chung của giao thức HDLC là:

- Hoạt động ở chế độ full-duplex.


- Liên kết điểm-nối-điểm hoặc đa điểm.
- Truyền dẫn đồng bộ.
- Điều khiển lỗi “Continuous RQ”.

Do HDLC đã được định nghĩa như là một giao thức điều khiển liên kết số liệu
tổng quát, nên chúng ta có thể dùng nó trong một số cấu hình mạng khác nhau, như trình
bày ở trên hình 1. Trong HDLC, các frame được gửi từ trạm sơ cấp đến trạm thứ cấp
được gọi là các lệnh (command) và các frame được gửi từ thứ cấp đến sơ cấp được gọi là
các đáp ứng (response). Hai cấu hình được trình bày trong phần (a) và (b) chỉ có một
trạm sơ cấp được gọi là cấu hình không cân bằng, trong khi đó phần (c) có hai trạm sơ
cấp và được gọi là cấu hình cân bằng. Trong cấu hình cân bằng, vì mỗi trạm đều có phần
sơ cấp và cả thứ cấp, nên chúng được gọi là các trạm kết hợp.

3
Lệnh
Sơ cấp Thứ cấp
Đáp ứng

Lệnh
Sơ cấp
Đáp ứng Đáp ứng

Thứ cấp Thứ cấp

Lệnh Đáp ứng


Sơ cấp Sơ cấp
+ +
Thứ cấp Thứ cấp
Đáp ứng Lệnh

Hình 1 Cấu hình mạng dùng HDLC:

(a) Điểm-nối-điểm với một sơ cấp và một thứ cấp

(b) Đa điểm với một sơ cấp và nhiều thứ cấp

(c) Điểm-nối-điểm với hai sơ cấp và hai thứ cấp.

II. Các đặc tính cơ bản của giao thức HDLC.


• Phân loại các trạm:

- Trạm chính, trạm sơ cấp (Primary Station)

+ Điều khiển hoạt động của liên kết.

+ Các khung (frame) phát ra được gọi là lệnh (command).

- Trạm phụ, trạm thứ cấp (Secondary Station)

+ Hoạt động dưới sự điều khiển của trạm sơ cấp.

+ Các khung phát ra được gọi là đáp ứng.

4
+ Trạm sơ cấp duy trì các liên kết luận lý riêng cho các trạm thứ cấp.

- Trạm kết hợp (Combined Station)

+ Kết hợp đặc điểm của cả trạm sơ cấp và trạm thứ cấp.

+ Có thể phát ra các lệnh và đáp ứng.

• Cấu hình liên kết:

- Không cân bằng (Unbalanced)

+ Bao gồm một trạm sơ cấp, một hoặc nhiều trạm thứ cấp.

+ Hỗ trợ truyền Half-Duplex và Full-Duplex.

- Cân bằng (Balanced)

+ Bao gồm 2 trạm tổ hợp.

+ Hỗ trợ truyền Half-Duplex và Full-Duplex.

• Các chế độ hoạt động của giao thức HDLC


HDLC có 3 chế độ hoạt động:

- Chế độ đáp ứng thông thường NRM (Normal Response Mode): Chế độ này
được dùng trong cấu hình không cân bằng. Trong chế độ này, trạm sơ cấp khởi
động việc trao đổi dữ liệu, trạm thứ cấp chỉ có thể truyền khi nhận được chỉ
thị đặc biệt của trạm sơ cấp. Liên kết này có thể là điểm-nối-điểm hay đa
điểm. Trong trường hợp đa điểm chỉ cho phép một trạm sơ cấp.
- Chế độ đáp ứng bất đồng bộ ARM (Asynchronous Response Mode): Chế độ
này cũng được dùng trong cấu hình không cân bằng. Nó cho phép một trạm
thứ cấp xúc tiến một hoạt động truyền mà không cần sự cho phép từ trạm sơ
cấp. Chế độ này thường được dùng trong các cấu hình điểm-nối-điểm và các
liên kết song công và cho phép thứ cấp truyền các frame một cách bất đồng bộ
với sơ cấp.
- Chế độ cân bằng bất đồng bộ ABM (Asynchronous Balanced Mode): Chế độ
này được dùng chủ yến trên các liên kết song công điểm-nối-điểm cho ứng
dụng truyền số liệu máy tính-đến-máy tính và cho các kết nối giữa máy tính
và mạng số liệu công cộng (PSDN). Trong chế độ này, mỗi trạm có một trạng
thái như nhau và thực hiện cả hai chức năng sơ cấp và thứ cấp. Nó là chế độ
được dùng trong giao thức nổi tiếng X.25.

5
III. Cấu trúc, khuôn dạng của frame

1. Cấu trúc chung.

* Các khuôn dạng của frame

Không giống như BSC, trong HDLC cả số liệu và thông tin điều khiển đều được
tải trong cùng một dạng frame chuẩn. Dạng frame này được trình bày trên hình 2 cùng
với các kiểu frame khác nhau được xác định trong vùng điều khiển của phần header. Có 3
nhóm frame được dùng trong HDLC:

- Các frame không đánh số: Các frame này được dùng cho các chức năng như
thiết lạp liên kết và xóa liên kết. Tên được gọi là không đánh số vì chúng
không chứa bất kf thông tin báo nhận bào, nên cũng không có chỉ số tuần tự.
- Các frame thông tin: Các frame này mang các thông tin thực hay số liệu và
thường được xem như là các I-frame. Các I-frame cũng có thể được dùng để
tải thông tin báo nhận liên hệ đến luồng I-frame theo hướng ngược lại khi liên
kết đang hoạt động ở chế độ ABM hay ARM.
- Các frame quản lý: Các frame này được dùng đẻ kiểm soát lỗi và điều khiển
luồng, do đó chứa các số tuần tự truyền và nhận.

* Cấu trúc chung của một frame:

HDLC sử dụng chế độ truyền tải đồng bộ, các bit dữ liệu truyền đi được gói vào
trong các khung và sử dụng một cấu trúc khung cho tất cả các loại dữ liệu cũng
như thông tin điều khiển.

Cấu trúc khung trong giao thức HDLC có dạng như sau:

Hình 2 Cấu trúc chung của một frame

2. Các trường của Frame.


* Cờ điều khiển (Flag)

Dùng để phân cách khung (đầu và cuối), xác định điểm bắt đầu và kết thúc của
khung.

Giá trị: 01111110

6
Có thể dùng vừa là kết thúc khung này, vừa là bắt đầu khung khác

Sử dụng kỹ thuật chèn bit (bit stuffing) để tránh xuất hiện cờ trong dữ liệu

Bit stuffing: bit 0 được chèn thêm mỗi khi xuất hiện 5 số 1 liên tiếp trong phần dữ
liệu.

Ví dụ:

Phần dữ liệu ban đầu là:

111111111111011111101111110

Phần dữ liệu sau khi sử dụng kỹ thuật Bit Stuffing:

1111101111101101111101011111010

* Trường địa chỉ (Address)

Dùng để xác định trạm thứ cấp đã gửi hoặc sẽ nhận khung.

Không cần thiết trong liên kết điểm-nối-điểm nhưng vẫn được giữ để nhất quán.

Trường địa chỉ thường dài 8 bit.

Nội dung của vùng địa chỉ phụ thuộc vào chế độ hoạt động. Trong NRM, ví dụ
trên đường dây đa nhánh, mỗi trạm thứ cấp đều được gán một địa chỉ duy nhất. Bất cứ
khi nào trạm sơ cấp thông tin với một trạm thứ cấp, thì vùng địa chỉ này chứa địa chỉ của
trạm thứ cấp. Có thể có địa chỉ được xem như là địa chỉ nhóm và được gán cho một nhóm
các trạm thứ cấp. Tất cả các frame được truyền với địa chỉ nhóm kèm theo sẽ được tất cả
các trạm thứ cấp trong nhóm nhận. Tương tự, một địa chỉ broadcast (quảng bá) có thể
được dùng để truyền cho tất cả các trạm thứ cấp trên liên kết.

Khi một trạm thứ cấp gửi một thông điệp phúc đáp cho sơ cấp, vùng địa chỉ luôn
chứa địa chỉ duy nhất của thứ cấp này. Trong trường hợp các mạng lớn có nhiều trạm thứ
cấp, vùng địa chỉ có thể được mở rộng hơn 8 bit. Bit có ý nghĩa nhỏ nhất trong mỗi vùng
8 bit được dùng để chỉ định phía sau nó có một octet (byte) nào khác không. Nếu bit này
là 0 thì phía sau có một octet khác, ngược lại thì đây là octet sau cùng (hay chỉ có một
octet). Lưu ý rằng trong ABM vùng địa chỉ không được dùng theo cách này bởi chỉ có
các liên kết điểm-nối-điểm trực tiếp. Thay vì vậy, nó được dùng để dịnh hướng cho các
lện và các đáp ứng liên hệ với chúng.

Khi trường địa chỉ có giá trị là 11111111 thì đây là địa chỉ broadcast (gửi đến tất
cả).

7
Vùng địa chỉ nhận dạng trạm thứ cấp đã gửi frame, và là vùng không cần đến
trong các liên kết điểm-nối-điểm. Tuy nhiên, đối với liên kết đa điểm thì vùng địa chỉ có
thể là 8 bit_chế độ thường_ hoặc là bội số của 8 bit_chế độ mở rộng. Trong trường hợp
sau, bit 1 của octet địa chỉ có giá trị thấp nhất được set là 0 và bit 1 trong octet sau cùng
được set là 1. Các bit còn lại hình thành nên địa chỉ. Trong cả hai chế độ, địa chỉ có tất cả
các bit đều là 1 được dùng làm địa chỉ broadcast.

* Trường điều khiển (Control)

Trường này dùng để xác định loại khung.

Tương ứng với 3 khuôn dạng của frame có 3 loại trường điều khiển:

- Khung thông tin I-frame chứa dữ liệu cần truyền

Điều khiển dòng và điều khiển lỗi được gửi kèm trong các khung thông tin
(Piggybacking).

- Khung giám sát (S-frame, Supervisor Frame) dùng cho ARQ khi
Piggybacking không được dùng.
- Khung không số (Unnumbered frame, U-frame) bổ sung các chức năng điều
khiển liên kết.

Hình_3: 8 bit trường điều khiển được hình thành 3 loại khung.

Giao thức HDLC sử dụng một cửa sổ trượt với số thứ tự khung 3 bít. Trường seq
trong khung I để chỉ số thứ tự của khung thông tin hiện tại. Trường Next để chỉ số thứ tự
của khung thông tin mà bên gởi đang chờ nhận ( thay vì là khung đã nhận tốt như giao
thứ cửa sổ trượt đã giới thiệu ở phần trước).

Bit Poll/Final: ý nghĩa tùy theo ngữ cảnh

- Trong khung lệnh (Command Frame)

+ Ý nghĩa là bit P.

+ 1 để mời gọi (Poll) khung đáp ứng của các trạm ngang hàng.

8
- Trong khung đáp ứng (Response Frame)

+ Ý nghĩa là bit F.

+ 1 là chỉ thị khung đáp ứng là kết quả của lệnh mời gọi.

Khung S (Supervisory Frame) là khung điều khiển, dùng để kiểm soát lỗi và
luồng dữ liệu trong quá trình truyền tin. Khung S có 4 kiểu được xác định bởi tổ hợp giá
trị của 2 bit trong trường Type.

SS=00 RR (Receive Ready), là khung báo nhận, thông báo sẵn sàng nhận
dữ liệu, đã nhận tốt đến khung Next-1 và đang đợi nhận khung Next.
Được dùng đến khi không còn dữ liệu gửi từ chiều ngược lại để vừa
làm báo nhận (Figgyback).

SS=01 REJ (Reject): đây là một khung báo không nhận (Negative
Acknowledge), yêu cầu gửi lại các khung từ khung Next.

SS=10 RNR (Receive Not Ready): thông báo không sẵn sàng nhận tin, đã
nhận đến khung thứ Next-1, chưa sẵn sàng nhận khung Next.

SS=11 SREJ (Selective Reject): yêu cầu gửi lại một khung có số thứ tự là
Next.

Khung U (Unnumbered Frame) thường được sử dụng cho mục đích điều khiển
đường truyền, nhưng đôi khi cũng được dùng để gởi dữ liệu trong dịch vụ không nối kết.
Các lệnh của khung U được mô tả như sau:

1111P100 Lệnh này dùng để thiết lập chế độ truyền tải SABM (Set
Asynchronous Balanced Mode).
1100P001 Lệnh này dùng để thiết lập chế độ truyền tải SNRM (Set Normal
Response Mode).
1111P000 Lệnh này dùng để thiết lập chế độ truyền tải SARM (Set
Asynchronous Response Mode).
1100P010 Lệnh này để yêu cầu ngắt xóa nối kết DISC (Disconnect)
1100F110 UA (Unnumbered Acknowledgment). Được dùng bởi các trạm
thứ cấp để báo với trạm sơ cấp rằng nó đã nhận và chấp nhận các
lệnh loại U ở trên.
1100F001 CMDR/FRMR (Command Reject/Frame Reject). Được dùng bởi
trạm thứ cấp để báo rằng nó không chấp nhận một lệnh mà nó đã
nhận chính xác.

9
Khung thông tin và khung giám sát có thể mở rộng 16 bit

Sử dụng chỉ số tuần tự là 7 bit

Hình 4

* Trường thông tin (Information)

Chỉ có trong các khung thông tin (I-frame) và một số khung không số (U-frame).

Phải là một số nguyên các octet (8 bits).

Chiều dài thay đổi, giới hạn tùy thuộc vào hệ thống.

* Trường FCS

- Dùng để phát hiện lỗi.


- Được tính dựa trên các bit còn lại của khung.
- CRC 16 bit.
- Có thể dùng CRC 32 bit.

Tuần tự kiểm tra frame FCS (Frame Check Sequence) là một mã CRC 16 bit cho
toàn bộ phần nội dung của frame được đóng bởi 2 cờ. Đa thức sinh được dùng với HDLC
thường là CRC-CCITT:

X16 + X12 + X5 + 1

FCS được tăng cường bởi các thủ tục khác nhằm làm cho sự kiểm tra tinh vi hơn.
Ví dụ như thêm 6 bit 1 vào đuôi của số bị chia trước khi chia (thay vì bit 0) và đảo ngược
số dư. Điều này có tác dụng là làm cho số dư được tính lại bởi máy thu không phải tất cả
đều là 0 mà là một mẫu bit đặc biệt_0001 1101 0000 1111.

10
IV. Hoạt động của giao thức
* Quản lý liên kết, tạo kết nối.

Trước khi truyền bất kỳ thông tin số liệu nào giữa sơ cấp và một trạm thứ cấp trên
một liên kết đa điểm hoặc giữa hai trạm được nối với nhau qua một liên kết điểm-nối-
điểm, một cầu nối luận lý giữa 2 chủ thể truyền tin phải được thiết lập. Điều này được
hoàn thành nhờ sự trao đổi 2 frame không đánh số, được trình bày trên hình 6.15.

Trong một liên kết đa điểm (hình 5(a)), trước tiên trạm sơ cấp truyền một SNRM-
frame với bit P/F được set là 1 và địa chỉ của thứ cấp được đặt trong vùng địa chỉ. Thứ
cấp đáp ứng bằng một UA- frame với bit kết (final) được set là 1 cùng với địa chỉ của nó
trong vùng địa chỉ. Như chúng ta có thể thấy, thủ tục thiết lập có tác dụng khởi động các
biến tuần tự trong mỗi trạm. Các biến này được dùng trong các thủ tục điều khiển luồng
và kiểm soát lỗi. Cuối cùng, sau khi tất cả số liệu đã được truyền, liên kết bị xóa khi sơ
cấp gửi một DISC- frame và thứ cấp đáp ứng một UA- frame.

Các lệnh và đáp ứng:

11
Sơ cấp A Thứ cấp B
(a) SNRM(B.P=1)
V(S):=0

V(R):=0
UA(B.F=1) V(S):=0

V(R):=0
Chuyển số liệu

DISC(B.P=1)
Sơ cấp cắt cầu nối

Thứ cấp cắt cầu nối


UA(B.F=1)

Sơ cấp/thứ cấp A Sơ cấp/Thứ cấp B


(b)
V(S):=0 SABM(B.P=1)

V(R):=0
V(S):=0
UA(B.F=1)

V(R):=0
Chuyển số liệu
Sơ cấp cắt cầu nối
DISC(B.P=1)

Sơ cấp và thứ cấp


UA(B.F=1)
cắt cầu nối
Thứ cấp cắt cầu nối

Hình 5 Thủ tục quản lý liên kết:

(a) Chế độ đáp ứng thông thường trên liên kết đa điểm.
(b) Chế độ cân bằng bất đồng bộ trên liên kết điểm-nối-điểm.

Thủ tục thiết lập một liên kết điểm-nối-điểm giống như thủ tục thiết lập liên kế
được dùng trong liên kết đa điểm. Tuy nhiên, trong ví dụ được trình bày trong hình 5(b)
thì ABM được chọn và do đó một SABM- frame được truyền trước tiên. Trong chế độ
này cả 2 phía của liên kết đều có thể khởi động truyền các I- frame một cách độc lập, vì

12
vậy mỗi trạm thường là một trạm kết hợp cả sơ cấp và thứ cấp. Cả hai trạm đều có thể
khởi động và xóa liên kết trong chế độ này. Trong hình 5(b) , trạm A khởi động thiết lập
liên kết còn trạm B khởi động xóa cầu nối luận lý này (sau khi đã truyền xong dữ liệu).
Chỉ cần một lần trao đổi các frame này đã thiết lập một liên kết theo cả hai hướng. Như
chúng ta có thể thấy, vùng địa chỉ được dùng để định hướng cho frame lệnh
( SABM/DISC) và các đáp ứng liên hệ với nó.

Nếu máy thu từ chối lệnh thiết lập cầu nối trong cả 2 chế độ, nó sẽ phúc đáp một
DM- frame (Disconnected Mode-frame) khi nhận frame xác lạp chế độ (SNRM hoặc
SABM). DM-frame chỉ ra rằng trạm đang đáp ứng cắt cầu nối luận lý.

Tóm tắt quá trình khởi tạo kết nối:

- Gửi U-frame khởi tạo 1 trong 6 chế độ:

+ SNRM/SNRME.

+ SARM/SARME.

+SABM/SABME.

- 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).

* Trao đổi dữ liệu

Sau khi đã thiết lập kết nối giữa các trạm thì quá trình trao đổi dữ liệu bắt đầu
được diễn ra.

I-frame:

Cả hai bên đều có thể gửi I-frame (chỉ số tuần tự bắt đầu từ 0).

- Mỗi frame có số thứ tự N(S)

- Cơ chế ACK:

+ N(S) = số thứ tự của frame đang gửi

+ N(R) = số thứ tự của frame đợi nhận tiếp theo, xác nhận đã nhận OK các
frame có số thứ tự đến N(R)-1

- Sử dụng 3 hoặc 7 đánh số thứ tự các frame: Kích thước cửa sổ cực đại là 7
hoặc 127

13
- P/F: Trong NRM, chế độ hỏi vòng của primary (P=1), secondary thiết lập F=1
khi gửi đáp ứng với khung I cuối cùng

S-frame:

Các S-frame có thể được dùng để điều khiển dòng và điều khiển lỗi nếu:

- RR : SS=00, ACK đã nhận OK N(R)-1 frame.


- RNR : SS=10, bên nhận bận, sau đó phải phát RR để tiếp tục nhận dữ liệu.
ACK đã nhận OK frame N(R)-1, không nhận tiếp các I-frame.
- REJ : SS=01, NACK frame N(R) đầu tiên có lỗi, phải gửi lại frame N(R) và
các frame sau đó.
- SREJ : SS=11, NACK cho frame N(R) và yêu cầu truyền lại frame này
(Selective Repeat).

U-frame:

- Cung cấp commands + response: mode settings, recovery

- Mode settings: thiết lập chế độ liên kết

+ SABM: Set Asynchronous Balanced Mode

+ UA: ACK đã chấp nhận các lệnh thiết lập chế độ

+ DISC: Hủy bỏ liên kết logic đã thiết lập

- Truyền tin giữa các trạm sử dụng unnumbered info (UI)

- Recovery: khi error/flow control không thực hiện được

+ FRMR: frame có FCS đúng, nhưng sai cú pháp

+ RSET: Tx khởi tạo lại số thứ tự các frame được gửi

* Ngắt các 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ại U-frame UA (Unnumbered
Acknowledgement)

Các khung quá độ có thể bị mất (việc phục hồi phải do các lớp trên).

14
Ví dụ hoạt động của HDLC:

A B A B
I, 0, 0
SABM
Time I, 0, 1
-out
I, 1, 1
SABM
I, 2, 1

UA I, 1, 3

I, 3, 2

I, 2, 4

DISC I, 3, 4

UA RR,4

(a) Thiết lập, kết thúc liên kết (b) Trao đổi dữ liệu 2 chiều

Hình (a) mô tả các khung liên quan trong quá trình thiết lập và xóa nối kết. Đầu
tiên một trong hai bên giao tiếp sẽ gởi khung SABM sang bên kia và thiết lập một bộ đếm
thời gian. Bên phía còn lại khi nhận được khung SABM sẽ trả lời bằng khung UA. Bên
yêu cầu nối kết khi nhận được khung UA sẽ xóa bỏ bộ đếm thời gian. Nối kết đã được
hình thành và hai bên có thể truyền khung qua lại cho nhau. Nối kết sẽ xóa đi nếu một
trong hai bên giao tiếp gởi khung DISC. Trong một trường hợp khác, nếu sau một khoảng
thời gian trôi qua, bên yêu cầu nối kết không nhận được khung UA, nó sẽ cố gắng gởi lại
khung SABM một số lần qui định. Nếu vẫn không nhận được khung UA, bên yêu cầu nối
kết sẽ thông báo lỗi lên tầng cao hơn.

Hình (b) mô tả tiến trình trao đổi khung I giữa hai bên. Ta thấy rằng bên A gởi liên
tiếp các khung (I,1,1 và I,2,1) mà không nhận được khung báo nhận thì số thứ tự của
khung chờ nhận vẫn không thay đổi, trong trường hợp này là 1. Ngược lại khi bên B nhận
liên tiếp các khung (I,1,1 và I,2,1) mà không gởi khung nào đi, thì khung chờ nhận kế
tiếp của khung thông tin truyền đi phải là số kế tiếp của khung vừa nhận, là 3.

15
A B
A B I, 3, 0

I, 4, 0
I, 3, 0

I, 5, 0
RNR, 4

RR, 0,P REJ, 4

RNR,4,F
I, 4, 0

RR, 0,P I, 5, 0

RNR,4,F I, 6, 0

I, 4, 0

(d) Khắc phục lỗi bằng REJ


(c) Chế độ bận

Trong hình (c) máy A không thể xử lý kịp các khung do B gởi đến vì thế nó gởi
khung RNR để yêu cầu B tạm dừng việc việc truyền tải. Bên B định kỳ gởi thăm dò bên
A bằng cách gởi khung RR với bit P được đặt lên 1. Nếu bên A vẫn chưa thể nhận thông
tin từ bên B nó sẽ trả lời bằng khung RNR, ngược lại nếu A đã sẵn sàng thì nó sẽ trả lời
bằng khung RR.

Trong hình (d), bên A gởi sang B ba khung thông tin 3,4 và 5. Khung 4 bị mất
hoàn toàn trên đường truyền. Khi bên B nhận được khung 5, nó sẽ bỏ qua khung này vì
sai thứ tự khung. B gởi REJ với trường Next là 4 để yêu cầu A gởi lại tất cả các khung từ
khung số 4.

16
A B
SABM

I, 3, 0 RR, 3

Time
-out

RR, 0, P

RR,3,F

I, 3, 0

RR, 4

(e) Khắc phục lỗi bằng Time-out

Hình (e) minh họa cách thức phục hồi lỗi dựa vào thời gian (timeout). Khung số 3
bị lỗi và do đó B bỏ nó. B không thể gởi khung REJ vì nó không thể xác định được đó có
phải là khung I hay không. Bên A sau một khoảng thời gian trôi qua không thấy khung trả
lời từ B, nó sẽ gởi khung RR với bit P=1 để kiểm tra trạng thái của bên kia. Bên B sẽ đáp
lại bằng khung RR với trường Next là 3 để báo hiệu khung số 3 đã mất. Sau đó A sẽ
truyền lại khung số 3.

17

You might also like