- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GBN和SR的优劣比较
GBN和SR的优劣比较
摘要:GBN和SR协议是TCP协议中重要的两种解决流水线的差错恢复的方法,他们各自有各自的优缺点,在不同的数据传输条件下,人们将会有不同的选择。让大家了解两种方法的优劣本文做了简单的叙述。
关键字:GBN(Go-Back-N) SR(selective repeat)
GBN概念:
GBN是Go-Back-N协议的缩写。如果发送发发送了前五个分组,而中间的第三个分组丢失了。这是接收方志勇对前两个分组发出确认。发送方无法知道后面三个分组的下路,而只好吧后面的三个分组都再重新再重传一次,这个就叫做Go-back-n,表示需要在退回来重传已经发送过的n个分组。可见当通信线路质量不好时,连续ARQ协议会带来负面的影响。当它允许发方传输多个分组(当然得有多个分组的时候)而不用等待确认,但它也受限于再流水线中未确定的分组数不能超过最大允许的数值N。这个N通常被称为窗口长度(window size),因而根据其工作的特点,GBN协议也被形象地称为滑动窗口协议(sliding-window protocol)。
GBN特点:
因为网络中流量控制的原因,它需要对这些被发送的、未被确认的分组的数目N,否则就会造成网络的拥塞。在GBN协议中,发送方可以再窗口大小N的限制内发送足够多的分组,接收方接收到分组后就发送ACK给发送方(例如:接受到分组0,发送ACK 0),当如果发送方接收到连续的ACK(例如ACK 0和ACK 1)时,该窗口就向前滑动,发送方方便传输新的分组。在接收方,分组丢失了话,就必须从那个分组起再重新传那个丢失的分组号码之后的所有的分组(例如分组2丢失,因此分组3、4、5被认为是失序的分组被丢弃,必须再重新传)。但是,这样的话无需接收方准备一定空间的缓存来储存分组。
SR的概念:
SR是selective repeat的缩写,因为GBN协议发送方可能用多个分组“填充流水线”,因此便面了停等协议中所提到信道利用问题。前面提到的,GBN本身也存在性能问题,尤其是当窗口长度和贷款时延积都很大时,在流水线中会有很多分组。一个分组的差错就可能引起GBN重传大量分组,其中许多分组也许根本没有必要重传。SR协议通过发送方仅重传那些怀疑在接收方出错(即丢失或者受损)的分组而避免了不必要的重传。这种个别的、按需的重传要求接收方诸葛地确认正确接收的分组。再次用窗口长度N来限制流水线中未确认的分组数然而与GBN不同的是,发送发已经收到了对窗口中某些分钟的ACK。
SR的特点:
因为SR仅仅重传那些被怀疑为接收时出错的分组,因而相对来讲,可以节省一些时间,减少了不必要的重传。但是值得注意的是,在实现这样的功能的时候,接收方需要一定的缓存来储存某些分组,例如分组0和分组1接收方接到了,并且交付,发送ACK0和ACK1给发送方,但是分组2丢失,没有接到,此时接收方只能继续接受分组3、4、5,分组3、4、5接受了,并且发送了ACK3、4、5给发送方,而分组3、4、5并没有直接交付,而是需要等到分组2接受到,然后一起分组2、3、4、5交付,ACK2发送。这样的机制相对来讲重传的包更少,但是需要缓存的空间也花费了一定的时间。
GBN和SR的弱点:
经过仔细分析,GBN和SR这两者机制必然也会有他们的弱点,在GBN协议中的一个最大的问题就是,当窗口大小N非常大时(例如为1000的话),而最开始的分组0错误了,就需要重传之后的999个分组,因此造成了时间上的损失,延时增加。并且对于SR协议而言,发送方和接收方并不是总能看到相同的结果,这也就说明两者的窗口不总是一致的。而SR协议会面临到的一个最重要的问题就是面临有限序号范围的现实时,发送方和接收方的窗口不同步会产生严重后果。这样的后果会导致接收方无法判断出该分组是一次重传还是下一个新的分组的,因而就SR的窗口不能够很大。
GBN和SR的优点:
但是换句话说,虽然上述说了GBN和SR的弱点,但是他们两个存在的话,必然有他们两个协议的优点。在GBN协议中,虽然得丢弃所有的时序分组,这看起来是一个弱点,其实也是GBN的一个优点。这样做的目的是因为,接收方必须按照正确的顺序将数据交付给上层,如果有分组错了,则可能要接收方缓存分组,最后按照正确的分组交付给上层。而GBN这样的做法的话一个很明显的优点就是接受缓存简单,即接收方不需要缓存任何的失序分组。我个人认为就是针对了GBN的弱点,从而产生了SR协议。SR协议的优点就在于解决了GBN中不必要的重传问题,在某种意义上说提高了信道的利用率。某个分组错误了,就只需要重传该分组,等接收方的缓存收集到了正确的顺序之后,再交付给上层,实现这点功能的要求就是要求接收方需要有一定的缓存能力。
GBN和SR适用的情况:
当某个分组序列错误较少,窗口较大的时候,应该是更
文档评论(0)