流水線機制與滑動窗口協(xié)議:
流水線協(xié)議;
允許發(fā)送方在收到ACK之前連續(xù)發(fā)送多個分組
需要更大的序列號范圍
發(fā)送方和/或接收方需要更大的存儲空間以緩存分組
兩者對比:
滑動窗口協(xié)議:
窗口: 允許使用的序列號范圍
窗口尺寸為N:最多有N個等待確認的消息
GBN(Go -Back - N)協(xié)議:
分組頭部包含k-bit序列號
窗口尺寸為N侣诵,最多允許N個分組未確認
只有當(dāng)接收方 新的ACK對于發(fā)送窗口中后續(xù)字節(jié)的確認時堡牡,窗口滑動
ACK(n)確認到序列號n(包含n)的分組均已被正確接收
此中可能收到重復(fù)ACK
為空的分組設(shè)置計時器(timer)
超時Timeout(n)事件:重傳序列號大于等于n锈颗,還未收到ACK的所有分組(存在資源的浪費)
發(fā)送方FSM:
接收方FSM:
ACK機制:發(fā)送擁有最高序列號的岂嗓,已被正確接收的分組的ACK
可能產(chǎn)生重復(fù)ACK
只需要記住唯一的expectedseqnum
亂序到達的分組:
直接丟棄(接收方?jīng)]有緩存)
重新確認序列號最大的,按序到達的分組
GBN有什么缺陷较幌?
沒有緩存機制集嵌,亂序傳輸重新發(fā)送,造成資源的浪費
改進方法:
接收方對每個分組單獨進行確認:
設(shè)置緩存機制蹂窖,緩存亂序到達的分組。
發(fā)送方只重傳那些沒收到ACK的分組
為每個分組設(shè)置定時器
發(fā)送方窗口:
N個連續(xù)的序列號
限制已發(fā)送且未確認的分組
Selective Repeat協(xié)議: