[dev][ipsec][esp] ipsec链路中断的感知问题
ipsec如何感知到链路中断了?以下内容讲的是在没有配置DPD,且没有rekey的场 景下。 1. ESP认为,以下两个场景交由应用层来感知,应用层会发现ipsec的连接坏掉了。 a,ESP承载的连接是tcp数据。 b,ESP承载的连接是有双向交互的udp数据。 2. 基于1,现在只剩下只有单向udp发包的场景了,它是如下处理的。 当大量连续丢包的时候,收包一侧会通过sequence number的滑动窗口感知 到,大量是指大于2^32个包。
原理是:ESP发包的时候会给包文头上放一个SEQ number。收包侧会记录一个滑动 窗口,收到包之后计算SEQ number,超出窗口的就认为业务异常, 被攻击,或者丢了包。然后启动re-sync机制。 ESP RFC里讲了我上面描述的这个内容,见rfc4303附录A3 https://tools.ietf.org/html/rfc4303#page-38 我整理的关于SEQ number的资料:[crypto][ipsec] 简述ESP协议的sequence number机制