Tải bản đầy đủ (.docx) (18 trang)

TRUYỀN THÔNG GIỮA HAI MÁY TÍNH SỬ DỤNG GIAO THỨC HDLC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (758.36 KB, 18 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG


BÁO CÁO BÀI TẬP LỚN

MẠNG MÁY TÍNH
ĐỀ TÀI :

TRUYỀN THÔNG GIỮA HAI MÁY TÍNH
SỬ DỤNG GIAO THỨC HDLC

Giáo viên hướng : TS. NGUYỄN TÀI HƯNG
dẫn
Sinh viên thực hiện
: Trần Trung Đức
Nguyễn Thị Vân Anh
Phạm Thị Huế

20115444
20115597

Hà Nội- 5/2014

1


Mục lục
1.

CHUẨN GIAO TIẾP RS-232........................................................................................................3


1.1.

Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:.......................................3

1.2.

Các đặc tính kỹ thuật của chuẩn RS-232 như sau:................................................................3

1.3.

Cổng COM.............................................................................................................................4

1.4.

Đầu nối DB9 mô tả như bảng sau :........................................................................................5

1.5.

Truyền thông nối tiếp giữa 2 nút............................................................................................6

1.6.

IC MAX 232...........................................................................................................................7

2.

CHUẨN GIAO TIẾP SPI...............................................................................................................8

3.


GIAO THỨC HDLC (High-Level Data Control):......................................................................13
3.1.

Các đặc tính của giao thức HDLC :.......................................................................................13

3.2.

Cấu trúc khung :....................................................................................................................14

3.3.

Một vài kịch bản về giao thức HDLC :..................................................................................15

2


1. CHUẨN GIAO TIẾP RS-232
Chuẩn RS-232 từ năm 1969 được chấp nhận chuyên dùng cho truyền số liệu và các
đường kiểm tra giữa terminal và moderm, tốc độ cực đại là 20Kbps, với khoảng
cách tối đa không quá 15m. Chuẩn RS-232 quy định mức logic1 ứng với điện áp từ
-3V đến -15V (mark), mức logic 0 ứng với điện áp từ 3V đến 15V(space) và có khả
năng cung cấp dòng từ 10 mA đến 20 mA. Ngoài ra, tất cả các ngõ ra đều có đặc
tính chống chập mạch.
1.1.

Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:
Star

D0


D1

D2

D3

D4

D5

D6

D7

P

Stop

Hình 1.1.a : Khung truyền dữ liệu RS232
Khi không truyền dữ liệu, đường truyền sẽ ở trạng thái mark (điện áp
-10V). Khi bắt đầu truyền, DTE (Data Terminal Equipment) sẽ đưa ra xung Start
(space: 10V) và sau đó lần lượt truyền từ D0 đến D7và Parity, cuối cùng là xung
Stop (mark: -10V) để khôi phục trạng thái đường truyền. Dạng tín hiệu truyền
mô tả như sau (truyền ký tự A):

Hình 1.1.b : Truyền kí tự A theo chuẩn RS232
1.2.

Các đặc tính kỹ thuật của chuẩn RS-232 như sau:


3


Chiều dài cable cực đại
Tốc độ dữ liệu cực đại
Điện áp ngõ ra cực đại
Điện áp ngõ ra có tải
Trở kháng tải
Điện áp ngõ vào
Độ nhạy ngõ vào
Trở kháng ngõ ra

15m
20 Kbps
±25V
±5V đến ±15V
3K đến 7K
±15V
±3V
3K đến 7K

Các tốc độ truyền dữ liệu thông dụng trong cổng nối tiếp là: 1200 bps, 4800
bps, 9600 bps và 19200 bps.
1.3.

Cổng COM
Cổng COM còn gọi là cổng nối tiếp theo chuẩn RS-232.Cổng COM được sử
dụng khá phổ biến dữ liệu ở cổng COM thuộc dữ liệu dạng nối tiếp.
Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa máy tính và
ngoại vi, có các ưu điểm sau:









Khoảng cách truyền xa hơn truyền song song.
Số dây kết nối ít.
Có thể truyền không dây dùng hồng ngoại.
Có thể ghép nối với vi điều khiển hay PLC (Programmable Logic Device).
Cho phép nối mạng.
Có thể tháo lắp thiết bị trong lúc máy tính đang làm việc.
Có thể cung cấp nguồn cho các mạch điện đơn giản

Các thiết bị ghép nối chia thành 2 loại: DTE (Data Terminal Equipment) và
DCE (Data Communication Equipment). DCE là các thiết bị trung gian như
MODEM còn DTE là các thiết bị tiếp nhận hay truyền dữ liệu như máy tính, PLC,
vi điều khiển… Việc trao đổi tín hiệu thông thường qua 2 chân RxD (nhận) và TxD
(truyền). Các tín hiệu còn lại có chức năng hỗ trợ để thiết lập và điều khiển quá trình
truyền, được gọi là các tín hiệu bắt tay (handshake). Ưu điểm của quá trình truyền
dùng tín hiệu bắt tay là có thể kiểm soát đường truyền.Tín hiệu truyền theo chuẩn
RS-232 của EIA (Electronics Industry Associations).
Các phương thức nối giữa DTE và DCE:
 Đơn công (simplex connection): dữ liệu chỉ được truyền theo 1 hướng.

4



 Bán song công ( half-duplex): dữ liệu truyền theo 2 hướng, nhưng mỗi
thời điểm
 Chỉ được truyền theo 1 hướng.
 Song công (full-duplex): số liệu được truyền đồng thời theo 2 hướng.
Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân).

Hình 1.3.a : Đầu nối DB25 và DB9

Hình 1.3.b: cổng DB9 trên máy tính

1.4. Đầu nối DB9 mô tả như bảng sau :
D9
Tín hiệu
Hướng truyền
1
DCD
DCE → DTE
2
3
4

RxD
TxD
DTR

DCE → DTE
DTE →DCE
DTE →DCE

5

6

GND
DSR

DCE → DTE

7

RTS

DTE →DCE

Mô tả
Data carier detect: DCE phát hiện
sóng mang
Received data: dữ liệu nhận
Transmitted data: dữ liệu truyền
Data terminal ready: DTE sẵn
sàng làm việc
Ground: nối đất (0V)
Data set ready: DCE sẵn sàng
làm việc
Request to send: DTE yêu cầu
truyền dữ liệu
5


8


CTS

DCE →DTE

9

RI

RI DCE →DTE

1.5.

Clear to send: DCE sẵn sàng
nhận dữ liệu
Ring indicator: báo chuông

Truyền thông nối tiếp giữa 2 nút
Các sơ đồ khi kết nối dùng cổng nối tiếp:

Hình 1.5.a : Kết nối đơn giản trong truyền thông nối tiếp
Khi thực hiện kết nối như trên, quá trình truyền phải bảo đảm tốc độ ở đầu
phát và thu giống nhau. Khi có dữ liệu đến DTE, dữ liệu này sẽ được đưa vào bộ
đệm và tạo ngắt. Ngoài ra, khi thực hiện kết nối giữa hai DTE, ta còn dùng sơ đồ sau

Hình 1.5.b : Kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay
Khi DTE1 cần truyền dữ liệu thì cho DTR tích cực, tác động lên DSR của
DTE2 cho biết sẵn sàng nhận dữ liệu và cho biết đã nhận được sóng mang của
MODEM (ảo). Sau đó, DTE1 tích cực chân RTS để tác động đến chân CTS của
DTE2 cho biết DTE1 có thể nhận dữ liệu. Khi thực hiện kết nối giữa DTE và DCE,
do tốc độ truyền khác nhau nên phải thực hiện điều khiển lưu lượng. Quá trình điều

6


khiển này có thể thực hiện bằng phần mềm hay phần cứng. Quá trình điều khiển
bằng phần mềm thực hiện bằng hai ký tự Xon và Xoff. Ký tự Xon được DCE gởi đi
khi rảnh (có thể nhận dữ liệu). Nếu DCE bận thì sẽ gởi ký tự Xoff. Quá trình điều
khiển bằng phần cứng dùng hai chân RTS và CTS. Nếu DTE muốn truyền dữ liệu
thì sẽ gởi RTS để yêu cầu truyền, DCE nếu có khả năng nhận dữ liệu (đang rảnh) thì
gởi lại CTS.
1.6.

IC MAX 232

Hình 1.6.a: MAX 232 SMD và sơ đồ chân

IC MAX 232 là IC chuyên dụng trong giao tiếp nối tiếp với máy tính. Nhiệm
vụ chính của MAX 232 là chuyển đổi mức điện áp logic TTL ở ngõ vào thành mức
+10, -10 ở phía nhận và các mức +3V…+15V hoặc -3V…-15V thành mức TTL ở
phía nhận.

Một số đặc điểm chính của IC MAX 232:






Hoạt động từ nguồn 5V với các tụ nạp 1uF.
Hoạt động lên tới 120Kbps.
Mức ngõ vào ±30V.

Có 2 bộ Driver/Receiver
Dòng cung cấp thấp 8mA.
7


Hình 1.6.b: Sơ đồ yêu cầu kết nối MAX232

2. CHUẨN GIAO TIẾP SPI
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp đồng bộ tốc độ
cao do hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1
chip Master điều phối quá trình truyền thông và các chip Slaves được điều khiển bởi
Master, vì thế truyền thông chỉ xảy ra giữa Master và Slave.
SPI là một cách truyền song công (full duplex) vì vậy tại cùng một thời điểm
quá trình truyền và nhận có thể xảy ra đồng thời.
Một liên kết SPI giữa chip Master và Slave được thực hiện thông qua 4 đường:
SCK: Đóng vai trò xung giữ nhịp cho giao tiếp SPI. Mỗi nhịp trên chân SCK
báo 1 bit dữ liệu đã đến hoặc đi. Sự tồn tại của chân SCK giúp quá trình truyền ít bị
lỗi và tốc độ truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip
Master.
MISO – Master Input/Slave Output: Nếu là chip Master thì đây là đường
Input, nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slave được
nối trực tiếp với nhau.
MOSI – Master Output/Slave Input: Nếu là chip Master thì đây là đường
Output, nếu là chip Slave thì đây là đường Input. MOSI của Master và các Slaves
được nối trực tiếp với nhau.
SS – Slave Select: SS là đường chọn Slave cần giao tiếp. Trong trường hợp
một Master giao tiếp với nhiều Slave thì SS sẽ là đường chọn Slave cần giao tiếp.
8



Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao
tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có một đường SS trên mỗi Slave nhưng
có thể sẽ có nhiều đường điều khiển SS trên Master.
Hoạt động: Mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bit. Cứ mỗi
xung nhip do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh nghi dữ liệu
của Master được chuyển qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi
dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO. Hình sau mô tả
quá trình truyền 1 gói dữ liệu thực hiện bởi module SPI trong AVR.

Hình 2.1: Quá trình truyền dữ liệu trên module SPI
Giao tiếp SPI trên AVR
Vi điều khiển ATmega128 giao tiếp với thẻ nhớ micro SD Card thông qua
chuẩn giao tiếp SPI và được thực hiện thông qua module SPI của chip ATmega128.
Trên chip ATmega128 thì các chân dùng cho giao tiếp SPI như sau:
SCK: PB1 (chân 11)
MISO: PB3 (chân 13)
MOSI: PB2 (chân 12)
SS: PB0 (chân 10)
Khi giao tiếp với thẻ nhớ thì ATmega128 sẽ đóng vai trò là Master còn micro
SD Card sẽ là Slave, do đó chúng ta cần set các chân: SCK output, MOSI output,
MISO input.





Module SPI trên AVR được vận hành bởi 3 thanh ghi: SPCR, SPSR, SPDR
SPCR (SPI Control Register): là một thanh ghi 8 bit điều khiển tất cả hoạt động của
SPI.


9


Hình 2.2: Thanh ghi SPCR

 Bit 7 – SPIE (SPI Interupt Enable): bit cho phép ngắt SPI. Nếu bit này được
set bằng 1 và bit I trong thanh ghi trạng thái được sét bằng 1 (sei), 1 ngắt sẽ
xảy ra sau khi một gói dữ liệu được truyền hoặc nhận.
 Bit 6 – SPE (SPI Enable): sét bit này lên 1 để cho phép bộ SPI hoạt động.
Nếu SPE = 0 thì module SPI dừng hoạt động.
 Bit 5 – DORD (Data Order): bit này chỉ định thứ tự dữ liệu các bit được
truyền và nhận trên các đường MISO và MOSI. Khi DORD = 0 thì bit có
trọng số lớn nhất (MSB) của dữ liệu được truyền trước. Ngược lại, khi
DORD = 1 thì bít có trọng số nhỏ nhất (LSB) được truyền trước.
 Bit 4 – MSTR (Master/Slave Select): bit này dùng để nhận diện xem Master
đang hoạt động ở chế độ Master hay Slave. Nếu MSTR = 1 thì chip được
nhận diện là Master. Ngược lại, MSTR = 0 thì chip là Slave.
 Bit 3 và 2 – CPOL và CPHA: đây là 2 bit xác lập cực của xung giữ nhịp và
cạnh sample dữ liệu. Với bit CPOL, ở trạng thái nghỉ, chân SCK có thể được
dữ ở mức cao (CPOL = 1) hoặc thấp (CPOL = 0). Với bit CPHA, nó được
dùng để chỉ cách mà dữ liệu được lấy mẫu (sample) theo xung giữ nhịp. Dữ
liệu có thể được lấy mẫu ở cạnh lên của SCK (nếu CPHA = 0) hoặc cạnh
xuống (Nếu CPHA = 1). Hình sau mô tả cách sample dữ liệu trong 4 chế độ
của SPI trên AVR.

10


Hình 2.3: Cách lấy mẫu dữ liệu.


Sự kết hợp của CPOL và CPHA làm nên 4 chế độ hoạt động của SPI
 Bit 1 và 0 – CPR1:0: hai bit này kết hợp với bit SPI2X trong thanh ghi SPSR
cho phép chọ tốc độ giao tiếp SPI. Tốc độ này được xác lập dựa trên tốc độ
nguồn xung clock chia cho một hệ số chia. Bảng sau mô tả chi tiết các tốc độ
có thể của SPI

11


Hình 2.4: Bảng tần số sample dữ liệu

 SPSR (SPI Status Register): là thanh ghi trạng thái của moude SPI.

Hình 2.5: Thanh ghi SPSR

Trong thanh ghi này, chỉ có 3 bit được sử dụng.
Bit 7 – SPIF: là cờ báo SPI, khi một gói dữ liệu đã được truyền hoặc nhận từ
SPI, bit SPIF sẽ tự động được set lên 1.
Bit 6 – WCOL: là bi báo va chạm dữ liệu. Bit này được AVR set lên 1 nếu chúng
ta cố tình viết 1 gói dữ liệu mới vào thanh ghi dữ liệu SPDR trong khi quá trình
truyền nhận trước chưa kết thúc.
Bit 0 – SPI2X: là bit nhân đôi tốc độ truyền, bit này kết hợp với bit SPR1:0
trong thanh ghi điều khiển SPCR xác lập tốc độ cho SPI.
 SPDR (SPI Data Register): là thanh ghi dữ liệu của SPI. Trên chip Master,
ghi giá trị vào thanh ghi SPDR sẽ kích quá trình truyền thông SPI. Trên chip
Slave, dữ liệu nhận được từ Master sẽ lưu trong thanh ghi SPDR, dữ liệu
được lưu sẵn trong SPRD sẽ được truyền cho Master.

12



3. GIAO THỨC HDLC (High-Level Data Control):
Giao thức điều khiển liên kết dữ liệu quan trong nhất là HDLC. Không phải vì nó
được sử dụng rộng rãi mà nó còn là cơ sở cho nhiều giao thức điều khiển liên kết dữ
liệu khác.
Các đặc tính của giao thức HDLC:
Giao thức HDLC định nghĩa 3 loại máy trạm, hai cấu hình đường nối kết và 3 chế
độ điều khiển truyền tải.
a/- Ba loại trạm trong HDLC :
• Trạm chính (Primary Station): Có trách nhiệm điều khiển các thao thác về đường
truyền. Các khung được gởi từ trạm chính gọi là lệnh Command).
• Trạm phụ (Secondary Station): Hoạt động dưới sự kiểm soát của trạm chính.
Khung gởi từ trạm phụ gọi là các trả lời. Trạm chính duy trì nhiều đường nối kết
luận lý đến các trạm phụ trên đường truyền.
• Trạm hỗn hợp (Combined Station): Bao gồm đặc điểm của trạm chính và trạm phụ.
Một trạm hỗn hợp có thể gởi đi các lệnh và các trả lời.
b/- Hai cấu hình đường nối kết :
• Cấu hình không cân bằng (Unbalanced Configuration): Gồm một máy trạm chính
(Primary Station) và nhiều máy trạm phụ (Secondary station) và hỗ trợ cả 2 chế độ
truyền song công và bán song công.
• Cấu hình cân bằng (Balanced Configuration): Bao gồm 2 máy trạm hỗn hợp, và hỗ
trợ cả 2 chế độ truyền song công và bán song công.
c/- Có 3 chế độ truyền tải là :
• Chế độ trả lời bình thường (NRM- Normal Response Mode), được sử dụng với cấu
hình đường nối kết không cân bằng. Máy chính có thể khởi động một cuộc truyền tải
dữ liệu về cho máy phụ. Nhưng máy phụ chỉ có thể thực hiện việc truyền dữ liệu cho
máy chính như là những trả lời cho các yêu cầu của máy chính.
• Chế độ cân bằng bất đồng bộ (ABM - Asynchronous Response Mode): Được sử
dụng với cấu hình nối kết cân bằng. Cả hai máy đều có quyền khởi động các cuộc
truyền tải dữ liệu mà không cần sự cho phép của máy kia.


13


• Chế độ trả lời bất đồng bộ (ARM-Asynchronous Response Mode): Sử dụng cấu
hình không cân bằng. Một máy phụ có thể khởi động một cuộc truyền tải và không
cần sự cho phép tường minh của máy chính. Máy chính vẫn đảm trách vai trò bảo trì
đường truyền bao gồm việc khởi động, phục hồi lỗi và xóa nối kết.
Chế độ NRM đòi hỏi phải có nhiều đường dây để nối một máy chính với nhiều thiết
bị đầu cuối.
Chế độ ABM được sử dụng nhiều nhất trong 3 chế độ, nó cho phép sử dụng hiệu quả
đường truyền. Chế độ ARM thì ít được dùng đến.
Cấu trúc khung:
HDLC sử dụng chế độ truyền tải đồng bộ, các bits 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.
Khung trong giao thức HDLC có cấu trúc như sau:
Bits

8

8

8

≥0

16

8


011111110

Address

Control

Data

Checksum

01111110

Cấu trúc khung của HDLC
Flag(8 bit)
Address(8bit)
Control(8bit)
Ìnormation(128
-1024 bytes)
FCS(Frame
Check
Sequence-8bit)

Lá cờ dùng để xác định điểm bắt đầu và kết thúc của khung, giá
trị nó là 01111110. HDLC sử dụng kỹ thuật bit độn để laoị trừ sự
xuất hiện của cờ trong dữ liệu
Vùng ghi địa chỉ để xác định máy phụ được phép truyền hay nhận
khung
Được dùng để xá định loại khung. Mỗi loại có thôgn tin điều
khiển khác nhau. Có 3 loại khung: Thông tin(I), điều khiển (S) và

không đánh số(U)
Vùng chứa dữ liệu cần truyền
Vùng chứa mã kiểm soát lỗi, dùng phương pháp đa thức CRC
CCITT = X16 + X12 +X5 +1

14


Bits

1

3

1

3

Khung I

0

Seq

P/F

Next

Khung S


1

0

Type

P/F

Next

Khung U

1

1

Type

P/F

Modifier

Cấu trúc trường điều khiển trong khung HDLC
Giao thức HDLC sử dụng một cửa sổ trượt với số thứ tự khung 3 bit. 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 P/F có ý nghĩa là Poll/Final, tức chọn hoặc kết thúc. Khi máy tính chính mời một
máy phụ truyền tin, thì bit này được đặt lên 1 có ý nghĩa là P (Poll, chọn). Ngược lại
khi thông tin được truyền từ máy phụ lên máy chính thì nó được đặt xuống 0, để báo

với máy chính rằng máy phụ hiện tại vẫn còn dữ liệu để gởi đi. Khi máy phụ gởi
khung cuối cùng, bit này được đặt lên 1, có ý nghĩa là F (Final, kết thúc), để báo cho
máy chính biết rằng nó đã hoàn thành việc truyền tải thông tin.
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
SS=01
SS=10
SS=11

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)
REJ(Reject): đây là một khung báo khôgn nhận (negative
acknowledge), yêu cầu gửi lại các khung, từ khung Next
RNR (Receive Not Ready): thông báo không sẵn sàng nhận tin, đã
nhận đến đến khung thứ Next-1, chưa sẵn sàng nhận khung Next
SREJ (Selective Reject): yêu cầu gửi lại một khung có số thứ tự là
Next

15


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

1100P001
1111P000
1100P010
1100F110
1100F001

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

Một vài kịch bản về giao thức HDLC:
Kịch bản (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.

16


Một vài kịch bản của HDLC
Kịch bản (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ứ

17


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.
Trong kịch bản (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 kịch bản (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.
Kịch bản (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.

18



×