2.3 函数实现机制 2.3.1 NAT实现机制 在nat机制的源码实现中,nf_nat_fn( )是nat hook的主处理函数,其它几个钩子函数最终都调用这个函数。nf_nat_fn( )函数会根据连接信息结构体ip_conntrack_info中表示连接方向的成员(主要就分两个方向),来判断是发送的包还是回应的包。如果是发送的包,会首先调用nf_nat_rule_find( )函数查找规则,并调用ipt_do_table( ),进行规则的遍历,并执行目标为SNAT的操作,这里以SNAT为例进行分析。nat模块处理流程如图2-3所示。 图2-3NAT处理流程图 2.3.2 IPsec机制的函数实现 当内核开启XFRM支持时,数据包在进入、外出或转发时都要进行IPsec处理。数据包进入本地时,首先调用ip_rcv_finish( )完成网络层的处理,接下来才调用xfrm4_rcv( )进行IPsec处理,根据IPsec所采用的协议分别调用不同的进入处理函数dst_entry- |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|