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 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 phát hi n 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 ượ ế 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 ướ ế ượ 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 ế
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 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 : thi t b đã s n sàng ch a? 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 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 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 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 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 đ 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 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 đó ch a
tr ng đ a ch c a thi t b thuườ ế , ch 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
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 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 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, hai kh năng đ ch m d t trao đ i: th 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 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 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 ư ượ 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 th yêu c uế ế
g i ít h n hay t m d ng truy n. ơ
- Thi t b thu còn b c ki m tra x 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 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 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 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 :
Trong ph ng pháp này, thi t b phát g i xong m t frame đ 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