CN107733807B - 一种报文防重放方法及装置 - Google Patents
一种报文防重放方法及装置 Download PDFInfo
- Publication number
- CN107733807B CN107733807B CN201710855065.8A CN201710855065A CN107733807B CN 107733807 B CN107733807 B CN 107733807B CN 201710855065 A CN201710855065 A CN 201710855065A CN 107733807 B CN107733807 B CN 107733807B
- Authority
- CN
- China
- Prior art keywords
- sequence number
- replay
- message
- replay sequence
- traffic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文防重放方法及装置,所述方法包括:接收报文;当确定为非首次接收到报文时,根据记录的第一防重放序号,确定所述报文对应的第二防重放序号;当所述第二防重放序号与前次同步至所述分布式设备中除所述目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将所述第二防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第二防重放序号,并在发生流量切换时,由所述其他板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号。应用本发明实施例可以避免流量切换导致的网络中断。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文防重放方法及装置。
背景技术
IPsec(Internet Protocol Security,互联网安全)是IETF(The InternetEngineering Task Force,国际互联网工程任务组)制定的三层隧道加密协议,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证,是一种传统的实现三层VPN(Virtual Private Network,虚拟专用网络)的安全技术。
IPsec通过滑动窗口(防重放窗口)机制检测重放报文。若接收到的报文的序号(防重复序号)落在防重放窗口右侧,则允许报文通过;若接收到的报文的序号落在防重放窗口左侧,则直接丢弃;若接收到的报文的序号落在防重放窗口内,则进一步判断是否接收过携带该序号的报文,接收过则丢弃,否则允许通过。
以图1所示防重放窗口为例,该防重放窗口大小为32,当报文的防重放序号大于186时,该防重放序号落在防重放窗口右侧,允许报文通过;当报文的防重放序号小于155时,该防重放需要落在防重放窗口左侧,则直接丢弃;当报文的防重放序号为155~186之间任一个时,该防重放序号落在防重放窗口内,需要进一步判断是否接收过携带该序号的报文,接收过则丢弃,否则允许通过。
然而实践发现,现有IPsec防重放方案中,对于分布式设备,当发生板卡插拔或主备倒换时,会触发流量切换,当流量被切换到新板卡之后,报文的序号会初始化为0,而接收端并不知道发送端发生了流量切换,其防重放窗口已经滑动到了一定位置,那么从发送端的新板卡发送到接收端的报文基本上都会被丢弃,从而造成网络中断。
发明内容
本发明提供一种报文防重放方法及装置,以解决现有报文防重放方案中流量切换可能会导致网络中断的问题。
根据本发明的第一方面,提供一种报文防重放方法,应用于分布式设备的目标板卡,所述方法包括:
接收报文;
当确定为非首次接收到报文时,根据记录的第一防重放序号,确定所述报文对应的第二防重放序号;
当所述第二防重放序号与前次同步至所述分布式设备中除所述目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将所述第二防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第二防重放序号,并在发生流量切换时,由所述其他板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号。
可选地,所述接收报文之后,还包括:
当确定为首次接收到报文,且记录的第一防重放序号不为0时,根据所述第一防重放序号、所述序号备份间隔以及流量切换期间内接收到的报文数,确定所述报文对应的第三防重放序号;
将所述第三防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第三防重放序号;
当确定为首次接收到报文,且记录的第一防重放序号为0时,根据所述第一防重放序号,确定所述报文对应的第四防重放序号。
可选地,所述板卡设置有流量处理标志位,且所述流量处理标志位的初始值为第一标识值,所述第一标识值表明所述板卡处于非流量处理状态;
所述接收报文,包括:
当接收到所述报文,且所述流量处理标志位的值为第一标识值时,确定为首次接收到所述报文;
将所述流量处理标志位的值设置为第二标识值,所述第二标识值表明板卡处于流量处理状态;
通知所述其它板卡将所述其他板卡的流量处理标志位的值设置为第一标识值;
当接收到所述报文,且本地的流量处理标志位的值为第二标识值时,确定为非首次接收到所述报文。
可选地,所述根据所述第一防重放序号、所述序号备份间隔以及流量切换期间内接收到的报文数,确定所述报文对应的第三防重放序号,包括:
当所述序号备份间隔大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述序号备份间隔二者之和;
当所述序号备份间隔不大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述流量切换期间内接收到的报文数二者之和。
可选地,所述流量切换期间内接收到的报文数通过以下公式确定:
N=K*R
其中,N为所述流量切换期间内接收到的报文数,K为预设最大流量切换时间,R为流量切换前处理流量的板卡在指定时间内的平均报文接收速率。
根据本发明的第二方面,提供一种报文防重放装置,应用于分布式设备的目标板卡,所述装置包括:
接收单元,用于接收报文;
记录单元,用于记录防重放序号;
判断单元,用于判断所述接收单元是否为首次接收到报文;
确定单元,用于当所述接收单元非首次接收到报文时,根据所述记录单元记录的第一防重放序号,确定报文对应的第二防重放序号;
发送单元,用于当所述第二防重放序号与前次同步至所述分布式设备中除所述目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将所述第二防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第二防重放序号,并在发生流量切换时,由所述其他板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号。
可选地,所述判断单元,还用于判断所述记录单元记录的第一防重放序号是否为0;
所述确定单元,还用于当所述接收单元首次接收到报文,且所述记录单元记录的第一防重放序号不为0时,根据所述第一防重放序号、所述序号备份间隔以及流量切换期间内接收到的报文数,确定所述报文对应的第三防重放序号;
所述发送单元,还用于将所述第三防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第三防重放序号;
所述确定单元,还用于当所述接收单元首次接收到报文,且所述记录单元记录的第一防重放序号为0时,根据所述第一防重放序号,确定所述报文对应的第四防重放序号。
可选地,所述板卡设置有流量处理标志位,且所述流量处理标志位的初始值为第一标识值,所述第一标识值表明所述板卡处于非流量处理状态;
所述判断单元,具体用于当所述接收单元接收到报文,且所述流量处理标志位的值为第一标识值时,确定为首次接收到所述报文;
所述装置还包括:
设置单元,还用于当所述接收单元首次接收到报文时,将所述流量处理标志位的值设置为第二标识值,所述第二标识值表明板卡处于流量处理状态;
所述发送单元,还用于通知所述其它板卡将所述其他板卡的流量处理标志位的值设置为第一标识值;
所述判断单元,还用于当所述接收单元接收到所述报文,且本地的流量处理标志位的值为第二标识值时,确定为非首次接收到所述报文。
可选地,所述确定单元,具体用于当所述序号备份间隔大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述预设的序号备份间隔二者之和;当所述序号备份间隔不大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述流量切换期间内接收到的报文数二者之和。
可选地,所述确定单元,具体用于通过以下公式确定流量切换期间内接收到的报文数:
N=K*R
其中,N为所述流量切换期间内接收到的报文数,K为预设最大流量切换时间,R为流量切换前处理流量的板卡在指定时间内的平均报文接收速率。
应用本发明公开的技术方案,当目标板卡非首次接收到报文时,根据记录的第一防重放序号,确定报文对应的第二防重放序号;当第二防重放序号与前次同步至分布式设备中除目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将第二防重放序号同步至其它板卡,用于其它板卡记录第二防重放序号,并在发生流量切换时,由其他板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号,避免了流量切换导致的网络中断。
附图说明
图1是本发明实施例提供的一种防重放窗口的示意图;
图2是本发明实施例提供的一种报文防重放方法的流程示意图;
图3是本发明实施例提供的另一种报文防重放方法的流程示意图;
图4是本发明实施例提供的一种报文防重放装置的结构示意图;
图5是本发明实施例提供的另一种报文防重放装置的结构示意图;
图6是本发明实施例提供的一种报文防重放装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图2,为本发明实施例提供的一种报文防重放方法的流程示意图,其中,该报文防重放方法可以应用于分布式设备的任一板卡(本文中称为目标板卡),如图2所示,该报文防重放方法可以包括以下步骤:
需要说明的是,在本发明实施例中,若未特殊说明,所提及的报文均指IPsec报文,如AH(Authentication Header,认证头)协议报文、ESP(Encapsulate Security Payload,封装安全载荷)协议报文等,本发明实施例后续不再复述。
步骤201、接收报文。
步骤202、当确定为非首次接收到报文时,根据记录的第一防重放序号,确定报文对应的第二防重放序号。
步骤203、当第二防重放序号与前次同步至分布式设备中除目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将第二防重放序号同步至其它板卡,用于其它板卡记录该第二防重放序号,并在发生流量切换时,由其它板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号。
本发明实施例中,为了避免分布式设备发生流量切换时导致网络中断,分布式设备中处理流量的板卡可以按照指定策略将本地的防重放序号同步至分布式设备的其它板卡(未处理流量的板卡),由其它板卡记录该防重放序号,以便发生流量切换时,该其它板卡中处理流量的板卡可以根据已同步的防重放序号确定报文中对应的防重放序号,以防止发送给接收端的报文被接收端丢弃,避免网络中断。
相应地,在本发明实施例中,可以预先设定一个序号备份间隔(即预设的序号备份间隔),处理流量的板卡可以按照该序号备份间隔将防重放序号备份至分布式设备中的其它板卡。其他板卡接收到同步的防重放序号之后,可以记录该防重放序号。
其中,各板卡在相互进行SA(Security Association,安全联盟)协商完成之后,或者,各板卡在删除在先协商的SA并建立新SA之后,各板卡中记录的防重放序号的初始值为0;各板卡接收到其它板卡同步的防重放序号之后,将记录的防重放序号更新为接收到的防重放序号。
例如,假设序号备份间隔为100,则处理流量的板卡可以每次在防重放序号增加了100时,将防重放序号同步至分布式设备中的其他板卡,即同步的防重放序号可以依次为100、200、300等。
其中,该序号备份间隔可以由用户根据现网流量设置,在流量比较大的情况下,可以将该序号备份间隔设置得比较大;反之,可以将该序号备份间隔设置得比较小。
需要说明的是,当序号备份间隔设置为1时,处理流量的板卡对每个报文的防重放序号均会进行同步。
本发明实施例中,当目标板卡接收到报文时,目标板卡可以先确定该报文是否为目标板卡首次接收到报文。
在本发明其中一个实施例中,分布式设备各板卡设置有流量处理标志位,且各板卡的流量处理标志位的初始值为第一标识值,该第一标识值表明板卡处于非流量处理状态;
相应地,上述接收到报文,可以包括:
当目标板卡接收到报文,且流量处理标志位为第一标识值时,确定为首次接收到报文;
将本地的流量处理标志位设置为第二标识值;
通知分布式设备的其它板卡将流量处理标志位设置为第一标识值;其中,第二标识值表明板卡流量处理状态;
当目标板卡接收到报文,且流量处理标志位为第二标识值时,确定为非首次接收到报文。
在该实施例中,可以在分布式设备各板卡上新增一个用于标识各板卡是否处于流量处理状态的标志位(本文中称为流量处理标志位),当该标志位的值为第一标识值时,表明板卡处于非流量处理状态;当该标志位的值为第二标识值时,表明板卡处于流量处理状态;其中,各板卡的该标志位的初始值为第一标识值。
相应地,当目标板卡接收到报文时,目标板卡可以获取流量处理标志位的值;若其为第一标识值,则表明目标板卡此前处于未处理流量状态,此时,目标板卡可以确定为首次接收到报文,进而,目标板卡可以将流量处理标志位的值设置为第二标识值,并通知分布式设备的其它板卡将流量标志位的值设置为第一标识值。
其中,当分布式设备的其它板卡接收到目标板卡发送的通知消息时,若流量处理标志位的值为第二标识值(则表明该板卡此前处于流量处理状态,并发生了流量切换),则将流量处理标志位的值设置为第一标识值;若流量处理标志位的值为第一标识值,则保持流量处理标志位的值为第一标识值。
若目标板卡获取到的流量处理标志位的值为第二标识值,则可以确定为非首次接收到报文。
本发明实施例中,当目标板卡确定此次接收到报文为非首次接收到报文时,目标板卡可以确定未发生流量切换,此时,目标板卡可以根据记录的房重放序号(本文中称为第一防重放序号),确定报文对应的防重放序号(本文中称为第二防重放序号)。
例如,目标板卡可以通过将记录的第一防重放序号加1的方式确定该报文对应的第二防重放序号。
举例来说,假设目标板卡非首次接收到报文,且记录的第一防重放序号为M(M>0),则目标板卡确定的该报文对应的第二防重放序号为M+1。
本发明实施例中,目标板卡确定了第二防重放序号之后,还需要判断该第二防重放序号与前次同步至分布式设备的其它板卡的防重放序号之间的差值是否达到序号备份间隔,若达到,则需要将该第二防重放序号同步至分布式设备的其它板卡,由其它板卡记录目标板卡同步的防重放序号(即第二防重放序号);若未达到,则不需要进行特殊处理。
当发生流量切换时,其它板卡中处理流量的板卡可以根据已同步的报文防重放序号确定报文对应的防重放序号。
可见,在图2所示方法流程中,通过设定序号备份间隔,处理流量的板卡按照该序号备份间隔将防重放序号同步至其它板卡,从而,发生流量切换时,新处理流量的板卡可以根据原处理流量的板卡同步的防重放序号确定接收到的报文对应的防重放序号,避免流量切换后新处理流量的板卡重置防重放序号导致报文被接收端丢弃,避免了流量切换导致的网络中断。
可选地,在本发明其中一个实施例中,上述报文防重放方法还可以包括:
当首次接收到报文,且记录的第一防重放序号不为0时,根据第一防重放序号、序号备份间隔以及流量切换期间内接收到的报文数,确定报文对应的第三防重放序号;
将第三防重放序号同步至其它板卡,用于其它板卡记录该第三防重放序号。
本发明实施例中,若目标板卡确定自身为首次接收到报文,则可以进一步获取记录的防重放序号,确定该防重放序号是否为0,若不为0,则目标板卡可以确定发生了流量切换,此时,目标板卡可以根据记录的防重放序号、序号备份间隔以及流量切换期间内接收到的报文数确定该报文对应的防重放序号(本文中称为第三防重放序号)。
在本发明其中一个实施例中,上述根据记录的防重放序号、序号备份间隔以及流量切换期间内接收到的报文数,确定该报文对应的第三防重放序号,包括:
当序号备份间隔大于流量切换期间内接收到的报文数时,将该报文对应的第三防重放序号确定为第一防重放序号与序号备份间隔二者之和;
当序号备份间隔小于等于流量切换期间内接收到的报文数时,将该报文对应的第三防重放序号确定为第一防重放序号与流量切换期间内接收到的报文数二者之和。
在该实施例中,考虑到流量切换通常会发生在两次序号备份之间,而从上一次序号备份到流量切换完成期间原板卡也可能会收到报文,而这些报文的防重放序号不会被同步到其它板卡,因此,为了保证流量切换后,新处理流量的板卡的防重放序号尽可能落在接收端的防重放窗口的右侧,发生流量切换时,新处理流量的板卡在确定报文对应的防重放序号时,除了需要考虑本地记录的防重放序号之外,还需要考虑流量切换期间(即上一次序号备份到流量切换完成期间)原板卡接收到的报文数。
相应地,在该实施例中,当目标板卡确定发生流量切换(即目标板卡首次接收到报文,且自身记录的防重放序号不为0)时,目标板卡可以根据第一防重放序号、序号备份间隔以及流量切换期间内接收到的报文数确定该报文对应的防重放序号。
其中,当备份间隔大于流量切换期间内接收到的报文数时,目标板卡可以将第三防重放序号确定为记录的防重放序号与备份间隔二者之和;
当备份间隔小于流量切换期间内接收到的报文数时,目标板卡可以将第三防重放序号确定为记录的防重放序号与流量切换期间内接收到的报文数二者之和。
举例来说,假设序号备份间隔为interval,当目标板卡确定发生流量切换时,目标板卡可以先确定流量切换期间接收到的报文数N,并根据以下公式确定报文对应的第三防重放序号Sequence Number3:
若interval>N,则Sequence Number3=Sequence Number1+interval;
若interval≤N,则Sequence Number3=Sequence Number1+N;
其中,Sequence Number1为目标板卡记录的第一防重放序列号。
在该实施例的一种可选实施方式中,流量切换期间内接收到的报文数通过以下公式确定:
N=K*R
其中,K为预设最大流量切换时间(从上一次防重放序号备份到流量切换完成的最大时间,可以根据实际场景设定,如2秒),R为流量切换前处理流量的板卡在指定时间内的平均报文接收速率。
需要说明的是,在本发明实施例中,分布式设备中处于流量处理的板卡可以周期性地将自身在指定时间内的平均报文接收速率保存在指定区域,当发生流量切换时,新处理流量的板卡可以从该指定区域中获取原处理流量的板卡在指定时间内的平均报文接收速率,其具体实现在此不做赘述。
需要说明的是,在本发明实施例中,当目标板卡确定自身首次接收到报文,且记录的防重放序号为0时,目标板卡可以根据记录的第一防重放序号确定该报文对应的防重放序号(本文中称为第四防重放序号),例如,将第四防重放序号确定为第一防重放序号加1,其具体实现可以参见现有报文防重放处理的相关描述,本发明实施例对此不做赘述。
可见,在图1所示方法流程中,通过设定序号备份间隔,处理流量的板卡按照该序号备份间隔将防重放序号同步至其它板卡,从而,发生流量切换时,其它板卡中处理流量的板卡可以根据已同步的防重放序号确定接收到的报文对应的防重放序号,避免流量切换后新处理流量的板卡重置防重放序号导致报文被接收端丢弃,避免了流量切换导致的网络中断。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体实例对本发明实施例提供的技术方案进行说明。
在该实施例中,以分布式设备包括2个板卡(板卡1和板卡2为例),各板卡设置有流量处理标志位,该流量处理标志位的值包括第一标识值(0)和第二标识值(1),各板卡的流量初始标志位的初始值为0;预设的序号备份间隔interval为128;预设最大流量切换时间为2秒。
如图3所示,在该实施例中,报文防重放处理流程可以包括以下步骤:
步骤301、当板卡1接收到报文时,判断是否为首次接收到报文;若是,则转至步骤302;否则,转至305。
在该实施例中,板卡1可以根据本地的流量处理标志位的值是否为0判断是否为首次接收到报文。若本地的流量处理标志位的值为0,则判断为首次接收到报文;否则,判断为非首次接收到报文。
其中,当板卡1确定本地流量处理标志位的值为0,则板卡1可以将本地流量处理标志位的值设置为1,并向板卡2发送通知消息,由板卡2将流量处理标志位的值设置为0。
步骤302、板卡1判断记录的防重放序号是否为0;若是,则转至步骤305;否则,转至步骤303。
在该实施例中,当板卡1确定为首次接收到报文,且记录的防重放序号为0时,板卡1确定发生了流量切换。
步骤303、板卡1根据记录的防重放序号、序号备份间隔以及流量切换期间内接收到的报文数确定该报文对应的防重放序号。
步骤304、板卡1将该报文对应的防重放序号同步至板卡2,以使板卡2记录该防重放序号。
在该实施例中,当板卡1确定发生流量切换之后,板卡1可以获取流量切换前板卡2在指定时间内的平均报文接收速率R,并根据R确定板卡2在流量切换期间接收到的报文数,即2*R。
其中,当128>2R时,板卡1可以将报文对应的防重放序号确定为SN0+128;当128≤2R时,板卡1可以将报文对应的防重放序号确定为SN0+2R;其中,SN0为板卡1记录的防重放序号,SN0>0。
步骤305、板卡1将报文对应的防重放序号确定为记录的防重放序号加1。
步骤306、板卡1判断报文对应的防重放序号与上一次同步至板卡2的防重放序号之间的差值是否大于128;若是,转至步骤307;否则,结束此次流程。
步骤307、板卡1将报文对应的防重放序号同步至板卡2,以使板卡2记录该防重放序号。
在该实施例中,当发生流量切换,处理流量的板卡由板卡1切换为板卡2时,板卡2的处理流程与上述板卡1的处理流程相类似,本发明实施例对此不做赘述。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当目标板卡非首次接收到报文时,根据记录的第一防重放序号,确定报文对应的第二防重放序号;当第二防重放序号与前次同步至分布式设备中除目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将第二防重放序号同步至其它板卡,用于其它板卡记录第二防重放序号,并在发生流量切换时,由其他板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号,避免了流量切换导致的网络中断。
请参见图4,为本发明实施例提供一种报文防重放装置的结构示意图,其中,该装置可以应用于上述方法实施例中的目标板卡,如图4所示,该报文防重放装置可以包括:
接收单元410,用于接收报文;
记录单元420,用于记录防重放序号;
判断单元430,用于判断所述接收单元410是否为首次接收到报文;
确定单元440,用于当所述接收单元410非首次接收到报文时,根据所述记录单元记录的第一防重放序号,确定报文对应的第二防重放序号;
发送单元450,用于当所述第二防重放序号与前次同步至所述分布式设备中除所述目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将所述第二防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第二防重放序号,并在发生流量切换时,由所述其他板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号。
在可选实施例中,所述判断单元430,还用于判断所述记录单元记录的第一防重放序号是否为0;
所述确定单元440,还用于当所述接收单元410首次接收到报文,且所述记录单元420记录的第一防重放序号不为0时,根据所述第一防重放序号、所述序号备份间隔以及流量切换期间内接收到的报文数,确定所述报文对应的第三防重放序号;
所述发送单元450,还用于将所述第三防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第三防重放序号;
所述确定单元440,还用于当所述接收单元410首次接收到报文,且所述记录单元420记录的第一防重放序号为0时,根据所述第一防重放序号,确定所述报文对应的第四防重放序号。
在可选实施例中,所述板卡设置有流量处理标志位,且所述流量处理标志位的初始值为第一标识值,所述第一标识值表明所述板卡处于非流量处理状态;
所述判断单元430,具体用于当所述接收单元410接收到报文,且所述流量处理标志位的值为第一标识值时,确定为首次接收到所述报文;
请一并参见图5,为本发明实施例提供的另一种报文防重放装置的结构示意图,在图4所示报文防重放装置的基础上,图5所示报文防重放装置还包括:
设置单元460,还用于当所述接收单元410首次接收到报文时,将所述流量处理标志位的值设置为第二标识值,所述第二标识值表明板卡处于流量处理状态;
所述发送单元450,还用于通知所述其它板卡将所述其他板卡的流量处理标志位的值设置为第一标识值;
所述判断单元430,还用于当所述接收单元410接收到所述报文,且本地的流量处理标志位的值为第二标识值时,确定为非首次接收到所述报文。
在可选实施例中,所述确定单元440,具体用于当所述序号备份间隔大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述预设的序号备份间隔二者之和;当所述序号备份间隔不大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述流量切换期间内接收到的报文数二者之和。
在可选实施例中,所述确定单元440,具体用于通过以下公式确定流量切换期间内接收到的报文数:
N=K*R
其中,N为所述流量切换期间内接收到的报文数,K为预设最大流量切换时间,R为流量切换前处理流量的板卡在指定时间内的平均报文接收速率。
图6为本发明实施例提供的一种报文防重放装置的硬件结构示意图。该报文防重放装置可包括处理器601、存储有机器可执行指令的机器可读存储介质602。处理器601与机器可读存储介质602可经由系统总线603通信。并且,通过读取并执行机器可读存储介质602中与报文防重放控制逻辑对应的机器可执行指令,处理器601可执行上文描述的报文传输方法。
本发明实施例中提到的机器可读存储介质602可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,当目标板卡非首次接收到报文时,根据记录的第一防重放序号,确定报文对应的第二防重放序号;当第二防重放序号与前次同步至分布式设备中除目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将第二防重放序号同步至其它板卡,用于其它板卡记录第二防重放序号,并在发生流量切换时,由其他板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号,避免了流量切换导致的网络中断。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种报文防重放方法,应用于分布式设备的目标板卡,其特征在于,所述方法包括:
接收报文;
当确定为非首次接收到报文时,根据记录的第一防重放序号,确定所述报文对应的第二防重放序号;
当所述第二防重放序号与前次同步至所述分布式设备中除所述目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将所述第二防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第二防重放序号,并在发生流量切换时,由所述其它 板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号;
其中,所述接收报文之后,还包括:
当确定为首次接收到报文,且记录的第一防重放序号不为0时,根据所述第一防重放序号、所述序号备份间隔以及流量切换期间内接收到的报文数,确定所述报文对应的第三防重放序号;
将所述第三防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第三防重放序号。
2.根据权利要求1所述的方法,其特征在于,所述接收报文之后,还包括:
当确定为首次接收到报文,且记录的第一防重放序号为0时,根据所述第一防重放序号,确定所述报文对应的第四防重放序号。
3.根据权利要求1或2所述的方法,其特征在于,所述板卡设置有流量处理标志位,且所述流量处理标志位的初始值为第一标识值,所述第一标识值表明所述板卡处于非流量处理状态;
所述接收报文,包括:
当接收到所述报文,且所述流量处理标志位的值为第一标识值时,确定为首次接收到所述报文;
将所述流量处理标志位的值设置为第二标识值,所述第二标识值表明板卡处于流量处理状态;
通知所述其它板卡将所述其他板卡的流量处理标志位的值设置为第一标识值;
当接收到所述报文,且本地的流量处理标志位的值为第二标识值时,确定为非首次接收到所述报文。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一防重放序号、所述序号备份间隔以及流量切换期间内接收到的报文数,确定所述报文对应的第三防重放序号,包括:
当所述序号备份间隔大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述序号备份间隔二者之和;
当所述序号备份间隔不大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述流量切换期间内接收到的报文数二者之和。
5.根据权利要求4所述的方法,其特征在于,所述流量切换期间内接收到的报文数通过以下公式确定:
N=K*R
其中,N为所述流量切换期间内接收到的报文数,K为预设最大流量切换时间,R为流量切换前处理流量的板卡在指定时间内的平均报文接收速率。
6.一种报文防重放装置,应用于分布式设备的目标板卡,其特征在于,所述装置包括:
接收单元,用于接收报文;
记录单元,用于记录防重放序号;
判断单元,用于判断所述接收单元是否为首次接收到报文;
确定单元,用于当所述接收单元非首次接收到报文时,根据所述记录单元记录的第一防重放序号,确定报文对应的第二防重放序号;
发送单元,用于当所述第二防重放序号与前次同步至所述分布式设备中除所述目标板卡外的其它板卡的防重放序号之间的差值达到预设的序号备份间隔时,将所述第二防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第二防重放序号,并在发生流量切换时,由所述其它 板卡中处理流量的板卡根据已同步的防重放序号确定报文对应的防重放序号;
其中,所述判断单元,还用于判断所述记录单元记录的第一防重放序号是否为0;
所述确定单元,还用于当所述接收单元首次接收到报文,且所述记录单元记录的第一防重放序号不为0时,根据所述第一防重放序号、所述序号备份间隔以及流量切换期间内接收到的报文数,确定所述报文对应的第三防重放序号;
所述发送单元,还用于将所述第三防重放序号同步至所述其它板卡,用于所述其它板卡记录所述第三防重放序号。
7.根据权利要求6所述的装置,其特征在于,
所述确定单元,还用于当所述接收单元首次接收到报文,且所述记录单元记录的第一防重放序号为0时,根据所述第一防重放序号,确定所述报文对应的第四防重放序号。
8.根据权利要求6或7所述的装置,其特征在于,所述板卡设置有流量处理标志位,且所述流量处理标志位的初始值为第一标识值,所述第一标识值表明所述板卡处于非流量处理状态;
所述判断单元,具体用于当所述接收单元接收到报文,且所述流量处理标志位的值为第一标识值时,确定为首次接收到所述报文;
所述装置还包括:
设置单元,还用于当所述接收单元首次接收到报文时,将所述流量处理标志位的值设置为第二标识值,所述第二标识值表明板卡处于流量处理状态;
所述发送单元,还用于通知所述其它板卡将所述其他板卡的流量处理标志位的值设置为第一标识值;
所述判断单元,还用于当所述接收单元接收到所述报文,且本地的流量处理标志位的值为第二标识值时,确定为非首次接收到所述报文。
9.根据权利要求7所述的装置,其特征在于,
所述确定单元,具体用于当所述序号备份间隔大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述预设的序号备份间隔二者之和;当所述序号备份间隔不大于所述流量切换期间内接收到的报文数时,将所述第三防重放序号确定为所述第一防重放序号与所述流量切换期间内接收到的报文数二者之和。
10.根据权利要求9所述的装置,其特征在于,
所述确定单元,具体用于通过以下公式确定流量切换期间内接收到的报文数:
N=K*R
其中,N为所述流量切换期间内接收到的报文数,K为预设最大流量切换时间,R为流量切换前处理流量的板卡在指定时间内的平均报文接收速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710855065.8A CN107733807B (zh) | 2017-09-20 | 2017-09-20 | 一种报文防重放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710855065.8A CN107733807B (zh) | 2017-09-20 | 2017-09-20 | 一种报文防重放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107733807A CN107733807A (zh) | 2018-02-23 |
CN107733807B true CN107733807B (zh) | 2020-04-03 |
Family
ID=61207715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710855065.8A Active CN107733807B (zh) | 2017-09-20 | 2017-09-20 | 一种报文防重放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107733807B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155477B (zh) * | 2023-04-18 | 2023-07-18 | 湖北省楚天云有限公司 | 一种基于动态滑动窗口的IPsec抗重放方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431753A (zh) * | 2007-11-09 | 2009-05-13 | 华为技术有限公司 | 移动IPv6快速切换的保护方法和设备 |
CN101442471A (zh) * | 2008-12-31 | 2009-05-27 | 杭州华三通信技术有限公司 | 实现IPSec隧道备份和切换的方法、系统和节点设备、组网架构 |
CN101577725A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种防重放机制中的信息同步方法、装置和系统 |
CN101917294A (zh) * | 2010-08-24 | 2010-12-15 | 杭州华三通信技术有限公司 | 主备切换时更新防重放参数的方法和设备 |
CN102891850A (zh) * | 2012-09-25 | 2013-01-23 | 汉柏科技有限公司 | IPSec隧道更新防重放参数的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272251B (zh) * | 2007-03-22 | 2012-04-18 | 华为技术有限公司 | 鉴权和密钥协商方法、认证方法、系统及设备 |
-
2017
- 2017-09-20 CN CN201710855065.8A patent/CN107733807B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431753A (zh) * | 2007-11-09 | 2009-05-13 | 华为技术有限公司 | 移动IPv6快速切换的保护方法和设备 |
CN101442471A (zh) * | 2008-12-31 | 2009-05-27 | 杭州华三通信技术有限公司 | 实现IPSec隧道备份和切换的方法、系统和节点设备、组网架构 |
CN101577725A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种防重放机制中的信息同步方法、装置和系统 |
CN101917294A (zh) * | 2010-08-24 | 2010-12-15 | 杭州华三通信技术有限公司 | 主备切换时更新防重放参数的方法和设备 |
CN102891850A (zh) * | 2012-09-25 | 2013-01-23 | 汉柏科技有限公司 | IPSec隧道更新防重放参数的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107733807A (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112910637B (zh) | 用于设备之间mka协商的系统、方法和设备 | |
US8634560B1 (en) | Time-based secure key synchronization | |
CN108718282B (zh) | 报文序列号的确定方法及装置 | |
CN103731407A (zh) | Ike报文协商的方法及系统 | |
CN101895877B (zh) | 密钥协商方法、设备及系统 | |
CA2277972A1 (en) | Communications protocol with improved security | |
CN101622896A (zh) | 用于无线通信的安全密钥生成 | |
EP3200093A1 (en) | Data synchronization method and device | |
US20190141141A1 (en) | Dynamic detection of inactive virtual private network clients | |
US9516065B2 (en) | Secure communication device and method | |
EP3952378A1 (en) | Registration method and apparatus | |
CN108880868B (zh) | Bfd保活报文传输方法、装置、设备及机器可读存储介质 | |
CN107733807B (zh) | 一种报文防重放方法及装置 | |
CN108650152B (zh) | 异常报文确定方法、装置及计算机可读存储介质 | |
EP2552074A1 (en) | Method and device for multiplexing host identity protocol security tunnels | |
US8611541B2 (en) | Method and apparatus for applying a ciphering configuration in a wireless communication network | |
CN113645103B (zh) | 视频监控平台与前端设备间通信链路异常检测方法及装置 | |
JP5856022B2 (ja) | 移動通信方法及び移動局 | |
US8014527B2 (en) | Apparatus and method for reusing pair of public and private keys | |
CN110611615B (zh) | 一种路由信息传输方法和装置 | |
US20190007488A1 (en) | Device and method for providing cloud service | |
WO2016078212A1 (zh) | 一种报文处理方法、装置及存储介质 | |
CN113645283A (zh) | 一种多链路通信方法、装置、存储介质及电子设备 | |
US20200065019A1 (en) | Cloud service providing device and method for managing cloud service providing device | |
CN103491528A (zh) | 表项处理方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |