Nối tiếp phần 1, phần 2 tài liệu giới thiệu mạng cục bộ LAN bao gồm mạng ethernet, token bus, token ring và mang giao dịch dữ liệu phân phối sợi quang FDDI. Giáo trình Mạng truyền dữ liệu được viết trên cơ sở đối tượng người học là sinh viên đại học, cao đẳng lần đầu học môn học này, vì vậy mục tiêu của giáo trình là cung cấp những nguyên lý, khái niệm cơ bản nhất về tín hiệu, mã hóa tín hiệu, các loại môi trường truyền dẫn tín hiệu, có dây và không dây, việc ứng dụng các thiết bị như hợp kênh, phân kênh trên cơ sở kỹ thuật FDM và TDM để khai thác triệt để năng lực môi trường truyền. Mời các bạn cùng tham khảo.
Trang 1LỖI TRUYỀN THÔNG, ĐIỂU KHIEN
4.1 P h á t h i ệ n v à s ử a l ỗ i
M ạ n g p h ả i có k h ả n ă n g t r u v ề n c h í n h x á c d ữ liệu t ừ t h i ế t bị n à v
tới thiết bị khác Một hệ thống không bảo đảm dữ liệu n h ậ n giống
như dữ liệu tru y ề n là hệ thông không sử dụng đ ư ợ c Có nhiều n h â n
tô, như tạ p nhiễu đường dây có thể làm hỏng một hoặc nhiều bit của khối dữ liệu đang truyền Một hệ thông thực sự dùng được phải có cơ cấu đê p h á t hiện và sửa các lỗi đó.
Việc p h á t h i ệ n v à s ử a lỗi được t r a n g bị ở lớp li ê n k ế t d ữ liệ u h o ặ c lớp g ia o v ậ n t ư ơ n g ứ n g t r o n g m ô h ì n h OSĨ
Trên hình 4.1 dãy 00000010 là mã ASCII của kí tự STX, có nghĩa
là bắt đẩu đoạn vàn bản, nhưng thiết bị nhận lại n h ậ n được chuỗi
0001010 (mã ASCII c ủ a ký tự LF) có nghĩa là xuống dòng.
Chương 4
Trang 2“0" biến thành “ 1”
Hình 4.1 Lỗi đơn bit
4.1.1.2 Lỗi đa bit
Có n g h ĩ a là 2 h o ặ c n h i ề u b i t t r o n g k h ỏ i d ữ l i ệ u bị b i ế n đối
t h à n h u0” h o ã c t ừ “0” t h à n h “1”
Hai lỗi
Hình 4.2 Lỗi đa bit
Hình 4.2 chỉ ra rằ n g chuỗi 01000010 (mã ASCII của kí tự B) được gửi đi n hư ng nơi n h ậ n lại n h ậ n được chuỗi 00001010 (mã ACSII của LF) có nghĩa là xuống dòng.
Trang 34.1 2 P h á t h i ệ n lô i
Làm t h ê nào dể biết được khi nào có m ộ t tro n g n h ữ n g lỗi kể
t r ê n xảy r a nế u c h ú n g t a k h ô n g có copy b ả n gốc c ủa dữ liệu gửi đi
để so s á n h Rõ r à n g cầ n một cơ câu đơn giản và h o à n th iệ n đê
t h ừ a so v ớ i t h ô n g t i n c ầ n gửi đi N h ữ n g b i t dư t h ừ a n à y sẽ được bỏ đi
k h i t h ô n g t i n t r u y ề n tới nơ i n h ậ n đ ã được k i ể m t r a v à x á c n h ậ n là
1011101 101000000001010101010
Nhận
Từ chối nhân
Nơi nhận
Hinh 4.4 Phương pháp sử dụng các bit dư thừa
M ỗi k h i c h u ỗ i d ữ l i ệ u được p h á t đi đ ề u p h ả i q u a m ộ t t h i ế t bị
p h â n t í c h v à b ổ s u n g v à o c h u ỗ i d ữ l i ệ u đó m ã k i ể m t r a dư t h ừ a t h í c h hợp Đ ơ n vị d ữ l i ệ u t r ở n ê n lớn h ơ n bởi m ộ t sô" b i t t h ê m v à o ( t r ê n
Trang 4h ì n h 4.4 là 7 bit) t ấ t cả được t r u y ề n lê n đ ư ờ n g l i ê n k ế t đ ế n nơi n h ậ n
T h i ê t bị n h ậ n đ ặ t t o à n bộ c h u ỗ i n à y v à o m ộ t k h ô i k i ể m t r a N ế u
c h u ỗ i d ữ liệ u n h ậ n được đi q u a được k h ô i k i ể m t r a t h ì p h ầ n d ữ liệu
sẽ được n h ậ n c ò n c á c b i t d ư t h ừ a sẽ đ ượ c bỏ q u a
Có 4 c á c h đ ể k i ể m t r a d ư t h ừ a t r o n g t r u y ề n t h ô n g d ữ liệu: K iể m
t r a d ư t h ừ a đ ứ n g (VRC) loại n à y còn đ ượ c gọi là k i ể m t r a c h ẵ n lẻ
kiểm tra dư thừa dài (LRC), kiểm t r a dư th ừ a t u ầ n h o à n (CRC), v à
t ô n g k i ể m t r a ( c h e c k s u m ) B a loại đ ầ u đ ượ c t h ự c h i ệ n t r o n g lớp v ậ t lý đốì với ứ n g d ụ n g t r o n g lớp li ê n k ế t d ữ li ệ u L o ạ i t h ứ t ư ( t ứ c t ổ n g
a) Kiểm tra dư thừa đứng (VRC): N ó là cơ c ấ u c h u n g n h ấ t v à d ơ n
g i ả n n h ấ t đ ể k i ể m lỗi B i t d ư t h ừ a ở đ â y đ ư ợ c gọi là b i t c h ẵ n lẻ đượ c
m ộ t sô c h ẵ n , k h ô i d ữ li ệ u được x e m là k h ô n g lỗi, b i t c h ẵ n lẻ đ ư ợ c bỏ
đi v à p h ầ n d ữ li ệ u đư ợ c n h ậ n N ế u q u á t r ì n h t r u y ề n bị lỗi, g i ả s ử
Trang 5t h i ê t bị n h ậ n d ư ợ c c h u ỗ i 1 1 1 0 0 1 0 1 K hi đó k h ỏ i k i ể m t r a c h ẵ n lẻ ( c h a n ) t í n h đ ư ợ c t ố n g c á c sô" “ 1” b ằ n g 5, đó là m ộ t sô lẻ T h i ế t bị n h ậ n
b i ê t r ằ n g có lỗi t r o n g c h u ỗ i d ữ li ệ u t r u y ề n tới v à n ó t ừ chối n h ậ n
N ế u h a i b i t c ủ a d ữ liệ u t h a y đối giá tr ị t h ì t ổ n g sô" các sỗ» “ 1” t r o n g
đ ơ n vị d ữ li ệu là m ộ t s ố c h ẵ n , việc k i ể m t r a k h ô n g p h á t h i ệ n được lỗi
và sẽ cho qua đơn vị dữ liệu này mặc dù nó chứa hai lỗi VRC không thể p h á t hiện lỗi khi tổng sô' bit bị thay đổi giá trị là một số’ chẵn.
b) Kiếm lỗi dư thừa dài LRC:
C á c h k i ể m lỗi n à y t h ự c h i ệ n việ c k i ể m lỗi V R C t h e o cả h a i
hướng C á c h này p h á t hiện được cả lỗi đa bit và đảo bit vì nó kiểm
Trang 6s a u đó dược k ế t h ợ p t h à n h m ộ t đ ơ n vị d ữ li ệ u mới v à d ư ợ c t h è m v à o euôi m ỗi k h ô i gọi là L R C , n h ư m i n h h o ạ t r ê n h ì n h 4.7.
Trang 7Độ ti n c ậ y
N ế u h a i b i t t r o n g m ộ t đơn vị d ữ li ệ u (ở t r ê n m ộ t cột) bị t h a y dôi giá t r ị v ả h a i b i t ở c ù n g m ộ t vị t r í c ủ a đ ơ n vị d ữ liệu k h á c (ỏ t r ê n m ộ t cột k h á c ) c ù n g bị t h a v đổi th ì k hô i k i ể m t r a L R C k h ô n g p h á t h i ệ n r a lỗi T h í d ụ h a i đ ơ n vị d ữ liệu: 1 1 1 0 0 0 0 v à 1 1 0 0 0 0 1 1 N ế u c á c b i t đ ầ u
c) Kiếm lỏi dư thừa tuấn hoàn CRC: Phương pháp kiểm lỗi này có độ
tin cậy cao nhất VRC và LRC dựa vào việc bồ sung thêm sô" bit, còn
C R C d ự a v à o p h é p c h i a n h ị p h ả n T r ọ n g C RC , c h u ỗ i c á c b i t d ư t h ừ a
đ ược gọi là sô d ư C R C , sẽ bô s u n g v à o cuối đ ơ n vị d ữ l i ệ u s a o c h o đơn
vị d ừ li ệu mới n à y là c h i a k h ô n g d ư cho số n h ị p h â n được* q u y đ ị n h
trước và đã sử d ụ n g ở nơi gửi Khi đó đơn vị dữ liệu được xem là
k h ô n g lỗi v à s ẽ đ ư ợ c n h ậ n T r ư ờ n g h ợ p p h é p c h i a có dư, n g h ĩ a là đ ơn
vị dữ liệu đã bị lỗi và không được nhận.
C á c b i t d ư t h ừ a C R C được nơi gửi t í n h b ằ n g c á c h c h i a đ ơ n vị d ữ liệ u c h o m ộ t s ố c h i a x á c đ ị n h trước, sô" d ư c h í n h là C R C C R C p h ả i có
ít hơn số chia một bit và phải bô sung vào cuối dữ liệu, hình 4.9 minh
Trang 8T h o ạ t đ ầ u thêm n bit “0” vào cuôi đơn vị dữ liệu Sô n ít hơn sô chia 1 bit { sô chia có (n + 1) bit
Bước th ứ 2: Đơn vị dữ liệu mới này được chia cho số chia (thường
gọi là phép chia nhị phân) Số dư của phép chia chính là CRC.
Bước th ứ 3: CRC th u được trong bước 2 được th a y cho các bit 0 ở
cuối đơn vị dữ liệu (CRC cũng có n bit) Nếu số dư ít hơn n bit thì bố sung th ê m sô" 0 vào các bit bên trái Nếu phép chia không dư thì n số
0 được đ ặ t làm sô dư và nó là CRC.
Đơn vị clữ liệu chuyển đến thiết bị nhận: Dữ liệu đến trước và theo sau là CRC Thiết bị nhận xem toàn bộ dữ liệu này như một đơn
vị và chia nó cho cùng một sô"chia đã được sử dụng ở bên gửi.
Nếu chuỗi dữ liệu khi được kiểm tra CRC cho sô" dư bằn g 0 được xem là không lỗi và được nhận Nếu chuỗi dữ liệu bị thay đổi trong quá t r ìn h truyền, sô dư sẽ khác 0 và đơn vị dữ liệu là bị lỗi, không được nhận.
Độ tin cậy: CRC phát hiện tấ t cả các lỗi, trừ khi giá trị các bit của khôi chính xác b ằ n g giá trị của sô" chia Số chia CRC Lhỏng dụng
là 13, 17 và 33 bit, bảo đảm phát hiện hết lỗi (Xác su ấ t không phát hiện được lỗi b ằ n g 0).
Đưa ra thí dụ sau để minh hoạ cách thực hiện phép chia nhị
p h â n : D ữ l i ệ u l à 1 0 0 1 0 0, sô " c h ia là 1 1 0 1 ( x e m h ì n h 4 11) t h o ạ t đ ầ u s ố
chia 4 bit bị trừ cho 4 bit của sô" bị chia Mỗi bit của số’ chia bị trừ cho
mỗi bit tương ứng của số bị chia, không vi phạm đến bit cao hơn ỏ bên cạnh Trong thí dụ trên số chia là 1101 được trừ cho 4 bit đầu tiên của sô" bị chia là 1001 kết quả bàng 100 (số 0 đứng đầu của SO» dư
bị bỏ qua).
Bit chưa sử d ụ n g của số chia được đẩy xuông tạo t h à n h sô bit
trong phần dư tương đương với sô» bit trong số’ chia Bước tiếp theo sẽ
là 1000 t r ừ cho 1101 k ết quả là 101,
T ro n g p h é p chia nhị p h â n , sô" bị chia luôn luôn b ắ t đ ầ u b ằ n g 1; số bị ch ia được t r ừ cho sô" chia - p h ầ n dư có c ù n g độ dài P h ép
t r ừ 0 - 0 hoặc 1-1 đ ề u cho k ế t q u ả b ằ n g 0 S a u p h é p trừ, b i t trá i
n h ấ t của sô dư luôn bàng 0 và nó bị bỏ đi (giông n h ư trong phép
chia t h ập phân) và bit chưa sử dụng tiếp theo của sỗ» bị chia được đẩy xuống để làm đầy sô" dư Lưu ý r ằ n g chỉ có bit th ứ n h ấ t của sô
Trang 9i ư là bỏ đi c ò n h i t t h ứ 2 c ủ a sô" d ư d ù b à n g 0 v ẫ n đ ư ợ c g i ữ lạ i Q u á r ì n h đ ư ợ c l ặ p l ạ i đ ế n k h i c h i a h ế t t o à n b ộ sô" bị c h i a , n h ư c h í r a
X 7 + X 5 + X 2 + X + 1
Môi liên q u a n của đa thức với scí nhị p h â n và sồ» chia tương ứng
••V »cho trong hình vẽ 4.11.
Trang 10Các Số mủ 12, 16, và 32 là kích thưóc của số dư CRC, như t h ế cá<
sô chia để tính CRC phải là những số nhị phân 13, 1.7, 33 bit.
d) Kiếm tra tổng (checksum): Phương p h á p này được sử ảụnị
trong các th ủ tục lớp cao hơn Nó cũng là phương pháp dùng các bi
dư thừa.
ở nơi gửi, p h â n đoạn đdn vị dữ liệu thành các phần bằng nhai mỗi phần n bit (thường là 16 bit) Những phần này được cộng vớ nhau bằng cách sử dụng SC) học b ù 1 , t ổ n g cũng c ó đ ộ d à i n b i t , tổn ỉ
đó được lấy bù và được thêm vào cuối đơn vị dữ liệu gốc như nhữnị bit cỉư thừa và được gọi là kiểm tra tổng Đơn vị dữ liệu đã được m< rộng này sẽ được truyền qua mạng Nếu tống các đoạn dữ liộu là r] thì kiểm tra tổng sẽ là: - T (T : đảo giá trị các bit của T).
Cụ thê hơn, để tạo ra kiểm tra tổng, nơi gửi phải thực hiện lầĩ lượt các việc sau:
- Đơn vị dữ liệu được phân thành k đoạn, mỗi đoạn n bit Đoạn
và đoạn 2 được cộng với nhau bằng cách sử dụng số học bù 1.
- Đoạn 3 được cộng với kết quả của bước t r ư ớ c đó.
Trang 11K tra tổng đoan K đoan 2 đoan 1
n bits n bits n bits n bits
đoạn 1 n bits
đoạn 2 n bits
• I • 1 •
é • • • • đoạn K n bits
K.tra tổng n bits
lỏ n g
Nhân nếu tất cả các bit của tổng là 1 ; Khác thế không nhân
Nơi nhận Thiết bị nhận cộng đơn vị dữ liệu và kiểm tra tổng Nếu tất cả đều bằng 1 đơn vị dữ liệuị
Hình 4.12 Quá trinh kiểm lỗi kiểu checksum
Trang 12Độ tin cậy:
Kiểm tra tổng p h á t hiện được cả sô" lẻ bit lẫn số chẵn bit bị lỗi Tuy nhiên, nếu có một hoặc là nhiều bit của một đoạn bị lỗi và một hoặc nhiều bit đối lập trong đoạn thứ hai cũng bị lỗi thì tông những cột này sẽ không đổi, thiết bị n h ậ n sẽ không p h á t hiện được gì Thí dụ nếu bit cuối của đoạn là 0, bị đổi t h à n h 1 và bit cuôi là 1 trong đoạn khấc bị đổi th à n h 0, thì lỗi không dược p h á t hiện Trong checksum mặc dù hai số 0 biến t h à n h hai số 1 không làm thay đổi giá trị một cột riêng, nhưng chúng làm thay đổi giá trị của cột cao hơn ở bên cạnh.
4.1.3 S ử a lỗ i
Sửa lỗi thực hiện theo hai cách Cách thứ nhất: thiết bị nhận yêu cầu thiết bị gửi truyền lại toàn bộ dữ liệu đã gửi Cách khác, thiết bị nhận sử dụng mã sửa lỗi tự động sửa một sô» lỗi n h ất định.
Về lý thuyết, có thể tự động sửa bất kỳ lỗi nhị phân nào Mã sửa lỗi đòi hỏi nhiều bit dư thừa hơn so với mã phát hiện lỗi Sô" bit cần
đổ sửa các lỗi đa bit và lỗi đảo bit lớn đến nỗi trong nhiều trường hựp Ĩ1Ó trở nên không còn hiệu quả Vì vậy trong hầu hết các thao tác sửa lỗi chỉ giới hạn ở 1, 2 hoặc 3 bit lỗi, trong một đơn vị dữ liệu.
4.1.3.1 Sửa lỗi đơn bit
Đây là trường hợp lỗi đơn giản nhất.
Làm th ế nào để sửa được lỗi đơn bit ? Thiết bị nhận phải đảo giá trị của bit đã bị thay đổi đó Nhưng thiết bị nhận phải biết được bit nào bị lỗi đê làm việc đó Bí mật của việc sửa lỗi chính là định vị cho được một bit hoặc là một tập hợp bit bị lỗi.
Thí dụ: Để sửa một lỗi bit đơn trong một kí tự ASCII, mã sửa lỗi phải xác định dược bit nào trong sô' 7 bit đã bị thay đổi giá trị Khi đó phải phân biệt 8 tr ạ n g thái khác nhau: Không lỗi, có lỗi ở vị trí 1, có lỗi ở vị trí 2 cho đến lỗi ở vị trí 7 Muôn làm t h ế đòi hỏi sô bit dư thừa đủ để chỉ ra 8 trạng thái.
Thoạt nhìn sô" bit dư thừa này phải là 3 bit, vì 3 bit có thể chỉ ra
8 vị trí khác nhau Nhưng nếu lỗi xảy ra ở chính những bit dư thừa này thì sao? Vì 7 bit dữ liệu cộng với 3 bit dư thừa là 10 bit, trong khi
Trang 13đó 3 hit c h ỉ có t h ế n h ậ n d ạ n g được 8 k h ả n ă n g C á c b i t d ư t h ừ a c ầ n
p h a i bao q u á t được mọi vị t r í có k h ả n ă n g s i n h lỗi
Đổ t í n h t o á n sô b i t d ư t h ừ a (r) đòi hỏi b i ế t c h í n h x á c sô b i t d ữ liệu (M), p h ả i t ì m mô ì liê n q u a n g i ữ a M v à r H ì n h vẽ 4 1 3 c h ỉ r a M
Hình 4.13 Số bit dữ liệu và số bit dư thừa
G i á t r ị c ủ a r được x á c đ ị n h b ằ n g c á c h giải b ấ t đ ẳ n g t h ứ c t r ê n với các g iá t r ị c ủ a M (t ức là độ d à i gốc c ủ a đ ơ n vị d ữ l i ệ u đ ư ợ c t r u y ề n )
Trang 144.1.3.2 Mã Hamming
ở trên nói về sô bit cần thiết để bao phủ được mọi khả năng lỗi Vấn đề đ ặ t ra là thao tác t h ế nào với các bit này dể p h á t hiện vị trí các bit bị lỗi R.W Ham m ing cung cấp giải pháp kỹ t h u ậ t cho vấn để này Thí dụ, mã ASCII 7 bit thì cần 4 bit dư thừa dể thêm vào cuối đơn vị dữ liệu hoặc chèn vào những bit dữ liệu gốc, hình 4.14.
Hình 4.14: Cách chèn các bit dư thừa vào dữ liệu
T rê n hìn h vẽ, các bit dư th ừ a được đ ặ t vào vị trí 1, 2, 4 và 8 và được kí hiệu là r l , r2, r4 và r8.
T rong mã H a m m i n g mỗi bit r là VRC của một tô hợp các bit dữ liệu Các tổ hđp được sử d ụ n g để tín h một trong bôn giá trị của r như sau:
đó các bit r chỉ th am gia một tính toán.
Sự thể hiện nhị phân của mỗi vị trí bit: bit r l có đại diện nhị phân chứa 1 ở vị trí bên phải n h át của các vị trí 1, 3, 5, 7, 9, 11 bit r2
có đại diện nhị p h â n giá trị 1 ở vị trí số 2 của các vị trí 3, 6, 7, 10, 11 xem hình vẽ 4.15:
Trang 15R, có đai diện nhị phân bằng 1 ở
những vị trí này
1011
11
1001 9
0111 7
0101 5
0011 3
0001 1
Trang 17Hình 4.17 Cách tìm vị trí của bit bị lỗi
4.1.3.3 Sửa lỗi đa bit
C á c b i t d ư t h ừ a dư ợ c t í n h t o á n ở t r ê n có t h ể d ù n g đ ể s ử a c á c lỗi
đ a b it SôT c á c b i t d ư t h ừ a c ầ n t h i ế t c h o việc s ử a lỗi n à y c a o h ơ n n h i ề u
so VỚI t r ư ờ n g h ợ p s ử a lỗi đ ơ n bit, vì t h ế s ử a lỗi đ a b i t t ô t n h ấ t là y ê u
c ầ u nơi gửi t r u y ề n lại đ ơ n vị d ữ li ệ u đó
Trang 18- C á c lỗi có t h ể đư ợ c p h â n loại n h ư s a u :
Đ ơn bit: m ộ t b i t lỗi t r ê n m ộ t đ ơ n vị d ữ li ệu ; Đ a bit: h a i h o ặ c
n h i ề u b i t lỗi k h ô n g li ê n t i ế p n h a u t r o n g m ộ t đ ơ n vị đ ủ liệu: Đ ả o bit:
h a i h o ặ c n h i ề u bit l i ê n t i ế p n h a u bị lỗi t r ê n m ộ t đ ơ n vị d ữ liệ u
- Dư t h ừ a là t h ủ t ụ c các b it gửi t h ê m được s ử d ụ n g đ ể p h á t h i ệ n lỗi
- Tại thiết bị nhận, khi sử dụng phương p h á p checksum dữ liệu
và checksum sẽ được cộng Nếu không có lỗi, tổng tính được có giá trị
Trang 194.2 Đ i ể u k h i ế n t r u y ề n d ử liệ u
T r u y ề n t h ô n g y ê u c ấ u ít n h á t có 2 t h i ê t bị l à n ì v i ệ c với n h a u ,
m ộ t t r u y ề n v à m ộ t n h ậ n T h í d ụ k h i t r u y ề n h a i c h i ể u k h ô n g (t ồ n g t h ò i , m ỗ i l ẩ n c h i có m ộ t t h i ế t bị t r u y ề n N ế u c ả h a i p h í a
N ê u t r ậ t l ự đ ư ờ n g t r u y ề n t r ả lòi c â u h ỏ i: h i ệ n t ạ i ai là n g ư ờ i
gứi dữ liệu? thì điểu k h iể n dòng dữ liệu cho biết s ắ p xếp bao nhiêu (lừ liệu dế gửi tr o n g một k h o ả n g thời gian (tốc độ tru y ề n ) Phái th e h iện tlìiêt bị n h ậ n dà n h ậ n biêt sô k h u n g được t r u y ề n
n g u y ê n vẹn và được kiểm lỗi Chúc n ă n g điểu k h i ể n sửa lỗi cho
2 Điều khiển luồng
3 Điều khiển sửa lỗi
Hình 4.18 Lớp liên kết dữ liệu
Trang 204.2.1 T rật tự đ ư ờ n g tr u y ề n
Thiết bị trong hệ thống bất kỳ chỉ dược phép tru y ề n dữ liệu khi biết chắc rằng có một thiết bị đợi nhận và sẵn sàng n h ậ n dữ liệu truyền tới Nếu không xác định được trạng thái của thiết bị nhận, thiêt
bị gửi sẽ lãng phí thòi gian của mình gửi dữ liệu đến nơi không có chức năng n h ậ n hoặc làm trỏ ngại các tín hiệu khác trên đường truyền.
T r ậ t tự đường truyền giao cho lớp liên k ế t dữ liệu xem xét trước tình tr ạ n g đường liên k ết và quyền được tru y ề n của th iế t bị th am gia
ở thời điểm đã cho.
T rậ t tự đường truyền được thực hiện theo hai cách: y ê u
cầu/nhận biết (ENQ/ACK) và th ăm dò/chọn lựa (Poll/select).
ENQ/ACK được dùng cho truyền thông của m ạng ngang hàng, dạng peer - to - peer.
Poll/select dược dùng cho truyền thông trong m ạ n g cấu hình sơ cấp - thứ cấp.
4.2.1.1 ENQ/ACK: Yêu cầu và nhận biết
ENQ/ACK được dùng nơi hai thiết bị có dường liên kết d à n h riêng Khởi động quá trình được thực hiện bởi cả hai th iế t bị có thứ bậc bằng n h a u trê n đưòng truyền.
Khi tru y ề n hai chiều không đồng thời, lúc th iế t bị khởi động đang gửi dữ liệu, thiết bị trả lời phải chờ đợi T h iế t bị t r ả lời chiếm đưòng truyền khi thiết bị khởi động đã kêt thúc hoặc đòi hỏi tr ả lời Hoạt động của ENQ/ACK như sau:
Thiết bị khởi động sử dụng k h u n g EQN để hỏi t h i ế t bị n h ậ n có thể n h ậ n dữ liệu không? Thiết bị n h ậ n tr ả lời k h u n g ACK nếu sẵn sàng n h ậ n và tr ả lòi k h u n g NAK nếu chưa sẵn s à n g n h ậ n Trong một khoảng thời gian n h ấ t định, không n h ậ n đ ư ợ c t r ả lời t h i ế t bị gửi cho rằng k h u n g ENQ bị mất, không được kết nôi và gửi ENQ khác Quá trìn h này được lặp lại đến 3 lần nếu không n h ậ n được ACK, thiết bị ngừng kết nối và sẽ thử lại quá trình vào một thời điểm khác Nếu nhận được t r ả lòi ACK nó sẽ gửi dữ liệu cho đến h ế t và khi kết thúc
sẽ gửi k h u n g EOT báo kết thúc quá trình Hình 4.19 minh hoạ quá trình này.
Trang 21Trạm A Trạm B
J a p
■MkiỂÉMHÌÉltHÍNỂÌr
DThiết lâp
Hinh 4.19 Quá trình ENQ / ACK
4.2.1.2 Poll/select: (thâm dò và chọn lựa)
Trang 22m ọ i t h i ế t bị t r ê n đ ư ờ n g l i ê n k ế t đ ề u có t ê n h o ặ c là đ ị a c h ỉ d ù n g c h o việ c n h ậ n d i ệ n
Mỗi t h i ế t bị t h ứ c ấ p có đ ị a ch ỉ đ ê p h â n b i ệ t n ó với các t h i ê t bị
t h ứ c ấ p k h á c Đ ị a c h ỉ đ ư ợ c g ắ n ở m ộ t VỊ t r í đ ặ c b i ệ t t r o n g mỗ i k h u n g ( t h ư ờ n g gọi là t r ư ờ n g đ ị a c h ỉ h o ặ c t i ê u đề , p h ụ t h u ộ c v à o t h ủ tục)
Trang 23mờ lỉươe k h u n g và đọc được nó K hung SEL chứa thông báo dữ liệu đang muôn tru y ề n tỏi.
Khi th iế t bị thứ cấp giải mã được địa chỉ, nó t r u y ề n k h u n g ACK tới thiêt bị sơ cấp Xem hình vẽ 4.21.
-Hình 4.21 Quá trinh chọn lựa để gửi dữ liệu
n h ậ n được c â u hỏi, nó t r ả lời k h u n g N A K n ế u k h ô n g có d ữ l i ệ u gửi
Trang 24d ữ li ệu , k ế t t h ú c b ằ n g v iệ c gửi k h u n g E O T ( k ế t t h ú c t r u y ề n ) , h o ặ c
t h i ế t bị sơ câ'p t u y ê n bô' h ế t giờ: ’T i m e ' s u p " T u ỳ t h ủ t ụ c v à độ d à i
t ừ t h i ế t bị n h ậ n Lý do n h ư s a u :
Trang 254.2.2.1 Phương pháp dừng và đợi (Stop-and-wait)
T h i ế t bị g ử i đợi A C K s a u k h i k h u n g d ữ l i ệ u đ ượ c g ử i đi K h i
n h ậ n đ ượ c A C K , k h u n g d ữ li ệ u t i ế p t h e o s ẽ được gửi Q u á t r ì n h t h a}7 đổi g i ữ a gửi v à đợi l ặ p lại ch o đ ế n k h i nơi gửi t r u y ề n k h u n g E O T , b á o
Hình 4.23 Quá trinh dừng và đợi
Trang 26P h ư ơ n g p h á p n à y đ ơ n g i ả n n h ư n g tốc độ c h ậ m , í t h i ệ u q u ả vì
d ừ n g v à đợi ( m ỗ i k h u n g t r u y ề n r i ê n g m ộ t l ầ n , c h i ế m d ụ n g đ ư ờ n g
t r u y ề n đ ế t r u y ề n tới v à t r u y ề n tr ở lại) N ê u k h o ả n g c á c h g i ữ a c á c
t h i ế t bị xa, t h ờ i g i a n t i ê u t ố n sẽ r ấ t lớn
4.2.2.2 Phương pháp cửa sổ trượt
T h i ế t bị g ửi đượ c t r u y ề n m ộ t sô" k h u n g t r ư ớ c k h i n h ậ n k h u n g ACK C á c k h u n g có t h ể gửi li ê n ti ế p , t h i ế t bị n h ậ n c h ỉ n h ậ n b i ế t m ộ t
lần để k h ẳ n g đ ịn h đã n h ậ n được n hiều k h u n g dữ liệu.
Cửa sổ trượt là một bộ nhớ đệm dược xảy dựng ở phía thiẻt bị
n h ậ n v à t h i ế t bị gửi C ử a số có t h ê lư u c á c k h u n g ỏ h a i p h í a v à c h o
biết giới hạn trên của sô khung trước n h ậ n biết ACK Các k h u n g có thể được n h ậ n biết b ấ t kỳ lúc nào không đợi cửa sô đầy và có the truyền khi cửa sổ chưa đầy Có một cơ cấu n h ậ n d ạ n g dựa theo kích
t h ư ớ c c ử a s ổ đ ể d u y t r ì sô' k h u n g được t r u y ề n v à đ ư ợ c n h ậ n t r o n g nó
C á c k h u n g đ ượ c đ á n h s ố t h e o m o d u l o n, n g h ĩ a là c h ú n g n h ậ n các số
từ 0 đẽn n-1 Thí dụ nêu n - 8 các k h u n g được đ á n h sô là: 0, 1,2, 3,
4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, Kích thước cửa sổ là n-1 (trong
t r ư ờ n g h ợ p n à y là 7)
Khi thiết bị n h ậ n gửi ACK, phải gửi kèm số’ k h u n g tiếp theo mà
nó đang chờ nhận Nếu n h ậ n biết được gửi sau một chuỗi k h u n g kôt
có k íc h th ư ớ c là w, m à có 3 k h u n g được t r u y ề n k ê t ừ k h i có n h ạ n biết,
n g h ĩ a là s ố k h u n g đ ã rời k h ỏ i c ử a số là 3, t h ì k íc h t h ư ớ c c ử a số còn lại
là (w - 3) Mỗi l ầ n k h u n g A C K gửi tới, c ử a sô mở r ộ n g m ộ t sô k h u n g
b ằ n g sô» k h u n g k h á c n h a u g iữ a h a i l ẩ n n h ậ n b i ế t A C K , h ì n h 4.24
Trang 27(giá trị tuyệt đối n)
Hình 4.24 Sư thu hẹp và mở rộng cửa sổ nơi giữ
Giả sử cửa sô có kích thước bằng 7 như hình vẽ trên Nếu các khung từ 0 đến 4 được gửi đi và chưa được nhận biết thì cửa sô thiết
bị gửi còn lại hai khung (sô 5 và 6) Nếu bây giò n h ậ n được ACK 4, tức là 4 k h u n g (từ 0 đến 3) truyền không bị lỗi và cửa sổ gửi được mỏ rộng đổ chứa 4 khu n g tiếp theo vào đệm của nó Đến thòi điểm này
cửa sổ n h ậ n chứa 6 k hung (các số 5 6, 7, 0, 1, 2) Nếu nhận ACK‘2
cứa số gửi được mở rộng hai khung.
N h ư v ậ y c ử a số t r ư ợ t c ủ a nơi gửi bị co ở p h í a t r á i k h i các k h u n g
d ữ li ệ u được gửi , được mở r ộ n g s a n g p h í a p h ả i k h i n h ậ n đ ượ c A CK
Cửa sổ nhận: Khi b ắ t đầu tru y ền cửa sổ n h ậ n không chứa n -1 khung mà chứa n-1 không gian khung, khi các k h u n g truyền đến kích thước cửa sổ n hận co lại Cửa sổ n h ậ n không đại diện cho sô
k h u n g n h ậ n được mà đại diện cho sô" k h u n g hãy còn được n h ậ n trước khi gửi ACK đi Nếu cửa số có độ rộng là w, khi n h ậ n được 3 k hung
mà chưa gửi ACK thì số không gian cửa số chỉ còn w - 3 Ngay khi ACK được gửi, cửa sổ mỏ rộng đến sô kh u n g bằng số' kh u n g đã n h ậ n biết Hình 4.25 sau chỉ ra cửa sổ n h ậ n có kích thước bằng 7 Cửa sô chứa không gian của 7 khung, điều đó có nghía là có thê n h ậ n tôi đa
7 k h u n g trước khi phải gửi ACK đi Khi n h ậ n k h u n g đẩu tiên cửa số nhận co lại, giới hạn cửa số chuyển từ 0 sang 1 c ử a sổ co lại 1 nên thiết bị n h ậ n chỉ có thể n h ậ n 6 kh u n g trước khi nó gửi ACK Nêu các
k hung từ 0 đến 3 đã n h ậ n được nhưng chưa gửi ACK, cửa sổ chỉ chứa
Trang 28dôi với k h u n g 2 v à A C K h i ệ n thời là c h o k h u n g 5 t h ì c ử a sô mỏ r ộ n g
Hình 4.25
T h í dụ: H ì n h 4 2 6 s a u mô t ả việc s ử cỉụng c ử a số t r ư ợ t có k íc h
th ư ớ c là 7 k h u n g
Hình 4.26 Sự thay đổi kích thước cửa sổ trong quá trinh trao đổi dừ liệu
Trang 304.2.3.1 S t o p - a n d - w a i t ARQ: Yêu cầ u lặp lại tự đ ộ n g t r o n g c h ê
độ dừng và đợi
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 ă n g tru y ền lại dữ liệu trong trường hợp dữ liệu bị m ất hoặc hư hỏng Đế việc tru y ề n lại có thể thực hiện được phải bổ sung vào cơ cấu điểu khiển dòng t r u y ề n 4
h i ể u , c ầ n p h ả i t r u y ề n lại k h u n g cuối S t o p - a n d - w a i t A R Q đòi hổi
t h i ế t bị gửi đợi đ ế n k h i n h ậ n A C K c ủ a k h u n g cuối, t r ư ớ c k h i t r u y ề n
k h u n g t i ế p th e o K h i t h i ế t bị gửi n h ậ n k h u n g N A K n ó gửi lại k h u n g
d ã dược t r u y ề n s a u A C K cuôi m à bỏ q u a sô c ủ a k h u n g
- Thiết bị gửi được tra n g bị đồng hồ Nếu nó chờ k h u n g NAK trong một khoảng thòi gian xác định mà không thấy thì cho rằ n g khung dữ liệu cuối đã bị mất và gửi lại kh u n g đó.
báo rằ n g k h u n g 0 đã được n h ậ n đúng Thiết bị gửi tru y ề n tiếp k h u n g
d ữ li ệ u 1 T h i ế t bị n h ậ n p h á t h i ệ n r a lỗi t r o n g k h u n g n à y v à t r ả lời
bằng k h u n g NAK Thiết bị gửi truyền lại k h u n g dữ liệu 1 Lần này
k h u n g d ữ l i ệ u 1 được n h ậ n đ ú n g v à t h i ế t bị n h ậ n t r ả lời b ằ n g k h u n g
ACK 1, hình 4.27.
Trang 31Thiết bi gửi Thiết bị nhận
M ấ t k h u n g d ữ liệu:
T h i ế t bị gửi đ ượ c t r a n g bị đ ồ n g hồ đ ể t í n h th ờ i g i a n m ỗ i l ầ n
t r u y ề n k h u n g d ữ li ệ u N ô u k h u n g d ữ liệ u k h ô n g đi tới t h i ế t bị n h ậ n
th ì t h i ế t bị n h ậ n k h ô n g t h ể t r ả lòi A C K h o ặ c N A K T h i ế t bị gửi đợi
Trang 32M ấ t k h u n g n h ậ n b i ế t A CK
T r ư ờ n g h ợ p k h u n g d ữ li ệ u đ ã đ ế n t h i ế t bị n h ậ n v à đ ã được n h ậ n
đ ú n g K h u n g A C K ( h o ặ c N AK ) m à t h i ế t b ị n h ậ n g ử i bị m ấ t t r ê n
đ ư ờ n g t r u y ề n T h i ế t bị gử i đợi h ế t th ờ i g i a n q u y đ ị n h , s a u d ó t r u y ề n lại k h u n g d ữ l i ệ u cuối. T h i ế t bị n h ậ n k i ể m t r a sô" c ủ a k h u n g d ữ l i ệ u mới N ế u k h u n g bị m ấ t là N A K t h i ế t bị n h ậ n n h ậ n k h u n g m ớ i n à y và
t r ả lời A C K (giả s ử k h u n g mới k h ô n g b ị h ỏ n g ) N ế u k h u n g m ấ t là
\1
Hình 4.29 Khi mất khung nhận biết ACK
4.2.3.2 Cửa sô trượt ARQ
T r o n g n h i ề u cơ c ấ u đ i ề u k h i ể n lỗi t r u y ề n t h ô n g , có 2 t h ủ t ụ c p h ổ
biến nhất: Go -back - n ARQ và chọn lựa từ chối ARQ c ả hai dề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 k h u n g bị mâ't và bị hỏng phải bổ s u n g 3 điểm vào
đ i ể u k h i ể n d ò n g t r u y ề n
- Thiết bị gửi l ư u bản copy t ấ t cả các k h u n g đã được tru y ề n c h o
đ ế n k h i n h ậ n đ ư ợ c k h u n g A C K N ế u c á c k h u n g t ừ 0 đ ế n 6 đ ã đ ư ợ c
t r u y ề n v à n h ậ n b i ế t c uố i c ù n g c h o k h u n g 2 (c h ò k h u n g 3) t h ì t h i ế t bị gửi l ư u c á c b ả n c o p y c ủ a k h u n g 3 đ ế n k h u n g 6 c h o đ ế n k h i n ó b i ế t
rằ n g nh ữ n g k h u n g này đã được n h ậ n đúng.
- B ê n c ạ n h c á c k h u n g A C K t h i ế t bị n h ậ n c ò n g ử i k h u n g N A K
n ế u d ữ l i ê u n h â n đ ươ c bi lỗi Bởi c ử a sổ t r ư ơ t là cơ c ấ u t r u y ề n l i ê n
Trang 33tục, cá k h u n g ACK và k h u n g NAK đều được đánh sô" đế n h ậ n diện Các khung ACK m a n g số của khung sẽ gửi tiếp theo Các khung
- Giống S top-and-w a it ARQ, ở đây thiết bị gửi theo dõi thời gian
đổ điều khiển khi ACK và NAK bị mất.
c h o đ ê n k h i k h u n g bị lỗi đ ã được s ử a lại c h í n h xác T r o n g t r ư ờ n g h ợ p
trôn, k h u n g 2 đi tói bị lỗi, khung 0 và kh u n g 1 được n h ậ n đúng, cần truyền lại các k h u n g 2, 3 và 4.
Data
Trang 34Hình vẽ 4.30 là thí dụ khi có 6 k h u n g được tru y ền di mà lỗi dược
p h át hiện ỏ k h u n g 3 ACK 3 báo cho thiêt bị gửi biêt rằ n g k h u n g 0, 1,
2 đã dược n h ậ n đúng Trên hình vê ACK 3 được gửi trước khi khung
dữ liệu 3 đi đến K hung 3 bị phát hiện có lỗi, nôn NAK 3 được gửi tức
m ất hay bị hỏng mà chỉ báo rằ ng nó cần phải được tru y ề n lại Thiết
bị gửi truyền lại k h u n g được chỉ ra bởi k h u n g NAK giông như bất kỳ khung nào được truyền sau một k hung bị mất, hình 4.31.
Trang 35n h ư n g bị m ấ t , t h i ế t bị gửi có t h ể đợi m ã i m ã i Đô t r á n h đ i ề u đó, t h i ê t
bị gửi y ê u c ầ u có d ồ n g h ồ d ê t í n h th ờ i g i a n đợi N ế u k h ô n g n h ậ n được
t r á lùi t r o n g t h ờ i g i a n giới h ạ n đó, t h i ế t bị gửi sẽ t r u y ề n lạ i c á c k h u n g
Trang 36Trên hình 4.32 chỉ ra rằng thiết bị gửi đã truyền t ấ t cả các khung
c ủ a nó v à đ a n g chờ n h ậ n biết N h ư n g n h ậ n b i ế t đ ã bị m ấ t dọc đ ư ờ n g
Qua thời gian đã ấn định trước thiết bị gửi sẽ truyền lại những
kh u n g chưa được n h ậ n biết Thiết bị n h ậ n biết rằng sự truyền lại mới này là lặp lại n hữ ng k h u n g gần nhất, nó gửi ACK khác và bỏ qua dư liệu dư thừa.
4.2.3.4 Seclective-reject ARQ: Yêu cầu lặp lại tự động kiếm từ
chối - chọn lựa
Phương pháp này chỉ truyền lại những k h u n g bị hư hỏng hoặc bị
th ấ t lạc Nếu k h u n g bị hư hỏng thiết bị gửi n h ậ n được k h u n g NAK
và k h u n g đó sẽ được tru y ề n lại ngoài tu ầ n tự thông thường Thiết bị
n h ậ n phải sắp xếp các khung và chèn chính xác k h u n g vào vị trí thích hợp của nó theo t u ầ n tự Đê có được khả năng chọn lựa đó hệ
t h ô n g S e c l e c t i v e - r e j e c t A R Q k h á c h ệ t h ô n g Go - b a c k - n A R Q n h ữ n g
điểm sau:
- Thiết bị n h ậ n phải chứa logic sắp xếp để sắp xếp t u ầ n tự các
k h u n g đ ượ c n h ậ n lại N ó c ũ n g p h ả i s ắ p x ế p c á c k h u n g n h ậ n s a u k h i
đã gửi k h u n g NAK cho đến khi khung hỏng được sửa đổi.
- Thiết bị gửi phải có cơ cấu tìm kiếm, cho phép nó tìm và chọn chỉ khung yêu cầu truyền lại.
- Đệm trong thiết bị n h ậ n phải giữ tấ t cả các kh u n g n h ậ n được, cho đến khi t ấ t cả những khung truyền lại đểu được sắp xếp và bó qua những k h u n g được n h ậ n hai lần.
- Đê giúp cho việc chọn lựa, các số ACK cũng như các số NAK phải gán cho k h u n g được n hận (hoặc bị mất) mà không phải gán cho
k hung chờ n h ậ n tiếp theo.
- Kích thước cửa sổ theo phương pháp này nhỏ hơn kích thước cửa số của phương pháp Go - back - n Kích thước đó bằng hoặc nhỏ hơn (n +l)/2 trong khi đó cửa sổ của Go - back - n là n - 1.
Các k h u n g hỏng:
Hình 4.33 minh hoạ cho trường hợp của k h u n g n h ậ n được nh ư n g
bị lỗi Các k h u n g 0 và 1 đã được n hận nhưng không có trả lời K h u n g
‘2 được truyền tới nhưng bị lỗi nên được trả lòi bằng kh u n g NAK 2 Giông k h u n g NAK trong sửa lỗi Go -back - n k h u n g NAK ở đây trả
Trang 37lời cá n h ậ n d ú n g n h ữ n g k h u n g d ữ liệu c h ư a được t r ả lời t r ư ớ c v à chỉ
ra lỗi t r o n g k h u n g h i ệ n thời T r ê n h ì n h 4 3 3 N A K 2 b á o c h o t h i ê t bị gửi biêt d ữ li ệu 0 và 1 đ ã được n h ậ n n h ư n g d ữ liệ u 2 p h á i t r u v ể n lại
K h ô n g g iô n g t h i ế t bị n h ậ n t r o n g h ệ t h ô n g Go - b a c k - n, t h i ê t bị n h ậ n
trong hệ thông này tiếp tục n h ậ n các k h u n g mới trong khi chò đợi
s ử a lỗi Bổi vì k h u n g A C K có n g h ĩ a là n h ậ n t h à n h c ô n g k h u n g đ ã được chỉ r a v à t ấ t c ả n h ữ n g k h u n g tr ư ớ c đó, n h ữ n g k h u n g n h ậ n được
sau k h u n g lỗi c h ư a được n h ậ n b iế t , cho đ ế n k h i n h ậ n k h u n g đ ã s ử a lỗi T r ê n h ì n h vẽ t h i ế t bị n h ậ n n h ậ n d ữ li ệ u 3, 4, 5 t r o n g k h i v ẫ n c h ò
bản copy mới của k h u n g 2 Khi khung 2 được tru y ề n đen thiêt bị nhận trả lời ACK 5 thông báo đã nhận dữ liệu 2 và n hữ ng k h u n g 3,
4, 5 Thiết bị n h ậ n đòi hỏi các bit logic đê sắp xếp các k h u n g được truvển ngoài tu ầ n tự và duy trì sự liên lạc của các k h u n g đang còn bị mất và n h ữ n g k h u n g đã được n h ậ n biết.
Data NAK 2
Hình 4.33 Cơ cấu truyền khung bị lỗi trong selective-reject ARQ
C á c k h u n g bị m ấ t :
M ặ c d ù c á c k h u n g bị m ấ t n g o à i t u ầ n tự , c h ú n g v ẫ n p h ả i được
n h ậ n b i ế t t h e o t u ầ n tự N ế u m ộ t k h u n g bị m ấ t , k h u n g t i ế p t h e o sẽ
Trang 38truyền tới ngoài tu ầ n tự Khi đó thiôt bị nhận sỗ sap xêp lại những
k h u n g dã có mặt Tất nhiên, thiêt bị nhận chỉ nhộn ra sự m ất mát nêu có các k h u n g khác tiếp theo Nêu khung mất là k hung cuối cùng của phiên tru y ề n thì thiết bị nhận không làm gì và thiêt bị gửi thấy
im lặng giông như mất trả lòi.
Nhận biêt mất:
Các k h u n g ACK và NAK trong kỹ th u ậ t Seclective-reject ARQ cùng giông trong kỹ t h u ậ t Go - back - n ARQ Khi thiết bị gửi đạt tỏi khả năng cửa sô của nó hoặc kết thúc truyền, nó bắt đầu tính thời gian, nếu không có trả lời trong khoảng thời gian đà cho, thiêt bị gửi truyền lại tấ t cả các k hung chưa được trả lòi Trong háu hêt trường hợp, thiết bị n h ậ n sẽ nhớ các trường hợp k h u n g nhộn được hai lẩn và
bỏ qua nó.
So sánh giữa Go - back - n và Seclective-reject ARQ:
Mặc dù chỉ tr u y ề n lại n h ữ n g k h u n g m ấ t và n h ữ n g k h u n g bị lồi n h ư n g seclective-reject ARQ không hiệu qua híín việc t r u y ề n lại tấ t cả các k hung Sự phức tạ p ỏ chỗ yêu cẩu th iê t bị n h ạ n phái sáp xếp và lưu giữ các k h u n g và thiết bị gửi phải có logic ngoài đê chọn ra n h ữ n g k h u n g tr u y ề n lại n h ấ t định Seelective-reject ARQ
đ ắ t hơn và ít được sử dụng Trong thực tê sử d ụ n g (lo back - n dơn giản và tiện lợi hơn.
T ô n g k ết
- Lớp th ứ hai trong mô hình OSI - lớp liên kêt dữ liệu có ba chức năng chính: t r ậ t tự đường truyền, diêu khiển dòng dữ liệu và điểu khiến sửa lỗi.
- T r ậ t tự đường truyền quy định trạng thái của thiết bị (thiết bị gửi hoặc thiết bị nhận) trên đường liên kết.
- ENQ/ACK là t r ậ t tự dường truyền được sử dụng trong kêt nối điểm- điểm.
- Thiêt bị n h ậ n sử dụng ENQ/ACK trả lời bang ACK nếu nỏ dã sẵn sàng n h ậ n dữ liệu hoặc trả lời bằng NAK nếu nó chưa sẵn sàng.
- T h ăm dò/ chọn lựa (poỉl/select) lả trậ t tự đường truyền, ở đó thiêt bị sơ cííp luôn khỏi động quá trình truyền thông bàng một khung hỏi hoặc một k h u n g chọn.
Trang 39K h u n g hỏi dược t h i ế t bị sơ c ấ p gửi tới t h i ế t bị t h ứ c ấ p , đ ế xác*
T r o n g p h ư ơ n g p h á p d ừ n g v à đợi mỗi k h u n g p h ả i đ ư ợ c n h ậ n b i ê t
tr ư ớ c k h i gửi k h u n g t i ê p th e o
- Trong phương pháp cửa số trượt, dữ liệu được nén vào một cửa
sổ t ư ở n g t ư ợ n g , n ó m ỏ r ộ n g v à co h ẹ p t u ỳ t h e o sô n h ậ n b i ê t (sô A CK )
t h i ế t bị gửi n h ậ n được Việc n h ậ n d ữ li ệ u c ũ n g đ ượ c n é n đ ư ợ c v à o
trong một cửa số tưởng tương, nó mở rộng và th u hẹp theo số’ dữ liệu nhận được.
- K i ể m lỗi là đ i ề u c h ỉ n h s ự m ấ t m á t d ữ liệu, lỗi c ủ a d ữ l i ệ u h o ặ c các k h u n g n h ậ n b i ế t b ằ n g c á c h đ ơn g i ả n là t r u y ề n lại d ữ liệu
- Việc tru y ền lại dữ liệu được khỏi động bằng cách yêu cầu lặp lại
- Đối với phương pháp dửng và đợi thì sử dụng dừng và đợi ARQ.
- VỚI cửa số trượt sử dụng go - back - n hoặc từ chối lựa chọn ARQ.
- Trong dừng và đợi ARQ thì k hung không được n h ậ n biết được
t r u y ề n lại
- Trong go - back - n ARQ việc truyền lại b ắ t đầu với k h u n g không được n h ậ n biết cuối cùng, ngay cả khi các k h u n g sau đó đã gửi
tới m ộ t c á c h c h í n h xác C á c k h u n g lặ p lại 2 l ầ n bị bỏ q u a t r o n g t ừ chối lự a c h ọ n A R Q , c hỉ có k h u n g k h ô n g n h ậ n b i ế t đượ c t r u y ề n lại
Trang 404.3 C á c t h ủ t ụ c l i ê n k ế t d ử l i ệ u
Thủ tục là một bộ các quy tắc và phương tiện đê thực hiện một nhiệm vụ Trong truyền thông thủ tục được hiểu theo một nghĩa hẹp
là bộ các quy tắc và định nghĩa cung cấp cho một hoặc nhiều lớp của
mô hình OSI Chúng ta đã nói vê giao diện EIA 232 - D, nó là thủ tục lớp vật lý của mô hình OSI.
Các t h ủ tục liên kết dữ liệu là một bộ các quy tắc d ùng làm công
cụ cho lớp dữ liệu C húng gồm quy tắc về t r ậ t tự đưòng truyền, điều khiển dòng dữ liệu và điều chỉnh lỗi.
Các t h ủ tục liên kết dữ liệu có thể chia t h à n h hai nhỏm nhỏ: các thủ tục đồng bộ và các th ủ tục không đồng bộ Các th ủ tục không đồng bộ tru y ề n mỗi kí tự trong một chuỗi bit độc lập Các t h ủ tục đồng bộ đ ặ t toàn bộ th à n h chuỗi bit và p h â n nó ra t h à n h những kí tự
có kích thước như nhau.
4.3.1 Các th ủ tụ c k h ô n g đ ồ n g bộ
Một sô" các t h ủ tục liên kết không đồng bộ đã được p h á t triển qua mây chục năm nay, điển hình là n h ữ n g t h ủ tục sau:
Những thủ tục không đổng bộ
XMODEM 1 YMODEM 1 Z M O D E M Ị BLAST ! Kermit 1 Những thủ
tục khác
Hinh 4.34 Các thủ tuc không đổng bỏ
Ngày nay những thủ tục này đang được sử dụng trong các modem Các th ủ tục không đồng bộ không phức tạ p và giá rẻ Khi truyền không đồng bộ, một đơn vị dữ liệu được tru y ề n không có quan hệ thời gian giữa nơi gửi và nơi nhận Nơi n h ậ n không cần biết chính xác khi nào một đơn vị dữ liệu được gửi, nó chỉ cần biết chỗ b ắ t đầu và chỗ kết thúc của đơn vị dữ liệu đó Điểu này đã được thực hiện bằng cách
bố sung thêm những bit ngoài (các bit s ta rt và stop) làm khung cho một đơn vị dữ liệu.