BK
TP.HCM
2008
dce
Chương 5
Điều khiển ở
lớp liên kết dữ
liệu
Điều khiển dòng dữ
liệu
Điều khiển lỗi
Giao thức điều khiển liên kết dữ
liệu cấp
cao HDLC
2008
dce
©2008, Dr. Dinh Duc Anh Vu
2
Data Communication and Computer Networks
Vấn đề khi trao đổi dữ
liệu
•
Một số
vấn đề
khi hai thiết bị
kết nối trực tiếp truyền
nhận dữ
liệu
–
Đồng bộ
khung
•
Dữ
liệu được gửi dưới dạng các frame
•
Thời điểm bắt đầu và
kết thúc một frame
–
Điều khiển tốc độ
truyền dữ
liệu
–
Xử
lý lỗi gặp phải trên đường truyền
–
Định vị địa chỉ
trong cấu hình multipoint
–
Phân biệt dữ
liệu và thông tin điều khiển
•
Dữ
liệu và thông tin điều khiển truyền chung
–
Quản lý kết nối
•
Thiết lập, duy trì, ngắt kết nối
•
Lớp vật lý không thể
thực hiện các chức năng trên
2008
dce
©2008, Dr. Dinh Duc Anh Vu
3
Data Communication and Computer Networks
Điều khiển dòng dữ
liệu
•
Bên nhận thường có
bộ đệm để
nhận dữ
liệu
•
Khi dữ
liệu đến, bên nhận thường thực hiện
một số
xử lý trước khi gửi lên lớp cao hơn
•
Điều khiển dòng nhằm đảm bảo bên phát
không gởi dữ
liệu quá
nhanh
–
Ngăn ngừa việc tràn bộ đệm
2008
dce
©2008, Dr. Dinh Duc Anh Vu
4
Data Communication and Computer Networks
Mô hình truyền khung
•
Dùng để
phân
tích quá
trình
truyền nhận
dữ
liệu thành
từng khung
(frame)
2008
dce
©2008, Dr. Dinh Duc Anh Vu
5
Data Communication and Computer Networks
Khái niệm
•
Thời gian truyền (t
frame
): thời gian cần thiết để
gởi tất cả
các bit của frame dữ
liệu lên đường
truyền
•
Thời gian lan truyền (t
prop
): thời gian cần thiết
để
dữ
liệu đi từ
nguồn đến đích
2008
dce
©2008, Dr. Dinh Duc Anh Vu
6
Data Communication and Computer Networks
Điều kiện giả định
•
Tất cả frame đều đến đích, không bị
mất
•
Không có
frame lỗi
•
Các frame đến đúng thứ
tự
2008
dce
©2008, Dr. Dinh Duc Anh Vu
7
Data Communication and Computer Networks
Idle RQ (Stop–and–Wait)
•
Cơ chế
hoạt động
–
“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
(acknowledgement)
–
“Nguồn”
phải đợi ACK trước khi phát tiếp dữ
liệu
•
“Đích”
có
thể
dừng quá
trình bằng cách không gởi ACK
•
Đặc điểm
–
Phương pháp đơn giản nhất
–
Đượ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
2008
dce
©2008, Dr. Dinh Duc Anh Vu
8
Data Communication and Computer Networks
•
Thời gian tổng cộng T
D
= n(2t
prop
+ t
frame
)
•
Hiệu suất đường truyền
Idle RQ –
Hiệu suất
2008
dce
©2008, Dr. Dinh Duc Anh Vu
9
Data Communication and Computer Networks
Vấn đề
kích thước frame
•
Phương pháp Stop-and-wait sử
dụng đường
truyền hiệu quả
nếu kích thước (chiều dài)
frame lớn
•
Nhưng thực tế
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
–
Frame kích thước nhỏ
khó
xảy ra lỗi
–
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
2008
dce
©2008, Dr. Dinh Duc Anh Vu
10
Data Communication and Computer Networks
Sliding windows
•
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 frame (có
thể
nhận W frame)
•
Bên phát có
thể
truyền tối đa W frame mà
không
cần đợi ACK
•
Các frame được đánh số
thứ
tự
•
ACK có
chứa số
thứ
tự
của frame kế
tiếp có
thể
truyền
•
Số
thứ
tự thường được giới hạn bởi k bit trong
frame
–
Đánh số
quay vòng modulo 2
k
2008
dce
©2008, Dr. Dinh Duc Anh Vu
11
Data Communication and Computer Networks
Sliding windows
2008
dce
©2008, Dr. Dinh Duc Anh Vu
12
Data Communication and Computer Networks
Sliding windows –
Ví
dụ
2008
dce
©2008, Dr. Dinh Duc Anh Vu
13
Data Communication and Computer Networks
Sliding windows –
Cải tiến
•
“Đích”
có
thể
gởi ACK không cho phép
“Nguồn”
gởi tiếp dữ
liệu (Receive Not Ready)
–
Trong trường hợp này, sau đó“Đích”
gởi ACK để
tiếp tục việc truyền nhận dữ
liệu khi nó
sẵn sàng
•
Nếu đường truyền là
full-duplex, dùng cơ chế
“piggybacking”: tích hợp ACK vào frame dữ
liệu
–
Nếu không có
dữ
liệu để
truyền, dùng ACK frame
–
Nếu có
dữ
liệu để
truyền nhưng không có
ACK
mới để
truyền: gởi lại ACK cuối cùng, hoặc có
cờ
ACK hợp lệ
(TCP)
2008
dce
©2008, Dr. Dinh Duc Anh Vu
14
Data Communication and Computer Networks
•
Hiệu suất
–
Full-
Duplex
Sliding windows –
Hiệu suất
2008
dce
©2008, Dr. Dinh Duc Anh Vu
15
Data Communication and Computer Networks
Điều khiển lỗi
•
Điều khiển lỗi là
các kỹ
thuật để
phát hiệnvàsữa lỗi
xảy ra trong quá
trình truyền các frame
•
Phân loại lỗi đối với frame
–
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ư (bên nhận không thể
xác
định là
frame nào)
–
Frame hư: thông tin điều khiển trên frame xác định được,
nhưng dữ
liệu trong frame bị
lỗi
•
Kỹ
thuật điều khiển lỗi
–
Kỹ
thuật phát hiện lỗi (CRC, Parity, …)
–
Positive ACK –
xác nhận các frame nhận được
–
Negative ACK (NAK) –
yêu cầu truyền lại cho các frame bị
hư
–
Truyền lại sau một thời gian time-out
2008
dce
©2008, Dr. Dinh Duc Anh Vu
16
Data Communication and Computer Networks
Cơ chế điều khiển lỗi
•
Dựa trên điều khiển dòng
•
Kỹ
thuật Automatic Repeat Request (ARQ)
–
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
•
Continuous RQ
–
Dùng với cơ chế điều khiển dòng sliding-window
–
Selective-reject
–
Go-back-N
2008
dce
©2008, Dr. Dinh Duc Anh Vu
17
Data Communication and Computer Networks
Stop-and-wait ARQ
•
Cơ chế
hoạt động
–
“Nguồn”
chỉ
gởi 1 I-Frame
(Information Frame) đến “Đích”
–
“Nguồn” đợi phản hồi từ
“Đích”
•
ACK-Frame: “Nguồn”
gởi frame mới
•
NAK-Frame: “Nguồn”
gởi lạiframe
•
Không nhận được trả
lời: “Nguồn”
gởi lại
sau thời gian time-out
•
Ưu/khuyết điểm
–
Đơn giản
–
Độ
hiệu quả đường truyền thấp
2008
dce
©2008, Dr. Dinh Duc Anh Vu
19
Data Communication and Computer Networks
Stop–and–wait -
Giải quyết lỗi
•
I-Frame không tới được bên nhận
–
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/ NAK báo về
thì xem như I-
Frame bị
mất và
gởi lại frame này.
2008
dce
©2008, Dr. Dinh Duc Anh Vu
20
Data Communication and Computer Networks
Stop–and–wait -
Giải quyết lỗi
•
I-Frame bị hư
–
Bên nhận gửi NAK để
yêu cầu truyền lại
–
Bên nhận bỏ
Frame bị hư, bên gửi sau thời gian
time-out gửi lại frame
2008
dce
©2008, Dr. Dinh Duc Anh Vu
21
Data Communication and Computer Networks
Stop–and–wait -
Giải quyết lỗi
•
ACK-Frame bị hư hoặc mất
–
“Nguồn”
không nhận được ACK-frame: gửi lại sau thời gian time-out
–
“Đích”
nhận I-Frame trùng: dùng chỉ
số
tuần tự frame (sequential
number) ACK0, ACK1 để
“Đích”
có
thể
loại bỏ
các frame trùng lặp
2008
dce
©2008, Dr. Dinh Duc Anh Vu
22
Data Communication and Computer Networks
Go–back–N
•
Cơ chế
hoạt động
–
Điều khiển
•
RR = receive ready = ACK = acknowledgement
•
REJ = reject = NAK = negative acknowledgement
–
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ự
•
Truyền lại tất cả
các Frame kể
từ Frame sai đầu tiên trở
đi
2008
dce
©2008, Dr. Dinh Duc Anh Vu
23
Data Communication and Computer Networks
Go–back–N –
Các trường hợp lỗi
•
Các kiểu lỗi tương tự như trong Idle RQ (có
thể
xảy
ra đồng thời trên nhiều frame)
–
(E1) I-Frame không đến được bên nhận
–
(E2) I-Frame đến được bên nhận, nội dung I-Frame sai
–
(E3) ACK-Frame không đến được bên gửi
2008
dce
©2008, Dr. Dinh Duc Anh Vu
24
Data Communication and Computer Networks
Go–back–N -
Giải quyết lỗi
•
Sửa lỗi mất frame
–
Giả
sử
frame i mất
–
Nếu “Nguồn”
gửi tiếp frame i+1
–
“Đích”
nhận frame i+1, không đúng chỉ
số
tuần tự
–
“Đích”
bỏ
frame này và
gửi lại REJ i
–
“Nguồn”
nhận được REJ i sẽ
gửi lại tất cả
frame từ
frame I
–
Đòi hỏi “Nguồn”
sử
dụng danh sách truyền lại
(Retransmission list) lưu
các I-Frame đã gởi nhưng
chưa có
ACK
2008
dce
©2008, Dr. Dinh Duc Anh Vu
25
Data Communication and Computer Networks
Go–back–N -
Giải quyết lỗi
•
Sửa lỗi mất frame (tt)
–
Giả
sử
frame i mất
–
“Nguồn”
không gửi tiếp frame nào
–
“Đích”
không nhận được gì
nên sẽ
không có
phản
hồi
–
“Nguồn”
bị time-out, khi đósẽ
gửi ACK-frame
thăm dò với bit P được set lên 1
–
“Đích”
nhận được sẽ
gửi ACK-frame báo đang
chờ
frame i
–
“Nguồn”
gửi lại frame i
2008
dce
©2008, Dr. Dinh Duc Anh Vu
26
Data Communication and Computer Networks
Go–back–N -
Giải quyết lỗi
•
Sửa lỗi frame hư
–
“Đích”
phát hiện lỗi
ở
frame i
–
“Đích”
báo cho “Nguồn”
bằng REJ (i+1)
–
“Đích”
loại bỏ
các frame sau i
–
“Nguồn”
nhận được REJ (i+1) sẽ
gởi lại các frame
từ
frame i
–
Thời gian đáp ứng nhanh hơn so với dùng timeout
(“Đích”
có
thể
loại bỏ
các frame bị hư và xem như
chưa nhận được).