Linux网络协议栈 — IPv4分片重组
2017-05-31 15:31
246 查看
Linux网络协议栈 — IPv4分片重组代码逻辑:
Note:
1、IPv4分片重组主要由函数ip_defrag完成,重组结束后,中间片和末片的sk_buff{}结构按照分片起始偏移递增的顺序串联成一个链表,首片skb_shared_info{}结构的frag_list字段指向了链表头。
2、每个分片表项ipq{}结构都包含一个定时器,定时器到期后会执行函数ip_expire,它主要是将超时没有完成重组的分片表项删除。
3、内核初始化函数ipfrag_init中会启动定时器ipfrag_secret_timer,定时器到期后会执行函数ipfrag_secret_rebuild,它主要是重新组织分片hash表。
Note:
1、IPv4分片重组主要由函数ip_defrag完成,重组结束后,中间片和末片的sk_buff{}结构按照分片起始偏移递增的顺序串联成一个链表,首片skb_shared_info{}结构的frag_list字段指向了链表头。
2、每个分片表项ipq{}结构都包含一个定时器,定时器到期后会执行函数ip_expire,它主要是将超时没有完成重组的分片表项删除。
3、内核初始化函数ipfrag_init中会启动定时器ipfrag_secret_timer,定时器到期后会执行函数ipfrag_secret_rebuild,它主要是重新组织分片hash表。
相关文章推荐
- linux网络协议栈(五)网络层 (8)网络层的报文分片
- 深入理解Linux网络技术内幕——IPv4 分段与重组
- Linux内核网络部分---IP数据报文分片重组
- 【linux内核2.4.26·网络】IP分片重组过程函数解析
- linux网络协议栈分析——net_families、inetsw、inetsw_array、inet_protos
- Linux网络协议栈之网络设备管理
- Linux网络协议栈(三)——网络设备(2)
- Linux网络协议栈(三)——网络设备(2)
- Linux 2.4.x 网络协议栈QoS模块(TC)的设计与实现
- Linux网络协议栈
- Linux网络协议栈(三)——网络设备(1)
- linux网络协议栈分析(五)
- linux网络协议栈分析(六)
- linux网络协议栈分析(八)
- linux网络协议栈分析(一)
- 经典短文:数据包在linux 2.4网络协议栈中的漫游
- Linux 2.4.x 网络协议栈QoS模块(TC)的设计与实现(转)
- Linux网络协议栈(四)——链路层(2)
- linux网络协议栈分析(四)