Tải bản đầy đủ (.pdf) (39 trang)

Bài giảng Truyền thông kỹ thuật số: Chương 4 - Trịnh Huy Hoàng

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 (1.3 MB, 39 trang )

CHƯƠNG 4 
CÁC NGHI THỨC ĐIỀU 
KHIỂN LIÊN KẾT DỮ LIỆU 
Giảng viên: Trịnh Huy Hoàng
    Email:



Nội dung
Đi ều khi ển liên k ết d ữ  li ệu
 ( Data Link Control )

Đi ều khi ển dòng
 ( Flow  Control)

CSE 501035 – Data Communication

Đi ều khi ển l ỗi
 ( Error Control)

2


Vần đề khi trao đổi dữ liệu


Đồng bộ khung





Điều khiển dòng dữ liệu




Xác định 2 thiết bị trao đổi dữ liệu trên đường truyền

Tích hợp dữ liệu và điều khiển trên cùng đường truyền




Xử lý lỗi gặp phải trên đường truyền

Định vị địa chỉ




Điều khiển tốc độ truyền dữ liệu

Điều khiển lỗi




Dữ liệu được truyền theo khung

Phân biệt dữ liệu và thông tin điều khiển


Quản lý liên kết


Cấp phát, duy trì và giải phóng đường truyền giữa 2 thiết bị

CSE 501035 – Data Communication

3


Điều khiển dòng dữ liệu


Bảo đảm cho việc bên phát không gởi dữ liệu quá 
nhanh




Ngăn ngừa việc tràn bộ đệm

Khái niệm thời gian
Thời gian truyền (tframe): thời gian cần thiết để gởi tất cả các 
bit dữ liệu lên đường truyền.
 Thời gian lan truyền (tprop): thời gian cần thiết để 1 bit đi từ 
nguồn đến đích.


CSE 501035 – Data Communication


4


Điều khiển dòng dữ liệu
Mô hình truyền 
khung

Đi ều khi ển dòng
 ( Flow Cont rol)

I dle RQ
 ( Stop and Wait )
CSE 501035 – Data Communication

Sliding w indow s
5


Idle RQ (Stop–and–Wait)


Đặc điểm





Cơ chế hoạt động









Được dùng chủ yếu trong các ứng dụng character­oriented (byte­oriented)
Sử dụng kênh truyền hoạt động trong chế độ half­duplex

Nguồn phát dữ liệu (dưới dạng các frame)
Đích nhận dữ liệu và trả lời bằng ACK
Nguồn đợi ACK trước khi phát tiếp dữ liệu
Đích có thể ngưng bằng cách không gởi ACK
Thích hợp khi chỉ có vài frame có kích thước lớn

Dữ liệu lớn được chia thành các frame có kích thước nhỏ





Kích thước bộ đệm có giới hạn
Lỗi được phát hiện sớm 
Khi có lỗi, chỉ cần truyền lại frame nhỏ 
Ngăn ngừa tình trạng 1 trạm làm việc chiếm đường truyền lâu

 Stop­and­wait protocol không thích hợp
CSE 501035 – Data Communication

6



Idle RQ (Stop–and–Wait)

Animation
CSE 501035 – Data Communication

7


Idle RQ – Hiệu suất



Thời gian tổng cộng  TD  
Hiệu suất đường truyền

CSE 501035 – Data Communication

 n(2t prop    t frame )

U
a

n t frame
TD
t prop

d


t frame

L

1
1 2a
V
R

R d
L V

8


Sliding windows


Cơ chế hoạt động







Cho phép nhiều frame có thể truyền đồng thời
Bên thu có bộ đệm với kích thước W
Bên phát có thể truyền tối đa W frame mà không cần đợi ACK
Cơ chế đánh số thứ tự cho các frame

ACK có chứa số của frame kế tiếp đang được mong đợi 
Số thứ tự được quay vòng bởi kích thước cửa sổ (modulo 2k)

CSE 501035 – Data Communication

9


Sliding windows

Animation
CSE 501035 – Data Communication

10


Sliding windows

CSE 501035 – Data Communication

11


Sliding windows

CSE 501035 – Data Communication

12



Điều khiển lỗi


Cung cấp cơ chế cho việc truyền dữ liệu trong trường hợp dữ 
liệu bị mất hay sai sót trên đường truyền




Loại lỗi





Bảo đảm dữ liệu nhận được đúng và chính xác

Mất frame: frame không đến đích hoặc đến nhưng thông tin điều khiển 
trên frame bị hư, không thể xác định được
Frame hư: thông tin điều khiển trên frame xác định được, nhưng dữ liệu 
trong frame bị hư

Kỹ thuật dùng để điều khiển lỗi





Phát hiện lỗi (CRC, Parity, …)
Positive ACK – xác nhận các frame nhận được

Truyền lại sau một thời gian time­out
Negative ACK (NAK) và truyền lại – yêu cầu truyền lại (NAK) cho các 
frame bị hư

CSE 501035 – Data Communication

13


Điều khiển lỗi


ARQ (Automatic Repeat Request)



Cơ chế cho phép các nghi thức liên kết dữ liệu quản lý lỗi và yêu cầu truyền lại
Phân loại


Idle RQ (stop­and­wait)





Dùng với cơ chế điều khiển dòng stop­wait
Được dùng chủ yếu trong truyền dữ liệu là ký tự hay byte thông tin (character­oriented or 
byte­oriented)


Continuous RQ




Dùng với cơ chế điều khiển dòng sliding­window
Được dùng chủ yếu trong truyền dữ liệu là bit thông tin (bit­oriented)
Được chia làm hai loại tùy theo cách thức sửa lỗi: selective reject và go­back­N
Đi ều khi ển l ỗi
 ( Error Cont rol)

ARQ
 Stop and Wait

ARQ
Sliding w indow s

Go Back N
CSE 501035 – Data Communication

Selective reject
14


Stop–and–Wait 


Cơ chế hoạt động




A gởi một I­Frame (Information Frame) đến B
A đợi trả lời








Lặp lại các bước trên

Ưu/khuyết điểm





ACK­Frame – A gới tiếp dữ liệu
NAK­Frame – A gời lại dữ liệu
Không nhận được trả lời – A gởi lại 
sau thời gian time­out

Đơn giản
Không hiệu quả

Vấn đề




I­Frame nhận được, nhưng ACK bị mất/hư?
Có dùng được cho cơ chế sliding­window không?

CSE 501035 – Data Communication

15


Stop–and–Wait


Cơ chế hoạt động


Trong trường hợp lỗi xảy ra
 (E1) I­Frame không đến được bên nhận
 (E2) I­Frame đến được bên nhận nhưng nội dung I­Frame bị sai
 (E3) ACK­Frame không đến được bên gởi hay ACK­Frame đến được 

bên gởi nhưng nội dung ACK­Frame bị sai
E3
Primary (P)
I(N)

I(N+1)

E3
I(N)


ACK(N)

I(N+1)

ACK(N+1)

E1

I(N)

I(N+1)

Secondary (S)

E2
CSE 501035 – Data Communication

16


Stop–and–Wait 


Sửa lỗi E1


Sử dụng timer: bên gởi sau khi gởi đi một I­Frame thì khởi 
động một bộ đếm thời gian, sau khoảng thời gian đợi T mà 
chưa nhận được tín hiệu ACK báo về thì xem như I­Frame 
chưa tới và gởi lại frame này.

Timer started

Timer expired
restarted

Timer stopped

Primary (P)
I(N)

I(N)

I(N)

ACK(N)

I(N)

ACK(N)

E1
I(N)

I(N)

Secondary (S)
CSE 501035 – Data Communication

17



Stop–and–Wait 



Sửa lỗi E2
Implicit retransmission: sử dụng timer
Timer expired
restarted

Timer started

Timer stopped

Primary (P)
I(N)

I(N)

I(N)

E2

I(N)

I(N)

ACK(N)

I(N)


Secondary (S)



Explicit retransmission: NAK­Frame (negative acknowledgement frame)
P r im a r y (P )
I(N )

E 2

I(N )

I(N )

I(N )

N A K (N )

I(N )

A C K (N )

I(N )

S e c o n d a ry (S )

CSE 501035 – Data Communication

18



Stop–and–Wait 


Sửa lỗi E3


Lỗi lặp lại frame (duplicated frame): dùng chỉ số tuần tự 
frame (sequential number)
Timer expired
restarted

Timer started

Timer stopped

Primary (P)
I(N)

I(N)

Sequential
number

E3
I(N)

I(N)


ACK(N)

ACK(N)

I(N)
I(N)

I(N)

I-Frame corrected

Frame duplicated

Secondary (S)

CSE 501035 – Data Communication

19


Stop–and–Wait 


Hoạt động tốt

CSE 501035 – Data Communication

20



Stop–and–Wait 


I­Frame không đến

CSE 501035 – Data Communication

21


Stop–and–Wait 


ACK­Frame hư/không đến

CSE 501035 – Data Communication

22


Stop–and–Wait 


I­Frame hư

CSE 501035 – Data Communication

23



Go–back–N  


Cơ chế hoạt động


Điều khiển

P r im a r y (P )
I(N )

I(N + 1 )

I(N + 2 )

I(N )

I(N )
S e c o n d a ry (S )

I(N + 3 )

I(N + 4 )

I(N + 5 )

A C K (N )

I(N + 1 )


I(N + 2 )

I(N + 3 )

I(N + 4 )

I(N + 5 )

RR = receive ready = ACK = acknowledge
 REJ = reject = NAK = negative acknowledge




Dựa trên cơ chế sliding window

A gởi liên tục các I­Frame đến B (trong khi cơ chế điều khiển dòng còn cho 
phép)
 B chỉ nhận I­Frame theo đúng chỉ số tuần tự ? thứ tự I­Frame truyền đượ c 
bảo đảm
 Truyền lại tất cả các Frame sai kể từ Frame sai đầu tiên trở đi, bất kể các I­
Frame sau là đúng hay sai
 I­Frame hư


A gởi frame i, B phát hiện lỗi và gới NAKi, A gởi lại các frame, kể từ frame i
 Frame i bị mất nhưng frame i+1 nhận được, B gởi NAKi, A gởi lại các frame kể 
từ frame i
 Frame i bị mất và sau i, không còn frame nào được gởi. A không nhận được trả 
lời, sẽ gởi lại frame I sau một thời gian time­out





ACK hư

B nhận được frame i, gởi ACKi, nhưng ACK này bị mất
 A đợi hoài, sẽ gởi lại các frame, kể từ frame i
 A gởi frame i, i+1, i+2. B gởi ACKi+2, được hiểu như bao gồm ACKi, ACKi+1




NAK hư

A đợi hoài, sẽ gởi lại các frame, kể từ frame i


CSE 501035 – Data Communication

24


Go–back–N 
I(N + 1 )
I(N )

I(N )
I(N + 1 )


I(N )

I(N + 2 )

P r im a r y
(P )

I(N + 2 )
I(N + 1 )
I(N )
I(N + 3 )

I(N
I(N
I(N
I(N

+3)
+2)
+1)
+4)

I(N
I(N
I(N
I(N

+4)
+3)
+2)

+2)

R e tr a n s m itte d
m ode

I(N + 3 )

I(N + 4 )

E1

I(N )

T im e o u t
r e tr a n s m itte d

A C K (N )

S e c o n d a ry
(S )
I(N )
V (s )= N
F ra m e
a c c e p te d

I(N + 1 )
V (s )= N + 1 V (s )= N + 2
F ra m e F ra m e n o t
a c c e p te d a c c e p te d


CSE 501035 – Data Communication

I(N + 3 )

I(N + 4 )

V (s )= N + 2 V (s )= N + 2
F ra m e n o t F ra m e n o t
a c c e p te d
a c c e p te d

I(N + 2 )

I(N + 3 )

I(N + 4 )

V (s )= N + 2
F ra m e
a c c e p te d

V (s )= N + 3
F ra m e
a c c e p te d

V (s )= N + 4
F ra m e
a c c e p te d
25



×