You are on page 1of 57

Các giao thức ARQ

và Truyền dữ liệu tin cậy


Các loại kết nối
Automatic Repeat Request (ARQ)

 Mục đích: ARQ (Yêu cầu phát lặp tự động) đảm
bảo dòng dữ liệu được phân phối tới người sử
dung bất chấp các lỗi xảy ra trong quá trình truyền
 Các phương thức ARQ: Idle ARQ và Continuos ARQ
 Stop-and-Wait ARQ
 Go-Back N ARQ
 Selective Repeat ARQ
 Các thành phần cơ bản của ARQ:
 Mã phát hiện Lỗi (Error-detecting code) với khả năng
phát hiện lỗi lớn
 ACKs (Xác nhận)
 NAKs (Xác nhận phủ định)
 Cơ cấu Hết giờ (Timeout mechanism)
Idle ARQ
 Truyền theo thiên hướng ký tự
 Hoạt động theo cơ chế bán song công
 Có 2 phương pháp thực hiện:
 Truyền lại ngầm định
 Truyền lại yêu cầu rõ
Stop-and-Wait ARQ
(ARQ Dừng-và-Đợi)
Truyền một frame, đợi phản hồi ACK
Gói không lỗi
Packet

Information frame
Đặt đồng hồ sau Transmitter Receiver
khi truyền mỗi (Process A) (Process B)
frame
Control frame

Header
CRC
Information Header
packet CRC
Information frame Control frame: ACKs
Các kiểu frame
 I-frame: là các
khung truyền
(frame) mang
thông tin
 ACK-frame: là các
khung truyền báo
nhận tốt
 NAK-frame : là các
khung truyền báo Hình 3.3 Cấu trúc các dạng frame trong Idle RQ
từ chối nhận hoặc
nhận bị lỗi
Cần thiết đánh số thứ tự
(a) Frame 1 lost Time-out
Time
A Frame Frame Frame Frame
0 1 1 2
ACK ACK
B

(b) ACK lost Time-out


Time
A Frame Frame Frame Frame
0 1 1 2
ACK ACK ACK
B
 Trường hợp (a) & (b) trạm A hoạt động tương tự
 Nhưng trường hợp (b) máy thu B nhận frame 1 hai lần
 Câu hỏi: làm thế nào để máy thu biết frame thứ hai cũng là frame 1?
 Trả lời: Cần bổ sung thêm số thứ tự ở đầu khung
 Slast là số thứ tự của khung đã được phát gần nhất
Số thứ tự
(c) Ngừng hết giờ (Time-out) Sớm

Time-out
Time
A Frame
0 Frame Frame Frame
ACK 0 1 2
ACK
B

 Máy phát A hiểu nhầm các ACK kép


 Giả thiết nhầm ACK thứ hai xác nhận Frame 1
 Câu hỏi: làm thế nào để máy thu biết ACK thứ hai xác nhận frame 0?
 Trả lời: Cần bổ sung thêm số thứ tự ở đầu khung ACK
 Rnext là số thứ tự của khung tiếp máy thu đang đợi
 Xác nhận gián tiếp nhận được tất cá các frame trước đó
Số thứ tự 1 bit
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Slast Rnext
Timer

Transmitter Slast Receiver


A B
Rnext

Global State: Frame 0 đến máy


(Slast, Rnext) (0,0) (0,1)
thu không lỗi
ACK cho ACK cho
frame 1 frame 0
đến máy đến máy
phát phát
Frame 1 đến
máy thu không lỗi
(1,0) (1,1)
Stop-and-Wait ARQ
Máy phát Máy thu
Trạng thái Sẵn sàng Luôn ở Trạng thái Sẵn sàng
 Đợi yêu cầu truyền packet từ  Đợi frame mới đến
lớp trên  Khi frame đến, kiểm tra lỗi
 Khi yêu cầu đến, truyền frame
 Nếu không có lỗi và số thứ tự
với Slast và CRC cập nhật đúng (Slast=Rnext), thì
 Chuyển tới trạng thái chờ  Nhận frame,
Trạng thái Chờ  Cập nhật lại Rnext,
 Đợi ACK hay hết giờ đồng hồ;  Gửi khung ACK frame với Rnext,
cấm yêu cầu từ̀ lớp trên  Phân phối packet tới lớp trên
 Nếu hết giờ  Nếu không có lỗi nhưng sai số
 Truyền lại frame và đặt lại thời thứ tự
gian đồng hồ  Loại bỏ frame
 Nếu nhận được ACK:  Gửi ACK với Rnext
 Nếu số thứ tự không đúng  Nếu phát hiện được lỗi
hoặc phát hiện lỗi: bỏ qua ACK  Bỏ frame
 Nếu số thứ tự chính xác (Slast
=Rnext = Slast +1): nhận frame,
chuyển tới trạng thái sẵn sàng
Kiến trúc phân lớp

Hình 3.6 Kiến trúc hệ thống truyền tin và giao tiêp thực thể giao thức
Sơ đồ trạng thái phía phát

Hình 3.7 Sơ đồ chuyển trạng thái phía sơ cấp


Bảng trạng thái phía phát

Bảng sự kiện - trạng thái phía sơ cấp


Sơ đồ trạng tháí và bảng trạng
thái phía thu

Hình 3.8 Sơ đồ chuyển trạng thái phía thứ cấp


Ứng dụng của Stop-and-Wait ARQ
 IBM Binary Synchronous Communications
protocol (Bisync): điều khiển liên kết dữ liệu
định hướng ký tự
 Xmodem: giao thức truyền file modem
 Trivial File Transfer Protocol (RFC 1350):
giao thức truyền file đơn giản qua UDP
Hiệu suất của S&W ARQ
Bit cuối cùng của
Bit đầu tiên của frame vào kênh ACK
frame vào kênh Kênh rỗi khi máy phát đợi ACK đến

A t

B t

Bit đầu tiên Máy thu xử lý


của frame đến Bit cuối cùng frame và chuẩn bị
máy thu của frame đến ACK
máy thu
 Khung 10000 bit @ 1 Mbps mất 10 ms để truyền
 Nếu thời gian đợi ACK = 1 ms, thì hiệu suất = 10/11= 91%
 Nếu thời gian đợi ACK = 20 ms, thì hiệu suất =10/30 = 33%
Mô hình Stop-and-Wait
t0 = tổng thời gian truyền 1 frame
A
tproc

B
Thời gian
tprop tproc tack tprop
frame tf

t 0 = 2t prop + 2t proc + t f + tack bits/Info frame


nf n
= 2t prop + 2t proc + + a bits/ACK frame
R R

Tốc độ truyền của kênh


Hiệu suất S&W trên kênh không lỗi

Số bits ở header & CRC


Tốc độ truyền hiệu dụng:
So bit t hong t in chuyen den dich n f - no
Reff = = ,
T ong t hoi gian can chuyen cac bit t hong t in t0

Hiệu suất truyền dẫn:


n f - no n Ảnh hưởng
1- o của tải đầu/cuối
Reff t0 nf
h0 = = = . frame
R R na 2(t prop + t proc )R
1+ +
nf nf

Ảnh hưởng của


Ảnh hưởng của
Tích Trễ-Băng thông
ACK frame
Ảnh hưởng của Tích Trễ-Băng thông

nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits


2xDelayxBW 1 ms 10 ms 100 ms 1 sec
Hiệu suất
200 km 2000 km 20000 km 200000 km
1 Mbps 103 104 105 106
88% 49% 9% 1%
1 Gbps 106 107 108 109
1% 0.1% 0.01% 0.001%

 Stop-and-Wait không phù hợp với kênh có tốc độ cao


hay độ trễ truyền sóng lớn
Hiệu suất S&W trên kênh có lỗi
 Đặt 1 – Pf = xác suất khung đến máy thu không lỗi
 Số lần truyền trung bình cho tới khi có khung đến không lỗi đầu tiên là
1/ (1–Pf )
 “Nếu 1-trong-10 đi qua không lỗi, thì trung bình cần 10 lần thử để
thành công”
 Tổng thời gian trung bình để truyền một khung là t0/(1 – Pf)

n f - no
t0 no
1-
Reff 1 - Pf nf
hSW = = = (1 - Pf )
R R na 2(t prop + t proc )R
1+ +
nf nf

Ảnh hưởng
của mất
khung
Ví dụ: Ảnh hưởng BER

nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits


Tìm hiệu suất cho t/h lỗi bit với p=0, 10-6, 10-5, 10-4
nf - nf p
1 - Pf = (1 - p ) » e for large n f and small p

1 – Pf 0 10-6 10-5 10-4


Hiệu suất
1 Mbps 1 0.99 0.905 0.368
& 1 ms 88% 86.6% 79.2% 32.2%

BER ảnh hưởng lớn đến hiệu suất khi nfp  1


Go-Back-N cơ bản
 Cải tiến so với Stop-and-Wait bằng cách không đợi
 Gửi liên tiếp các frame lên kênh trong khi máy phát đợi
ACK (thủ tục pipeline)  giảm ảnh hưởng của Tích Trễ-
Băng thông
 Sử dụng một cửa sổ chờ có kích thước = Ws frame > Tích
Trễ-Băng thông làm cho kênh luôn luôn bận
 Sử dụng đánh số thứ tự bằng m bit
 Nếu ACK cho frame đã phát đi lâu nhất đến trước
khi cửa sổ bị sử dụng hết, có thể tiếp tục truyền
 Nếu cửa sổ bị chiếm hết, quay lại, và truyền lại tất
cả các frame nằm trong cửa sổ)
 Phương pháp thay thế: sử dụng timeout
Go-Back-N ARQ
Go-Back-4: 4 frame còn tồn tại; quay lại 4 frame

fr fr fr fr fr fr fr fr fr fr fr fr fr fr Time
0 1 2 3 4 5 6 3 4 5 6 7 8 9
A

B
A A A out of sequence A A A A A A
C C C frames C C C C C C
K K K K K K K K K
1 2 3 4 5 6 7 8 9

Rnext 0 1 2 3 3 4 5 6 7 8 9

 Truyền frame kiểu ống (pipelined) để tận dụng kênh


 Frame lỗi và các frame có số thứ tự không đúng bị bỏ qua
 Máy phát bị cưỡng bức phát lại khi cửa số bằng 4 bị đầy
S&W ARQ vs Go-Back-N ARQ
Time-out expires
Stop-and-Wait ARQ
fr fr fr Time
0 0 1 Một lỗi
A
khung gây
nên mất
thời gian
truyền =
B t time-out
Máy thu tìm A
Rnext=0 C
K
1

Go-Back-N ARQ Bốn frame đang còn tồn tại; quay lại 4
fr fr fr fr fr fr fr fr fr fr fr
0
Time
1 2 3 0 1 2 3 4 5 6
A Một lỗi
khung gây
nên mất
thời gian
truyền =
B A A
Ws khung
A A A A
Máy thu Các frame ko C C C C C C
tìm đúng thứ tự K K K K K K
Rnext=0 1 2 3 4 5 6
Go-Back-N với Timeout

 Bản chất Go-Back-N cơ bản: nếu cửa sổ đầy


 truyền lại N frame vừa truyền
 Nhược điểm với Go-Back-N cơ bản:
 Nếu frame bị mất và nguồn không có frame để
truyền lại thì cửa sổ không kín và, vì vậy, không
kích hoạt quá trình khôi phục  không thích hợp
với t/h máy phát phát gián đoạn hoặc có số frame
hữu hạn
 Khắc phục: Sử dụng timeout với từng frame
 Khi timeout hết giờ, phát lại toàn bộ các frame
còn tồn lại
Go-Back-N với Timeout
 Máy phát duy trì một list các frame đang xử lý với
Slast là số của frame đã phát đi lâu nhất chưa nhận
được ACK và Srecent là số của frame vừa phát đi.
 Máy phát đặt time out cho từng frame và lưu vào
buffer tất cả các frame đã truyền nhưng chưa được
xác nhận
 Tại mỗi thời điểm, máy phát có “Cửa sổ phát” với
các số thứ tự xác định, điểm dưới cửa sổ là Slast, còn
điểm trên là Slast + Ws – 1
 T/h Srecent đạt giới hạn trên của cửa sổ thì máy phát
không được phép phát cho đến khi cửa sổ phát dịch
về phía trước sau khi thu được xác nhận mới.
Go-Back-N Transmitter & Receiver
Transmitter Receiver

Send Window
... Receive Window

Frames
đã phát và S
last Srecent Slast+Ws-1
đã ACKed
Frames
Buffers Rnext
received
Frame lâu nhất
Timer Slast
chưa xác nhận  Máy thu chỉ nhận một
Timer Slast+1 (un-ACKed) frame hợp lệ (không lỗi và có
... số TT Rnext)
Timer
Srecent Frame vừa mới
gửi  Sau khi nhận được frame
... hợp lệ tăng Rnext lên 1 đơn vị,
Slast+Ws-1 Số TT max cho nên cửa sổ thu trượt về phía
phép trước một frame

 Go-Back-N là t/h đặ̣c biệt của Cửa sổ trượt (sliding windows)
Thao tác Cửa Sổ trượt
Máy phát

Cửa sổ phát Sử dụng m bit ở đầu khung


...  số TT: đếm theo modulo-2m
Các Frame
Đã gửi và S
last Srecent Slast+Ws-1 0
được xác nhận
2 –1
m
1

 Máy phát đợi frame ACK không lỗi 2


với số TT Slast
Slast
Khi có ACK này đến, Slast tăng lên
một đơn vị, và cửa sổ phát trượt về
send
phía trước 1 window i
i + Ws – 1 i+1
Kích thước cửa sổ max?
T/h 1 M = 22 = 4, Go-Back-4: Máy phát quay lại 4
fr fr fr fr fr fr fr fr Time
A 0 1 2 3 0 1 2 3

A A A A
B C C C C
K K K K Máy thu nhận được Rnext= 0, nhưng ko
1 2 3 0
biết đây là ACK cho frame 0 cũ, vì vậy,
Rnext 0 1 2 3 0 nó không biết đây frame 0 cũ hay mới
T/h 2 M = 22 = 4, Go-Back-3: Máy phát quay lại 3
fr fr fr fr fr fr Time
A 0 1 2 0 1 2

A A A
B C C C
K K K Máy thu có Rnext= 3, vì vậy loại
1 2 3
bỏ frame 0 cũ.
Rnext 0 1 2 3

Giới hạn Kích thước cửa sổ cho phép là Ws = 2m-1
Go-Back-N 2 chiều
 Go-Back-N 2 chiều: chức năng máy thu và máy
phát được tích hợp vào cả 2 trạm
 Mỗi chiều gửi cả control frame và data frame
 Loại bỏ bớt một số frame điều khiển nhờ “cõng”
(piggybacking) các ACK trên header của data
frame
 Khi máy thu nhận được một frame không lỗi, gài
ACK vào data frame gửi tiếp theo. Nếu không có
data frame được gửi ngay, máy thu đặt thời gian
để chờ data frame tiếp theo. Nếu hết thời gian
chờ không có data frame để gửi thì mới sử dụng
control frame để gửi ACK.
 Tăng hiệu suất sử dụng băng tần
ACK Piggybacking ở GBN 2 chiều
SArecent RA next
Transmitter Receiver
Receiver Transmitter
S B
recent R
B
next

“A” Receive Window “B” Receive Window

RA next RB next
“A” Send Window “B” Send Window
... ...

SA last SA last+WA s-1 SB last SB last+WB s-1


Buffers Buffers
Timer SA last Timer SB last
 Các frame không lỗi
Timer SA last+1 Timer SBlast+1
nhưng sai số TT bị loại
... ...
bỏ sau khi kiểm tra Rnext
Timer SArecent Timer SBrecent
...  Sử dụng Rnext để cập
...
nhật Slast tại chỗ
Timer S +WA s-1
A
last Timer SB last+WB s-1
Applications of Go-Back-N ARQ
 HDLC (High-Level Data Link Control): bit-
oriented data link control
 V.42 modem Standard: error control over
telephone modem links
Yêu cầu về Thời gian Timeout
Tout
Tproc

Tprop Tf Tf Tprop
 Thời gian time-out cần đảm bảo cho:
 Hai lần thời gian truyền sóng + 1 thời gian xử lý: 2Tprop +
Tproc
 Thời gian nhận hết 1 frame Tf
 Thời gian truyền frame tiếp theo (ACK), Tf
 Ws cần đủ lớn để duy trì kênh luôn bận trong khoảng
Tout
Kích thước Cửa sổ Yêu cầu
theo Tích Trễ-Băng thông

Frame = 1250 bytes =10.000 bits, R = 1 Mbps

2(tprop + tproc) 2 x Delay x BW Window

1 ms 1000 bits 1

10 ms 10.000 bits 2

100 ms 100.000 bits 11

1 second 1.000.000 bits 101


Hiệu suất của Go-Back-N

 Nếu Ws đủ lớn để duy trì kênh bận và nếu kênh ko có lỗi, thì
GBN hết sức hiệu quả
 Giả sử Pf là xác suất lỗi khung, thì thời gian cần chuyển 1 khung
là:
 tf nếu frame đầu tiên truyền thành công (1 – Pf )
 tf +Wstf /(1-Pf) nếu frame đầu tiên truyền không thành công Pf

W st f W st f
tGBN = t f (1 - Pf ) + Pf {t f + } = t f + Pf and
1 - Pf 1 - Pf
n f - no n
1- o
tGBN nf
hGBN = = (1 - Pf )
R 1 + (W s - 1)Pf

Tích Trễ-Băng thông quyết định Ws


VD: Ảnh hưởng của BER
nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits
So sánh hiệu suất của S&W với GBN với xác suất lỗi bit
p = 0, 10-6, 10-5, 10-4 and R = 1 Mbps & 100 ms
1 Mbps x 100 ms = 100000 bits = 10 frames → Use Ws = 11

Efficiency 0 10-6 10-5 10-4

S&W 8.9% 8.8% 8.0% 3.3%

GBN 98% 88.2% 45.4% 4.9%

 Go-Back-N cải thiện đáng kể so với Stop-and-Wait khi tích


trễ-băng thông lớn
 Go-Back-N trở nên không hiệu quả khi BER tăng
ARQ phát lặp có chọn lọc

 Go-Back-N ARQ không hiệu quả do phát lại


nhiều frame khi xảy ra lỗi hoặc mất frame
 Cải tiến bởi Selective Repeat ARQ
 Chỉ phát lại một frame bị lỗi hoặc mất
 Máy thu duy trì một cửa sổ thu với các số thứ tự
frame có thể chấp nhận
 Các frame không đúng thứ tự nhưng có số TT rơi
vào cửa sổ thu được ghi đệm
 Khác với GBN, sau khi nhận được frame R next cửa
sổ được trượt về phía trước 1 hay nhiều frame
Selective Repeat ARQ

fr fr fr fr fr fr fr fr fr fr fr fr fr fr Time
0 1 2 3 4 5 6 2 7 8 9 10 11 12
A

B
A A N A A A A A A A A A
C C A C C C C C C C C C
K K K K K K K K K K K K
1 2 2 2 2 2 7 8 9 1 1 1
0 1 2
Selective Repeat ARQ
Transmitter Receiver

Send Window Receive Window


...

Frames Frames
transmitted S received Rnext Rnext + Wr-1
last Srecent Slast+ Ws-1
and ACKed

Buffers Buffers
Timer Slast Rnext+ 1
Timer Slast+ 1 Rnext+ 2
...
Timer
Srecent ...
Rnext+ Wr- 1 max Seq #
... accepted
Slast+ Ws - 1
Cửa sổ Phát & Thu Windows
Máy phát Máy thu

0 0
2 -1
m
1 2 -1
m
1

2 2
Rnext
Slast
send receive j
window i window
i
i + Ws – 1 i+1
j + Wr – 1
Chuyển về phía trước k khi ACK Chuyển về phía trước 1 hay nhiều
đến với Rnext = Slast + k hơn khi frame đến với STT = Rnext
k = 1, …, Ws-1
Kích thước của Ws & Wr?
 T/h Ws =Wr=2m -1
 Ví dụ: M=22=4, Ws=3, Wr=3
Gửi lại frame 0
Send
{0,1,2} {1,2} {2} {.}
Window
fr0 fr1 fr2 fr0
A Time

B ACK1 ACK2 ACK3


Receive
{0,1,2} {1,2,3} {2,3,0} {3,0,1}
Window
Frame 0 cũ chấp nhận như frame mới
do nằm trong cửa sổ thu
Kích thước max Ws + Wr = 2m
 Ví dụ: M=22=4, Ws=2, Wr=2

Gửi lại frame 0


Send
{0,1} {1} {.}
Window
fr0 fr1 fr0
A Time

B ACK1 ACK2
Receive
{0,1} {1,2} {2,3}
Window
Frame 0 cũ bị loại do nằm ngoài
của sổ thu
Tại sao Ws + Wr = 2m tốt?

 Máy phát gửi các frame 0 đến to  Cửa sổ thu bắt đầu từ {0, …, Wr}
Ws-1; cửa số phát rỗng
 Tất cả đến máy thu
 Cửa sổ trượt về phía trước đến {Ws,
…,Ws+Wr-1}
 Tất cả ACKs bị mất
 Máy phát phát lại frame 0
 Máy thu loại frame 0 do nằm ngoài
cửa sổ thu

0 0
2m-1 1 2 -1
m
1

Slast Ws +Wr-1 2
2

receive Rnext Ws
send window
window Ws-1
Ứng dụng cúa Selective Repeat
ARQ
 TCP (Transmission Control Protocol): giao
thức lớp Vận chuyển sử dụng biến đổi của
selective repeat ARQ để cung cấp dịch vụ tin
cậy
 Service Specific Connection Oriented
Protocol: kiểm soát lỗi cho các bản tin ở các
mạng ATM
Hiệu suất của Selective Repeat
ARQ
 Giả sử Pf là xác suất mất frame, thì số các lần truyền
lại để gửi một frame thành công là: tf / (1-Pf)

n f - no
t f / (1 - Pf ) no
hSR = = (1 - )(1 - Pf )
R nf
VḌ: Ảnh hưởng của BER đến SR-
ARQ
nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits
So sánh hiệu suất S&W, GBN & SR cho t/h p=0, 10-6, 10-5, 10-4 and R= 1 Mbps & 100 ms

Efficiency 0 10-6 10-5 10-4

S&W 8.9% 8.8% 8.0% 3.3%

GBN 98% 88.2% 45.4% 4.9%


SR 98% 97% 89% 36%

 Selective Repeat vượt trội GBN và S&W, nhưng hiệu suất
vẫn giảm khi BER tăng
So sánh hiệu suất của các ARQ

Giả thiết na và no có thể bỏ qua so với nf, và
L = 2(tprop+tproc)R/nf =(Ws-1), then
Selective-Repeat:
no
hSR = (1 - Pf )(1 - ) » (1 - Pf )
nf
Go-Back-N: For Pf≈0, SR & GBN same
1 - Pf 1 - Pf
hGBN = =
1 + (W S - 1)Pf 1 + LPf

For Pf→1, GBN & SW same


Stop-and-Wait:
(1 - Pf ) 1 - Pf
hSW = »
na 2(t prop + t proc )R 1+ L
1+ +
nf nf
ARQ Efficiencies
ARQ Efficiency Com parison
Selective
1.5 Repeat
Go Back N 10
Efficiency

0.5 Stop and Wait


100
0 Go Back N 100
-9-9 10
10 -8-8 10-7-7 10-6
-6
10-5
-5
10-4
-4
10-3
-3
10-2-2
10-1-1

- LOG(p)
p Stop and Wait
10
Tích trễ- Băng thông = 10, 100
Điều khiển luồng
buffer fill
Information frame
Transmitter
Receiver

Control frame

 Máy thu có bộ nhớ đệm hạn chế để lưu giữ
các frame tới
 Một số trường hợp có thể làm tràn buffer
 Mất phối hợp giữa tốc độ phát và tốc độ thu
 Một loạt các frame tới liên tục
 Điều khiển luồng ngăn buffer khỏi bị tràn
bằng cách điều khiển tốc độ phát của nguồn
X ON / X OFF
threshold
Information frame
Transmitter
Receiver

Transmit X OFF Transmit


Time
A

on off on off

B Time

2Tprop

Ngưỡng cần phải kích hoạt tín hiệu OFF khi 2 Tprop R bits
vẫn còn lưu lại trong buffer
Điều khiển luồng bằng Cửa sổ
Return of permits
tcycle
A
Time

B
Time
 Phương pháp ARQ cửa sổ trượt với Ws bằng buffer còn trống
 Máy phát không thể phát nhiều hơn Ws frames
 Các ACKs làm trượt cửa sổ về phía trước có thể coi như là các giấy phép phát
tiếp tục
 Cũng có thể điều chỉnh tốc độ ACKs như trên hình vẽ
 Gửi trả giấy phép (ACKs) vào cuối chu kỳ cho phép điều khiển tốc độ truyền dẫn
 Vấn đề sử dụng cửa sổ trượt cho cả điều khiển luồng/lỗi
 Lựa chọn cửa sổ
 Interplay between transmission rate & retransmissions
 TCP chia riêng điều khiển lỗi và luồng
Các giao thức thiên hướng ký tự
 Các giao thức thiên hướng ký tự được dùng
trong các ứng dụng điểm-nối-điểm và cả đa
điểm
 Dùng các ký tự điều khiển truyền để thực
hiện các chức năng điều khiển liên quan đến
quản lý dữ liên kết, đánh dấu đầu và cuối
frame, kiểm soát lỗi và “trong suốt” dữ liệu.
Các giao thức
 Các giao thức đơn công (simplex protocols):
 Liên kết số liệu điểm-nối-điểm
 Giao thức được dùng rộng rãi nhất là kermit
 Thường dùng truyền đồng bộ
 Các giao thức bán song công
 Giao thức thiên hướng ký tự hoạt động theo idle RQ
 BSC (Binary Synchronous Control).
 Các giao thức song công hoàn toàn
 liên kết song công điểm -nối-điểm kết nối hai node
chuyển mạch với nhau
 đồ điều khiển truyền continuous RQ cho cả hai hướng

 .
Giao thức XMODEM
 Là giao thức stop and wait ARQ
 Truyền bán song công (half-duplex)
 TÊt c¶ c¸c field ngo¹i trõ field th«ng tin, ®Òu cã
®é dài là mét byte
 Vïng th«ng tin cã ®é dài cè ®Þnh là 128 bytes,
th«ng tin cã thÓ là d¹ng text hoÆc nhÞ ph©n.
 field kiÓm tra cã ®é dài 2 byte và dïng phư¬ng
ph¸p kiÓm tra CRC víi ®a thøc sinh theo CCITT
là X16 +X12+X5 +1 .
Lưu đồ
thuật
toán gửi
và nhận
tập tin
của giao
thức
XMODEM
Giao thức YMODEM
 giao thức tương tự như XMODEM
 Các điểm khác so với XMODEM:
 Đơn vị dữ liệu là 1024 byte
 Dùng hai tín hiệu CAN để hủy việc truyền tin
 Có thể truyền đồng thời nhiều file.
Giao thức Kermit
 Cho phép truyền và nhận tập tin giữa các hệ
thống lớn
 Sử dụng thủ tục idle RQ (dừng và chờ)
 Cho phép truyền và nhận nhiều tập tin cùng một
lúc
 Gói dữ liệu của kermit có chiều dài thay đổi được
 Các tín hiệu trả lời của máy thu là những gói
 Có thể dùng thủ tục continuous RQ nhờ trong gói
ACK và NAK có vùng (field) chứa chỉ số thứ tự
truyền (hay nhận) của gói.

You might also like