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

Tìm hiểu kỹ thuật kiểm soát lõi arq

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 (409.83 KB, 32 trang )

1


TRƯỜNG ðH TÔN ðỨC THẮNG
KHOA ðIỆN-ðIỆN TỬ




NHIỆM VỤ ðỒ ÁN 2


KHOA :
ðIỆN-ðIỆN TỬ

NGÀNH:
ðIỆN TỬ VIỄN THÔNG

GIÁO VIÊN H
ƯỚNG DẪN: TS. HOÀNG THU HÀ

SINH VIÊN TH
ỰC HIỆN: HỒ THANH TÀI MSSV:910512D
NGUY
ỄN NAM VŨ MSSV:

ðỀN TÀI: TÌM HIỂU KỸ THUẬT KIỂM SOÁT LỖI ARQ

Nh
ận xét của giáo viên hướng dẫn:
………………………………………………………………………………


………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………

Ngày tháng n
ăm 2009
(ký tên)



2




Mục lục:
Lời nói ñầu 3

PH
ẦN I CƠ SỞ LÝ THUYẾT VỀ KIỂM SOÁT LỔI 4

I )HỆ THỐNG THÔNG TÍN SỐ 4
II) CÁC PH

ƯƠNG PHÁP PHÁT HIỆN LỖI 5
II.1 Ph
ương pháp truyền phản hồi 6
II.2 Ph
ương pháp truyền dư thừa 7
II.3 Ph
ương pháp kiểm tra chẳn lẽ 7
II.4 Ph
ương pháp CRC 8
II.5 Phương pháp kiểm tra tổng khối 9

III L
ỖI DỮ LIỆU KÊNH TRUYỀN 11

PH
ẦN II KỶ THUẬT KIỂM SOÁT LỔI ARQ 12

I )
ðẶC ðIỂM ARQ 12
I.1 Vấn ñề khi trao ñổi dữ liệu 13
I.2PHÂN KHUNG 14
II )PHÂN LO
ẠI KỸ THUẬT KIỂM SOÁT LỖI ARQ 19
Các c
ơ chế phát lại ñược chia ra làm 3 loại chính:
-C
ơ chế phát lại dừng và ñợi (Stop-and-Wait ARQ)
-C
ơ chế phát lại theo nhóm (Go-back-N ARQ)
-Cơ chế phát lại có lựa chọn (Selective repeat ARQ)


II.1 Stop–and–Wait 19

*Cửa sổ trượt ARQ 24
II.2 Go–back–N 25
III.3 Selective Repeat ARQ 28
So sánh gi
ữa Stop and Wait, Go-back-n và Selective-reject ARQ 31


PH
ẦN III ỨNG DỤNG ARQ 31



3


L
ời nói ñầu

Cùng v
ới sự phát triển mạnh mẽ của khoa học kỹ thuật, ngành viễn
thông ñã có nhiều bước tiến vượt bậc, nhiều hệ thống thông tin hiện ñại ñã ra
ñời nhằm ñáp ứng nhu cầu trao ñổi thông tin và giải trí của con người.ðặc
bi
ệt là hệ thống thông tin số với các ñường truyền tốc ñộ cao ñã dần thay thế
h
ệ thống thông tin tương tự .Vấn ñề ñặt ra với hệ thống thông tin số làtruyền
v

ới khoảng cách xa mà vẩn ñảm bảo ñộ chính xác thông tin hay chất lượng
d
ịch vụ của hệ thống.

ðó là sự ra ñời của các phương pháp phát hiện và sửa lổi, nhằm sửa
ch
ữa những lổi, sai sót trên ñường truyền, ñảm bảo sự tin cậy, ñộ chính xác
thông tin.
ðể hiểu thêm về quá trình phát hiện lổi và sữa lổi của thông tin
tr
ước hết ta cần hiểu về hệ thống thông tin.

Nhóm em trân tr
ọng cảm ơn sự giúp ñỡ tận tình của quý thầy cô
c
ũng như Khoa ðiện – ðiện Tử trường ñại học Tôn ðức Thắng. Và ñặc biệt
chúng em xin g
ửi lời cảm ơn sâu sắc ñến giáo viên hướng dẫn của chúng em
–TS Hoàng Thu Hà. Nh
ờ sự hướng dẫn tận tình của thầy mà chúng em có
th
ể hoàn thành tốt ñề tài này.

















4






PH
ẦN I CƠ SỞ LÝ THUYẾT VỀ KIỂM SOÁT LỖI

I )H
Ệ THỐNG THÔNG TÍN SỐ

H
ệ thống thông tin số là hệ thống mà tín hiệu ñược truyền ñược truyền
dưới dạng số nhị phân.Sơ ñồ tổng quát của hệ thống số ñược trình bày ở
hình:

Ngu
ồn tin: là nơi tạo ra hay chứa các tập tin truyền ñi.Nguồn tin có
th
ể là tương tự hoặc số.




ðịnh dạng:có chứa năng tạo ra tập hợp các tín hiệu rời rạc,riêng biệt.
Khi ngu
ồn tin là tương tự thì ñịnh dạng sẽ rời rạc hóa tín hiệu tương tự thành
các giá tr
ị ñiện áp tại các khoản thời gian lấy mẫu.

Mã hóa ngu
ồn:biến ñổi các tin tức,ký tự thành các bit nhị phân.Có rất
nhi
ều loại mã dùng ñể mã hóa nguồn như:mã ACSII,mã BCD,mã tối ưu
Huffman,mã t
ối ưu Shannon,mã tối ưu Fano


5


Mã b
ảo mật:mục ñích là bảo mật nguồn thông tin,chống lại sự ăn cắp
hay s
ự làm nhiểu làm sai lệch thông tin của các yếu tố bên ngoài tại bất kỳ
m
ột vị trí trên ñường truyền

Mã hóa kênh:m
ục ñích làm giảm thiểu xác suất sai thông tin khi
truy

ền qua kênh truyền ñảm bảo ñộ tin cậy của thông tin,có thể sửa lỗi ñược
khi thông tin
ñến phía thu bị lỗi.

Vi
ệc giảm thiểu xác suất sai dựa vào việc phát hiện sai và sửa sai có
thể dẩn ñến việc giảm tỉ số tín hiệu trên nhiễu(SNR) cần thiết,nhờ ñó sẽ làm
thu
ận lợi cho việc bảo mật,trải phổ và tăng ñộ chính xác của thông tin
nh
ận,ñây là mục ñích quan trọng của truyền thông.

Ghép kênh: ghép các ngu
ồn tin lại với nhau ñể truyền trên một kênh
chung.

ðiều chế: biến ñổi tín hiệu thích ứng với kênh truyền,nhằm nâng cao
ch
ất lượng và ñộ tin cậy của quá trình thông tin.

Tr
ải phổ: biến ñổi tín hiệu băng hẹp thành tín hiệu băng rộng,nhằm
b
ảo mật thông tin và sử dụng băng tần một cách có hiệu quả.

ða truy cập: cho phép nhiều user có thể truy cập vào

Kênh truy
ền: hữu tuyến (dùng các loại cáp ñồng trục,cáp quang…ñể
truy

ền dẩn) và vô tuyến

Hai v
ấn ñề chính cơ bản của hệ thống thông tin :
-Vấn ñề hiệu suất,nói cách khác là tốc ñộ truyền tin của hệ thống.
-V
ấn ñề ñộ chính xác,nói cách khác là khả năng chống nhiễu của hệ
th
ống.
II) CÁC PH
ƯƠNG PHÁP PHÁT HIỆN LỖI

Phát hi
ện lỗi là quá trình kiểm tra và giám sát và xác ñịnh xem giữ liệu
thu có b
ị lỗi không.Việc phát hiện lỗi ñó có khi chỉ cần biết ñoạn từ mã hoặc
ñoạn tin truyền ñó có bị lỗi hay không mà không cần biết bit lỗi cụ thể.



6


Do
ñó cần có cơ chế phát hiện lỗi nhằm mục truyền lại hoặc sữa lỗi.Cơ
ch
ế thứ nhất là kiểm soát lỗi thuận và cơ chế thứ hai là kiểm soát lỗi phản
h
ồi.
• Ki

ểm soát lỗi thuận thường không yêu cầu truyền lại chỉ nhằm phát
hi
ện lỗi hoặc có khả năng sửa hạn chế các bit lỗi.Phương pháp này
th
ường áp dụng cho các ñường truyền có cự ly rất xa với thời gian trể
là quan tr
ọng,hoặc áp dụng trường hợp truyền ñơn công

• Ki
ểm soát lỗi phản hồi nhằm mục ñích phát hiện sai và yêu cầu phía
phát g
ửi lại cho ñến khi nhận ñược là chính xác.
Sau
ñây là một số phương pháp phát hiện lỗi ñơn giản.

II.1 Ph
ương pháp truyền phản hồi

Hay còn g
ọi là phương pháp dội.Trong phương pháp này phía phát sẽ
truy
ền phía thu thông ñiệp hay ñoạn tin,khi phía thu nhận ñược thông ñiệp
hay
ñoạn tin,khi phía thu nhận ñược thông ñiệp sẽ phát lại bản sao về phía
phát:








Nh
ư vậy phía phát sẽ so sánh dữ liệu nằm trong vùng ñiệm ñể biết là dữ
liệu truyền ñúng hay sai.

◄Ưu ñiểm: phương pháp này có khả năng phát hiện sai rất chính xác từ
tr
ường hợp các bit ở thông ñiệp và bản sao sai trùng nhau,tuy nhiên khả
n
ăng ñể có các sai trùng nhau là rất bé.



Bộ phát Bộ thu
Bản sao
Thông ñiệp
7


◄Nhược ñiểm: phương pháp này cho hiệu suất ñường truyền thấp vì
cùng m
ột thông ñiệp truyền phải truyền hai lần.Trong trường hợp ở phía thu
nh
ận ñược ký tự ñúng nhưng có thể truyền lại phía phát bị lỗi.

II.2 Ph
ương pháp truyền dư thừa

Hay còn g

ọi là phương pháp truyền lặp lại.Phía phát sẽ truyền thông ñiệp
và kèm theo b
ản sao của nó.







Ở bộ thu sẽ so sánh bản thông ñiệp và bản sao,nếu không giống nhau
t
ức lỗi truyền suất hiện.

◄Ưu ñiểm: phương pháp này có khả năng phát sai rất chính xác trừ
tr
ường hợp các bit ở thông ñiệp và bản sao sai trùng nhau,tuy nhiên khả
n
ăng ñể có các sai trùng nhau rất bé.

◄Nhược ñiểm: phương pháp này có hiệu suất ñường truyền thấp vì
cùng m
ột thông phải truyền hai lần.Trong trường hợp ở phía thu nhận ñược
ký t
ự ñúng nhưng có thể bản sao bị lỗi,như vậy việc truyền ñúng sẽ trở thành
truy
ền bị lỗi

II.3 Phương pháp kiểm tra chẳn lẽ


Ki
ễm tra chẳn lẽ (parity) là phương pháp ñơn giản nhất thường ñược
áp d
ụng trong các hệ thống truyền dữ liệu ñể phát hiện sai dữ liệu
truy
ền.Việc kiểm tra chẳn lẽ một ñoạn tin truyền có thể kiểm tra theo hàng
ngang ho
ặc kiểm tra theo cột dọc.Một bit ñơn ñược gọi là bit kiểm tra ñược
thêm vào hàng ho
ặc cột ñể thực hiện việc kiểm tra.Phụ thuộc vào số bit 1 có


Bộ phát Bộ thu
Thông ñiệp Bản sao
8



trong hàng và ph
ương thức kiểm tra lẻ hoặc chẳn mà giá trị bit kiểm tra P có
giá tr
ị là o hoặc 1.

◄Ưu ñiểm: phương pháp kiểm tra chẳn lẽ là ñơn giản và rất thích hợp
ñường truyền ngắn hoặc môi trường có nhiễu ít và có khả năng phát hiện tất
c
ả các bit sai

◄Nhược ñiểm: nếu như có một số chẳn các bit lổi thì phương pháp
kiểm tra chẳn lẽ không phát hiện ñược.


II.4 Phương pháp CRC

CRC (cyclic redundancy check) là m
ột loại hàm băm, ñược dùng ñể
sinh ra giá tr
ị kiểm thử, của một chuỗi bit có chiều dài ngắn và cố ñịnh, của
các gói tin v
ận chuyển qua mạng hay một khối nhỏ của tệp dữ liệu. Giá trị
kiểm thử ñược dùng ñể dò lỗi khi dữ liệu ñược truyền hay lưu vào thiết bị
l
ưu trữ. Giá trị của CRC sẽ ñược tính toán và ñính kèm vào dữ liệu trước khi
d
ữ liệu ñược truyền ñi hay lưu trữ. Khi dữ liệu ñược sử dụng, nó sẽ ñược
ki
ểm thử bằng cách sinh ra mã CRC và so khớp với mã CRC trong dữ liệu.
CRC rất phổ biến, vì nó rất ñơn giản ñể lắp ñặt trong các máy tính sử
dụng hệ cơ số nhị phân, dễ dàng phân tích tính ñúng, và rất phù hợp ñể dò
các l
ỗi gây ra bởi nhiễu trong khi truyền dữ liệu.
Gi
ải thuật ñơn giản nhất cho việc sửa sai là tự ñộng lặp lại thông ñiệp:

- ðầu thu tính toán CRC của thông ñiệp và so sánh với CRC ñã nhận
ñược
- N
ếu kết quả không khớp thì ñầu thu sẽ không xác nhận dữ liệu hợp
lệ
-
ðầu phát sẽ tự ñộng truyền lại thông ñiệp ñó nếu không nhận ñược

xác nh
ận dữ liệu hợp lệ

Tính toán CRC
ðể tính toán một mã nhị phân n bit CRC, xếp các bít biểu diễn ñầu
vào thành m
ột hàng, và ñặt mẫu (n+1) bit biểu diễn số chia của CRC (gọi là
9


m
ột "ña thức") vào bên dưới bên trái ở cuối hàng. Sau ñây là phép tính ñầu
tiên
ñể tính một hàm CRC 3 bít:
11010011101100 <
ðầu vào
1011 < S
ố chia (4 bit = 3 + 1 bit)

01100011101100 < K
ết quả ( > Lại ñưa vào ñầu vào của phép tính tiếp
theo)
Nếu dãy nhị phân ñầu vào bên trên có bít cực tả (ñầu tiên bên trái) là
0, không làm gì h
ết và dịch số chia sang phải một bít. Nếu dãy nhị phân ñầu
vào bên trên có bít cực tả là 1, lấy dãy số ñầu vào trừ ñi số chia (hay nói
cách khác, l
ấy từng bít ở dãy số ñầu vào trên trừ ñi từng bít ở số chia). Số
chia sau
ñó dịch vị trí 1 bít sang phải, quá trình cứ tiếp diễn như vậy ñến khi

s
ố chia chạm tới tận cùng bên phải của dãy số ñầu vào. ðây là phép tính cuối
cùng:
00000000001110 < Kết quả của phép nhân
1011 < S
ố chia

00000000000101 < S
ố dư (3 bits)
Do c
ực tả của số chia sẽ làm các bít tương ứng của dãy số ñầu vào trở
v
ề 0 qua mỗi lần dịch, khi quá trình này kết thúc, chỉ còn những bít ở dãy
ñầu vào có thể không là 0 trở thành n bit cuối bên phải của dãy số. n bit này
là s
ố dư của bước chia, và cũng sẽ là giá trị hàm CRC (trừ khi hàm CRC
ñược chọn ñặc biệt ñược gọi cho một số công ñoạn tiền xử lý).
II.5 Ph
ương pháp kiểm tra tổng khối

ðể khắc phục nhược ñiểm của kiểm tra chẳn lẽ là không thể phát hiện
ñược tổng số bit sai là chẳn.Hơn nữa thường dữ liệu thường ñược truyền
thành t
ừng khối tự nên,cho nên ñể cải thiện khả năng phát hiện lổi thì
phương pháp kiểm tra tổng khối ñược sử dụng
Ph
ương pháp kiểm tra tổng khối thực hiện kiểm tra chẳn lẽ trên cả hàng
ngang l
ẩn cột dọc.




10



• Ki
ểm tra theo cột dọc : là mạch phát hiện lổi sử dụng phương pháp
kiểm tra chẳn lẻ ñể xác ñịnh lổi truyền trong một ký tự.Theo phương
pháp VRC (vertical redundancy checking) thì m
ỗi bit ký tự ñược
c
ộng thêm bit P trước khi truyền.Việc cộng thêm bit P ñó có thể là
ki
ểm tra chẳn hoặc kiểm tra lẽ.

• Ki
ểm tra theo hàng ngang (HRC-hozontal redundancy checking) là
m
ột kiểu phát hiện lổi sử dụng phương pháp kiểm tra chẳn lẻ ñể xác
ñịnh lổi truyền trong một ñoạn tin.Ở phương pháp HRC thì ứng với
m
ỗi vị trí bit có một bit kiểm tra .Các bit b
0
của các từ mã khác nhau
trong ñoạn tin cũng ñược XOR với nhau.Tương tự như vậy các bit
b
1
,b
2

,b
3
…b
6
của các từ mã trong ñoạn tin cũng ñược XOR với
nhau.K
ết quả sẽ cho bit kiểm tra HRC.Dãy bit HRC ñược thực hiện ở
phía phát tr
ước khi truyền dữ liệu.Tại phía thu,bit HRC cũng sẽ ñược
ki
ểm tra so sánh giống như kiểm tra so sánh lổi bit ký tự bit.

◄Ưu ñiểm:
-Có kh
ả năng phát hiện tất cả các bit sai lẽ
-Có khả năng phát hiện tất cả các bit lổi chẳn thậm chí cùng hàng cùng cột.

P
R
B
6
B
5
B
4
B
3
B
2
B

1
B
0

0 0 0 0 0 0 1 0
1 0 1 0 1 0 0 0
0 1 0 0 0 1 1 0
0 0 1 0 0 0 0 0
1
0 1 0 1 1 0 1
0 1 0 0 0 0 0 0
1 1 1 0 0 0 1 1
1 0 0 0 0 0 1 1
1 1 0 0 0 0 0 1
= STX
= ETX
= BCC
Duyệt theo cột (chẵn)
Duyệt theo
hàng (l
ẻ)

Frame Data
Kiểm tra tổng BSC
(Block Sum Check)

Hướng
Truy
ền



Vị trí tổ hợp lỗi không

phát hiện ñược
11



-Có kh
ả năng sửa ñược một bit sai,vì nếu chỉ có một bit sai thì hàng và cột
t
ương ứng sẽ chỉ ra tọa ñộ bit sai.


◄Nhược ñiểm: không phát hiện ñược lỗi truyền nếu như trong ñoạn tin
còn s
ố chẳn các ký tự có vị trí lỗi bit giống nhau.

III LỖI DỮ LIỆU KÊNH TRUYỀN

Các
ñường truyền dữ liệu có thể có khoảng cách ngắn vài m và cũng
có th
ể dài hàng nghìn km,môi trường truyền dữ liệu có thể là hệ thống dây
ñồng ,vi ba,vệ tinh,sợi cáp quang,hoặc vô tuyến.Do các ñặc tính không lý
t
ưởng của kênh truyền cũng như tác ñộng của các yếu tố can nhiễu bên
ngoài.Trong th
ực tế không bao giờ ñạt ñược ñộ tin cậy hoàn toàn hoàn
h

ảo.Sai hoặc lổi xuất hiện trong quá trình truyền dữ liệu là không tránh khỏi.

Trong các kênh truy
ền tin số,nếu như xem rằng các chuỗi ký hiệu
truy
ền vẩn ñược giữ nguyên trật tự và chỉ sai số ở dạng bit,các lổi kênh
truy
ền,các lổi trong kenh truyền nhị phân ñó có thể chia làm 2 loại:

-L
ổi xác suất có ký hiệu một,xảy ra ở các kênh truyền có tốc ñộ
th
ấp,ñộ tin cậy truyền tin lớn.xác lỗi thường ñộc lập không phụ thuộc vào
nhau.
-L
ổi có tính chất cụm:thường do các yếu tố tạp nhiễu bên ngoài tác
ñộng làm cho 1 số bít liên tiếp hay 1 cụm bit nào ñó bị sai lệt.

* Ki
ểm soát lổi

Khi nh
ập dữ liệu ñược nhập vào máy tính bằng bàn phím thì chương
trình s
ẽ ñọc và chứ ký tự nhận ñược rồi gửi lên màn hình.Như vậy nếu ký tự
nh
ập bị sai thì người sử dụng có thể dùng các ký tự ñiều khiển như “delete”
ho
ặc “backspace” ñể loại bỏ lý tự sai và nhập lại.Công việc như vậy gọi là
ki

ểm soát lỗi bằng tay.

ðối với việc truyền dữ liệu ,khi 1 thiết bị ñầu cuối chuyển các khối ký
tự hay là khung dọc theo 1 ñường truyền nối tiếp ñến các thiết bị ñầu cuối
khác,ch
ương trình bên phía thu sẽ thực 1 một thủ tục kiểm soát lỗi tự ñộng
trong su
ốt ñối với người sử dụng.Thông thường bên phía thu sẽ kiểm tra các
khung vừa nhận ñược và trả về phía phát một thông ñiệp ñể xác nhận là
12



ñúng hoặc yêu cầu gửi một bản sao khác.Loại kiểm soát lỗi như vậy gọi là
ARQ(AUTOMATIC REPEAT REQUEST).

PHẦN II KỸ THUẬT KIỂM SOÁT LỖI ARQ

I )
ðẶC ðIỂM ARQ

Trong th
ực tế có 2 loại cơ sở ARQ ñó là idle RQ ñược dùng với
truyền ñịnh hướng ký tự ,continious RQ ñược dùng với các loại truyền lại
selective repeat ho
ặc goback N.Loại RQ liên tục thường dùng với truyền
ñịnh hướng bit.

Nguyên lý ki
ểm soát lỗi idle RQ ñược ñịnh nghĩa ñể cho phép các

khung c
ủa ký tự ñược truyền một cách tin cậy .ðể phân biệt phía gửi
(ngu
ồn),và phía nhận ñích các thuật ngữ P (primary) và S(secondary) sẽ
ñược sử dụng.ðể phân biệt các khung dữ liệu và các khung giám sát ta
th
ường dùng các thuật ngữ I-Frame và ACK hay NAK Frame.

Idle RQ ho
ạt ñộng ở chế ñộ mode bán song công,bởi vì sau khi P gửi
m
ột I-Frame nó phải chờ bên S báo cho biết là khung trước ñó ñã nhận ñúng
hay sai.Và P s
ẽ truyền một khung mới nếu thông tin nhận ñược là ñúng ,và
yêu cầu gửi lại khung cũ nếu thông tin nhận ñược là sai.

Có 2 cách th
ực hiện nguyên lý này là truyền hiểu ngầm và truyền
t
ường minh

Khi truy
ền thông tin trong mạng, thông tin truyền từ phía phát sang
phía thu có thể bị sai lỗi hoặc mất. Trong trường hợp thông tin bị mất, cần
ph
ải thực hiện truyền lại thông tin. Với trường hợp thông tin bị sai, có thể
s
ửa sai bằng một trong hai cách:

-S

ửa lỗi trực tiếp bên thu: phía thu sau khi phát hiện lỗi có thể sửa lỗi
tr
ực tiếp ngay bên thu mà không yêu cầu phải phát lại. ðể có thể thực hiện
ñược ñiều này, thông tin trước khi truyền ñi phải ñược cài các mã sửa lỗi
(bên cạnh việc có khả năng phát hiện lỗi, cần có khả năng sửa lỗi).

-Yêu cầu phía phát truyền lại: phía thu sau khi kiểm tra và phát hiện
có lỗi sẽ yêu cầu phía phát truyền lại thông tin.
13



ARQ (Automatic Repeat Request) ,
có thể dịch là cơ chế tự ñộng phát
lại , ở giao thức TCP có sử dụng ñến cơ chế này . Nó dùng ñể ñiều khiển
luồng và ñiều khiển chống tắc nghẽn .

I.1 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
 ð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
 Quản lý liên kết

N
ội dung

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

ðiều khiển lỗi

M
ột số nghi thức ñiều khiển liên kết dữ liệu

ð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: ñả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













14




*Mô hình truy
ền khung




I.2 PHÂN KHUNG

Kh
ối lớn dữ liệu có thể chia thành các khung nhỏ.
Phù hợp với bộ nhớ ñệm giới hạn
Phát hi
ện các lỗi nhanh hơn ( khi cả khung ñược nhận xong )
Trong tr
ường hợp lỗi, chỉ cần truyền lại các khung nhỏ hơn.
Tránh tr
ường hợp một trạm bất kỳ chiếm ñường truyền quá lâu

ðiều kiện giả ñịnh
Tất cả frame ñều ñến ñích
Không có frame l
ỗi
Các frame
ñến ñúng thứ tự

Nghi th
ức Idle RQ (Stop–and–Wait)

 ðặ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

15



 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

 Nguồn phải ñợi ACK trước khi phát tiếp dữ liệu

 ðích có thể ngưng truyền dữ liệu bằng cách không gởi ACK



Idle RQ – Hi
ệu suất
 Khái niệm
 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
 Thời gian tổng cộng TD= n(2tprop + tframe)
 Hiệu suất ñường truyền
 Thời gian tổng cộng TD= n(2tprop + tframe)
 Hiệu suất ñường truyền

V
ấn ñề kích thước frame

 Hiệu quả ñường truyền cao nếu frame kích thước lớn
 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ỏ
16



 Ngăn ngừa tình trạng 1 trạm làm việc chiếm ñường truyền lâu
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 (có thể nhận W frame)
 Bên phát có thể truyền tối ña W-1 frame mà không cần ñợi ACK
 ðánh số thứ tự cho các frame




 ACK có chứa số thứ tự của frame kế tiếp có thể truyền
S
ố thứ tự ñược quay vòng bởi kích thước cửa sổ (modulo 2k)
















17



C
ải tiến
 Bên thu có thể gởi ACK mà không cho phép bên phát gởi tiếp dữ liệu
(Receive Not Ready)
 Trong trường hợp này, bên thu phải gởi ACK ñể bình thường hóa
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 ñể truyền, gởi lại
ACK cu
ối cùng, hoặc có cờ ACK hợp lệ (TCP)

Hi
ệu suất
 Full- Duplex

ðiều khiển lỗi là gì ?
 ðiều khiển lỗi là các kỹ thuật ñể phát hiện và sữa lỗi xảy ra trong quá
trình truy
ền các frame
 Bảo ñảm truyền nhận dữ liệu chính xác

K
ỹ thuật ñiều khiển lỗi
 Phân loại lỗi ñối với frame

18



 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
 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

C
ơ chế
 Dựa trên ñiều khiển dòng


 Kỹ thuật ARQ (Automatic Repeat Request)

 Cho phép các nghi thức liên kết dữ liệu quản lý 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 repeat


 Go-back-N
Idle RQ
 Cơ chế hoạt ñộng
 A gởi một I-Frame (Information
Frame)
ñến B
 A ñợi phản hồi từ B trước khi gởi tiếp frame
 ACK-Frame – A gởi dữ liệu mới

 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

 Ưu/khuyết ñiểm

 ðơn giản
 ðộ hiệu quả ñường truyền thấp


19




II )PHÂN LOẠI KỸ THUẬT KIỂM SOÁT LỖI ARQ

Các c
ơ chế phát lại ñược chia ra làm 3 loại chính:
-Cơ chế phát lại dừng và ñợi (Stop-and-Wait ARQ)
-C

ơ chế phát lại theo nhóm (Go-back-N ARQ)
-C
ơ chế phát lại có lựa chọn (Selective repeat ARQ)

II.1 Stop–and–Wait

Stop –and-wait ARQ là m
ột dạng của ñiều khiển dòng truyền dừng
và ñợi ñã mở rộng ñể chứa các chức năng truyền lại dữ liệu trong trường hợp
d
ữ liệu bị mất hoặc hư hỏng. ñể việc truyền lại có thể thực hiện ñược bổ
sung vào c
ơ cấu dòng truyền 4 tính chất sau:

Thi
ết bị gửi lưu bản copy khung ñược truyền cuối cùng cho ñến khi
nó nh
ận ñược ACK của khung ñó. Việc này cho phép thiết bị gửi truyền lại
khung bị mất hoặc khung bị hư hỏng ñến khi chúng ñược nhận ñúng.


20



ðể nhận dạng ñúng, cả khung dữ liệu lẫn khung ACK ñược ñánh số
luân phiên 0 và 1. Khung d
ữ liệu 1 ñược nhận biết bởi khung ACK1 có
nghĩa là thiết bị nhận ñã nhận ñược dữ liệu 1 và bây giờ ñang chờ nhậnn dữ
li

ệu 0. việc ñánh số này cho phép nhận dạng khung dữ liệu trong trường hợp
d
ữ liệu truyền 2 lần (ñiều này là quan trọng khi các khung ACK bị mất).

N
ếu một lỗi ñược phát hiện trong khung dữ liệu thì nơi nhận gửi
khung NAK. Các khung NAK không
ñược ñánh số , thiết bị tự hiểu cần phải
truyền lại khung cuối. Stop –and-wait ARQ ñòi hỏi thiết bị gửi ñợi ñến khi
nh
ận ACK khung cuối, trước khi truyền khung tiếp theo. Khi thiết bị gửi
nh
ận khung NAK nó gửi lại khung ñã ñược truyền sau ACK cuối mà bỏ qua
s
ố khung của nó.

Thi
ết bị gửi ñược trang bị ñồng hồ. Nếu chờ khung NAK trong một
th
ời gian xác ñịnh mà không thấy thì cho rằng khung dữ liệu cuối ñã bị mất
và gửi lại khung ñó.

C
ơ chế hoạt ñộng:
• Nghi th
ức ñiều khiển lỗi ñơn giản nhất.
• Máy phát g
ởi một frame sau ñó dừng và chờ một xác nhận từ máy thu.
• N
ếu xác nhận là ACK thì frame kế tiếp sẽ ñược gởi ñi.

• Nếu xác nhận là NAK thì truyền lại frame vừa truyền.
• N
ếu nhận một frame hỏng, bỏ ñi
• Máy phát có timeout
• N
ếu không có ACK trả về trong thời gian timeout thì truyền lại.
• N
ếu ACK bị hỏng, máy phát không nhận ra
• Máy phát s
ẽ truyền lại


• Máy thu nh
ận hai bản copy của khung
• Dùng ACK0 và ACK1
21








22



 Các loại lỗi


 (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



 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/ NAK báo v
ề thì xem như I-Frame chưa tới và gởi lại frame này.


















Giới
hạn
thời
gian
chờ
ñợi
Data 0
Data 0
Data 0
Data 0
lost
.
.
.
.

Mất khung dữ liệu

ACK0
23



 Sửa lỗi E2
Khi m
ột khung ñược nhận bị lỗi thì thiết bị nhận sẽ gởi khung NAK và
truyền lại khung cuối.





























 Sửa lỗi E3
Trong tr
ường hợp khung dữ liệu nhận ñúng ở phía nhận. Khung
ACK(NAK) mà thi
ết bị nhận gởi bị mất trên ñường truyền thì:


Thi
ết bị gởi ñợi hết hời gian qui ñịnh, sau ñó truyền lại khung dữ liệu
cu
ối. Thiết bị nhận kiểm tra số khung dữ liệu mới. Nếu khung bị mất là


Data 0

ACK0

Data 1

Data 1

NAK

ACK1

L
ỗ khung dữ liệu

24



NAK thi
ết bị nhận nhận khung mới này và trả lời ACK(khung mới không bị
h
ỏng).


N
ếu khung mất là ACK thì thiết bị nhận nhận khung mới này như bản
sao khác n
ữa sau ñó gửi ACK rồi bỏ qua những bản sao này và ñợi khung
ti
ếp theo


















*C
ửa sổ trượt ARQ
Trong nhi
ều cơ cấu ñiều khiển lỗi truyền thông, có 2 thủ tục phổ biến
nh

ất:Go-back-n ARQ và chọn lựa từ chối ARQ. Cả 2 ñều dựa vào ñiều
khiển dòng truyền cửa sổ trượt. ðể mở rộng cửa sổ trượt cho truyền lại các
khung b
ị mất hoặc bị hỏng phải bổ sung 3 ñiểm vào ñiều khiển dòng truyền:

Thi
ềt bị gởi lưu bản copy tất cả các khung ñã ñược truyền cho ñến khi
nh
ận ñược khung ACK. Nếu các khung từ 0 ñến 6 ñã ñược truyền và nhận
bi
ết cuối cùng cho khung 2 (chờ khung 3 )thì thiết bị gửi lưu bản copy của
khung 3
ñến khung 6 cho ñến khi nó biết rằng những khung này ñã ñược
nhận ñúng.



Giới
hạn
thời
gian
chờ
ñợi
Data 0

Data 0

Data 0

Data 0


Data 0

Bản copy thứ
nhất bị bỏ
quab
ỏquaData
AC
K0

lost

.
.
.

Mất khung nhận biết ACK0

.

25



Bên c
ạnh các khung ACK thiết bị nhận còn gởi các khung NAK nếu
d
ữ liệu nhận ñược bị lỗi. Bởi cửa sổ trượt là cơ cấu truyền liên tục, cả khung
ACK và NAK ñều ñượ ñánh số ñể nhận diện. Các khung ACK mang số của
khung s

ẽ gởi tiếp theo. Các khung NAK mang số của chính khung hỏng.
Trong c
ả 2 trường hợp ñều cho biết số khung mà thiết bị nhận ñang chờ ñợi.
N
ếu ACK trước ñó ñược ñánh số 3, thì ACK 6 hiện tời cho biết ñã nhận tốt
các khung 3,4,5. N
ếu NAK 4 có nghĩa là tất cả các khung nhận ñược trước
khung 4 d
ều ñúng.

Gi
ống như Stop –and-wait ARQ, ở ñây thiết bị gởi theo dõi thời gian
ñể ñiều khiển khi ACK và NAK bị mất.

II.2 Go–back–N

 Cơ chế hoạt ñộng

 ðiều khiển
 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ự
 Truyền lại tất cả các Frame kể từ Frame sai ñầu tiên trở ñ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

×