
Bài gi ng: Truy n s li u ả ề ố ệ Ch ng 10: Đi u khi n k t n i d li uươ ề ể ế ố ữ ệ
CH NG 10:ƯƠ
ĐI U KHI N K T N I D LI U (DATA LINK CONTROL)Ề Ể Ế Ố Ữ Ệ
Application
Presentation
Session
Network…...
Data link
Physical
1. Line discipline
2. Flow control
3. Error control
Các ch c năng c a l p k t n i d li u:ứ ủ ớ ế ố ữ ệ
1. H ng m c đ ng dâyạ ụ ườ (line discipline): đi u ph i các h th ng k t n i, ề ố ệ ố ế ố xác đ nhị
thi t b nào đ c phát và thi t b nào đ c thuế ị ượ ế ị ượ .
2. Đi u khi n l u l ngề ể ư ượ (flow control): đi u ph i l ng thông tin có th truy nề ố ượ ể ề
đ c tr c khi nh n đ c tin ch p nh n (ACK). Đ ng th i cũng cung c p tínượ ướ ậ ượ ấ ậ ồ ờ ấ
hi u ch p nh n t máy thu, k t n i v i quá trình ki m soát l i.ệ ấ ậ ừ ế ố ớ ể ỗ
3. Ki m tra l i t c là phát hi n và s a l iể ỗ ứ ệ ử ỗ : Cho phép máy thu báo cho máy phát về
các b n tin b m t hay b h ng nh m đi u ph i vi c ả ị ấ ị ỏ ằ ề ố ệ truy n l i d li u c a máyề ạ ữ ệ ủ
phát.
10.1.H NG M C Đ NG DÂY (LINE DISCIPLINE)Ạ Ụ ƯỜ
H ng m c đ ng dây tr l i câu h i: Ai s g i thông tin ngay bây gi ? ạ ụ ườ ả ờ ỏ ẽ ở ờ
H ng m c đ ng dâyạ ụ ườ (line discipline): đi u ph i các h th ng k t n i, ề ố ệ ố ế ố xác
đ nh thi t b nào đ c phát và thi t b nào đ c thuị ế ị ượ ế ị ượ .
H ng m c đ ng dây đ c th c hi n theo ạ ụ ườ ượ ự ệ hai cách:
•Yêu c u/ch p nh nầ ấ ậ (enquiry/acknowledgment: ENQ/ACK) : dùng trong
thông tin đ ng c pồ ấ (peer to peer communication).
•H i vòng / l a ch n (Poll/select)ỏ ự ọ : thông tin s c p-th c pơ ấ ứ ấ (primary-
secondary communicaton)
Line discipline
ENQ/ACK Poll/select
10.1.1. Yêu c u/ch p nh nầ ấ ậ (ENQ/ACK)
Đ c dùng ch y u trong các h th ng không ki m tra sai, t c là ượ ủ ế ệ ố ể ứ có k t n i riêngế ố
cho hai thi t b , ế ị trong đó ch có m t máy là có kh năng thu.ỉ ộ ả
Biên d ch: Nguy n Vi t Hùng ị ễ ệ Trang 154

Bài gi ng: Truy n s li u ả ề ố ệ Ch ng 10: Đi u khi n k t n i d li uươ ề ể ế ố ữ ệ
Who should start ?
How can one station be sure that
the other is ready ?
` `
Station A Station B
C ch ho t đ ngơ ế ạ ộ :
` `
Station A Station B
ENQ
ACK
Data
ACK
Data
ACK
Data
ACK
EOT
Time
Time
Data transfer
Establishment
Termination
Hình 10.1
•ENQ: mã ASCII 0000101; enquiry
•ACK: mã ASCII 0000110; acknowledgment
•NAK: mã ASCII 0010101; negative acknowledgment
•EOT: mã ASCII 0000100; end of transmission.
- B kh i t o (máy phát) tr c h t g i m t frame đ c g i là ộ ở ạ ướ ế ở ộ ượ ọ ENQ (enquiry) h i xemỏ
máy thu có s n sàng thu d li u ch a.ẵ ữ ệ ư
- Máy thu ph i tr l i b ng frameả ả ờ ằ ACK (acknowledgment ) khi máy s n sàng thu, ho cẵ ặ
frame NAK (negative acknowledgment) khi máy ch a s n sàng thu. ư ẵ
-N u máy phát không nh n đ c tín hi u ACK hay NAK sau kho ng th i gianế ậ ượ ệ ả ờ
qui đ nh thì máy phát s cho là tín hi u ENQ đã b th t l c khi truy n hay do đ tị ẽ ệ ị ấ ạ ề ứ
m ch, nên s g i ti p tín hi u thay th .ạ ẽ ở ế ệ ế Thông th ng, máy phát ph i th c hi nườ ả ự ệ
kho ng 3 l nả ầ b c này đ k t n i thành công.ướ ể ế ố
- N u máy phát liên t c nh n thông tin t ế ụ ậ ừ ch i NAK trong 3 l n thì s c t k t n iố ầ ẽ ắ ế ố và
b t đ u l i các b c này vào m t th i gian khác. N u tín hi u nh n đ c là ch pắ ầ ạ ướ ộ ờ ế ệ ậ ượ ấ
nh n, máy phát t do phát tin.ậ ự
-Sau khi đã chuy n tin đi h t, h th ng phát ch m d t b ng m t frame ch m d tể ế ệ ố ấ ứ ằ ộ ấ ứ
truy n EOT (end of transmission:).ề
10.1.2. H i vòng / l a ch n (Poll/select):ỏ ự ọ
- Ph ng pháp này ho t đ ng v i c u hình m ng trong đó m t thi t b đ cươ ạ ộ ớ ấ ạ ộ ế ị ượ
phân công làm thi t b s c pế ị ơ ấ và máy còn l i là thi t b th c pạ ế ị ứ ấ .
Biên d ch: Nguy n Vi t Hùng ị ễ ệ Trang 155

Bài gi ng: Truy n s li u ả ề ố ệ Ch ng 10: Đi u khi n k t n i d li uươ ề ể ế ố ữ ệ
-Các h th ng đa đi mệ ố ể c n ph i đi u ph i nhi u đi m.ầ ả ề ố ề ể
- V n đ c n gi i quy t là : thi t b đã s n sàng ch a? Và nút nào trong s cácấ ề ầ ả ế ế ị ẵ ư ố
nút đ c phép dùng kênh thông tin?ượ
` ``
Secondary
A
Secondary
B
Secondary
C
Primary
Who has the right to the channel ?
C ch ho t đ ngơ ế ạ ộ :
•Thi t b s c p và nhi u thi t b th c p đ c n i v i nhau thông qua m tế ị ơ ấ ề ế ị ứ ấ ượ ố ớ ộ
đ ng truy n, t t c m i trao đ i đ u đ c th c hi n thông qua thi t b sườ ề ấ ả ọ ổ ề ượ ự ệ ế ị ơ
c p ngay c khi đích đ n là thi t b th c p (trong hình v d ng bus, nh ngấ ả ế ế ị ứ ấ ẽ ạ ư
đi u này cũng đúng v i các d ng m ng khác). ề ớ ạ ạ
•Thi t b s c p đi u khi n k t n i; thi t b th c p ph i nh nế ị ơ ấ ề ể ế ố ế ị ứ ấ ả ậ chỉ th t thi tị ừ ế
b s c p.ị ơ ấ
•Thi t b s c p xác đ nh thi t b th c p nào đ c phép s d ng kênh trongế ị ơ ấ ị ế ị ứ ấ ượ ử ụ
m t th i gian nh t đ nh, đ ng th i thi t b này cũng đóng vai trò máy phát. ộ ờ ấ ị ồ ờ ế ị
•N u thi t b s c p mu n nh n d li u thì ph i h i th c p có c n g iế ế ị ơ ấ ố ậ ữ ệ ả ỏ ứ ấ ầ ở
không, ch c năng này đ c g i là h i vòng (ứ ượ ọ ỏ polling).
•N u thi t b s c p mu n g i d li u, thì ph i báo cho các thi t b đíchế ế ị ơ ấ ố ở ữ ệ ả ế ị
th c p bi t đ chu n b s n sàng nh n tinứ ấ ế ể ẩ ị ẵ ậ , ch c năng này đ c g i là l aứ ượ ọ ự
ch n (ọselecting).
Đ a chị ỉ: giúp nh n d ng đ i t ngậ ạ ố ượ .
Giao th c ứpoll/select nh n d ng m i frame đ c thu hay nh n t m t thi t b đ c thùậ ạ ỗ ượ ậ ừ ộ ế ị ặ
trên k t n i. M i thi t b th c p có các đ a ch khác nhau. Khi truy n d n ế ố ỗ ế ị ứ ấ ị ỉ ề ẫ đ a ch xu tị ỉ ấ
hi n trongệ m t ph n đ c thù c a m i frameộ ầ ặ ủ ỗ , đ c g i là tr ng đ a ch hay tiêu đượ ọ ườ ị ỉ ề
(header). N u thông tin do thi t b th c p phát đi, thì đ a ch cho bi t ngu n g c c a dế ế ị ứ ấ ị ỉ ế ồ ố ủ ữ
li u.ệ
+ Select: Ch đ này đ c dùng khi thi t b s c p c n g i thông tin điế ộ ượ ế ị ơ ấ ầ ở .
Tr c khi g i tin, thi t b s c p g i đi m t ướ ở ế ị ơ ấ ở ộ frame SEL, trong đó có ch aứ
tr ng đ a ch c a thi t b thuườ ị ỉ ủ ế ị , ch có thi t b th c p nh n d ng đ c đ a chỉ ế ị ứ ấ ậ ạ ượ ị ỉ
này m i m đ c frame này và đ c d li u.ớ ở ượ ọ ữ ệ
Khi thi t b thu th c p đã s n sàng thì g i v frame ế ị ứ ấ ẵ ở ề ACK cho s c pơ ấ , thi t b s c pế ị ơ ấ
truy n m t hay nhi u frame d li u, t ng ng v i các đ a ch c a thi t b th c p.ề ộ ề ữ ệ ươ ứ ớ ị ỉ ủ ế ị ứ ấ
•SEL: ch a tr ng đ a ch c a thi t b th c p+ENQứ ườ ị ỉ ủ ế ị ứ ấ ;
•ACK: mã ASCII 0000110;
•NAK: mã ASCII 0010101;
•EOT: mã ASCII 0000100;
Biên d ch: Nguy n Vi t Hùng ị ễ ệ Trang 156

Bài gi ng: Truy n s li u ả ề ố ệ Ch ng 10: Đi u khi n k t n i d li uươ ề ể ế ố ữ ệ
SEL
ACK
Data
ACK
` ``
Secondary
A
Secondary
B
Secondary
C
Primary
+ Poll: dùng đ thu thông tin đ n t thi t b th c pể ế ừ ế ị ứ ấ .
•Poll: ch a tr ng đ a ch c a thi t b th c p và ACKứ ườ ị ỉ ủ ế ị ứ ấ ;
•NAK: mã ASCII 0010101;
•EOT: mã ASCII 0000100;
Thi t b th c p ch đ c phép g i tin khi có yêu c uế ị ứ ấ ỉ ượ ở ầ .
Thi t b s c p n m quy n đ b o đ m trong h th ng nhi u đi m này ế ị ơ ấ ắ ề ể ả ả ệ ố ề ể chỉ
có m t tín hi u truy n d n trongộ ệ ề ẫ th i gian nh t đ nhờ ấ ị , không xu t hi n xungấ ệ
đ t trên đ ng truy nộ ườ ề .
Khi thi t b s c p đã s n sàng đ nh n tin, thì ph i h i m i thi t b th c pế ị ơ ấ ẵ ể ậ ả ỏ ỗ ế ị ứ ấ
xem có c n g i không? Khi thi t b th c p th nh t tr l i b ng NAK n uầ ở ế ị ứ ấ ứ ấ ả ờ ằ ế
không có gì g i và b ng d li u n u có.ở ằ ữ ệ ế
N u đáp ng là NAK thì thi t b s c p s poll ti p đ n thi t b th c p kế ứ ế ị ơ ấ ẽ ế ế ế ị ứ ấ ế
theo cách t ng t .ươ ự
N u đáp ng là tích c c (m t frame ế ứ ự ộ dữ li u) thì thi t b s c p đ c frame nàyệ ế ị ơ ấ ọ
và tr l i b ng frame ACK đ xác nh n.ả ờ ằ ể ậ
Tùy theo giao th c khác nhau mà thi t b th c p có th g i đi l n l t nhi uứ ế ị ứ ấ ể ở ầ ượ ề
frame d li u, hay ph i ch tín hi u ACK đ có th ti p t c g i đi.ữ ệ ả ờ ệ ể ể ế ụ ở
Tùy theo giao th c, có hai kh năng đ ch m d t trao đ i: có th là th c pứ ả ể ấ ứ ổ ể ứ ấ
g i h t t t c d li u, r i ch m d t b ng m t ở ế ấ ả ữ ệ ồ ấ ứ ằ ộ frame EOT, hay là s c p sơ ấ ẽ
cho bi t “h t th i gian ”. ế ế ờ
Sau khi thi t b th c p đã hòan t t truy n tin, s c p có th poll đ n các thế ị ứ ấ ấ ề ơ ấ ể ế ứ
c p còn l i. ấ ạ
Poll
` ``
Secondary
A
Secondary
B
Secondary
C
Primary
Poll
NAK
Data
Poll
NAK
Biên d ch: Nguy n Vi t Hùng ị ễ ệ Trang 157

Bài gi ng: Truy n s li u ả ề ố ệ Ch ng 10: Đi u khi n k t n i d li uươ ề ể ế ố ữ ệ
10.2. ĐI U KHI N L U L NG (FLOW CONTROL)Ề Ể Ư ƯỢ
-Đi u khi n l u l ngề ể ư ượ là t p các th t c nh m cho thi t b phát bi t v l ng dậ ủ ụ ằ ế ị ế ề ượ ữ
li u đ c truy n đi tr c khi ph i ch tín hi u ACK t bên nh n. ệ ượ ề ướ ả ờ ệ ừ ậ
-L u l ng truy n này không đ c phép làm quá t i bên thuư ượ ề ượ ả .
- Thi t b thu thông báo cho bên g i bi t v các gi i h n d li u và có th yêu c uế ị ở ế ề ớ ạ ữ ệ ể ầ
g i ít h n hay t m d ng truy n.ở ơ ạ ừ ề
- Thi t b thu còn có b c ki m tra và x lý d li u tr c khi s d ng, đi u này làmế ị ướ ể ử ữ ệ ướ ử ụ ề
ch m đáng k l u l ng truy n d n, nên bên thu th ng có thêm m t kh i nh t m,ậ ể ư ượ ề ẫ ườ ộ ố ớ ạ
th ng đ c g i là b ườ ượ ọ ộ nh đ m (buffer).ớ ệ
Đi u khi n l u l ng là t p các th t c đ c dùng đ gi i h n l ng d li uề ể ư ượ ậ ủ ụ ượ ể ớ ạ ượ ữ ệ
mà bên phát có th g i đi tr c khi nh n đ c tín hi u xác nh n ACK.ể ở ướ ậ ượ ệ ậ
Có hai ph ng pháp đ c dùng là: ươ ượ d ng - đ iừ ợ và c a s tr tử ổ ượ
Flow control
Stop-and-wait Sliding window
Send one frame at a time Send several frames at a time
10.2.1. D ng-đ iừ ợ :
` `
Sender Receiver
Data
ACK
Data
ACK
Data
ACK
TimeTime
Wait
time
Wait
time
Wait
time
Trong ph ng pháp này, thi t b phát g i xong m t frame và đ i tín hi u xác nh nươ ế ị ở ộ ợ ệ ậ
ACK r i g i ti p frame k .ồ ở ế ế
u đi m:Ư ể c a ph ng pháp này là đ n gi nủ ươ ơ ả
Khuy t đi m:ế ể t c đ truy n b ch m do quá trình d ng-đ iố ộ ề ị ậ ừ ợ
10.2.2.C a s tr tử ổ ượ :
Ph ng pháp này cho phép nhi u frame cùng m t lúcươ ề ộ
54321076 54321076
Window
Hình 10.2
Biên d ch: Nguy n Vi t Hùng ị ễ ệ Trang 158

