背景技术
IRF(Intelligent Resilient Framework,智能弹性架构)为软件虚拟化技术,将多台设备通过IRF物理端口连接在一起,进行必要的配置后,虚拟化成一台分布式设备,该技术主要有以下优点:(1)管理简化,IRF形成之后,用户通过任意成员设备的任意端口均可以登录IRF系统,对IRF内所有成员设备进行统一管理;(2)高可靠性,IRF由多台成员设备组成,Master(主)设备负责IRF的运行、管理和维护,Slave(从)设备在作为备份的同时也可处理业务,一旦Master设备故障,则可迅速选举新的Master设备,以保证业务不中断,从而实现了设备的1:N备份;此外,成员设备之间的IRF链路支持聚合功能,IRF和上、下层设备之间的物理链路也支持聚合功能,多条链路之间可以互为备份、也可以进行负载分担,从而进一步提高了IRF的可靠性;(3)网络扩展能力,通过增加成员设备,可以扩展IRF的端口数、带宽,且由于各成员设备均有CPU(Central Processing Unit,中央处理器),能够独立处理数据、进行数据转发,因此IRF能够扩展处理能力。
此外,网络上由链路或节点故障导致的流量传输中断,一直持续到路由在新拓扑上重新收敛后才恢复,目前路由收敛时间持续在1s左右,而许多运营商期望故障导致的流量中断控制在50ms以内,因此,当探测到故障时,可以直接利用备份路由替换失效路由先在本地直接修复故障,在整个新路由完成重新收敛期间,一直使用备份路由指导转发,使得流量中断时间大大缩短,这种技术称为IP FRR(Fast ReRoute,快速重路由),FRR可通过为主路由或链路建立备份路由或链路,当主路由或链路出现故障时,能够迅速切换到备份路由或链路,从而减少网络故障引起的数据丢失。
如图1和图2所示的IP快速重路由的具体应用场景示意图,在图1中,针对到路由器E的路径,路由器B的路由表中有通过路由器D转发的主链路、以及通过路由器C转发备份链路。正常情况下,到路由器E的数据经由主链路B-D转发,备份链路B-C-D上不转发数据。在图2中,路由器B周期性发送探测报文检查路由器B与路由器D之间链路的连通性能,当探测到路由器B与路由器D之间的链路失效时,立即将目的地为路由器E的数据转发到路由器C,从而实现流量的快速切换。
基于IRF技术和FRR技术,在成员设备上应用FRR技术可以缩短链路故障时流量中断的时间,如图3所示,成员设备与上行存在两条链路,形成FRR路由,配置Master设备上行相连的链路为主链路,Slave设备上行相连的链路为备份链路;IRF与下行三台设备A、B、C相连,设备A,B与IRF通过三层聚合链路相连,设备C由于接入限制,仅与Slave设备相连。
基于图3的组网,设备A上数据在三层聚合链路进行负载分担,部分数据(可以为所有数据)将HASH到设备A与Slave设备相连的链路上,Slave设备上数据经过IRF链路转发到Master设备,再通过主链路进行转发。设备C由于只与Slave设备相连,上行至Slave设备的数据全部需要经过IRF链路转发到Master设备,再通过主链路进行转发。上述情况下,由于存在Master设备与Slave设备之间的数据传输,因此出现上述情况时会增大堆叠口的转发压力,继而可能造成流量拥塞,影响正常业务流量转发。
因此,在IRF组网环境下,应尽量避免数据不必要的跨设备(如跨Master设备与Slave设备)转发,以减轻堆叠口的转发压力;但是,如图3所示,当FRR的主链路和备份链路的出接口分别在Master设备和Slave设备上时,又不可避免的会出现数据的跨设备转发,现有技术中并没用解决上述问题的方法,即无法解决流量拥塞,影响正常业务流量转发的问题。
发明内容
本发明提供一种IRF系统中基于FRR的数据传输方法和设备,以保证业务流量的正常转发,解决流量拥塞问题。
为了达到上述目的,本发明提供一种智能弹性架构IRF系统中基于快速重路由FRR的数据传输方法,IRF系统中包括多个成员设备,且成员设备与目的设备之间存在形成FRR的至少两条链路,所述至少两条链路中包括主链路和备份链路,主链路的出接口与备份链路的出接口位于不同的成员设备中,在IRF系统中配置到所述目的设备的路由,所述路由包括主链路对应的路由以及备份链路对应的路由,主链路对应的路由中具有主链路的出接口信息、备份链路对应的路由中具有备份链路的出接口信息;该方法包括以下步骤:
当成员设备需要向所述目的设备发送数据时,所述成员设备查询到所述目的设备的路由中的出接口信息;
当到所述目的设备的路由中包含有本成员设备的出接口时,所述成员设备通过包含有本成员设备的出接口的路由将所述数据发送给所述目的设备。
所述成员设备通过包含有本成员设备的出接口的路由将所述数据发送给所述目的设备,具体包括:
所述成员设备查询到主链路对应的路由中包含有本成员设备的出接口时,则通过主链路对应的路由将所述数据发送给所述目的设备;或者,
所述成员设备查询到备份链路对应的路由中包含有本成员设备的出接口时,则通过备份链路对应的路由将所述数据发送给所述目的设备。
所述方法还包括:成员设备对所述主链路和备份链路进行探测;
当探测到主链路出现故障时,所述成员设备将通过主链路对应的路由发送的数据切换到备份链路对应的路由上进行发送;或者,
当探测到备份链路出现故障时,所述成员设备将通过备份链路对应的路由发送的数据切换到主链路对应的路由上进行发送。
所述成员设备对所述主链路和备份链路进行探测,具体包括:
所述成员设备利用双向转发检测BFD会话对所述主链路和所述备份链路进行探测。
在IRF系统中配置到所述目的设备的路由时,所述IRF系统中的各成员设备均能够查询到所述目的设备的路由。
一种智能弹性架构IRF系统中作为成员设备的基于快速重路由FRR的数据传输设备,所述IRF系统中包括多个成员设备,且成员设备与目的设备之间存在形成FRR的至少两条链路,所述至少两条链路中包括主链路和备份链路,主链路的出接口与备份链路的出接口位于不同的成员设备中,在IRF系统中配置到所述目的设备的路由,所述路由包括主链路对应的路由以及备份链路对应的路由,主链路对应的路由中具有主链路的出接口信息、备份链路对应的路由中具有备份链路的出接口信息;该设备包括:
查询模块,用于当需要向所述目的设备发送数据时,查询到所述目的设备的路由中的出接口信息;
发送模块,用于当到所述目的设备的路由中包含有本设备的出接口时,通过包含有本设备的出接口的路由将所述数据发送给所述目的设备。
所述发送模块,具体用于当查询到主链路对应的路由中包含有本设备的出接口时,通过主链路对应的路由将所述数据发送给所述目的设备;或者,
当查询到备份链路对应的路由中包含有本设备的出接口时,通过备份链路对应的路由将所述数据发送给所述目的设备。
还包括:检测模块,用于对所述主链路和备份链路进行探测;
所述发送模块,还用于当探测到主链路出现故障时,将通过主链路对应的路由发送的数据切换到备份链路对应的路由上进行发送;或者,
当探测到备份链路出现故障时,将通过备份链路对应的路由发送的数据切换到主链路对应的路由上进行发送。
所述检测模块,具体用于利用双向转发检测BFD会话对所述主链路和所述备份链路进行探测。
在IRF系统中配置到所述目的设备的路由时,所述查询模块能够查询到所述目的设备的路由。
与现有技术相比,本发明至少具有以下优点:在IRF组网环境中应用FRR功能时,能够有效的避免跨设备转发数据的问题,从而避免堆叠口出现拥塞影响正常业务;在受地理位置和堆叠端口限制不便于扩充IRF链路带宽的情况下,可以充分利用FRR路由中可用的空闲备份链路进行流量分担。
具体实施方式
现有技术中,出现跨设备流量的原因在于:FRR路由中主链路和备份链路的出接口位于IRF系统的不同设备上,因此,在计算或者指定形成FRR路由时,可以对主链路和备份链路的出接口进行判断,当主链路的出接口与备份链路的出接口位于相同的成员设备上时,在成员设备上形成现有的FRR路由,该过程本发明中不再赘述。后续为针对主链路的出接口与备份链路的出接口位于不同的成员设备上的处理。
基于该情况,本发明提出一种IRF系统中基于FRR的数据传输方法,该IRF系统中包括多个成员设备(有一个Master设备和至少一个Slave设备),且成员设备与目的设备之间存在形成FRR的至少两条链路,该至少两条链路中包括主链路和备份链路(可以为多条备份链路),且主链路的出接口与备份链路的出接口位于不同的成员设备中。
以图4为本发明应用场景示意图,在IRF系统中包括Master设备和Slave设备,目的设备为设备F(即设备A、B、C等需要访问的设备),IRF系统与设备F之间存在主链路和备份链路,且Master设备与设备D之间的链路为主链路,Slave设备与设备E之间的链路为备份链路;因此,主链路的出接口位于Master设备上,备份链路的出接口位于Slave设备上。
考虑到FRR路由可以看作是包含到相同目的地址的相同优先级的两条或者多条不同cost(开销)值的路由,cost值最低的路由作为主链路,其它路由作为备份链路(备用链路可以是IGP通过计算得到,也可以通过手工指定);在正常情况下,硬件转发只有主链路有效,当检测到主链路故障时,会快速切换到备份链路进行转发。因此,基于上述组网情况,当存在多条等价链路(即上述的主链路和备份链路)时,成员设备可优先使用出接口在本设备的路由用于指导硬件转发,以减少跨设备转发的流量。
基于上述发现,本发明中,需要在IRF系统中配置到目的设备的路由,且路由包括主链路对应的路由以及备份链路对应的路由,主链路对应的路由中具有主链路的出接口信息、备份链路对应的路由中具有备份链路的出接口信息;需要注意的是,在IRF系统中配置到目的设备的路由时,IRF系统中的各成员设备均能够查询到目的设备的路由。
以图4为例,需要在IRF系统中配置到设备F的路由,该设备F的路由为11.0.0.0/8,即目的路由为11.0.0.0/8;则目的路由为11.0.0.0/8的路由包括主链路对应的路由以及备份链路对应的路由;IRF系统的Master设备和Slave设备均可以直接查询到主链路对应的路由以及备份链路对应的路由。
主链路对应的路由为:
Destination(目的路由):11.0.0.0/8
Protocol(协议):ISIS
cost(开销值):15
NextHop(下一跳):10.1.1.2
Interface(接口):GE1/2/1/1
BackupNextHop(备份下一跳):20.1.1.2
BackupInterface(备份接口):GE2/2/2/2
由上述的主链路对应的路由可以得出:目的路由为11.0.0.0/8,协议为ISIS,开销值为15,下一跳地址为10.1.1.2(即设备D的地址),出接口地址为1/2/1/1(即Master设备上的出接口地址),备份下一跳地址为20.1.1.2(即设备E的地址),备份出接口地址为2/2/2/2(即Slave设备上的出接口地址)。
备份链路对应的路由为:
Destination:11.0.0.0/8
Protocol:ISIS
cost:20
NextHop:20.1.1.2
Interface:GE2/2/2/2
BackupNextHop:10.1.1.2
BackupInterface:GE1/2/1/1
由上述的备份链路对应的路由可以得出:目的路由为11.0.0.0/8,协议为ISIS,开销值为20,下一跳地址为20.1.1.2(即设备E的地址),出接口地址为2/2/2/2(即Slave设备上的出接口地址),备份下一跳地址为10.1.1.2(即设备D的地址),备份出接口地址为1/2/1/1(即Master设备上的出接口地址)。
基于上述配置的主链路对应的路由以及备份链路对应的路由,如图5所示,该方法包括以下步骤:
步骤501,当成员设备需要向目的设备发送数据时,成员设备查询到目的设备的路由中的出接口信息。
步骤502,当到目的设备的路由中包含有本成员设备的出接口时,则成员设备通过包含有本成员设备的出接口的路由将数据发送给目的设备。
具体的,当成员设备查询到主链路对应的路由中包含有本成员设备的出接口时,则通过主链路对应的路由将数据发送给目的设备;或者,当成员设备查询到备份链路对应的路由中包含有本成员设备的出接口时,则通过备份链路对应的路由将数据发送给目的设备。
针对图4所示的应用场景,当Master设备需要向设备F发送数据时,Master设备需要查询目的路由为11.0.0.0/8的路由中的出接口信息,即查询上述主链路对应的路由中的出接口信息、以及备份链路对应的路由中的出接口信息;其中,主链路对应的路由中的出接口信息为1/2/1/1,备份链路对应的路由中的出接口信息为2/2/2/2。由此可见,主链路对应的路由中包含有本成员设备(即Master设备)的出接口,因此,Master设备需要通过主链路对应的路由将数据发送给目的设备,该发送过程不再赘述。
当Slave设备需要向设备F发送数据时,Slave设备需要查询目的路由为11.0.0.0/8的路由中的出接口信息,即查询上述主链路对应的路由中的出接口信息、以及备份链路对应的路由中的出接口信息;其中,主链路对应的路由中的出接口信息为1/2/1/1,备份链路对应的路由中的出接口信息为2/2/2/2。由此可见,备份链路对应的路由中包含有本成员设备(即Slave设备)的出接口,因此,Slave设备需要通过备份链路对应的路由将数据发送给目的设备,该发送过程不再赘述。
需要说明的是,从应用角度上考虑,在IRF组网环境中,通常形成IRF的两台或者多台设备间性能上比较均等,当形成FRR的路由的主链路和备用链路的出接口分布在Master设备和Slave设备上时,上述方式可保证两条链路具备均等的转发能力,从而能够保证转发时二者互为备份。
本发明中,成员设备还需要对主链路和备份链路进行探测(如成员设备利用双向转发检测BFD会话对主链路和备份链路进行探测);当探测到主链路出现故障时,则成员设备将通过主链路对应的路由发送的数据切换到备份链路对应的路由上进行发送;或者,当探测到备份链路出现故障时,成员设备将通过备份链路对应的路由发送的数据切换到主链路对应的路由上进行发送。
综上所述,本发明中,在IRF组网场景中,将形成FRR路由的主链路和备份链路当作逻辑上的等价路由进行下发指导硬件转发;当主链路和备份链路的出接口分布在IRF的不同成员设备上时,Master设备和Slave设备均能够通过出接口在本设备的链路上进行转发,从而尽量避免跨设备转发流量过多,有效利用了空闲备份链路进行流量的分担。进一步的,当成员设备由于地理位置连接或者端口不足情况不便于扩充时,可调整经过堆叠口跨设备转发的三层流量缓解堆叠口转发压力,达到降低或消除对正常业务流量转发的影响,尽量避免不必要的流量丢弃。
基于与上述方法同样的发明构思,本发明还提出了一种智能弹性架构IRF系统中作为成员设备的基于快速重路由FRR的数据传输设备,所述IRF系统中包括多个成员设备,且成员设备与目的设备之间存在形成FRR的至少两条链路,所述至少两条链路中包括主链路和备份链路,主链路的出接口与备份链路的出接口位于不同的成员设备中;在IRF系统中配置到所述目的设备的路由,所述路由包括主链路对应的路由以及备份链路对应的路由,主链路对应的路由中具有主链路的出接口信息、备份链路对应的路由中具有备份链路的出接口信息;如图6所示,该设备包括:
查询模块11,用于当需要向所述目的设备发送数据时,查询到所述目的设备的路由中的出接口信息;
发送模块12,用于当到所述目的设备的路由中包含有本设备的出接口时,通过包含有本设备的出接口的路由将所述数据发送给所述目的设备。
所述发送模块12,具体用于当查询到主链路对应的路由中包含有本设备的出接口时,通过主链路对应的路由将所述数据发送给所述目的设备;或者,
当查询到备份链路对应的路由中包含有本设备的出接口时,通过备份链路对应的路由将所述数据发送给所述目的设备。
还包括:检测模块13,用于对所述主链路和备份链路进行探测;
所述发送模块12,还用于当探测到主链路出现故障时,将通过主链路对应的路由发送的数据切换到备份链路对应的路由上进行发送;或者,
当探测到备份链路出现故障时,将通过备份链路对应的路由发送的数据切换到主链路对应的路由上进行发送。
所述检测模块13,具体用于利用双向转发检测BFD会话对所述主链路和所述备份链路进行探测。
在IRF系统中配置到所述目的设备的路由时,所述查询模块能够查询到所述目的设备的路由。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。