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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机网络数据链路层 --- 后退n帧协议(GBN)

發布時間:2024/7/23 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机网络数据链路层 --- 后退n帧协议(GBN) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

滑動窗口

發送窗口

發送方維持一組連續的允許發送的幀的序號

接收窗口

接收方維持一組連續的允許接收幀的序號

發送過程

如圖,假如發送方的發送窗口大小是6,首先發送0號幀,并建立0號幀的副本,防止幀丟失,然后發送0號幀,發送1號幀,一直到5號幀:

?接收方收到了0號幀之后,回復發送方ACK0:

?發送方收到了ACK0之后,發送窗口往后移動一個,并把6號幀放到鏈路上:

?接收方收到1之后,就回復ACK1,發送方收到ACK1之后,窗口移動,7號幀進入發送窗口,并發送2號:

?目前發送方就被分成了四個部分:發送完已經被確認的(0,1號幀),已經發送等待確認的(2號幀),還能發送的(34567號),還不能發送的(其余的)

GBN中發送窗口必須相應的三件事

上層(網絡層)的調用

上層要發送數據時,發送方先檢查發送窗口是否已滿,如果未滿,則產生一個幀并將其發送;如果窗口已滿,發送方只需要將數據返回給上層,暗示窗口已滿。上層等一會兒在發送。(實際實現中,發送方可以緩存這些數據,窗口不滿時再發送幀)

收到了一個ACK

GBN協議中,對n號幀的確認采用累計確認的方式,標明接收方已經收到n號幀和它之前的全部幀。也就是說接收方不需要每一幀都返回一個確認幀。

超時事件

協議的名字為后退N幀/回退N幀,來源于出現丟失和時延過長幀時發送方的行為。就像在停等協議中一樣,定時器將再次用于恢復數據幀或確認幀的丟失。如果出現超時,發送方重傳所有已發送但未被確認的幀

在GBN中,假設0號幀傳輸成功,但是1號幀未傳輸成功,接收方在接收0號幀之后,1號幀未收到,但是收到了23456號幀,但是接收方會忽略這些幀,這樣發送方一直收不到1號幀的確認幀,直到觸發了超時計時器,就會重新傳1號幀及以后的幀。

GBN中接收方需要做的事

  • 如果正確收到n號幀,并且按序,那么接收方為n幀發送一個ACK,并將該幀中的數據部分交付給上層。

  • 其余情況(未收到應該收到的n號幀)都丟棄幀,并為最近按序接收的幀重新發送ACK。接收方無需緩存任何失序幀,只需要維護一個信息:expectedseqnum(下一個按序接收的幀序號)(假如接收方收到了012,那么接收方就會等待3號幀,假如未收到3號幀之前收到了45號幀,那么接收方就會把45號幀丟棄,并且重新發送最近接收的2號幀的ACK2給發送方)

GBN圖示

滑動窗口長度

若采用n個比特對幀編號,那么發送窗口的尺寸應滿足:。因為發送窗口尺寸過大,就會使得接收方無法區別新幀和舊幀。

GBN協議重點

累積確認(偶爾捎帶確認)

偶爾捎帶確認就是雙方通信時,甲方給乙方發送數據時,可以捎帶發送乙方之前給甲方發送數據的確認幀

接收方只按順序接收幀,不按序無情丟棄

確認序列號最大的,按序到達的幀

發送窗口最大為,接收窗口大小為1

GBN性能分析

因連續發送數據幀而提高了信道利用率。

在重傳時必須把原來的已經正確傳送的數據幀重傳,使傳送效率降低。

總結

以上是生活随笔為你收集整理的计算机网络数据链路层 --- 后退n帧协议(GBN)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。