现代网络技术基础-2.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现代网络技术基础-2

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   重传的问题主要是如何确定重传的间隔(time-out)。这主要是由于TCP报文可能会经过不同类型不同速率的网络,因而传输时延的方差很大。 如果重发间隔过小, 则会导致很多报文过早的重发,给网络增加了不应有的负荷。 若重发间隔过大, 则网络的传输效率降低很多。   TCP中采用了一种自适应算法来确定重发间隔。该算法记录报文的平均往返时延T(往返时延指报文发送时刻到接收到相应应答的时刻之间的时延)。   T=α·Told+(1-α)Tnew (2-22) 式中,Told表示旧的往返时延,Tnew表示新测得的往返时延,0≤α<1。α表示新旧往返时延对平均往返时延T的影响程度。 典型的α值是7/8。   重发间隔应略大于T, 即 重发间隔=β·T (2-23) 式中,β是一个大于1的系数。实际上,系数β是很难确定的。它必须在传输效率和增加的网络负荷之间取得平衡。原TCP中的推荐值为β=2。该方法的难点在于发端对第一次发送的分组和重发的分组未加任何区分, 收端发出的应答也是未加区分的。 因此, 当发端发出重发分组后, 由于网络的随机时延, 它将无法确定所收到的应答是对哪一次发送的分组(第一次还是重发过程的某一分组),这样导致往返时延的不确定性。为了解决该问题, 若分组已进行重发, 就不再计算平均往返时延, 即仅计算一次发送成功并收到应答的报文平均往返时延, 并以此来计算重发间隔。 而每重发一次就将重发间隔增加一次, 即: 重发间隔=γ·旧的重发间隔 (2-24) 在系统中,γ的典型值为2。   在连接和拆除过程中,可能会出现如下一些情况: 第一次连接拆除后仍有分组到达,这就可能导致在第二次连接建立后, 会有第一次连接的分组到达。建立连接的分组和拆除连接的分组可能混淆。当网络一个节点出现故障, 无法跟踪某一连接时, 而该连接仍存在于另一节点中, 这也将导致混淆。   TCP中为了解决上述问题, 在每次连接开始时都进行初始化,使得SN和RN同步。具体实现的方法如下: 源节点和目的节点都有一个32 bit的时钟计数器, 每4μs增加一次(节点间的时钟计数器不同步)。当要建立连接时, 发端(A节点)以本地的时钟计数器的值作为初始阶段的第一命令分组的序号(SN)。 收端(B节点)在响应该指令时,对发端的序号进行响应,即将B节点RN′置为SN+1发给对方(A节点), B采用的初始化SN′为其本地的时钟计数值。B在收到对方(A节点)的应答前, 不能传送数据。 如图2-29所示。 图2-29 TCP的初始化过程   采用这种随机地选择序号的方法,可以避免新旧连接的序号混淆。32 bit的计数器循环一圈大约需4.6小时。 根据上面的讨论, 可得TCP的报文格式, 如图2-30所示。 图2-30 TCP的报文格式 在图2-30中:源端口和目的端口是运输层向高层提供的服务接口, 采用16 bit表示。数据偏移占4 bit, 表示在该报文中数据开始点离TCP报文段起始点的距离, 它实际上是TCP报文头的长度。控制域用6个比特表示, 它用于建立和释放连接、应答和报文提交方式等动作的控制。其中:URG比特=1表示此报文应尽快发送,它与紧急指针配合使用,指明紧急数据的长度; ACK比特=1表示确认序号字段有意义; PSH比特=1表示请求远地TCP将本报文段立即传送给其应用层; RST比特=1表示要重新建立连接; SYN比特和ACK比特组合使用用于表示发送建立连接请求和应答,SYN比特=1及ACK比特=0表示建立连接的请求报文, SYN比特=1及ACK比特=1表示同意建立连接的应答报文;FIN比特=1表示要释放一个连接。窗口占两个字节, 表示收窗口的大小, 即告诉对方在未收到应答前可发送的最大数据字节长度。校验和是对报文头的校验。紧急指针指明在报文段中,紧急数据的最后一个字节的序号。 3. TCP的流量控制 流量控制需要考虑两方面的问题:一是接收者的容量缓冲区大小, 二是网络的容量及通过量。假定网络的容量和通过量较大而接收者的缓冲区相对较小,这时如果发端发送的业务量较大,就会导致接

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档