在對等體間進行IPSec通信時,Heartbeat機制能夠檢測對端故障,可以防止流量的丟失,但周期性的heartbeat消息消耗了兩端的CPU資源。而對等體存活檢測DPD(Dead Peer Detection)機制可在通過dpd消息檢測對端故障的同時,降低CPU資源的消耗。
Heartbeat機制和DPD機制的區(qū)別如下。Heartbeat機制定期發(fā)送查詢,本端和對端配置需要匹配;DPD機制中本端和對端不需要匹配,當對等體間有正常的IPSec流量時,不會發(fā)送DPD消息,只有當一段時間內(nèi)收不到對端發(fā)來的IPSec報文時,才發(fā)送DPD消息,節(jié)省了CPU資源。當設備同時使用heartbeat機制和DPD機制時,DPD機制生效。兩端DPD參數(shù)可以單獨配置(除DPD報文中的載荷順序需要匹配外)。
設備根據(jù)dpd type命令設置以下兩種檢測模式開啟DPD查詢,通過DPD消息檢測對等體是否存活。
按需型:當本端需要向?qū)Χ税l(fā)送IPSec報文時,如判斷當前距離最后一次收到對端IPSec報文的時間已超過DPD空閑時間,則本端主動向?qū)Χ税l(fā)送DPD請求報文。
周期型:如判斷當前距離最后一次收到對端IPSec報文的時間已超過DPD空閑時間,則本端主動向?qū)Χ税l(fā)送DPD請求報文。
本端主動向?qū)Χ税l(fā)送DPD請求報文后,若在DPD報文重傳間隔內(nèi)沒有收到對端的DPD回應報文,則向?qū)Χ酥貍鱀PD請求報文,根據(jù)重傳次數(shù)進行重傳之后若仍然沒有收到對端的DPD回應報文,則認為對端離線,刪除該IKE SA和對應的IPSec SA。配置對等體存活檢測的具體步驟見表1。