- 1、本文档共171页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 2.4.3传输控制协议TCP 连接建立和关闭的过程可以用下图表示,该图是通信双方正常工作时的情况。关闭连接时,图中的u表示服务器已收到数据的序列号,v表示客户机已收到数据的序列号。 * * 2.4.3传输控制协议TCP TCP连接的建立与关闭 * * 2.4.3传输控制协议TCP TCP的流量控制和拥塞控制机制 下面我们来看一个实例,下图是主机1和主机2使用TCP协议在实际通信时的时序图。 * * 2.4.3传输控制协议TCP TCP通讯时序图 * * 2.4.3传输控制协议TCP 在上图中,主机1连续发送了两个报文段4和5,其长度都为1024个字节,这两个报文段的数据用来填充接收方(主机2)所通知的窗口,由于主机2通知的窗口大小只有2048个字节,这时主机2的缓冲区已经被填满,因此主机1停下来等待一个主机2的确认。 发送端发送数据的过程是如何受到接收方控制的,这可以用下图表示。报文段2通知的窗口大小为2048个字节,因此主机1的前两个1024个字节的数据块落入窗口内,如下图(a)所示,窗口内的数据是可以立即发送的数据。下图 (b)是上图中主机1发送了报文段4和5后的情况,窗口内的数据已发送完毕(用灰色表示),主机1只能等待。 * * 2.4.3传输控制协议TCP 下图 (c)是主机2收到前2048个字节发送了确认报文段6窗口右移后的情况,由于报文段6通知的接收方窗口大小只有1024个字节,因此只有一个1024个字节的数据块落入窗口内。下图(d)是主机1对主机2发送了报文段7后的情况,这时窗口内的数据已发送完毕,主机又进入等待状态。图3-9中确认报文段8对收到的前3072个字节进行了确认,但通知的窗口大小为0,如下图(e)所示,这时窗口的左边沿到达右边沿,即窗口的长度变为0,称其为一个0窗口,此时发送方不能再发送任何数据,只能等待。等待一段时间后,由于主机2的应用进程从TCP缓冲区中读走了2048个字节的数据,因此由窗口更新报文段9通知的窗口大小为2048个字节,如下图(f)所示,这时主机1又可以发送数据了。 * * 2.4.3传输控制协议TCP TCP流量控制机制—滑动窗口协议 * * 2.4.3传输控制协议TCP 上述流量控制策略中,使用接收方通知的一个窗口大小来控制数据的发送,窗口的起始点为接收方确认号,终止于窗口长度,只有落在窗口内的数据可以发送。 为了解决网络拥塞问题,发送方又引入了另外一个窗口,叫拥塞窗口(Congestion Window),拥塞窗口被初始化为1个报文段的长度(即另一端通知的最大报文段长度为MSS)。在建立连接时,发送方只发送一个长度为MSS的报文段,正常收到确认后,拥塞窗口就增大为2MSS,即为原来拥塞窗口长度的两倍,然后发送两个MSS长度的报文段。 * * 2.4.3传输控制协议TCP TCP的超时重发机制 TCP协议提供的是可靠的运输层。前面我们已经看到,接收方对收到的所有数据要进行确认,TCP的确认是对收到的字节流进行累计确认。发送TCP报文段时,头部的“确认号”就指出该端希望接收的下一个字节的序号,其含义是在此之前的所有数据都已经正确收到,请发送从确认号开始的数据。 TCP的确认方式有两种:一种是利用只有TCP头部,而没有数据区的专门确认报文段进行确认;另一种是当通信双方都有数据要传输时,把确认“捎带”在要传输的报文段中进行确认,因此TCP的确认报文段和普通数据报文段没有什么区别。 * * 2.4.3传输控制协议TCP 在TCP协议层实现超时重发的关键问题是超时重送的策略,即怎样决定超时间隔和如何确定重发的频率。显然使用固定大小的超时间隔有很大的不足之处。 一个好的实现超时重发的方案应该是超时间隔可以随网络的通信状况而自动调整,即超时间隔应具有一定的自适应性。这种动态调整超时间隔的方法与一条连接从发送端发出数据到收到确认所需的往返时间RTT(Round Trip Time)有关。 具体实现时,可以在每条连接上保持一个叫RTT的变量,发送一个TCP报文段的同时启动定时器,收到确认后计算出本次的RTT值(下面用M表示),然后根据下面的公式求出新的RTT加权平均值: * * 2.4.3传输控制协议TCP 计算RTT: RTT=α×RTT+(1?α)×M 计算重发超时间隔RTO(Retransmission Time Out): RTO=RTT×β α和β都是加权因子,α(0≤α≤1)决定本次传输的TCP报文段对往返时间RTT的影响程度。α比较大时,RTT主要由历史数据确定;α比较小时,RTT紧跟当时的延迟而变化。β的推荐值为2,也就是说,当等待到2倍的加权平均往返时间后还没有收到确认就重发数据。β取值接近1时,显然超时间隔比较短,它的优点是可以减少等
文档评论(0)