日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★

發(fā)布時(shí)間:2025/6/17 编程问答 28 豆豆

文章目錄

  • 一、 選擇重傳協(xié)議 ( SR ) 引入
  • 二、 選擇重傳協(xié)議 ( SR ) 幀分類
  • 三、 發(fā)送方 事件 ( 確認(rèn)幀、超時(shí)事件 )
  • 四、 接收方 事件 ( 接收幀 )
  • 五、 滑動(dòng)窗口長度
  • 五、 選擇重傳協(xié)議 SR 重點(diǎn)
  • 六、 選擇重傳協(xié)議 SR 計(jì)算示例





一、 選擇重傳協(xié)議 ( SR ) 引入



后退 NNN 幀協(xié)議 ( GBN ) 弊端 : 累計(jì)確認(rèn) 機(jī)制 , 導(dǎo)致的批量重傳 , 這些重傳的幀 , 可能已經(jīng)傳輸成功 , 就是因?yàn)橹暗膸鲥e(cuò) , 導(dǎo)致傳輸成功的幀被丟棄 ;


上述弊端 解決方案 : 設(shè)置 單個(gè)幀確認(rèn)機(jī)制 , 加大 接收窗口 , 設(shè)置接收緩存 , 可處理亂序到達(dá)的幀 ;





二、 選擇重傳協(xié)議 ( SR ) 幀分類



發(fā)送方 幀 分類 :

① 發(fā)送窗口外 , 發(fā)送完畢 , 被確認(rèn)的幀 ; 滑動(dòng)窗口已經(jīng)劃過的位置 ;

② 發(fā)送窗口內(nèi) , 發(fā)送完畢 , 被確認(rèn)的幀 ;

③ 發(fā)送窗口內(nèi) , 發(fā)送完畢 , 等待確認(rèn)的幀 ; 此時(shí)該數(shù)據(jù)幀需要被緩存 ;

④ 發(fā)送窗口內(nèi) , 還能發(fā)送的幀 ;

⑤ 發(fā)送窗口外 , 還不能發(fā)送的幀 ; 滑動(dòng)窗口還沒有滑到的位置 ;



接收方 幀 分類 :

① 接收窗口外 , 已經(jīng)成功接收的幀 ;

② 接收窗口內(nèi) , 希望收到 , 但是未收到的幀 ;

③ 接收窗口內(nèi) , 希望收到 , 剛收到的幀 ;

④ 接收窗口內(nèi) , 不希望收到 , 卻提前收到的幀 , 已經(jīng)緩存下來 ;

⑤ 接收窗口內(nèi) , 等待接收的幀 ;





三、 發(fā)送方 事件 ( 確認(rèn)幀、超時(shí)事件 )



上層調(diào)用事件 : 上層發(fā)送數(shù)據(jù)時(shí) , 先檢查 發(fā)送窗口 ;

① 如果 發(fā)送窗口 未滿 : 則 生成 數(shù)據(jù)幀 , 發(fā)送數(shù)據(jù) ;

② 如果 發(fā)送窗口 已滿 : 發(fā)送方將該信息通知上層 , 讓 上層 延遲發(fā)送 ;



ACKACKACK 確認(rèn)幀 事件 : 逐一確認(rèn) ;

① 接收確認(rèn)幀 : 接收方收到 ACK 確認(rèn)幀 ;

② 標(biāo)記已接收 : 發(fā)送窗口 內(nèi) 將該 幀序號 對應(yīng)的幀 標(biāo)記為 已接收 ;

③ 移動(dòng)發(fā)送窗口 : 如果 該 幀序號 是 發(fā)送窗口 的下界 ( 最左側(cè)窗口 ) , 將 發(fā)送窗口 移動(dòng)到 最小序號的 沒有確認(rèn) 的幀位置 ; 可能移動(dòng) 一個(gè)位置 , 也可能移動(dòng)多個(gè)位置 ;

④ 發(fā)送未發(fā)送幀 : 發(fā)送窗口 移動(dòng)完畢后 , 如果發(fā)現(xiàn) 該 發(fā)送窗口 中有沒有發(fā)送的幀 , 就將這些幀發(fā)送出去 ;



超時(shí)事件 : 每個(gè)幀 都有 自己的定時(shí)器 , 如果 某個(gè) 幀出現(xiàn)了定時(shí)器超時(shí)事件 , 重傳該單個(gè)幀 ;





四、 接收方 事件 ( 接收幀 )



接收方 事件 :

① 接收正確幀 : 接收方 接收 正確的幀 , 不管其幀的順序 ;

② 失序處理 : 失序的幀 , 將會被緩存起來 , 并向 發(fā)送方 發(fā)送該 失序幀 的 ACK 確認(rèn)幀 ;

③ 移動(dòng)接收窗口 : 如果 接收到的 幀序號 是 接收窗口 的下界 ( 最左側(cè)窗口 ) , 將成功接收到的連續(xù)數(shù)據(jù)交付給上層 , 將 接收窗口 移動(dòng)到 最小序號的 沒有接收到 的幀位置 ; 可能移動(dòng) 一個(gè)位置 , 也可能移動(dòng)多個(gè)位置 ;





五、 滑動(dòng)窗口長度



發(fā)送窗口 與 接收窗口 大小相等 , 便于流量控制 ;


使用 nnn 比特 對 幀進(jìn)行編號 , 發(fā)送窗口的尺寸 WTW_TWT? 和 接收窗口尺寸 WRW_RWR?滿足如下公式要求 :

WT=WR=2n?1W_T = W_R = 2^{n - 1}WT?=WR?=2n?1





五、 選擇重傳協(xié)議 SR 重點(diǎn)



選擇重傳協(xié)議 SR 重點(diǎn) :

① 數(shù)據(jù)幀 逐一確認(rèn) , 接收方收到一個(gè)幀 , 就會單獨(dú)發(fā)送該幀的確認(rèn)幀 ;

② 重傳 出錯(cuò) 的 單個(gè)幀 ;

③ 接收方 有緩存 ;

④ 滑動(dòng)窗口大小 : WT=WR=2n?1W_T = W_R = 2^{n - 1}WT?=WR?=2n?1 ;





六、 選擇重傳協(xié)議 SR 計(jì)算示例



數(shù)據(jù)鏈路層 使用 選擇重傳協(xié)議 SR , 發(fā)送方發(fā)送了 0,1,2,30 , 1, 2,30,1,2,3 幀 , 當(dāng)前時(shí)刻 , 收到了 111 號確認(rèn)幀 , 0,20, 20,2 號幀出現(xiàn)超時(shí) , 則需要重發(fā)哪些幀 ???


SR 協(xié)議是收到一幀 , 確認(rèn)一幀 ;

111 號幀 已經(jīng)確認(rèn) , 不用重發(fā) ;

0,20 , 20,2 幀 超時(shí) , 必須重發(fā) ;

333 號幀 等待確認(rèn) , 當(dāng)前時(shí)刻不用管 , 如果超時(shí) , 就需要重發(fā) , 當(dāng)前沒有超時(shí) , 等待即可 ;

因此最終只需要重發(fā) 0,20 , 20,2 數(shù)據(jù)幀 ;

總結(jié)

以上是生活随笔為你收集整理的【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。