您的位置:首页 > 其它

IP分片重组的问题

2017-02-13 13:41 288 查看
在IP层协议处理IP分片重组时,会调用ip_defrag() -> ip_frag_queue()
在ip_frag_queue函数中有关于分片与前个分片或后个分片重叠的情形,比如与前个分片重叠的处理:

C/C++ code

?
我想问的是,在什么情况下会发生分片间重叠的情况?IP分片时应该都是分割的不会重叠的

内核对分片队列fragments限制了内存大小的,应该不会被溢出

C/C++ code

?
不明白的还是如果重叠攻击才会导致分片重叠,直接在IP重组时丢弃掉不行吗?

一定不只是攻击行为,分片重叠一定还有其他用途,可我现在只能举出这个例子。
现在的内核一定不会有溢出的可能,限制ip碎片的大小应该不是关键,最后ip包要整合在一起送给上一层协议处理,ip包声明的长度和实际送上来的数据长度就有可能出现偏差。
重叠部分的大小不确定,这个丢弃的工作也不好完成把。个人认为ip层的数据应该尽量多的交给上层,这样上层控制才能更灵活。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: