[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机制

posted on 2019-05-05 15:06  toong  阅读(966)  评论(0编辑  收藏  举报