[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機制
浙公網安備 33010602011771號