以ping包发送过程分析ipsec执行(草稿)

本文详细分析了ping包发送过程中IPSec的执行步骤,包括安全路径查找与创建、安全路径执行,涉及xfrm_lookup、ip_route_output_flow、xfrm4_output等关键函数,解释了如何通过安全路由填充AH/ESP,以及在IP层如何查找MAC地址并进行ARP处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ping包发送过程分析:

1、安全路径查找和创建

ping_sendmsg ------> ip_route_output_flow----->xfrm_lookup这里面会查找安全路由,或者是根据源、目的IP地址找到SPD项,再找到SAD项后创建安全路由,安全路由最终会把数据包导到ah4_output\esp4_output做相应的填充ah\esp填充

2、执行安全路径
ping_sendmsg ------> ping_push_pending_frames ------->ip_push_pending_frames-------->ip_finish_skb-------->__ip_make_skb
                |------------->ip_send_skb---------->ip_local_out------------>skb->dst->output(skb)dst_output()函数就是调用路由项的输出函数, 对于安全路由, 该函数是xfrm4_output()函数, 对于普通路由, 是ip_output()函数


xfrm4_output{x->outer_mode->afinfo->output_finish,这里执行的就是xfrm4_output_finish}----->xfrm4_output_finish----->xfrm_output------->xfrm_output2------>xfrm_output_resume------->xfrm_output_one,在这个函数里面执put行的x->outer_mode->output(x, skb)中output就是ah_output或者esp_output来填充ah\esp相关字段到sk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值