什么是对等体存活检测?
DPD(Dead Peer Detection,对等体存活检测)用于检测对端是否存活。本端主动向对端发送DPD请求报文,检测对端PEER是否存活。
- 如果本端在DPD报文的重传时间间隔内未收到对端回应的DPD报文,则重传DPD请求报文,当到达最大重传次数之后仍然没有收到对端的DPD回应报文,则认为对端已经离线,本端将删除该IKE SA和对应的IPsec SA,同时发送报文通知对端。
- DPD报文是一个双向交换的消息,该消息包含通知载荷(notify)和Hash载荷(hash)。
发起者发送的通知载荷携带R-U-THERE消息,相当于一个Hello报文,响应者发送的通知载荷携带R-U-THERE-ACK消息,相当于一个ACK报文。
不同设备缺省发出的DPD报文的载荷顺序可能不同,而两端IKE对等体的DPD报文中的载荷顺序需要一致,否则对等体存活检测功能将无法生效。
IKE对等体间进行IPsec通信时,除DPD报文中的载荷顺序需要匹配外,DPD检测中其它配置参数两端不需要匹配。当IKE对等体间有正常的IPsec流量时,不会发送DPD消息,只有当一段时间内收不到对端发来的IPsec报文时,才发送DPD消息。
DPD核心配置
DPD的核心配置包含检测模式、检测时间、报文格式等。以华为设备为例,配置DPD的方法有全局配置和IKE对等体两种方式。IPsec通信时,优先使用IKE对等体的DPD配置参数,如果对等体未配置DPD,则采用全局DPD配置参数。
- 检测模式:分为按需和周期性检测。华为设备缺省配置中无全局检测配置,是否开启对等体检测要看对等体的DPD配置是否使能。
按需型:当本端需要向对端发送IPsec报文时,如果当前距离最后一次收到对端的IPsec报文的时长已超过DPD空闲时间,则触发DPD检测,本端主动向对端发送DPD请求报文。
周期型:如果当前距离最后一次收到对端的IPsec报文的时长已超过DPD空闲时间,则本端主动向对端发送DPD请求报文。
- DPD配置参数:包含DPD空闲时间、DPD报文重传间隔和重传次数,华为设备缺省情况下全局DPD空闲时间、DPD报文重传间隔和重传次数分别为30秒、15秒和3次。
- 报文格式:有seq-hash-notify和seq-notify-hash两种。华为设备缺省情况下,DPD报文中的载荷顺序为seq-hash-notify。
当IPsec两端未配置DPD报文时,如果隧道内无流量,会等待SA的生命周期到期。到期前会发起硬协商,如果协商未成功则拆除本端SA,同时通知对端。SA的恢复需要再次进行数据流触发协商才能建立。
如果因为网络原因一端拆除SA,另一端没有拆除SA,会导致业务流量不通,需要等待SA生命周期老化或手工清除SA。
DPD配置说明
检测模式:按需。
检测时间:空闲时间30s,重传间隔15s,重传次数3次。
报文格式为:seq-hash-notify。
连接故障或无法PING通 所有常见问题
- VPN配置完成了,为什么连接一直处于未连接状态?
- 如何防止VPN连接出现中断情况?
- 使用中IPsec VPN连接中断后如何快速恢复?
- VPN网关带宽到达限额时有什么影响?
- IPsec VPN是否会自动建立连接?
- 两个Region创建的VPN连接状态正常,为什么不能ping通对端ECS?
- IDC与云端对接,VPN连接正常,子网间业务无法互相访问?
- 正在使用VPN出现了连接中断,提示数据流不匹配,如何排查?
- 正在使用VPN出现了连接中断,提示DPD超时,如何排查?
- 创建VPN连接后业务已通,但网页上的连接状态还是显示未连接?
- VPN连接中断后会通知我吗?
- 如何解决VPN连接无法建立连接问题?
- VPN建立后您的数据中心或局域网无法访问弹性云服务器?
- 为什么VPN创建成功后状态显示未连接?
- VPN是否启动了DPD检测机制?
- 什么是对等体存活检测?
more