报文转发方法及设备与流程

文档序号:26907232发布日期:2021-10-09 14:09阅读:157来源:国知局
报文转发方法及设备与流程

1.本技术涉及通信技术,特别涉及报文转发方法及设备。


背景技术:

2.防火墙双机热备组将互为备份的两台防火墙设备会通过备份链路定时向另一台设备发送状态协商报文,协商进入同步状态后开始备份对端设备上的会话、a表项、黑名单等重要信息。当其中一台防火墙设备发生故障时,在转发层面利用vrrp或动态路由(例如ospf)机制将业务流量切换到另一台防火墙设备。理想情况下,不同的业务流通过两台防火墙设备,这样每个流的正向报文和反向设备都通过同一台防火墙转发,这样防火墙设备能够基于会话进行业务防护。
3.由于双机热备组的防火墙设备之间并不时实时备份,一旦某个业务流的正向报文通过其中一台防火墙设备转发,而反向报文被转发到另一台防火墙设备时,收到反向报文的防火墙设备会因为没有同步会话信息,只能丢弃收到的反向报文。网络中,防火墙有可能连接多台路由器,此时,也无法通过配置保持上一跳功能,无法保持统一业务流的正向报文和反向报文的路径一致。


技术实现要素:

4.本技术的目的在于提供报文转发方法及设备,使得经由双机热备组的防火墙设备转发的同一业务流的正向报文和反向报文的路径一致。
5.未实现上述目的,本技术提供了一种报文转发方法,应用于双机热备组的任一防火墙设备,该方法包括:接收第一ipv6报文;确定未查找到第一ipv6报文的会话表项;将第一ipv6报文封装为第一分段路由ipv6报文;其中,第一分段路由ipv6报文的外层源ip地址是本设备ipv6地址,第一分段路由ipv6报文的目的ip地址是到达对端防火墙的ipv6地址的下一跳;分段路由头的分段列表是逆序压栈的到达对端防火墙设备的各跳的ipv6地址;向下一跳发送第一分段路由ipv6报文,以使得双机热备组的对端防火墙设备收到第一分段路由ipv6后对内层的第一ipv6报文进行会话检查。
6.为实现上述目的,本技术还提供了,一种报文转发设备,该设备作为双机备份组的防火墙设备包括处理器以及存储器;存储器用于存储处理器可执行指令;其中,处理器通过运行存储器中的处理器可执行指令用以执行以下操作:接收第一ipv6报文;确定未查找到第一ipv6报文的会话表项;将第一ipv6报文封装为第一分段路由ipv6报文;其中,第一分段路由ipv6报文的外层源ip地址是本设备ipv6地址,第一分段路由ipv6报文的目的ip地址是到达对端防火墙的ipv6地址的下一跳;分段路由头的分段列表是逆序压栈的到达对端防火墙设备的各跳的ipv6地址;向下一跳发送第一分段路由ipv6报文,以使得双机热备组的对端防火墙设备收到第一分段路由ipv6后对内层的第一ipv6报文进行会话检查。
7.为实现上述目的,本技术还提供了一种报文转发方法,该方法包括:接收第一分段路由ipv6报文;其中,第一分段路由ipv6报文的外层目的ip地址的源ip地址是双机热备组
的第一防火墙设备的ipv6地址;分段路由头的分段列表的逆序压栈的第一个分段标识是双机热备组的第二防火墙设备的ipv6地址;确定第一分段路由ipv6报文的外层目的ip地址是本设备ipv6地址;根据本设备ipv6地址的指令部分读取分段列表中作为下一个分段标识,将第一分段路由ipv6报文的内层ipv6报文的内层目的ip地址在本地路由表的下一跳修改为作为下一个分段标识的ipv6地址;将第一分段路由ipv6报文的外层目的ip地址修改为作为下一个分段标识的ipv6地址;将第一ipv6报文发送到修改后的外层目的ip地址。
8.为实现上述目的,本技术还提供了一种报文转发设备,该设备作为路由设备包括处理器以及存储器;存储器用于存储处理器可执行指令;其中,处理器通过运行存储器中的处理器可执行指令用以执行以下操作:接收第一分段路由ipv6报文;其中,第一分段路由ipv6报文的外层目的ip地址的源ip地址是双机热备组的第一防火墙设备的ipv6地址;分段路由头的分段列表的逆序压栈的第一个分段标识是双机热备组的第二防火墙设备的ipv6地址;确定第一分段路由ipv6报文的外层目的ip地址是本设备ipv6地址;根据本设备ipv6地址的指令部分读取分段列表中作为下一个分段标识,将第一分段路由ipv6报文的内层ipv6报文的内层目的ip地址在本地路由表的下一跳修改为作为下一个分段标识的ipv6地址;将第一分段路由ipv6报文的外层目的ip地址修改为作为下一个分段标识的ipv6地址;将第一ipv6报文发送到修改后的外层目的ip地址。
9.本技术的有益效果在于,经由双机热备组的防火墙设备转发的同一业务流的正向报文和反向报文的路径一致,提高防火墙设备的业务可靠性。
附图说明
10.图1为本技术提供的报文转发方法实施例的流程图;
11.图2为本技术提供报文转发示意图;
12.图3和图4为图2中报文转发设备的示意图。
具体实施方式
13.将以多个附图所示的多个例子进行详细说明。在以下详细描述中,多个具体细节用于提供对本技术的全面理解。实例中没有详细地描述已知的方法、步骤、组件以及电路,以免使这些例子的难于理解。
14.使用的术语中,术语“包括”表示包括但不限于;术语“含有”表示包括但不限于;术语“以上”、“以内”以及“以下”包含本数;术语“大于”、“小于”表示不包含本数。术语“基于”表示至少基于其中一部分。
15.图1的本技术提供的报文转发方法实施例包括以下步骤:
16.步骤101,接收ipv6报文;
17.步骤102,确定未查找到ipv6报文的会话表项;
18.步骤103,将ipv6报文封装为分段路由ipv6报文;其中,分段路由ipv6报文的外层源ip地址和目的ip地址分别是本设备ipv6地址以及是到达对端防火墙的ipv6地址的下一跳;分段路由头的分段列表是逆序压栈的到达对端防火墙设备的各跳的ipv6地址;
19.步骤104,向下一跳发送分段路由ipv6报文;
20.通过上述步骤,以使得双机热备组的对端防火墙设备收到三层报文的会话检查。
21.本技术的有益效果在于,经由双机热备组的防火墙设备转发的同一业务流的正向报文和反向报文的路径一致,提高防火墙设备的业务可靠性。
22.图2为本技术提供报文转发示意图。
23.图2中,终端20发送访问服务器26的正向的ipv6报文210;其中,源ip地址是ip20,目的ip地址是ip26。ipv6报文210被逐跳地转发到双机热备组的防火墙设备21。防火墙设备21基于收到的ipv6报文210建立会话表项;该会话表项记录报文的源ip、源端口、目的ip、目的端口、协议以及地址转换等信息。
24.防火墙设备21。根据路由表中目的ip地址的下一跳将其发送到路由器23。ipv6报文210经由路由器23被逐跳地发送到网络设备25,由网络设备25基于ipv6报文210的目的ip地址发往服务器26。
25.服务器26发送反向的ipv6报文220;其中,源ip地址是ip26,目的ip地址是ip20。ipv6报文220发送到网络设备25。ipv6报文220经由网络设备25被逐跳地发送到路由器24,路由器24根据路由表中目的ip地址ip20的下一跳是防火墙设备22,将其发送到防火墙设备22。防火墙设备22还未同步防火墙设备21的会话表项,基于ipv6报文220未查找到匹配的会话表项。
26.防火墙设备22查找对端防火墙设备21的ipv6地址ipv6,选择本设备到对端防火墙设备21的路径的各跳是:防火墙设备22

>路由器24

>路由器23

>防火墙设备21。防火墙设备22为ipv6报文220封装分段路由头(segment routing header,srh),srh头的分段列表(segment list)的sid(segment identification)依次是逆序压栈的到达对端防火墙设备的路径的各跳的ipv6地址ip21、ip23、ip24,srh头的剩余分段(segment left,sl)等于2。防火墙设备22封装外层ip头;其中,源ip地址是防火漆设备22的ipv6地址;目的ip地址是分段列表中下一个sid的ip24。防火墙设备22将ipv6地址220封装为sr ipv6报文230,将其发送到路由器24。
27.路由器24收到sr ipv6报文230,确定目的ip地址本设备的ipv6地址,根据本设备的ipv6地址的指令(function)部分绑定的功能,确定sl>0,将sl=2减1后,将分段列表中作为下一个sid的ip23设置为外层目的ip地址,将本设备路由表中内层ipv6报文220的目的ip地址ip20的下一跳修改为ip23,即分段列表中作为下一个sid的ipv6地址。路由器设备24将sr ipv6报文230发送到路由器23。
28.路由器23收到sr ipv6报文230,确定目的ip地址本设备的ipv6地址,根据本设备的ipv6地址的指令部分绑定的功能,确定sl>0,将sl=1减1后,将分段列表中作为下一个sid的ip21设置为外层目的ip地址,将本设备路由表中内层ipv6报文220的目的ip地址ip20的下一跳修改为ip21,即分段列表中作为下一个sid的ipv6地址。路由器设备23将sr ipv6报文230发送到防火墙设备21。
29.防火墙设备21收到sr ipv6报文230,确定目的ip地址本设备的ipv6地址,根据本设备的ipv6地址的指令部分绑定的功能,确定sl=0,剥掉外层ip头和srh头,得到内层ipv6报文220。
30.防火墙设备21查找到ipv6报文220匹配的会话表项,根据本地路由表中目的ip地址ip20的下一跳地址,将ipv6报文220发往其下一跳。经由防火墙设备21,ipv6报文220被逐跳地发送到终端20。
31.当服务器26再次发送反向的ipv6报文240;其中,源ip地址是ip26,目的ip地址是ip20。ipv6报文240经由网络设备25被逐跳地发送到路由器24。
32.路由器24根据本设备路由表中目的ip地址ip20的下一跳地址是路由器23的ipv6地址ip23,将ipv6报文240发送到路由器23。
33.路由器23根据本设备路由表中目的ip地址ip20的下一跳是防火墙设备21的ipv6地址ip21,将ipv6报文240发送到防火墙设备21。
34.防火墙设备21收到ipv6报文240,查找到匹配的会话表项,根据本地路由表中目的ip地址ip20的下一跳地址,将ipv6报文240发往其下一跳。经由防火墙设备21,ipv6报文240被逐跳地发送到终端20。
35.图3所示的报文转发设备可用于图2中的防火墙设备,该设备30包括处理器31、存储器32及交换芯片。存储器32用于存储处理器可执行指令;其中,处理器31通过运行存储器32中的处理器可执行指令用以执行以下操作:接收第一ipv6报文;确定未查找到第一ipv6报文的会话表项;将第一ipv6报文封装为第一分段路由ipv6报文;其中,第一分段路由ipv6报文的外层源ip地址是本设备ipv6地址,第一分段路由ipv6报文的目的ip地址是到达对端防火墙的ipv6地址的下一跳;分段路由头的分段列表是逆序压栈的到达对端防火墙设备的各跳的ipv6地址;向下一跳发送第一分段路由ipv6报文,以使得双机热备组的对端防火墙设备收到第一分段路由ipv6后对内层的第一ipv6报文进行会话检查。
36.处理器31通过运行存储器32中的处理器可执行指令还执行以下操作:接收第二分段路由ipv6报文;其中,第二分段路由ipv6报文的外层源ip地址和目的ip地址分别是对端防火墙设备的ipv6地址以及本设备的ipv6地址;根据本设备的ipv6地址的指令部分,将第二分段路由ipv6报文的外层ip头和分段路由头剥掉;根据内层的第二ipv6报文查找到会话表项,根据第二ipv6报文的目的ip地址执行三层转发。
37.图4所示的报文转发设备可用于图2中的路由设备,该设备40至少包括处理器41以及存储器42;存储器用于存储处理器可执行指令;其中,处理器41通过运行存储器42中的处理器可执行指令用以执行以下操作:接收第一分段路由ipv6报文;其中,第一分段路由ipv6报文的外层目的ip地址的源ip地址是双机热备组的第一防火墙设备的ipv6地址;分段路由头的分段列表的逆序压栈的第一个分段标识是双机热备组的第二防火墙设备的ipv6地址;确定第一分段路由ipv6报文的外层目的ip地址是本设备ipv6地址;根据本设备ipv6地址的指令部分读取分段列表中作为下一个分段标识,将第一分段路由ipv6报文的内层ipv6报文的内层目的ip地址在本地路由表的下一跳修改为作为下一个分段标识的ipv6地址;将第一分段路由ipv6报文的外层目的ip地址修改为作为下一个分段标识的ipv6地址;将第一ipv6报文发送到修改后的外层目的ip地址。
38.处理器41通过运行存储器42中的处理器可执行指令还执行以下操作:接收第二ipv6报文;根据第二ipv6报文的目的ip地址查找本地路由表;确定第二ipv6报文的目的ip地址的下一跳地址是作为下一个分段标识的ipv6地址;将第二ipv6报文发往作为下一个分段标识的ipv6地址。
39.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1