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