提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
数据在内核中的处理逻辑
一、流程说明
- 数据报从进入系统,进行IP校验以后,首先经过第一个HOOK函数NF_IP_PRE_ROUTING进行处理;
- 然后就进入路由代码,其决定该数据报是需要转发还是发给本机的;
- 若该数据报是发被本机的,则该数据经过HOOK函数NF_IP_LOCAL_IN处理以后然后传递给上层协议;
- 若该数据报应该被转发则它被NF_IP_FORWARD处理;
- 经过转发的数据报经过最后一个HOOK函数NF_IP_POST_ROUTING处理以后,再传输到网络上。
- 本地产生的数据经过HOOK函数NF_IP_LOCAL_OUT处理后,进行路由选择处理,然后经过NF_IP_POST_ROUTING处理后发送出去。
流程图:

二、内核转发报文收发详细流程图
1. 内部和外部转发

2.函数流程图

3.函数详细流程图

本文深入探讨了内核中数据报文的处理逻辑,详细阐述了从数据报进入系统到转发或本地处理的流程。首先,数据经过NF_IP_PRE_ROUTING钩子函数,接着路由代码判断是否转发或发给本机。对于转发数据,经过NF_IP_FORWARD处理,最后通过NF_IP_POST_ROUTING发送。本地数据则经过NF_IP_LOCAL_IN和NF_IP_LOCAL_OUT处理。文中附有内部和外部转发以及函数流程图,为理解内核数据处理提供了清晰的指导。
6166

被折叠的 条评论
为什么被折叠?



