发送消息方法及网络设备与流程

文档序号:14914431发布日期:2018-07-11 00:19阅读:349来源:国知局

本申请涉及通信技术领域,特别是涉及发送消息方法以及网络设备。



背景技术:

因特网协议安全(Internet Protocol Security,IPSec)协议族是由因特网工程任务组(Internet Engineering Task Force,IETF)定义的一系列协议,能够为因特网协议(Internet Protocol,IP)数据包提供基于密码的保护。

具体的,在用IPSec保护IP数据包之前,通信双方先建立一个安全联盟(Security Association,SA)。该SA可以由用户手工配置,也可以由通信双方协商建立。其中,通信双方可以利用因特网密钥交换协议(Internet Key Exchange Protocol,IKE)协商IKE SA。IKE使用因特网安全关联和密钥管理协议(Internet Security Association and Key Management Protocol,ISAKMP)来进行密钥协商。

IKE消息中包含消息标识(Message ID)。IKE SA发生故障时,当通信双方中一方发送的消息中所携带的消息标识在另一方支持的接收窗口外时,接收IKE消息的另一方将向一方发送无效的消息标识(INVALID_MESSAGE_ID)通知(Notification)。接收到INVALID_MESSAGE_ID通知的一方如何进行后续处理,没有具体的方案。上述场景中,IKE SA的故障的持续时间较长,不利于业务传输。



技术实现要素:

本申请提供了一种发送消息方法,以缩小故障的持续时间。

本申请还提供了一种网络设备、一种终端设备以及一种可读存储介质。

第一方面,提供一种发送消息方法。该方法包括:第一网络设备接收第二网络设备发送的第一IKE消息,所述第一IKE消息中携带第一消息标识;当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,所述第一网络设备向所述第二网络设备发送IKE安全联盟初始协商请求(IKE_SA_INIT Request)消息或者包含消息标识同步通知(MESSAGE_ID_SYNC Notification)的IKE请求消息;所述第一网络设备接收来自所述第二网络设备的响应于所述IKE_SA_INIT Request消息的IKE安全联盟初始协商响应(IKE_SA_INIT Response)消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

显然,本实现方式在网络设备接收到的第一IKE消息中携带的消息标识的值大于其支持的接收窗口的最大值时,可以通过发送包含消息标识同步通知(MESSAGE_ID_SYNC Notification)的IKE请求消息,发起消息标识同步。或者,可以通过发送IKE_SA_INIT Request消息,发起重认证,从而有助于更新通信双方的消息标识,解决消息标识不匹配的问题。因此,上述技术方案有助于缩小故障的持续时间。

可选地,上述技术方案中,IKE请求消息包含期待发送请求消息标识(EXPECTED_SEND_REQ_MESSAGE_ID)以及期待接收请求消息标识(EXPECTED_RECV_REQ_MESSAGE_ID),所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第一网络设备向所述第二网络设备发送的下一个IKE请求消息中携带的消息标识,EXPECTED_RECV_REQ_MESSAGE_ID是所述第一设备期待的从所述第二设备接收到的下一个IKE请求消息中携带的消息标识。

本实现方式中的网络设备通过发送包含EXPECTED_RECV_REQ_MESSAGE_ID的IKE请求消息,来发起消息标识同步,从而快速修复消息标识不匹配的故障问题,减少故障修复时间。

可选地,上述技术方案中,所述第一网络设备向所述第二网络设备发送IKE安全联盟初始协商请求(IKE_SA_INIT Request)消息或者包含消息标识同步通知(MESSAGE_ID_SYNC Notification)的IKE请求消息之前,所述方法还包括:第一网络设备判确定所述第二网络设备是否支持消息标识同步;若所述第二网络设备支持消息标识同步,则向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息;若所述第二网络设备不支持消息标识同步,则向所述第二网络设备发送IKE_SA_INIT Request消息。

显然,本实现方式在通信双方支持消息标识同步的情况下,可以由第一网络设备主动发起消息标识同步,从而能够在不影响业务的情况下,快速修复消息标识不匹配的问题,避免通信双方IKE协商失败以及业务中断。

可选地,上述技术方案中,所述方法还包括:第一网络设备确定在预定的第一时长内没有接收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送失效对等体检测(Dead Peer Detection,DPD)请求报文;以及,第一网络设备确定在预定的第二时长内没有接收到来自所述第二网络设备的针对所述DPD请求报文的DPD响应报文时,向所述第二网络设备发送IKE_SA_INIT Request消息。

本实现方式在网络设备在预定的时长内没有接收到加密消息时,可以由该网络设备发起DPD,从而能够通过DPD快速探测到消息标识不匹配的故障,快速恢复故障,减少业务中断时间。

可选地,上述技术方案中,所述加密消息为经因特网协议安全安全联盟(IPSec SA)加密的消息。本实现方式中的网络设备可以通过确定是否接收到IPSec SA加密的消息,来确定是否需要发起DPD,从而能够快速检测到故障,进一步减少业务中断时长。

第二方面,提供了一种发送消息方法。所述方法包括:第二网络设备向第一网络设备发送第一IKE消息,所述第一IKE消息中携带第一消息标识;所述第二网络设备接收来自所述第一网络设备的IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的IKE请求消息,所述IKE_SA_INIT Request消息或所述IKE请求消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;所述第二网络设备向所述第一网络设备发送响应于所述IKE_SA_INIT Request消息的IKE安全联盟初始协商响应(IKE_SA_INIT Response)消息。或者,响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本实现方式在发送的IKE消息中携带的消息标识的值大于接收窗口的最大值时,即在通信双方中的消息标识不匹配的情况下,可以由接收该IKE消息的网络设备发起重认证或者消息标识同步,以更新通信双方的消息标识,从而解决了消息标识不匹配的问题,缩小故障的持续时间。

第三方面,提供了一种发送消息方法。所述方法包括:第一网络设备接收第二网络设备发送的第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,所述第一网络设备向所述第二网络设备发送第二IKE消息;所述第一网络设备接收所述第二网络设备发送的响应于所述第二IKE消息的第一IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知(MESSAGE_ID_SYNC Notification)的第一IKE请求消息;所述第一网络设备向所述第二网络设备发送响应于所述第一IKE_SA_INIT Request消息的IKE安全联盟初始协商响应(IKE_SA_INIT Response)消息或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本实现方式在网络设备接收到第一IKE消息中携带的消息标识的值大于其支持的接收窗口的最大值时,可以通过发送第二IKE消息,触发发送该第一IKE消息的网络设备发起重认证或者消息标识同步,以更新通信双方的消息标识,从而解决了消息标识不匹配的问题,缩小故障的持续时间。

可选地,上述技术方案中,所述第二IKE消息是无效消息标识通知(INVALID_MESSAGE_ID Notification);所述IKE请求消息包含期待发送请求消息标识(EXPECTED_SEND_REQ_MESSAGE_ID)以及期待接收请求消息标识(EXPECTED_RECV_REQ_MESSAGE_ID),所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第二网络设备向所述第一网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第二网络设备期待的从所述第一网络设备接收到的下一个IKE请求消息中携带的消息标识。

本实现方式中的网络设备在接收到INVALID_MESSAGE_ID通知消息时,可以通过发起消息标识同步或重认证来更新通信双方的消息标识,从而能够及时修复故障,解决消息标识不匹配所导致的IKE协商失败及业务中断的问题。

可选地,上述技术方案中,所述第一网络设备接收所述第二网络设备发送的响应于所述第二IKE消息的包含消息标识同步通知(MESSAGE_ID_SYNC Notification)的IKE请求消息之后,还包括:确定所述第一网络设备中的期待发送请求消息标识(EXPECTED_SEND_REQ_MESSAGE_ID)的值是否大于所述IKE请求消息中携带的期待接收请求消息标识(EXPECTED_RECV_REQ_MESSAGE_ID)的值;当确定所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

本实现方式中的网络设备在检测到EXPECTED_SEND_REQ_MESSAGE_ID的值大于其接收到的IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值时,即在消息标识同步失败时,可以发起重认证,从而解决通信双方的消息标识不匹配的问题。

可选地,上述技术方案中,所述第一网络设备向所述第二网络设备发送第二IKE消息之前,还包括:所述第一网络设备确定所述第二网络设备是否支持消息标识同步;若所述第二网络设备支持消息标识同步,则向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息;若所述第二网络设备不支持消息标识同步,则向所述第二网络设备发送第二IKE消息。

本实现方式在第二网络设备支持消息标识同步的情况下,可以由第一网络设备主动发起消息标识同步,以快速修复通信双方消息标识不匹配的问题;若通信双方没有协商出消息标识同步支持能力,则可以通过第一网络设备发送第二IKE消息,触发第二网络设备发起重认证,来解决消息标识不匹配的问题。

可选地,上述技术方案中,还包括:当第一网络设备确定在预定的第一时长内没有收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送DPD请求报文;以及,当所述第一网络设备确定在第二预定的时长内没有接收到所述第二网络设备发送的针对所述DPD请求报文的DPD响应报文时,向所述第二网络设备发送第二IKE_SA_INIT Request消息。本实现方式在网络设备在预定的时长内没有收到加密消息时时,可以由该网络设备发起DPD,从而能够通过DPD快速检测到消息标识不匹配的故障,快速恢复故障,减少业务中断时间。

可选地,上述技术方案中,所述加密消息为经IPSec SA加密的消息。

本实现方式中的网络设备可以通过确定是否接收到IPSec SA加密的消息,来确定是否需要发起DPD,从而能够快速检测到故障,进一步减少业务中断时长。

第四方面,提供了一种发送消息方法。所述方法包括:第二网络设备向第一网络设备发送第一IKE消息,所述第一IKE消息中携带第一消息标识;所述第二网络设备接收来自所述第一网络设备的第二IKE消息,所述第二IKE消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;所述第二网络设备向所述第一网络设备发送响应于第二IKE消息的第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;所述第二网络设备接收所述来自所述第一网络设备的响应于所述第一IKE_SA_INIT Request消息。或者,响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本实现方式在发送的第一IKE消息中携带的消息标识的值大于接收窗口的最大值时,即在通信双方中的消息标识不匹配的情况下,可以由接收该第一IKE消息的网络设备发送第二IKE消息,以通过该第二IKE消息触发发送该第一IKE消息的网络设备发起重认证或者消息标识同步,从而能够更新通信双方的消息标识,解决了消息标识不匹配的问题。

第五方面,提供一种第一网络设备。所述第一网络设备包括:第一消息接收模块,用于接收第二网络设备发送的第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;第一消息发送模块,用于当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,向所述第二网络设备发送IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的IKE请求消息;第二消息接收模块,用于接收来自所述第二网络设备的响应于所述IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,第五方面提供的第一网络设备可以用于执行第一方面提供的方法。

可选地,上述技术方案中,IKE请求消息包含EXPECTED_SEND_REQ_MESSAGE_ID以及EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第一网络设备向所述第二网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第一设备期待的从所述第二设备接收到的下一个IKE请求消息中携带的消息标识。

可选地,上述技术方案中,该装置还包括:标识同步模块。所述标识同步模块,用于确定所述第二网络设备是否支持消息标识同步;若所述第二网络设备支持消息标识同步,则触发所述第一消息发送模块向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息;若所述第二网络设备不支持消息标识同步,则触发所述第一消息发送模块向所述第二网络设备发送IKE_SA_INIT Request消息。

可选地,上述技术方案中,还包括:失效对等体检测模块,用于当所述第一网络设备确定在预定的时长内没有收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送DPD请求报文;第二消息发送模块,用于当所述第一网络设备在预定的时长内没有接收到来自所述第二网络设备的针对所述DPD请求报文的DPD响应报文时,向所述第二网络设备发送IKE_SA_INIT Request消息。

可选地,上述技术方案中,所述加密消息为经IPSec SA加密的消息。

第六方面,提供了一种第二网络设备。所述第二网络设备包括:第一消息发送模块,用于向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;消息接收模块,用于接收来自所述第一网络设备的IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的IKE请求消息,所述IKE_SA_INIT Request消息或所述IKE请求消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;第二消息发送模块,用于向所述第一网络设备发送响应于所述IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,第六方面提供的第二网络设备可以用于执行第二方面提供的方法。

第七方面,提供了一种第一网络设备。所述第一网络设备包括:第一消息接收模块,用于接收第二网络设备发送的第一IKE消息,所述第一IKE消息中携带第一消息标识;第一消息发送模块,用于当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,向所述第二网络设备发送第二IKE消息;第二消息接收模块,用于接收所述第二网络设备发送的响应于所述第二IKE消息的第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;第二消息发送模块,用于向所述第二网络设备发送响应于所述第一IKE_SA_INIT Request消息的IKE_SA_INIT Response消息或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,第七方面提供的第一网络设备可以用于执行第三方面提供的方法。

可选地,上述技术方案中,所述第二IKE消息是INVALID_MESSAGE_ID Notification;所述IKE请求消息包含EXPECTED_SEND_REQ_MESSAGE_ID以及EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第二网络设备向所述第一网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第二网络设备期待的从所述第一网络设备接收到的下一个IKE请求消息中携带的消息标识。

可选地,上述技术方案中,还包括:消息标识检测模块,用于确定所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值;第三消息发送模块,用于当确定所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

可选地,上述技术方案中,还包括:标识同步模块。该标识同步模块,用于确定所述第二网络设备是否支持消息标识同步;若所述第二网络设备支持消息标识同步,则触发所述第一消息发送模块向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息;若所述第二网络设备不支持消息标识同步,则触发所述第一消息发送模块向所述第二网络设备发送第二IKE消息。

可选地,上述技术方案中,还包括:失效对等体检测模块,用于当所述第一网络设备确定在预定的第一时长内没有收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送DPD请求报文;第四消息发送模块,用于当所述第一网络设备确定在预定的第二时长内没有接收到所述第二网络设备发送的针对所述DPD请求报文的DPD响应报文时,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

可选地,上述技术方案中,所述加密消息为经IPSec SA加密的消息。

第八方面,提供了一种第二网络设备。该第二网络设备包括:第一消息发送模块,用于向第一网络设备发送第一IKE消息,所述第一IKE消息中携带第一消息标识;第一消息接收模块,用于接收来自所述第一网络设备的第二IKE消息,所述第二IKE消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;第二消息发送模块,用于向所述第一网络设备发送响应于第二IKE消息的第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;第二消息接收模块,用于接收所述来自所述第一网络设备的响应于所述第一IKE_SA_INIT Request消息,或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,所述第八方面提供的第二网络设备可以用于执行第四方面提供的方法。

第九方面,提供了一种第一网络设备。所述第一网络设备包括:收发器以及与所述收发器耦合的处理器;

所述收发器用于接收第二网络设备发送的第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;

所述处理器用于确定所述第一消息标识的值是否大于所述第一网络设备支持的接收窗口的最大值;

所述收发器还用于当所述处理器确定所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,向所述第二网络设备发送IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的IKE请求消息;

所述收发器还用于接收来自所述第二网络设备的响应于所述IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,第九方面提供了的第一网络设备可以用于执行第一方面提供的方法。

可选地,上述技术方案中,所述IKE请求消息包含EXPECTED_SEND_REQ_MESSAGE_ID以及EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第一网络设备向所述第二网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第一设备期待的从所述第二设备接收到的下一个IKE请求消息中携带的消息标识。

可选地,上述技术方案中,所述处理器还用于确定所述第二网络设备是否支持消息标识同步;当所述第二网络设备支持消息标识同步时,指示所述收发器向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息;或者,当所述第二网络设备不支持消息标识同步时,指示所述收发器向所述第二网络设备发送IKE_SA_INIT Request消息。

可选地,上述技术方案中,所述处理器还用于,当所述第一网络设备在预定的时长内没有接收到来自所述第二网络设备的加密消息时,指示所述收发器向所述第二网络设备发送失效对等体检测DPD请求报文;

所述处理器还用于,当所述第一网络设备在预定的时长内没有接收到所述第二网络设备发送的针对所述DPD请求报文的DPD响应报文时,指示所述收发器向所述第二网络设备发送IKE_SA_INIT Request消息。

可选地,上述技术方案中,所述加密消息为经IPSec SA加密的消息。

第十方面,提供了一种第二网络设备。所述第二网络设备包括:收发器以及与所述收发器耦合的处理器;

所述收发器用于向第一网络设备发送第一IKE消息,所述第一IKE消息中携带第一消息标识;

所述收发器还用于接收来自所述第一网络设备的IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的IKE请求消息,所述IKE_SA_INIT Request消息或所述IKE请求消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;

所述处理器用于生成响应于所述IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息;

所述收发器用于向所述第一网络设备发送所述IKE_SA_INIT Response消息,或者,所述包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,第十方面提供的第二网络设备可以用于执行第二方面提供的方法。

第十一方面,提供了一种第一网络设备。所述第一网络设备包括:收发器以及与所述收发器耦合的处理器;

所述收发器用于接收第二网络设备发送的第一IKE消息,所述第一IKE消息中携带第一消息标识;

所述处理器用于确定所述第一消息标识的值是否大于所述第一网络设备支持的接收窗口的最大值;

所述收发器用于当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,向所述第二网络设备发送第二IKE消息;

所述收发器还用于接收所述第二网络设备发送的响应于所述第二IKE消息的第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;

所述收发器还用于向所述第二网络设备发送响应于所述第一IKE_SA_INIT Request消息的IKE_SA_INIT Response消息或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,第十一方面提供的第一网络设备可以用于执行第三方面提供的方法。

可选地,上述技术方案中,所述第二IKE消息是INVALID_MESSAGE_ID Notification;所述IKE请求消息包含EXPECTED_SEND_REQ_MESSAGE_ID以及EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第二网络设备向所述第一网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第二网络设备期待的从所述第一网络设备接收到的下一个IKE请求消息中携带的消息标识。

可选地,上述技术方案中,所述处理器还用于确定所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值;

所述收发器还用于当所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

可选地,上述技术方案中,所述处理器还用于确定所述第二网络设备是否支持消息标识同步;若所述第二网络设备支持消息标识同步,则指示所述收发器向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息;或者,若所述第二网络设备不支持消息标识同步,则指示所述收发器向所述第二网络设备发送第二IKE消息。

可选地,上述技术方案中,所述处理器还用于:当所述第一网络设备在预定的时长内没有接收到来自所述第二网络设备的加密消息时,指示所述收发器向所述第二网络设备发送DPD请求报文;所述第一网络设备在预定的时长内没有接收到来自所述第二网络设备的针对所述DPD请求报文的DPD响应报文时,指示所述收发器向所述第二网络设备发送第二IKE_SA_INIT Request消息。

可选地,上述技术方案中,所述加密消息为经IPSec SA加密的消息。

第十二方面,提供了一种第二网络设备。所述第二网络设备包括:收发器以及与所述收发器耦合的处理器;

所述收发器用于向第一网络设备发送第一IKE消息,所述第一IKE消息中携带第一消息标识;

所述收发器还用于接收来自所述第一网络设备的第二IKE消息,所述第二IKE消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;

所述处理器用于生成响应于第二IKE消息的第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;

所述收发器还用于向所述第一网络设备发送所述第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;

所述收发器还用于接收所述来自所述第一网络设备的响应于所述第一IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

举例来说,第十二方面提供的第二网络设备可以用于执行第四方面提供的方法。

第十三方面,提供了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述第一方面或者第一方面的实现方式所提供的发送消息方法。

第十四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面或者第一方面的实现方式所提供的发送消息方法。

第十五方面,提供了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述第二方面所提供的发送消息方法。

第十六方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第二方面所提供的发送消息方法。

第十七方面,提供了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述第三方面至第三方面的第五种可能的实现方式中的任一项所提供的发送消息方法。

第十八方面,提供了一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第三方面或者第三方面的实现方式所提供的发送消息方法。

第十九方面,提供了一种电子设备,其特征在于,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述第四方面所提供的发送消息方法。

第二十方面,提供了一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第四方面所提供的发送消息方法。

与现有技术相比,本申请提供的技术方案包括以下优点:

在网络设备检测到接收到的消息标识的值大于器支持的接收窗口最大值时,可以通过发起重认证或者消息标识同步,快速解决通信双方的消息标识不匹配问题,即能够及时恢复故障,缩小故障的持续时间,以及减少业务中断时间。

此外,网络设备可通过检测本端是否接收到对端发送的加密的密文,来确定是否采用DPD判断对端状态,即可以根据配置自动发起DPD,从而解决现有了DPD协议可靠性不足所导致的无法快速检测出故障的问题,增强了DPD协议可靠性,能够快速检测到故障,进而能够快速恢复故障,减少业务中断时间。

附图说明

图1是本申请提供的一种发送消息方法的流程图;

图2是本申请提供的发送消息方法的流程图;

图3是本申请提供的一种发送消息方法的流程图;

图4是本申请提供的另一种发送消息方法的步骤流程图;

图5是本申请一个实施例提供的一种发送消息方法的流程图;

图6是本申请另一个实施例提供的一种发送消息方法的流程图;

图7是本申请又一个实施例提供的一种发送消息方法的流程图;

图8A是本申请的一种第一网络设备的结构框图;

图8B是本申请提供的另一种第一网络设备的结构框图;

图9是本申请提供的一种第二网络设备的结构框图;

图10A是本申请提供的又一种第一网络设备的结构框图;

图10B是本申请提供的一种第一网络设备的结构示意图;

图11是本申请提供的一种第二网络设备的结构框图;

图12是本申请提供的一种电子设备的结构示意图;

图13是本申请提供的一种网络设备的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

因特网密钥交换协议定义了消息标识(identifier,ID)字段。该消息标识字段可以携带在IKE协商消息头中。该消息标识字段可以用来匹配IKE请求消息和响应消息,以及可以用于标识是否重传消息。具体而言,IKE协商的通信双方可以保存两个消息标识。其中,一方保存一个消息标识。另一方保存一个消息标识。两个消息标识中的一个消息标识是接收方向的消息标识。该消息标识是对端保存的消息标识。该消息标识用于指示对端向本端发送的下一个请求消息;两个消息标识中另一个消息标识是发送方向的消息标识。该消息标识是本端保存的消息标识。该消息标识用于指示本端向对端发送的下一个请求消息。当发送方发送的请求消息中携带的消息标识在接收方的接收窗口之外时,接收方可以丢弃该请求消息。例如,当IKE发起端(Initiator)发送的请求消息携带的消息标识在IKE响应端(Responder)所支持的接收窗口之外时,Responder可以丢弃该请求消息。

例如,使用因特网密钥交换协议第二版(Internet Key Exchange Protocol Version 2,IKEv2)进行协商的通信双方分别称为A和B。若A发送给B的请求消息中的消息标识超出B的接收窗口的尺寸,则会导致A发给B的请求消息被丢弃。即B不会针对该请求消息向A返回对应的响应消息。A在没有接收到响应消息的情况下,会周期性向B发送IKE协商请求,直到A与B之间的IPSec隧道老化周期到期或者重传的次数达到最大值认为链路故障。当A与B之间的IPSec隧道老化周期到期或者重传的次数达到最大值认为链路故障时,再重新触发IPSec协商。这会导致故障时间持续时间较长,影响业务传输。

为了尽快恢复IKE协商过程中通信双方的消息标识不匹配故障,本申请提供的消息发送方法在响应端检测到接收到的消息标识的值大于其支持的接收窗口的最大值时,可以通过IKE发起端或者IKE响应端,发起消息标识同步或者发起重认证,以采用消息同步方式或者重认证方式更新通信双方的消息标识,从而能够快速恢复消息标识不匹配故障,减少业务中断时间。

图1示出了本申请提供的一种发送消息方法的流程图。所述方法由第一网络设备执行。参见图1,所述方法可以包括如下步骤:

S101、第一网络设备接收第二网络设备发送的第一IKE消息,所述第一IKE消息中携带第一消息标识。

举例来说,所述第一网络设备可以是路由器、网络交换机、基站、基站控制器、防火墙或者负载均衡器。所述第二网络设备可以是路由器、网络交换机、基站、基站控制器、防火墙或者负载均衡器。例如,所述第一网络设备可以包括端口,所述第二网络设备可以包括端口。所述第一网络设备的端口可以经由电缆或者光缆与所述第二网络设备的端口连接。所述第二网络设备可以通过所述第二网络设备的端口向所述第一网络设备发送所述第一IKE消息。所述第一网络设备可以通过所述第一网络设备的端口接收所述第一IKE消息。

本申请中,请求消息可以包括诸如IKE认证(IKE_AUTH)消息、IKE建立子安全联盟(IKE_CREATE_CHILD_SA)消息、DPD消息等任意一种信息(Informational)消息。

具体而言,第一网络设备在接收到第二网络设备所发送的第一IKE消息后,可以作为响应端的网络设备,并且可以校验该第一IKE消息中携带的第一消息标识(ID)。该第一消息标识可以表征第二网络设备中的发送消息标识。第二网络设备可以为该第一IKE消息的发起端的网络设备。当第一网络设备校验到第一消息标识与本端预期接收的消息标识不匹配,即第一消息标识在第一网络设备支持的接收窗口之外时,第一网网络设备可以丢弃该第一IKE消息。具体的,当校验到第一消息标识的值大于第一网络设备支持的接收窗口的最大值时,可以丢弃该第一IKE消息,并且可以执行S102,以快速修复通信双方消息标识不匹配故障;当校验到第一消息标识的值小于第一网络设备支持的接收窗口的最小值时,第一网络设备可以丢弃该第一IKE消息,而不对该第一IKE消息做任何处理。

S102、当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,所述第一网络设备向所述第二网络设备发送IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的IKE请求消息。

举例来说,所述第一网络设备可以包括处理器以及存储器。所述处理器与所述第一网络设备的端口耦合。所述处理器与所述存储器耦合。所述存储器中可以保存所述第一网络设备支持的接收窗口的最大值。当所述处理器经由所述端口获取所述第一IKE消息时,所述处理器可以对所述第一IKE消息中所述第一消息标识的值与所述接收窗口的最大值进行比较,从而确定所述第一消息标识的值是否大于所述第一网络设备支持的接收窗口的最大值。第一网络设备在校验到第一消息标识的值大于其支持的接收窗口的最大值时,可以通过主动发起重认证或者消息标识同步,来更新通信双方的消息标识。

例如,第一网络设备可以向第二网络设备发送IKE_SA_INIT Request消息,即在保留老的SA的情况下,发起一次全新的协商,以与第二网络设备重新协商出新的IKE SA和IPSec SA,然后可在新的SA协商成功后再删除老的IKE SA和IPSec SA,从而实现了将流量切换到新的IPSec SA。

又如,第一网络设备在校验到第一消息标识的值大于其支持的接收窗口的最大值时,可以丢弃该第一IKE消息,并触发消息标识同步,即可以向第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息,以主动发起消息标识同步,从而能够在不影响业务的情况下解决了通信双方的消息标识不匹配的问题。

S103,所述第一网络设备接收来自所述第二网络设备的响应于所述IKE_SA_INIT Request消息的IKE安全联盟初始协商响应IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

上述技术方案中,第二网络设备在接收到第一网络设备发送的IKE_SA_INIT Request消息后,可以针对接收到IKE_SA_INIT Request消息,向第一网络设备返回对应的一个IKE_SA_INIT Response消息,使得第一网络设备能够接收到第二网络设备发送的IKE_SA_INIT Response消息。这样,第一网络设备与第二网络设备就可协商出新的IKE SA。第一网络设备与第二网络设备通过新的IKE SA进行加密,实现了对密钥的更新。第一网络设备在接收到IKE_SA_INIT Response消息后,可以向第二网络设备发送IKE认证请求(IKE_AUTH_REQ)消息,以与第二网络设备协商出新的IPSec SA。协商新的IPSec SA也可以称为进行重认证(REAUTH)。在协商出新的IPSec SA后,可以采用新的IPSec SA对第一网络设备与第二网络设备之间传输的数据包进行保护。可选的,所述第一网络设备还可以删除协商出新的IKE SA之前已存在的IKE SA。所述第一网络设备还可以删除协商出新的IPSec SA之前已存在的IPSec SA。所述第一网络设备用所述新的IPSec SA对第一网络设备与第二网络设备之间传输的数据包进行保护之前,所述第一网络设备可以用于协商出新的IPSec SA之前已存在的IPSec SA对第一网络设备与第二网络设备之间传输的数据包进行保护。

当然,第二网络设备在接收到第一网络设备发送的包含MESSAGE_ID_SYNC Notification的IKE请求消息后,也可以对该IKE请求消息进行响应,生成对应的IKE响应消息,且该IKE响应消息也可以包含有MESSAGE_ID_SYNC Notification,然后将该包含有MESSAGE_ID_SYNC Notification的IKE响应消息发送给第一网络设备,从而使得第一网络设备可以接收到第二网络设备所发送的包含有MESSAGE_ID_SYNC Notification的IKE响应消息。第一网络设备在接收到包含有MESSAGE_ID_SYNC Notification的IKE响应消息后,可以依据该IKE响应消息中携带的消息标识刷新本端中的消息标识,从而恢复了通信双方消息标识不匹配的故障。实现通信双方的消息标识的一致性。降低对第一网络设备与第二网络设备之间的业务的影响。

图2示出了本申请提供的发送消息方法的流程图。所述方法的由第二网络设备执行。图1和图2分别从第一网络设备的角度以及第二网络设备的角度对同一个技术方案进行描述。因此,关于图2所示的技术方案的具体实现方式,可以参考图1所示的技术方案以及实施例对图1所示的技术方案的描述。参见图2,所述方法可以包括如下步骤:

S201,第二网络设备向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识。

S202,所述第二网络设备接收来自所述第一网络设备的IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的IKE请求消息,所述IKE_SA_INIT Request消息或所述IKE请求消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的。

上述技术方案中,第二网络设备在向第一网络设备发送了第一IKE消息后,若第一IKE消息中携带的第一消息标识的值大于第一网络设备支持的接收窗口的最大值,则可以接收到第一网络设备针对该第一IKE消息发送的IKE_SA_INIT Request消息,或者可以接收到第一网络设备针对第一IKE消息发送的包含MESSAGE_ID_SYNC Notification的IKE请求消息。可选的,包含MESSAGE_ID_SYNC Notification的IKE请求消息可以是消息标识同步请求消息。

S203,所述第二网络设备向所述第一网络设备发送响应于所述IKE_SA_INIT Request消息的IKE安全联盟初始协商响应IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

具体而言,第二网络设备在接收到IKE_SA_INIT Request消息后,可以针对IKE_SA_INIT Request消息向第一网络设备返回对应的IKE_SA_INIT Response消息,使得第一网络设备能够接收到该IKE_SA_INIT Response消息,从而实现了IKE SA的更新。可选的,该IKE_SA_INIT Response消息还可以触发第一网络设备向第二网络设备发送IKE_AUTH_REQ消息,进行身份认证,以重新协商出第一网络设备与第二网络设备之间的新的IPSec SA。

当然,第二网络设备在接收第一网络设备发送的包含MESSAGE_ID_SYNC Notification的IKE请求消息后,也可以针对该IKE请求消息向第一网络设备回复相应的包含MESSAGE_ID_SYNC Notification的IKE响应消息,使得第一网络设备可以依据该IKE响应消息中携带的消息标识刷新第一网络设备中的消息标识,实现了第一网络设备与第二网络设备的消息标识同步,从而能够在不影响现有业务的情况下快速解决第一网络设备与第二网络设备之间的消息标识不匹配的问题。

可选的,包含MESSAGE_ID_SYNC Notification的IKE响应消息可以是消息标识同步响应消息。

举例来说,上述技术方案中,当第二网络设备中的IPSec SA老化,可以发起密钥更新(REKEY),即可以向第一网络设备发送一个IKEv2请求消息。若第一网络设备当前的发送消息标识的值为11,则其发送的IKEv2请求消息中携带的第一消息标识的值等于11。第一网络设备可以收到该IKEv2请求消息,并且可以校验该IKEv2请求消息中携带消息标识的值是否大于本端预期接收的消息标识的最大值。若第一网络设备当前预期接收到消息标识的最大值为10,则可以校验收到的消息标识的值11大于本端预期接收的消息标识的最大值10,即可以确定该IKEv2请求消息为非法消息,随后可以丢弃该IKEv2请求消息,并且可以触发消息标识同步。

具体的,第一网络设备可以主动发送消息标识同步请求消息,该消息标识同步请求消息可以携带有第一网络设备的期待发送请求消息标识(EXPECTED_SEND_REQ_MESSAGE_ID)和期待接收请求消息标识(EXPECTED_RECV_REQ_MESSAGE_ID)。其中,期待发送请求消息标识可以依据第一网络设备当前发送消息标识和第一网络设备中预置的接收窗口大小以及消息同步基数进行确定,如可以将期待发送请求消息标识的值M1确定为当前发送消息标识的值加上一个或多个预置的接收窗口值W1;期待接收请求消息标识可以依据第一网络设备当前接收消息标识和第一网络设备中预置的接收窗口大小以及消息标识同步基数进行确定,如可以将期待接收请求消息标识的值P1确定为当前接收消息标识的值加上一个或多个预置的接收窗口值W1的和。其中,W1可以大于或者等于1。

例如,当第一网络设备中预置的消息标识同步基数为N1,预置的接收窗口大小为W1,N1可以大于或者等于1,若当前发送消息标识的值为10,则计算N1与W1的乘积,再计算将该乘积与当前发送消息标识的值的和,随后可以将计算得到的和确定为第一网络设备发送的消息标识同步消息中携带的期待发送请求消息标识的值M1,计算公式可以如下:

期待发送请求消息标识的值:M1=10(当前发送消息标识的值)+N1*W1;

同理,若当前接收送消息标识的值也为10,则可以将N1与W1的乘积加上当前接收消息标识的值,得到期待接收请求消息标识的值P1,计算公式可以如下:

期待接收请求消息标识的值:P1=10(当前接收消息标识的值)+N1*W1。

第二网络设备可以接收到第一发送的消息标识同步请求消息,然后可以将本端当前的发送消息标识的值M2和该消息标识同步请求消息携带的期待接收请求消息标识的值P1进行比较,亦即将本端当前的发送消息标识的值M2和第一网络设备的期待接收请求消息标识的值P1进行比较,以确定当前的发送消息标识的值M2是否小于第一网络设备的期待接收请求消息标识的值P1。

若当前的发送消息标识的值M2不小于第一网络设备的期待接收请求消息标识的值P1,则第二网络设备可以发起重认证,如向第一网络设备发送一个IKE_SA_INIT Request消息,以重新与第一网络设备协商IKE SA,从而恢复第一网络设备与第二网络设备的消息标识不匹配故障,保证IKE通信双方的消息标识的一致性,能够不影响业务。

若当前的发送消息标识的值M2小于第一网络设备的期待接收请求消息标识的值P1,则第二网络设备可以在第一网络设备发来的消息标识的基础上,再次计算出新的消息标识,如可以基于第一网络设备发来的消息标识同步请求消息中携带的期待接收请求消息标识的值P1确定出第二网络设备中的期待发送请求消息标识的值M2,以及可以基于第一网络设备发来的消息标识同步请求消息中携带的期待发送请求消息标识的值M1确定出第二网络设备中的期待接收请求消息标识的值P2。

具体的,若第二网络设备中预置的消息标识同步基数为N2,预置的接收窗口大小为W2,N2可以大于或者等于1,W2可以大于或者等于1,则第二网络设备可以计算N2与W2的乘积,然后再计算接收到的消息标识同步请求消息中携带的期待接收请求消息标识的值P1与该乘积的和,随后可以将计算得到的和确定为第二网络设备发送的消息标识同步响应消息中携带的期待发送请求消息标识的值M2,计算公式可以如下:

期待发送请求消息标识的值:M2=P1+N1*W1;

同理,第二网络设备还可以计算接收到的消息标识同步请求中携带的期待发送请求消息标识的值M1与该乘积的和,随后可以将计算得到的和确定为第二网络设备发送的消息标识同步兴响应消息中携带的期待接收请求消息标识的值P2,计算公式可以如下:

期待接收请求消息标识的值:P2=M1+N1*W1。

可见,本示例可以将第二网络设备中的期待发送请求消息标识的值M2,确定为当前接收到的消息标识同步请求消息中携带的第一网络设备的期待接收请求消息标识的值P1与一个或多个预置的接收窗口值W2的和;还可以将第二网络设备中的期待接收请求消息标识的值P2,确定为当前接收到的消息标识同步请求消息中携带的第一网络设备的期待发送请求消息标识的值P1与一个或多个预置的接收窗口值W2的和。

第二网络设备在确定本端中的期待发送请求消息标识的值M2和期待接收请求消息标识的值P2后,可以依据确定的期待发送请求消息标识和期待接收请求消息标识生成消息标识同步请求消息对应的消息标识同步响应消息,将该消息标识同步响应消息反馈给第一网络设备。其中,消息标识同步响应消息中可以携带有第二网络设备的期待接收请求消息标识的值P2和期待发送请求消息标识的值M2。

第一网络设备在接收到第二网络设备发送的消息标识同步响应消息后,可以依据该消息标识同步响应消息刷新本端的消息标识,即更新第一网络设备中的接收消息标识和发送消息标识的值,从而恢复了第一网络设备与第二网络设备中的消息标识不匹配故障。

在实际处理中,第一网络设备在校验到第一消息标识的值大于其支持的接收窗口的最大值时,可以通过判断是否与第二网络设备协商出了IKE消息标识同步支持(MESSAGE_ID_SYNC_SUPPORTED)能力,来确定是否采用消息标识同步的方式来恢复与第二网络设备的消息标识不匹配的故障。若第一网络设备与第二网络设备协商出了IKE消息标识同步支持能力,则可以采用消息标识同步的方式来恢复与第二网络设备的消息标识不匹配的故障;若第一网络设备没有与第二网络设备协商出了IKE消息标识同步支持能力,则可以采用重认证方式来恢复与第二网络设备的消息标识不匹配的故障。

可选地,上述技术方案中,所述第一网络设备向所述第二网络设备发送IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的IKE请求消息之前,还包括:所述第一网络设备确定所述第二网络设备是否支持消息标识同步。所述第一网络设备向所述第二网络设备发送包含消息标识同步通知MESSAGE_ID_SYNC Notification的IKE请求消息包括:若所述第二网络设备支持消息标识同步,则向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息;或者,所述第一网络设备向所述第二网络设备发送IKE安全联盟初始协商请求IKE_SA_INIT Request消息包括:若所述第二网络设备不支持消息标识同步,则向所述第二网络设备发送IKE_SA_INIT Request消息。

在具体实现中,第一网络设备可以接收第二网络设备发送的IKE_AUTH消息。所述IKE_AUTH消息可以是IKE_AUTH request消息,或者IKE_AUTH response消息。所述IKE_AUTH消息中可以包含IKEV2_MESSAGE_ID_SYNC_SUPPORTED Notification。具体地,IKEV2_MESSAGE_ID_SYNC_SUPPORTED Notification可以包含Notify Message Type。所述IKE_AUTH消息中的Notify Message Type指示所述第二网络设备是否支持消息标识同步。例如,在IKE_AUTH协商阶段,第二网络设备可以作为IKE发起端,且在具有IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力的情况下,可以在IKE_AUTH消息中添加密钥交换协议第二版的消息标识同步支持(IKEV2_MESSAGE_ID_SYNC_SUPPORTED)类型的载荷,即其发送的IKE_AUTH请求消息可以携带有IKEV2_MESSAGE_ID_SYNC_SUPPORTED载荷。第一网络设备在接收到该IKE_AUTH请求消息后,可以作为对应的IKE响应端。如果响应端也具有IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力,则可以在IKE_AUTH响应消息添加中IKEV2_MESSAGE_ID_SYNC_SUPPORTED载荷,即在第一网络设备也具有IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力的情况下,第一网络设备向第二网络设备发送的IKE_AUTH响应消息也携带有IKEV2_MESSAGE_ID_SYNC_SUPPORTED载荷。这样,第一网络设备和第二网络设备之间就可以协商出了IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力,亦即IKE协商通信双方就协商出了IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力。从而,在第一网络设备与第二网络设备的消息标识不匹配的场景中,第一网络设备和第二网络设备可以通过消息标识同步,恢复消息标识不匹配的故障更新通信双方的消息标识。例如,在IKEv2协商过程中,如果第一网络设备收到的第一消息标识的值超过本端接收窗口的最大值,则可以主动发起消息标识同步,以更新IKEv2两端的消息标识,从而避免IKEv2协商失败及业务中断。其中,接收窗口的最大值可以表征第一网络设备能够支持的IKEv2请求消息中携带的最大消息标识的值。

需要说明的是,本申请提供的发送消息方法可适用于基于IPSec的安全组网环境。例如,基站和安全网关之间传输的数据包可以通过IPSec穿越公网,该IPSec可以保护基站和网管之间的通信安全。

具体的,在诸如网络设备丢包等原因导致IKE通信双方的消息标识不匹配的场景下,本发明实施例可以通过重认证或者消息标识同步方式,快速恢复消息标识不匹配故障,进而能够少业务中断时间。其中,网络设备可以包括支持通过IKEv2协议实现SA自动协商管理的安全设备,如基站、安全网关等。

图3示出了本申请提供的一种发送消息方法的流程图。图3从第一网络设备和第二网络设备进行交互的角度,对图1和图2所示的方法进行举例说明。关于图3所示的方法的具体实现方式,可以参考图1以及图2对应的实施例中的描述。参见图3,所述方法可以包括如下步骤:

S301,第二网络设备向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识。

S302,第一网络设备接收第二网络设备发送的第一因特网密钥交换协议IKE消息。

上述技术方案中,第一网络设备在接收到第二网络设备的第一IKE消息后,可以对该第一IKE消息中携带的第一消息标识进行校验,以确定该第一消息标识的值是否大于第一网络设备支持的接收窗口的最大值。当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,第一网络设备判断是否能够与所述第二网络设备协商出消息标识同步支持能力。若所述第一网络设备能够与所述第二网络设备协商出消息标识同步支持能力,则第一网络设备可以向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息,即执行S303;若第一网络设备与所述第二网络设备不能协商出消息标识同步支持能力,则执行S308。

可选的,IKE请求消息可以包含期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID以及期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第一网络设备向所述第二网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第一设备期待的从所述第二设备接收到的下一个IKE请求消息中携带的消息标识。

S303,所述第一网络设备向所述第二网络设备发送消息标识同步请求消息。

S304,第二网络设备接收到消息标识同步请求消息后,检测该消息标识同步请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值是否小于本端当前的发送消息标识的值。

具体而言,第二网络设备可以从接收到的ID同步请求消息中,提取第一网络设备的期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID和期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID,并且可以将本端当前的发送消息标识与第一网络设备的期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID进行比较。若第一网络设备的期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID的值不小于本端当前的发送消息标识的值,则可以执行S305;若第一网络设备的期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID的值小于本端当前的发送消息标识的值,则可以执行S307。

S305,第二网络设备依据消息标识同步请求消息更新本端中的EXPECTED_SEND_REQ_MESSAGE_ID和EXPECTED_RECV_REQ_MESSAGE_ID,向第一网络设备发送对应的消息标识同步响应消息。

具体而言,第二网络设备可以依据消息标识同步请求消息中携带的EXPECTED_SEND_REQ_MESSAGE_ID更新本端中的期待接收消息标识,亦即可以依据第一网络设备的期待发送请求消息标识更新第二网络设备中的期待接收消息标识;并且可以IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID更新本端中的期待发送消息标识,即可以依据第一网络设备的期待接收请求消息标识更新第二网络设备中的期待发送消息标识;以及,依据第二网络设备更新后的期待发送消息标识和期待发送消息标识生成消息标识同步请求消息对应的消息标识同步响应消息,该消息标识同步响应消息包含MESSAGE_ID_SYNC Notification,该MESSAGE_ID_SYNC Notification包含了第二网络设备更新后的期待发送消息标识和期待发送消息标识,随后可将该消息标识同步响应消息反馈给第一网络设备。

S306,第一网络设备依据第二网络设备发送的消息标识同步响应消息,刷新本端的消息标识。

从而,可以恢复第一网络设备与第二网络设备的消息标识不匹配故障,保证IKE通信双方的消息标识的一致性,并且能够不影响现有业务。

S307,第二网络设备向第一网络设备发起重认证,重新与第一网络设备协商新的IKE SA。

在第二网络设备与第一网络设备重新协商出新的IKE SA后,从而可以恢复第一网络设备与第二网络设备的消息标识不匹配故障,保证IKE通信双方的消息标识的一致性。

S308,所述第一网络设备向所述第二网络设备发送IKE_SA_INIT Request消息。

具体的,在第一网络设备与所述第二网络设备没有协商出消息标识同步支持能力的情况下,第一网络设备在检测到接收到的消息标识不匹配时,可主动向第二网络设备发起重认证,亦即在检测到消息标识不匹配时可立即与第二网络设备重新协商SA,从而能够避免消息标识不匹配所导致的业务中断问题,保证业务不中断。

在具体实现中,还可以基于失效对等体检测(Dead Peer Detection,DPD)原理,通过检测网络设备是否能够接收到对端发送的加密消息(Encrypted Message)来确定对端状态是否正常。

图3所示的方法还可以包括其他步骤。参见图4,图3所示的方法还可以包括如下步骤:

S401,第一网络设备确定在预定的第一时长内没有接收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送失效对等体检测DPD请求报文。

举例来说,预定的第一时长可以用于表征第一网络设备等待接收第二网络设备的加密消息的空闲时间阈值,该空闲时间阈值可以是预先基于DPD原理设置的空闲(IDLE)时间的最大阈值。具体而言,若第一网络设备在一段时间内没有接收到第二网络设备发送的加密消息,则可以将这段时间对应的时长确定第一网络设备等待第二网络设备发送的加密信息对应的等待时长,如当第一网络设备在5分钟内没有接收到第二网络设备发送的加密消息时,可以监测到第一网络设备等待第二网络设备的加密消息对应的等待时长为5分钟。当等待时长达到空闲时间阈值时,第一网络设备可以向第二网络设备发送失效对等体检测DPD请求报文,以主动向第二网络设备发起DPD探测。可选的,加密消息可以为经IPSec SA加密的消息。

S403,第一网络设备确定在预定的第二时长内没有接收到来自所述第二网络设备的针对所述DPD请求报文回复的DPD响应报文时,向所述第二网络设备发送IKE_SA_INIT Request消息。

其中,预定的第二时长可以是依据DPD原理中的重传间隔(INTERVAL)和重传次数(TIMES)进行确定,如可以将预定的第二时长设置为重传间隔与重传次数的乘积。

具体的,第二网络设备在接收到第一网络设备发送的DPD请求报文后,可以校验该DPD请求报文中的消息标识是否与本端期待接收消息标识相匹配。若相匹配,则第二网络设备可以确定该DPD请求报文中的消息标识通过校验,随后可以向第一网络设备回复相应的DPD响应报文,使得第一网络设备可以接收到DPD响应报文。第一网络设备在接收到第二网络设备回复的DPD响应报文后,可以确定DPD探查成功,即第二网络设备处于正常状态。若该DPD请求报文中的消息标识与本端期待接收消息标识不匹配,则第二网络设备可以确定该DPD请求报文不合法,丢弃该DPD请求报文。

第一网络设备在没有接收到DPD请求报文对应的DPD响应报文的情况下,可以按照预置的重传间隔向第二网络设备发送DPD请求报文,直到向第二网络设备重传DPD请求报文的次数达到预置的重传次数。若第一网络设备在发送重传的DPD请求报文后,都没有收到相应的兴DPD响应报文,即在预定的第二时长内没有接收到所述第二网络设备针对所述DPD请求报文回复的DPD响应报文,则第一网络设备可以DPD探测失败,并且可以向第二网络设备发起重认证,以重新与第二网络设备协商SA,恢复第一网络设备与第二网络设备之间的链路故障。

当然,第二网络设备在监测到等待第一网络设备发送加密消息对应的等待时长达到预置的空闲时间阈值时,也可以主动向第一网络设备发起DPD探测,即向第一网络设备发送DPD请求报文;并且在预定的第二时长内没有接收到第一网络设备针对DPD请求报文回复的DPD响应报文时,可以发起重认证,快速恢复故障。

在实际处理中,第一网络设备在校验到接收到的第一IKE消息中携带的第一消息标识的值大于其支持的接收窗口的最大值时,也可以向发送该第一IKE的第二网络设备发送第二IKE消息,以通过第二IKE消息触发第二网络设备发起重认证或消息标识同步,来解决第一网络设备与第二网络设备的消息标识不匹配的问题。

图5为本申请一个实施例提供的一种发送消息方法的流程图。图5所示的方法由第一网络设备执行。另外,图5所示的方法涉及到第二网络设备。关于第一网络设备的结构、功能以及具体实现方式,可以参考图1所示的实施例对第一网络设备以及第二网络设备的描述。此处不再赘述。参见图5,所述方法可以包括如下步骤:

S501,第一网络设备接收第二网络设备发送的第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识。

S502,当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,所述第一网络设备向所述第二网络设备发送第二IKE消息。

例如,第一网络设备在校验到第一消息标识的值大于其支持的接收窗口的最大值时,可以向第二网络设备回复第二IKE消息,以通过该第二IKE消息通知第二网络设备其发送的第一IKE消息中携带的第一消息标识为无效的消息标识(INVALID_MESSAGE_ID)。

S503,第一网络设备接收所述第二网络设备发送的响应于所述第二IKE消息的第一IKE安全联盟初始请求初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息。

第二网络设备在接收到第二IKE消息后,可以针对该第二IKE消息向第一网络设备发起重认证或者消息标识同步,以解决本端的消息标识与第一网络设备的消息标识不匹配的问题。具体的,第二网络设备在接收到第二IKE消息后,可向第一网络设备发送第一IKE_SA_INIT Request消息,以通过重认证方式解决消息标识不匹配的问题;或者,可以向第一网络设备发送包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息。

S504,第一网络设备向所述第二网络设备发送响应于所述第一IKE_SA_INIT Request消息的IKE安全联盟初始响应初始协商响应IKE_SA_INIT Response消息或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

具体的,当第二网络设备针对第二IKE消息发送第一IKE_SA_INIT Request消息,即在第二网络设备针对接收到的第二IKE消息发起重认证时,第一网络设备可以接收到该第二网络设备发送的第一IKE_SA_INIT Request消息,并且可以对该第一IKE_SA_INIT Request消息进行响应,生成对应的IKE_SA_INIT Response消息,以及可以将该IKE_SA_INIT Response消息返回给第二网络设备,从而使得第二网络设备可以接收到该IKE_SA_INIT Response消息。第二网络设备在接收到IKE_SA_INIT Response消息后,可以针对该IKE_SA_INIT Response消息向第一网络设备发送IKE认证请求消息,以与第一网络设备协商出新的IPSec SA。可选的,在协商出新的IPSec SA后,即在重认证成功后,还可以删除老的IKE SA和IPSec SA。

当第二网络设备针对第二IKE消息发送包含MESSAGE_ID_SYNC Notification的第一IKE请求消息,即在第二网络设备针对接收到的第二IKE消息发起消息标识同步请求时,第一网络设备在接收到该第一IKE请求消息后,可以对该第一IKE请求消息进行响应,刷新本端中的消息标识,以及可基于刷新后的消息标识生成对应的IKE响应消息,且该IKE响应消息也可以包含有MESSAGE_ID_SYNC Notification,然后可将该包含有MESSAGE_ID_SYNC Notification的IKE响应消息发送给第二网络设备,从而使得第二网络设备可以接收到第一网络设备发送的包含有MESSAGE_ID_SYNC Notification的IKE响应消息。第二网络设备在接收到IKE响应消息后,可以依据该IKE响应消息中携带的消息标识刷新本端中的消息标识,从而恢复了通信双方消息标识不匹配的故障,保证通信双方的消息标识的一致性,并且能够不影响第一网络设备与第二网络设备之间的现有业务。

图6为本申请另一个实施例提供的一种发送消息方法的流程图。所述方法由第二网络设备执行。需要说明的是,图5与图6分别从第一网络设备的角度以及第二网络设备的角度对同一个技术方案进行描述。因此,关于图6所示的技术方案的具体实现方式,可以参考图5所示的技术方案以及实施例对图5所示的技术方案的描述。参见图6,所述方法包括如下步骤:

S601,第二网络设备向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识。

S602,第二网络设备接收来自所述第一网络设备的第二IKE消息,所述第二IKE消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的。

S603,第二网络设备向所述第一网络设备发送响应于第二IKE消息的第一IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息。

例如,第二网络设备在接收到第二IKE消息后,可以向第一网络设备发送第一IKE_SA_INIT Request消息,即针对接收到的第二IKE消息发起重认证,以与第一网络设备重新协商出新的IKE SA和IPSec SA,然后可在新的SA协商成功后再删除老的IKE SA和IPSec SA,从而实现了将流量切换到新的IPSec SA。

又如,第二网络设备可以针对接收到第二IKE消息,向第一网络设备发送包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息,以通过发起消息标识同步方式,快速解决通信双方的消息标识不匹配的问题。

S604,所述第二网络设备接收所述来自所述第一网络设备的响应于所述第一IKE_SA_INIT Request消息的IKE安全联盟初始协商响应IKE_SA_INIT Response消息,或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

具体而言,第一网络设备在接收到第一IKE_SA_INIT Request消息后,可以针对第一IKE_SA_INIT Request消息向第二网络设备返回对应的IKE_SA_INIT Response消息,使得第二网络设备能够接收到IKE_SA_INIT Response消息,从而实现了IKE SA的更新。可选的,该IKE_SA_INIT Response消息还可以触发第二网络设备向第一网络设备发送IKE_AUTH_REQ消息,进行身份认证,以重新协商出第一网络设备与第二网络设备之间的新的IPSec SA。

当然,第一网络设备在接收第二网络设备发送的包含MESSAGE_ID_SYNC Notification的第一IKE请求消息后,也可以针对该第一IKE请求消息向第二网络设备回复相应的包含MESSAGE_ID_SYNC Notification的IKE响应消息,使得第二网络设备可以依据该IKE响应消息中携带的消息标识刷新第二网络设备中的消息标识,实现了第一网络设备与第二网络设备的消息标识同步,从而能够在不影响现有业务的情况下快速解决第一网络设备与第二网络设备之间的消息标识不匹配的问题。

可选地,第二IKE消息可以是无效消息标识通知INVALID_MESSAGE_ID Notification消息。所述IKE请求消息可以包含期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID以及期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第二网络设备向所述第一网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第二网络设备期待的从所述第一网络设备接收到的下一个IKE请求消息中携带的消息标识。

可选地,所述第一网络设备接收所述第二网络设备发送的响应于所述第二IKE消息的包含消息标识同步通知MESSAGE_ID_SYNC Notification的IKE请求消息之后,还可以包括:确定所述第一网络设备中的期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于所述IKE请求消息中携带的期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID的值;当确定所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

例如,在第一网络设备接收到第二网络设备发送的消息标识同步请求消息后,可以确定第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于该消息标识同步请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,即检测第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于第二网络设备中的EXPECTED_RECV_REQ_MESSAGE_ID的值。若检测到第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值是小于第二网络设备中的EXPECTED_RECV_REQ_MESSAGE_ID的值,则第一网络设备可以依据该消息标识同步请求消息刷新本端的EXPECTED_SEND_REQ_MESSAGE_ID和EXPECTED_RECV_REQ_MESSAGE_ID,随后可依据刷新后的EXPECTED_SEND_REQ_MESSAGE_ID和EXPECTED_RECV_REQ_MESSAGE_ID生成对应的消息标识同步响应消息,以及将该消息标识同步响应消息反馈给第二网络设备,实现了与第二网络设备的消息标识同步。若检测到第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值是大于第二网络设备中的EXPECTED_RECV_REQ_MESSAGE_ID的值,则可以确定消息标识同步失败,第一网络设备可以向所述第二网络设备发送第二IKE_SA_INIT Request消息,以通过重认证的方式解决第一网络设备与第二网络设备的消息标识不匹配问题。

可选地,所述第一网络设备向所述第二网络设备发送第二IKE消息之前,还可以包括:所述第一网络设备确定所述第二网络设备是否支持消息标识同步;若所述第二网络设备支持消息标识同步,则向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息。或者,第一网络设备向所述第二网络设备发送第二IKE消息可以包括:若所述第一网络设备与所述第二网络设备没有协商出消息标识同步支持能力,则向所述第二网络设备发送第二IKE消息。

在具体实现中,第一网络设备在校验到第一消息标识的值大于其支持的接收窗口的最大值时,可以通过判断是否能够与第二网络设备协商出了IKE消息标识同步支持能力,来确定是否采用消息标识同步的方式来恢复与第二网络设备的消息标识不匹配的故障。若第一网络设备已经与第二网络设备协商出了IKE消息标识同步支持能力,即在第二网络设备和第一网络设备都支持消息标识同步的情况下,则第一网络设备可以采用消息标识同步的方式来恢复与第二网络设备的消息标识不匹配的故障,即向第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息,从而使得第二网络设备可以接收到包含MESSAGE_ID_SYNC Notification的第二IKE请求消息。第二网络设备可以依据第二IKE请求消息中携带MESSAGE_ID_SYNC Notification刷新本端中的EXPECTED_SEND_REQ_MESSAGE_ID和EXPECTED_RECV_REQ_MESSAGE_ID。若第二网络设备不支持消息标识同步,即在第一网络设备不能与第二网络设备协商出IKE消息标识同步支持能力的情况下,则第一网络设备可以向第二网络设备发送第二IKE消息,使得第二网络设备可以针对接收到第二IKE消息发起重认证。

图7示出了本申请又一个实施例提供的一种发送消息方法的流程图。图7从第一网络设备和第二网络设备进行交互的角度,对图5和图6所示的方法进行举例说明。关于图7所示的方法的具体实现方式,可以参考图5以及图6对应的实施例中的描述。参见图7,所述方法具体可以包括如下步骤:

S701,第二网络设备向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识。

S702,第一网络设备接收第二网络设备发送的第一IKE消息。

S703,当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,第一网络设备确定所述第二网络设备是否支持消息标识同步。

若所述第二网络设备支持消息标识同步,即在所述第一网络设备可以与所述第二网络设备协商出消息标识同步支持能力的情况下,则向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息,即执行S704。若所述第二网络设备不支持消息标识同步,即在确定所述第一网络设备不能与所述第二网络设备协商出消息标识同步支持能力的情况下,则可以执行S708。

S704,第一网络设备向第二网络设备发送消息标识同步请求消息。

S705,第二网络设备接收到消息标识同步请求消息后,检测本端中的期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于该消息标识同步请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值。

具体的,在第二网络设备接收到第一网络设备发送的消息标识同步请求后,可以将该消息标识同步请求中携带的EXPECTED_RECV_REQ_MESSAGE_ID与第二网络设备中当前的EXPECTED_SEND_REQ_MESSAGE_ID进行比较。当检测到所述第二网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值小于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,执行S706。当检测到所述第二网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,第二网络设备向第一网络设备发送IKE_SA_INIT Request消息,即执行S710。当检测到所述第二网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值等于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值时,可以执行S706,或者可以执行S709。

S706,第二网络设备依据消息标识同步请求消息更新本端中的EXPECTED_SEND_REQ_MESSAGE_ID和EXPECTED_RECV_REQ_MESSAGE_ID,向所述第一网络设备发送消息标识同步请求消息对应的消息标识同步响应消息。

具体的,第二网络设备依据消息标识同步请求消息中携带的EXPECTED_SEND_REQ_MESSAGE_ID和EXPECTED_RECV_REQ_MESSAGE_ID,更新本端中的EXPECTED_SEND_REQ_MESSAGE_ID和EXPECTED_RECV_REQ_MESSAGE_ID,向所述第一网络设备发送消息标识同步请求消息对应的消息标识同步响应消息。

S707,第一网络设备依据第二网络设备发送的消息标识同步响应消息,刷新本端的消息标识。

从而,可以恢复第一网络设备与第二网络设备的消息标识不匹配故障,保证IKE通信双方的消息标识的一致性,并且能够不影响现有业务。

S708,第一网络设备向所述第二网络设备发送第二IKE消息。

S709,第二网络设备接收来自所述第一网络设备的第二IKE消息。

具体的,第二网络设备在接收到第二IKE消息后,如接收到第一网络设备发送的MESSAGE_ID_SYNC Notification消息后,可以针对该第二IKE消息向第一网络设备发送第一IKE_SA_INIT Request消息,即执行S710。

S710,第二网络设备向第一网络设备发起重认证,重新与第一网络设备协商新的IKE SA。

在第二网络设备与第一网络设备重新协商出新的IKE SA后,从而可以恢复第一网络设备与第二网络设备的消息标识不匹配故障,保证IKE通信双方的消息标识的一致性。

上述技术方案中,第一网络设备在接收到第一消息标识的值超出了接收窗口的最大值时,可以向第二网络设备回复包含INVALID_MESSAGE_ID的第二IKE消息,以采用该第二IKE消息通知第二网络设备其发送的第一IKE消息携带的第一消息标识为INVALID_MESSAGE_ID,使得第二网络设备能够及时感知到消息标识错误,并且能够触发第二网络设备发起重认证,来恢复消息标识不匹配的故障,保证业务不会中断。

可选地,第二网络设备在接收到第二IKE消息后,可以通过确定第一网络设备是否支持IKE消息标识同步,来确定是否采用消息标识同步的方式来恢复与第二网络设备的消息标识不匹配的故障。若第一网络设备不支持IKE消息标识同步,则第二网络设备可以针对接收到第二IKE消息向所述第一网络设备发送第一IKE_SA_INIT Request消息,即采用重认证方式来恢复与第二网络设备的消息标识不匹配的故障。若第一网络设备支持IKE消息标识同步,则第二网络设备可以针对接收到第二IKE消息向所述第一网络设备发送包含MESSAGE_ID_SYNC Notification的第一IKE请求消息,即向第一网络设备发送消息标识同步请求,以采用消息标识同步的方式快速恢复与第一网络设备的消息标识不匹配的故障。

可选地,第一网络设备接收到第二网络设备的请求消息后,可以校验该请求消息中携带的消息标识。如果该请求消息中携带的消息标识的值比本端期待接收消息标识的值小,则第一网络设备可以丢弃该请求消息,不再对该请求消息做任何处理,从而能够避免重放消息对第一网络设备的攻击。如果请求消息中携带的消息标识的值比本端期待接收消息标识的值大,则第一网络设备可以丢弃该请求消息,并且可以发送INVALID_MESSAGE_ID消息通知第二网络设备消息标识不匹配。

第二网络设备在接收到第一网络设备发送的INVALID_MESSAGE_ID消息后,可以确定是否能够与第一网络设备协商出IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力。若第二网络设备和第一网络设备能够协商出IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力,则可以第二网络设备可以发起消息标识同步请求,以采用消息标识同步方式来恢复与第一网络设备的消息标识不匹配的故障。若第二网络设备和第一网络设备不能协商出IKEV2_MESSAGE_ID_SYNC_SUPPORTED能力,则第二网络设备可以发起重认证,以立即重新协商SA,保证业务不中断。

为了能够快速检测出IKE链路故障,本申请实施例中的网络设备可以通过检测本端是否接收到对端发送的加密的密文,来确定是否采用DPD判断对端状态,即可以不关注是否IKE协商报文,从而能够增强DPD协议可靠性。在本申请的一个可选实施例中,还可以包括:当所述第一网络设备确定在预定的第一时长内没有收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送失效对等体检测DPD请求报文;当所述第一网络设备确定在预定的第二时长内没有接收到所述第二网络设备发送的针对所述DPD请求报文的DPD响应报文时,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

一个可选示例中,在IKEv2链路已经故障的时候,若每次都是由第二网络设备发起DPD探测,则可能无法检测到故障。具体的,第二网络设备检查到一段时间内没有收到第二网络设备发送的加密消息,即在预置的DPD IDLE时间内没有接收到加密消息,可触发DPD探测,亦即第二网络设备向第一网络设备发送DPD请求报文。若第一网络设备能够收到第二网络设备的DPD请求报文,则第一网络设备可以在该DPD请求报文携带的消息标识校验通过时,向第二网络设备回复DPD响应报文,从而使得第二网络设备可以收到第一网络设备发送的DPD响应报文。第二网络设备可以确定DPD探测成功,即可确定第一网络设备的状态正常。

但是,若此时第一网络设备由于IKEv2链路故障,已经不能向第二网络设备发送加密消息,则仅通过第二网络设备发起DPD探测,无法检测到该第一网络设备不能向第二网络设备发送加密消息的故障。针对这种场景,本申请可以通过第一网络设备发起的DPD探测,检测出第一网络设备不能向第二网络设备发送加密消息的于IKEv2链路故障,并且可以通过发送重认证来快速恢复故障,减少业务中断时间。

可选的,加密消息可以为经IPSec SA加密的消息。例如,第一网络设备在检测在预设DPD IDLE时间内,没有收到第二网络设备发送的通过IPSec SA加密的加密消息,可以发起DPD探测。亦即,尽管第一网络设备在检测在预设DPD IDLE时间内收到了第二网络设备发送的DPD请求报文,但是在预设DPD IDLE时间内没有接收到第二网络设备发送的通过IPSec SA加密的加密消息,第一网络设备还是可以向第二网络设备发送DPD请求报文。第二网络设备在接收到第一网络设备的DPD请求报文后,若校验到该DPD请求报文中携带的消息标识不合法,则可以丢弃该DPD请求报文,亦即不向第一网络设备发送DPD响应报文。这样,第一网络设备没有接收到第二网络设备返回的DPD响应报文,就可以按照重传间隔向第二网络设备重新发送DPD请求报文,直到向第二网络设备发送DPD请求报文的次数达到预设的重传次数,即第一网络设备等待第二网络设备回复的DPD响应报文超过预先设置的DPD时间。第一网络设备在DPD超时的时候,可以确定检测到故障,随后可以发起重认证,以与第二网络设备重新协商SA,从而能够快速恢复故障。

综上,本申请实施例在IKE通信双方的网络设备都配置DPD的情况下,即使通信一方的网络设备发起了DPD,通信另一方的网络设备仍可以根据配置自动发起DPD,从而能够解决现有DPD协议可靠性不足所导致的无法快速检测出故障的问题,即能够快速检测到故障,减少业务中断时长,如可以从小时级减少到1分钟内恢复故障。

此外,本申请实施例中的网络设备可以仅针对通过IPSec SA加密的加密信息进行监测,以在DPD IDLE时间内没有接收到对端通过IPSec SA加密的加密信息时触发DPD,而不需要考虑是否接收到对端通过IKE SA加密的消息,从而能够缩短故障持续时间,进一步地减少业务中断时间。

例如,第一网络设备在预设的DPD IDLE时间内,没有接收到第二网络设备发送的通过IKE SA加密的消息,即使接收到第二网络设备发送的通过IKE SA加密的消息,也可以向第二网络设备发起DPD,从而能够快速检测到故障,缩短故障持续时间。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

图8A为本申请提供的一种第一网络设备的结构框图。图8A所示的第一网络设备可以用于执行图1所示的方法。关于图8A所示的第一网络设备的具体实现方式,可以参考图1对应的实施例中的描述。参见图8A,具体可以包括如下模块:

第一消息接收模块801,用于接收第二网络设备发送的第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;

第一消息发送模块802,用于当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,向所述第二网络设备发送IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的IKE请求消息;

第二消息接收模块803,用于接收来自所述第二网络设备的响应于所述IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本申请实施例中的第一网络设备在接收到的第一IKE消息中携带的消息标识的值大于其支持的接收窗口的最大值时,可以通过发送包含MESSAGE_ID_SYNC Notification的IKE请求消息,主动发起消息标识同步;或者可以通过发送IKE_SA_INIT Request消息,主动发起重认证,从而快速解决消息标识不匹配的问题,减少业务中断时间。

在本申请实施例中,可选的,所述IKE请求消息包含期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID以及期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第一网络设备向所述第二网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第一设备期待的从所述第二设备接收到的下一个IKE请求消息中携带的消息标识。

图8A所示的第一网络设备还可以包含其他模块。图8B所示的是在图8A所示的装置的基础上进行扩展得到的。参见图8B,第一网络设备还可以包括:标识同步模块804。该所述标识同步模块804,用于确定所述第二网络设备是否支持消息标识同步;若第二网络设备支持消息标识同步,则触发所述第一消息发送模块802向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息;若第二网络设备不支持消息标识同步,则触发所述第一消息发送模块802向所述第二网络设备发送IKE_SA_INIT Request消息。

可选地,本申请实施例中的第一网络设备还可以包括如下模块:

失效对等体检测模块805,用于当所述第一网络设备确定在预定的时长内没有收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送失效对等体检测DPD请求报文;

第二消息发送模块806,用于当所述第一网络设备在预定的时长内没有接收到来自所述第二网络设备的针对所述DPD请求报文的DPD响应报文时,向所述第二网络设备发送IKE_SA_INIT Request消息。

在本申请实施例中,可选的,所述加密消息为经因特网协议安全安全联盟IPSec SA加密的消息。

综上,本申请实施例在第一网络设备检测到接收到的消息标识的值大于其支持的接收窗口最大值时,可以通过发起重认证或者消息标识同步,快速解决通信双方的消息标识不匹配问题,即能够及时恢复故障,减少业务中断时间;以及,在第一网络设备等待加密消息的等待时长达到预置的空闲时间阈值时,可以由该第一网络设备主动发起DPD,从而能够通过DPD快速检测到故障,进一步地减少业务中断时。

图9为本申请提供的一种第二网络设备的结构框图。所述第二网络设备可以用于执行图2所述的方法。参见图9,所述装置包括如下模块:

第一消息发送模块901,用于向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;

消息接收模块902,用于接收来自所述第一网络设备的IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的IKE请求消息,所述IKE_SA_INIT Request消息或所述IKE请求消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;

第二消息发送模块903,用于向所述第一网络设备发送响应于所述IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本申请实施例在发送的IKE消息中携带的消息标识的值大于接收窗口的最大值时,即在通信双方中的消息标识不匹配的情况下,可以由接收该IKE消息的网络设备发起重认证或者消息标识同步,以更新通信双方的消息标识,从而解决了消息标识不匹配的问题。

图10A为本申请提供的一种第一网络设备的结构框图。图10A提供的第一网络设备可以执行图5所示的方法。参见图10A,所述第一网络设备具体可以包括如下模块:

第一消息接收模块1001,用于接收第二网络设备发送的第一IKE消息,所述第一IKE消息中携带第一消息标识;

第一消息发送模块1002,用于当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,向所述第二网络设备发送第二IKE消息;

第二消息接收模块1003,用于接收所述第二网络设备发送的响应于所述第二IKE消息的第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;

第二消息发送模块1004,用于向所述第二网络设备发送响应于所述第一IKE_SA_INIT Request消息的IKE_SA_INIT Response消息或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本申请实施例在网络设备接收到第一IKE消息中携带的消息标识的值大于其支持的接收窗口的最大值时,可以通过发送第二IKE消息,触发发送该第一IKE消息的网络设备发起重认证或者消息标识同步,以更新通信双方的消息标识,从而能够快速解决消息标识不匹配的问题,减少业务中断时间。

在本申请实施例中,可选地,所述第二IKE消息是INVALID_MESSAGE_ID Notification。所述IKE请求消息包含期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID以及期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第二网络设备向所述第一网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第二网络设备期待的从所述第一网络设备接收到的下一个IKE请求消息中携带的消息标识。

图10B为本申请提供的一种第一网络设备的结构示意图。可以对图10A所示的第一网络设备进行扩展,从而得到图10B所示的第一网络设备。参见图10B,图10A所示的第一网络设备还可以包括如下模块:

消息标识检测模块1005,用于确定所述第一网络设备中的期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于所述IKE请求消息中携带的期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID的值;

第三消息发送模块1006,用于当确定所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

可选地,本申请实施例的消息发送装置还可以包括:标识同步模块1007。

所述标识同步模块1007,用于确定所述第二网络设备是否支持消息标识同步;若第二网络设备支持消息标识同步,则触发所述第一消息发送模块1002向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息;若第二网络设备不支持消息标识同步,则触发所述第一消息发送模块1002向所述第二网络设备发送第二IKE消息。

在本申请的一个可选实施例中,还可以包括如下模块:

失效对等体检测模块1008,用于当所述第一网络设备确定在预定的第一时长内没有收到来自所述第二网络设备的加密消息时,向所述第二网络设备发送失效对等体检测DPD请求报文;

第四消息发送模块1009,用于当所述第一网络设备确定在预定的第二时长内没有接收到所述第二网络设备发送的针对所述DPD请求报文的DPD响应报文时,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

可选的,所述加密消息为经因特网协议安全安全联盟IPSec SA加密的消息。

本申请实施例在网络设备接收到第一IKE消息中携带的消息标识的值大于其支持的接收窗口的最大值时,可以通过发送第二IKE消息,触发发送该第一IKE消息的网络设备发起重认证或者消息标识同步,以采用重认证或者消息标识同步的方式更新通信双方的消息标识,从而能够快速解决消息标识不匹配的问题,即能够及时恢复故障,减少业务中断时间。

此外,本申请实施例中的网络设备可通过检测本端是否接收到对端发送的加密的密文,来确定是否采用DPD判断对端状态,即可以根据配置自动发起DPD,从而解决现有了DPD协议可靠性不足所导致的无法快速检测出故障的问题,增强了DPD协议可靠性,能够快速检测到故障,进而能够快速恢复故障,减少业务中断时间。

图11为本申请提供的一种第二网络设备的结构框图。图11所示的第二网络设备可以用于执行图6所示的方法。参见图11,所述第二网络设备具体可以包括如下模块:

第一消息发送模块1101,用于向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;

第一消息接收模块1102,用于接收来自所述第一网络设备的第二IKE消息,所述第二IKE消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的;

第二消息发送模块1103,用于向所述第一网络设备发送响应于第二IKE消息的第一IKE_SA_INIT Request消息或者包含MESSAGE_ID_SYNC Notification的第一IKE请求消息;

第二消息接收模块1104,用于接收所述来自所述第一网络设备的响应于所述第一IKE_SA_INIT Request消息的IKE_SA_INIT Response消息,或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本申请实施例在发送的第一IKE消息中携带的消息标识的值大于接收窗口的最大值时,即在通信双方中的消息标识不匹配的情况下,可以由接收该第一IKE消息的第一网络设备发送第二IKE消息,以通过该第二IKE消息触发发送该第一IKE消息的第二网络设备发起重认证或者消息标识同步,从而能够更新通信双方的消息标识,解决了消息标识不匹配的问题。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在本申请的另一实施例中,还提供一种电子设备,所述电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述实施例所提供的任一发送消息方法。

图12为本申请提供的一种电子设备的结构示意图。图12所示的电子设备可以用于执行图1至图7所示的方法。电子设备1210包括:存储器1211、处理器1212、通信接口1213、显示器1214以及总线1215。存储器1211、处理器1212、通信接口1213以及显示器1214通过总线1215相互连接。在发明实施例中,处理器1212用于对电子设备1210的动作进行控制管理,例如,处理器1212用于执行图1中的S101-S103、图2中的S201-S203、图4中的S401-S402、图5中的S501-S504、图6中的S601-S604,和/或用于本申请所描述的技术的其他过程。通信接口1213用于支持电子设备1210进行通信。存储器1211,用于存储电子设备1210的程序代码和数据。显示器1214用于支持电子设备实现显示功能。

其中,处理器1212可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可显示后执行本申请公开内容所描述的各种示例性的逻辑方框和模块。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线1215可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中本仅用一条粗线表示,但不仅有一条总线或一种类型的总线。

在本申请的另一实施例中,还提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例所提供的任一发送消息方法。

图13提供了一种网络设备的结构示意图。参见图13,该网络设备1300可以包括:收发器1310以及与该收发器1310耦合的处理器1320。图13所示的网络设备可以用于执行图1至图7所示的方法。

在具体实现中,网络设备1300可作为通信过程中的IKE响应端,如可以作为上述实施例中的第一网络设备;或者通信过程中的IKE发起端,可以作为上述实施例中的第二网络设备等,本发实施例对此不作限制。

一个可选示例中,当网络设备1300作为第一网络设备时,收发器13101310用于接收第二网络设备发送的第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识。所述处理器1320用于确定所述第一消息标识的值是否大于所述第一网络设备支持的接收窗口的最大值。所述收发器1310还用于当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,向所述第二网络设备发送第二IKE消息;以及用于接收所述第二网络设备发送的响应于所述第二IKE消息的第一IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息。所述收发器1310还用于向所述第二网络设备发送响应于所述第一IKE_SA_INIT Request消息的IKE安全联盟初始协商响应IKE_SA_INIT Response消息或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

在本示例中,IKE请求消息包含期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID以及期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第一网络设备向所述第二网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第一设备期待的从所述第二设备接收到的下一个IKE请求消息中携带的消息标识。

可选地,所述处理器1320还用于确定所述第二网络设备是否支持消息标识同步;当所述第二网络设备支持消息标识同步时,指示所述收发器1310向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的IKE请求消息;或者,当所述第二网络设备不支持消息标识同步时,指示所述收发器1310向所述第二网络设备发送IKE_SA_INIT Request消息。

可选地,当所述第一网络设备在预定的第一时长内没有接收到来自所述第二网络设备的加密消息时,所述处理器1320还用于指示所述收发器1310向所述第二网络设备发送失效对等体检测DPD请求报文。当所述第一网络设备在预定的第二时长内没有接收到所述第二网络设备发送的针对所述DPD请求报文的DPD响应报文时,所述处理器1320还用于指示所述收发器1310向所述第二网络设备发送IKE_SA_INIT Request消息。

可选地,所述加密消息为经因特网协议安全安全联盟IPSec SA加密的消息。

另一个可选示例中,当网络设备1300作为第二网络设备时,所述收发器1310用于向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;以及,还用于接收来自所述第一网络设备的IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的IKE请求消息,所述IKE_SA_INIT Request消息或所述IKE请求消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的。所述处理器1320用于生成响应于所述IKE_SA_INIT Request消息的IKE安全联盟初始协商响应IKE_SA_INIT Response消息,或者响应于所述IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。所述收发器1310用于向所述第一网络设备发送所述IKE_SA_INIT Response消息,或者,所述包含MESSAGE_ID_SYNC Notification的IKE响应消息。

在本申请的又一个可选示例中,网络设备1300可以作为第二网络设备。其中,所述收发器1310用于接收第二网络设备发送的第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识。所述处理器1320用于确定所述第一消息标识的值是否大于所述第一网络设备支持的接收窗口的最大值。当所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时,所述收发器1310用于向所述第二网络设备发送第二IKE消息;以及,接收所述第二网络设备发送的响应于所述第二IKE消息的第一IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息。所述收发器1310还用于向所述第二网络设备发送响应于所述第一IKE_SA_INIT Request消息的IKE安全联盟初始协商响应IKE_SA_INIT Response消息或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

可选的,所述第二IKE消息是无效消息标识通知INVALID_MESSAGE_ID Notification;所述IKE请求消息包含期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID以及期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID,所述EXPECTED_SEND_REQ_MESSAGE_ID是所述第二网络设备向所述第一网络设备发送的下一个IKE请求消息中携带的消息标识,所述EXPECTED_RECV_REQ_MESSAGE_ID是所述第二网络设备期待的从所述第一网络设备接收到的下一个IKE请求消息中携带的消息标识。

本示例中,可选地,所述处理器1320还用于确定所述第一网络设备中的期待发送请求消息标识EXPECTED_SEND_REQ_MESSAGE_ID的值是否大于所述IKE请求消息中携带的期待接收请求消息标识EXPECTED_RECV_REQ_MESSAGE_ID的值。所述收发器1310还用于当所述第一网络设备中的EXPECTED_SEND_REQ_MESSAGE_ID的值大于所述IKE请求消息中携带的EXPECTED_RECV_REQ_MESSAGE_ID的值,向所述第二网络设备发送第二IKE_SA_INIT Request消息。

可选地,所述处理器1320还用于确定所述第二网络设备是否支持消息标识同步;若所述第二网络设备支持消息标识同步,则指示所述收发器1310向所述第二网络设备发送包含MESSAGE_ID_SYNC Notification的第二IKE请求消息;或者,若所述第二网络设备不支持消息标识同步,则指示所述收发器1310向所述第二网络设备发送第二IKE消息。

可选地,所述处理器1320还用于:当所述第一网络设备在预定的第一时长内没有接收到来自所述第二网络设备的加密消息时,指示所述收发器1310向所述第二网络设备发送失效对等体检测DPD请求报文;所述第一网络设备在预定的第二时长内没有接收到来自所述第二网络设备的针对所述DPD请求报文的DPD响应报文时,指示所述收发器1310向所述第二网络设备发送第二IKE_SA_INIT Request消息。

其中,所述加密消息可以为经因特网协议安全安全联盟IPSec SA加密的消息。

作为本申请的一个可选示例,网络设备1300可以作为第二网络设备。其中,所述收发器1310用于向第一网络设备发送第一因特网密钥交换协议IKE消息,所述第一IKE消息中携带第一消息标识;以及,接收来自所述第一网络设备的第二IKE消息,所述第二IKE消息为所述第一网络设备在所述第一消息标识的值大于所述第一网络设备支持的接收窗口的最大值时发送的。所述处理器1320用于生成响应于第二IKE消息的第一IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息。所述收发器1310还用于向所述第一网络设备发送所述第一IKE安全联盟初始协商请求IKE_SA_INIT Request消息或者包含消息标识同步通知MESSAGE_ID_SYNC Notification的第一IKE请求消息;以及所述收发器1310还用于接收所述来自所述第一网络设备的响应于所述第一IKE_SA_INIT Request消息的IKE安全联盟初始响应初始协商响应IKE_SA_INIT Response消息,或者响应于所述第一IKE请求消息的包含MESSAGE_ID_SYNC Notification的IKE响应消息。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例提供的技术方案可采用硬件实现,或可以采用软件和硬件的结合实现。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种发送消息方法、一种网络设备和一种电子设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的提供的技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1