网卡收包与skb数目的关系
本帖最后由 phoxia 于 2011-06-17 14:17 编辑
假若一个应用程序发送了3个包,字节数分别为1,2,3(tcp)
那么对端的网卡会构造出几个skb结构来?
是3个么?或者网卡会不会看收到的字节数比较少,就用1个skb搞定了?
即网卡会不会根据收到的字节数进行重组,把对端应用程序发送的包放到一个skb搞定?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
回复 5# phoxia
对,那就是攻击行为了,就要从防攻击的角度看问题了。
不过,攻击者通常会选用大包进行攻击,这样可以塞满你的带宽。
skb的结构不是超大么?我每次发送1个字节,内核都要分配一个skb,这可是1:N的关系啊,如果多几个机器同样搞,内存会不会很吃亏?
回复 7# phoxia
你可以测试一下
发送端发几个包过来,如果链路中不分片的话,网卡就应该收几个包。
回复 2# Godbach
网卡收几个包,就会构造几个skb么?那如果这样的话,大量发送1字节的包,内核岂不很受伤?
通常可以这么理解。
至于出现这样的包,那要看发送端为什么要这么搞
如果不怀好意者进行攻击,这是不是个方法哦?哈哈