- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP输入
TCP的输入 当收到的数据报的协议字段指明这是一个TCP报文段时,ipintr(通过协议转换表中的pr_input函数)会调用tcp_input进行处理。tcp_input在软件中断一级执行。 TCP输入处理是系统中最长的一部分代码,函数tcp_input约有1100行代码。输入报文段的处理并不复杂,但非常繁琐。 图28-1列出了tcp_input中的处理框架。 首部预测 首部预测算法通过处理两种常见现象,简化单向数据传输的实现。 1)如果TCP发送数据,连接上等待接收的下一个报文段是对已发送数据的ACK。 2)如果TCP接收数据,连接上等待接收的下一个报文段是顺序到达的数据报文段。 两种情况下,通过若干测试,判定收到的报文段是否是等待接收的报文段。如果是,则立即处理,比起本章接下来和下一章介绍的通用处理要快得多。 1.判定收到的报文段是否是等待接收的报文段 347-366下列6个条件必须全真,才能说明收到的报文段是连接正等待接收的数据报文段或ACK报文段: 1)连接状态等于ESTABLISHED。 2)下列4个控制标志必须不设定:SYN、FIN、RST、或URG。但ACK标志必须置位。换言之,TCP的6个控制标志中,ACK标志必须置位,前面列出的4个标志必须清除,PSH标志置位与否无关紧要(连接处于ESTABLISHED状态时,除非RST标志置位,一般情况下,ACK都会置位)。 3)如果报文段带有时间戳选项,则最新时间戳值(ts_val)必须大于或等于连接上以前收到的时间戳值(ts_recent)。 4)报文段的起始序号(ti_seq)必须等于连接上等待接收的下一个序号(rcv_nxt)。如果这个条件为假,那么收到的报文段是重传报文段或是乱序报文段。 5)报文段通告的窗口大小必须非零(tiwin),必须等于当前发送窗口(snd_wnd)。也就是说,无需更新当前发送窗口。 6)下一个发送序号(snd_nxt)必须等于已发送的最大序号(snd_max),也就是说,上一个发送报文段不是重传报文段。 9.测试收到报文段是否是连接等待接收的下一个报文段414-416如果下列4个条件均为真,则收到的报文段是连接上等待接收的下一报文段,并且插口缓存中的剩余空间能够容纳到达的数据。 1)报文段的数据量(ti_len)大于0,即图28-12起始处if语句的else子句。 2)确认字段(ti_ack)等于最大的未确认序号,即报文段未确认任何数据。 3)连接乱序报文段的重组队列为空(seq_next等于tp)。 4)接收缓存能够容纳报文段数据。 10.完成接收数据的处理 423-435等待接收序号(rcv_nxt)递增收到的数据字节数。从mbuf链中丢弃IP首部、TCP首部和所有TCP选项,将剩余的mbuf链附加到插口的接收缓存,调用sorwakeup唤醒接收进程。设定延迟ACK标志,输入处理结束。 ACK处理概述 图29-1给出了ACK处理的框架。SYN_RCVD状态需要特殊处理,紧跟着是其他状态的通用处理代码(前一章已讨论过在LISTEN和SYN_SENT状态下收到ACK时的处理逻辑)。接着是对TCPS_FIN_WAIT_1、TCPS_CLOSING和TCPS_LAST_ACK状态的一些特殊处理,因为在这些状态下收到ACK会导致状态的转移。此外,在TIME_WAIT状态下收到ACK还会导致2MSL定时器的重启。
您可能关注的文档
最近下载
- 口服国产托伐普坦片治疗肝硬化低钠血症的疗效观察.doc VIP
- 工程制图习题集(第3版)钟宏民 课后习题答案解析.pdf
- (青岛2024版)初中信息技术第一册 2.1 制作电子班牌 课件.pptx
- 新华师大版7年级上册数学全册课件(2024年秋新版教材).pptx
- 太阳能光热发电站安装调试技术.docx
- 手册三菱q系列plc培训.pdf
- 富士达各功能电梯地址码(1)(1).pdf VIP
- 10S505 柔性接口给水管道支墩.pptx VIP
- 序篇 不忘初心(第一课时)课件-2024-2025学年高中音乐人音版(2019)必修 音乐鉴赏.pptx VIP
- 2025年人教版三年级上册道德与法治精编知识点(新教材).pdf
文档评论(0)