《TCP/IP详解 卷2:实现》 —2.6.6 m_pullup使用总结

举报
华章计算机 发表于 2019/11/20 16:42:50 2019/11/20
【摘要】 本节书摘来自华章计算机《TCP/IP详解 卷2:实现》一书中第2章,第2.6.6节,作者是[美]加里R.赖特(Gary R.Wright),W. 理查德史蒂文斯(W.Richard Stevens),陆雪莹 蒋慧 等译 谢希仁 校。

2.6.6   m_pullup使用总结

我们已经讨论了关于使用m_pullup的三种情况:

大多数设备驱动程序不把一个IP数据报的第一部分分割到几个mbuf中。假设协议首部都紧挨着存放,则在每个协议(IP、ICMP、IGMP、UDP和TCP)中调用m_pullup的可能性很小。如果调用m_pullup,通常是因为IP数据报太小,并且m_pullup返回一个差错,这时数据报被丢弃,并且差错计数器加1。

对于每个接收到的IP分片,当IP数据报被存放在一个簇中时,m_pullup被调用。这意味着几乎对于每个接收的分片都要调用m_pullup,因为大多数分片的长度大于208 字节。

只要TCP报文段不被IP分片,接收的TCP报文段不论是否失序,都不需调用m_pullup。这是避免IP对TCP分片的一个原因。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。