tcp协议栈,定时器处理.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
tcp协议栈,定时器处理

PAGE  PAGE 25 tcp协议栈,定时器处理 篇一:传 输控制协议TCP 传输控制协议TCP 6.3 TCP的数据编码与确认 TCP协议采用了许多与数据链路层类似的机制来保证可靠的数据传输,如采用序列号、确认、滑动窗口协议等。只不过TCP协议的目的是为了实现端到端结点之间的可靠数据传输,而数据链路层协议则为了实现相邻结点之间的可靠数据传输。 首先,TCP要为所发送的每一个报文段加上序列号,保证每一个报文段能被接收方接收,并只被正确地接收一次。 其次,TCP采用具有重传功能的积极确认技术作为可靠数据流传输服务的基础。这里,“确认”是指接收端在正确收到报文段之后向发送端回送一个确认(ACK)信息。发送方将每个已发送的报文段备份在自己的发送缓冲区里,而且在收到相应的确认之前是不会丢弃所保存的报文段的。“积极”是指发送方在每一个??文段发送完毕的同时启动一个定时器,假如定时器的定时期满而关于报文段的确认信息尚未到达,则发送方认为该报文段已丢失并主动重发。为了避免由于网络延迟引起迟到的确认和重复的确认,TCP规定在确认信息中捎带一个报文段的序号,使接收方能正确地将报文段与确认联系起来。 第三,采用可变长的滑动窗口协议进行流量控制,以防止由于发送端与接收端之间的不匹配而引起数据丢失。这里所采用的滑动窗口协议与数据链路层的滑动窗口协议在工作原理上是完全相同的,惟一的区别在于滑动窗口协议用于传输层是为了在端到端结点之间实现流量控制,而用于数据链路层是为了在相邻结点之间实现流量控制。TCP采用可变长的滑动窗口,使得发送端与接收端可根据自己的CPU和数据缓存资源对数据发送和接收能力来作出动态调整,从而灵活性更强,也更合理。 6.4 传输效率与流量控制 6.4.1 滑动窗口机制 TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。 在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。 举例:见下图 情况(a): 发送端要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500 字节。发送端只要收到了对方的确认,发送窗口就可前移。发送 TCP 要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。 情况(b): 发送端已发送了 400 字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。现在发送端还可发送 300 字节。 情况(c): 发送端收到了对方对前 400 字节数据的确认,但对方通知发送端必须把窗口减小到 400 字节。现在发送端最多还可发送 400 字节的数据。 6.4.2 窗口与TCP的流量控制 1. 流量控制 TCP采用大小可变的滑动窗口机制实现流量控制功能。窗口的大小是字节。在TCP报文段首部的窗口字段写入的数值就是当前给对方设置发送窗口的数据的上限。 在数据传输过程中,TCP提供了一种基于滑动窗口协议的流量控制机制,用接收端接收能力(缓冲区的容量)的大小来控制发送端发送的数据量。 在建立连接时,通信双方使用SYN报文段或ACK报文段中的窗口字段捎带着各自的接收窗口尺寸,即通知对方从而确定对方发送窗口的上限。在数据传输过程中,发送方按接收方通知的窗口尺寸和序号发送一定量的数据,接收方根据接收缓冲区的使用情况动态调整接收窗口尺寸,并在发送TCP报文段或确认段时稍带新的窗口尺寸和确认号通知发送方。如图所示。设主机A向主机B发送数据。双方确定的的窗口值是400。设一个报文段为100字节长,序号的初始值为1(即SEQ=1)。在图15.8中,主机B进行了三次流量控制。第一次将窗口减小为300字节,第二次将窗口又减为200字节,最后一次减至零,即不允许对方再发送数据了。这种暂停状态将持续到主机B重新发出一个新的窗口值为止。 6.6.1 TCP报文段的格式 TCP的协议数据单元被称为报文段(Segment),TCP通过报文段的交互来建立连接、传输数据、发出确认、进行差错控制、流量控制及关闭连接。报文段分为两部分,即报文段头和数据,所谓报文段头就是TCP为了实现端到端可靠传输所加上的控制信息,而数据则是指由高层即应用层来的数据。下图给出了TCP报文段头的格式。其中有关字段的说明如下: 6.6.2 序号与确认 TCP不是按传送的报文段来编号。TCP将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,然后对每一个数据流编一个序号。在连接建立时,双方要商定初始序号。TCP就将每一次所传送的报文段中的第一个数据字节的

文档评论(0)

1045141460 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档