一种报文转发方法及装置制造方法及图纸

技术编号:19702797 阅读:15 留言:0更新日期:2018-12-08 14:20
本发明专利技术提供一种报文转发方法及装置,该方法包括:对于未带有隧道封装的三层报文,当查询到与所述三层报文匹配的目标三层转发表项时,根据所述目标三层转发表项判断所述三层报文的下一跳出接口与所述三层报文的入接口是否相同;若相同,则将所述三层报文的下一跳出接口修改为目标隧道接口,并对所述三层报文进行隧道封装;将隧道封装后的所述三层报文通过所述目标隧道接口转发;若不同,则通过所述三层报文的下一跳出接口转发所述三层报文。应用本发明专利技术实施例可以降低数据中心组网中产生环路的概率,提高数组中心组网的可靠性。

【技术实现步骤摘要】
一种报文转发方法及装置
本专利技术涉及网络通信
,尤其涉及一种报文转发方法及装置。
技术介绍
随着服务器的能力以及带宽的增强,数据中心机房中出现了一些新的技术应用,如跨设备堆叠和高带宽双网卡。以图1所示组网为例,在接入设备(R2和R3)和服务器(R4)之间通过双网卡和非堆叠聚合的方式互连,形成非同步式的互备链路。服务器采用一个主机地址,分别和多个(图中以两个为例)接入设备建立直连链路,形成相同的ARP(AddressResolutionProtocol,地址解析协议)表项,向外发布相同的主机路由。对于汇聚交换机(R1)而言,R1-R2-R4和R1-R3-R4形成等价路径,从R1去往R4的报文会在该两条等价路径上分担。然而实践发现,在图1所示网络架构中,当R2与R4之间的链路故障,但R1-R2-R4对应的路由尚未撤销时,通过R1-R2-R4这一路径转发的报文仍然会从R1发送至R2,此时,由于R2和R4之间的链路故障,R2会将报文重新发送给R1;而由于R1-R2-R4对应的路由尚未撤销,R1接收到该报文时,会再次发送给R1,进而,报文在R1和R2之间形成环路。
技术实现思路
本专利技术提供一种报文转发方法及装置,以解决数据中心组网中接入设备与服务器之间链路故障引起的环路的问题。根据本专利技术实施例的第一方面,提供一种报文转发方法,应用于包括多个接入设备的数据中心组网中的目标接入设备,所述数据中心组网中的接入设备与服务器通过非堆叠聚合方式互连,同一服务器对应的聚合组成员接入设备中任意两个接入设备之间建立有隧道,所述方法包括:对于未带有隧道封装的三层报文,当查询到与所述三层报文匹配的目标三层转发表项时,根据所述目标三层转发表项判断所述三层报文的下一跳出接口与所述三层报文的入接口是否相同;若相同,则将所述三层报文的下一跳出接口修改为目标隧道接口,并对所述三层报文进行隧道封装;将隧道封装后的所述三层报文通过所述目标隧道接口转发;若不同,则通过所述三层报文的下一跳出接口转发所述三层报文。根据本专利技术实施例的第二方面,提供一种报文转发装置,应用于包括多个接入设备的数据中心组网中的目标接入设备,所述数据中心组网中的接入设备与服务器通过非堆叠聚合方式互连,同一服务器对应的聚合组成员接入设备中任意两个接入设备之间建立有隧道,所述装置包括:接收单元,用于接收报文;查询单元,用于根据所述接收单元接收到的三层报文查询三层转发表项;判断单元,用于对于未带有隧道封装的三层报文,当所述查询单元查询到与所述三层报文匹配的目标三层转发表项时,根据所述目标三层转发表项判断所述三层报文的下一跳出接口与所述三层报文的入接口是否相同;处理单元,用于若所述三层报文的下一跳出接口与所述三层报文的入接口相同,则将所述三层报文的下一跳出接口修改为目标隧道接口,并对所述三层报文进行隧道封装;转发单元,用于将隧道封装后的所述三层报文通过所述目标隧道接口转发;所述转发单元,还用于若所述三层报文的下一跳出接口与所述三层报文的入接口不同,则通过所述三层报文的下一跳出接口转发所述三层报文。应用本专利技术实施例,通过在同一服务器对应的聚合组成员接入设备中任意两个接入设备之间建立隧道,对于未带有隧道封装的三层报文,当根据查询到的匹配的三层转发表项确定该三层报文的下一跳出接口与报文入接口相同时,通过隧道转发该三层报文,以避免环路产生,降低了数据中心组网中产生环路的概率,提高了数组中心组网的可靠性。附图说明图1是一种数据中心组网的架构示意图;图2是本专利技术实施例提供的一种报文转发方法的流程示意图;图3是本专利技术实施例提供的一种具体应用场景的架构示意图;图4是本专利技术实施例提供的图3所示应用场景下的报文转发方法的流程示意图;图5是本专利技术实施例提供的一种具体应用场景的架构示意图;图6是本专利技术实施例提供的图5所示应用场景下的报文转发方法的流程示意图;图7是本专利技术实施例提供的一种报文转发装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。请参见图2,为本专利技术实施例提供的一种流量转发方法的流程示意图,其中,该流量转发方法可以应用于包括多个接入设备的数据中心组网中的任一接入设备(本文中称为目标接入设备),该数据中心组网中的接入设备与服务器通过非堆叠聚合方式互连,如图2所示,该流量转发方法可以包括以下步骤:步骤201、对于未带有隧道封装的三层报文,当查询到与三层报文匹配的目标三层转发表项时,根据目标三层转发表项判断三层报文的下一跳出接口与三层报文的入接口是否相同。若是,则转至步骤202;否则,转至步骤204。本专利技术实施例中,对于接入设备与服务器通过非堆叠聚合方式互连的数据中心组网,为了避免由于接入设备与服务器之间的链路故障而导致的环路,对于同一服务器对应的多个聚合组成员接入设备(即与同一个服务器通过非堆叠聚合方式连接的接入设备),可以在任意两个接入设备之间建立隧道。举例来说,假设服务器1与接入设备1~3通过非堆叠聚合方式连接,则接入设备1~3属于同一聚合组的成员接入设备,接入设备1和接入设备2、接入设备2和接入设备3,接入设备3和接入设备1之间均分别建立隧道。其中,该隧道可以包括但不限于静态GRE(GenericRoutingEncapsulation,通用路由封装)隧道。为了便于描述和理解,下文中若未特殊说明,所提及的隧道均指同一服务器对应的多个聚合组成员接入设备之间建立的隧道。本专利技术实施例中,当目标接入设备接收到报文时,目标接入设备可以判断该报文是否为带有隧道封装的三层报文,并当该报文为未带有隧道封装的三层报文时,目标接入设备可以根据该三层报文的目的IP地址查询三层转发表,以确定是否存在匹配的三层转发表项(本文中称为目标三层转发表项)。本专利技术实施例中,当目标接入设备查询到目标三层转发表项时,目标接入设备可以根据该目标三层转发表项中的下一跳出接口,判断该三层报文的下一跳出接口与该三层报文的入接口是否相同。需要说明的是,在本专利技术实施例中,当目标接入设备未查询到与三层报文匹配的目标三层转发表项时,目标接入设备可以直接丢弃该三层报文,或按照其它策略处理,本专利技术实施例对此不做限定。步骤202、将三层报文的下一跳出接口修改为目标隧道口,并对三层报文进行隧道封装。本专利技术实施例中,为了避免环路产生,当目标接入设备确定该三层报文的下一跳出接口与三层报文的入接口相同时,目标接入设备可以通过隧道将该三层报文转发给同一聚合组的其它聚合成员接入设备,由其它聚合成员接入设备对该三层报文进行转发。具体地,当目标接入设备确定该三层报文的下一跳出接口与三层报文的入接口相同时,目标接入设备可以将该三层报文的下一跳出接口修改为目标接入设备上的隧道接口,并对该三层报文进行隧道封装。在一个示例中,当目标接入设备与一个其它接入设备建立有隧道时,目标接入设备可以直接将该三层报文的下一跳出接口修改为该隧道在目标接入设备上的隧道接口(即将该隧道接口确定为目标隧道接口),并根据该隧道的信息对该三层报文进行隧道封装。在另一个示例中,当目标接入设备与至少两个其它接入设备建立有隧道时,目标接入设备可以从本文档来自技高网
...

【技术保护点】
1.一种报文转发方法,应用于包括多个接入设备的数据中心组网中的目标接入设备,所述数据中心组网中的接入设备与服务器通过非堆叠聚合方式互连,其特征在于,同一服务器对应的聚合组成员接入设备中任意两个接入设备之间建立有隧道,所述方法包括:对于未带有隧道封装的三层报文,当查询到与所述三层报文匹配的目标三层转发表项时,根据所述目标三层转发表项判断所述三层报文的下一跳出接口与所述三层报文的入接口是否相同;若相同,则将所述三层报文的下一跳出接口修改为目标隧道接口,并对所述三层报文进行隧道封装;将隧道封装后的所述三层报文通过所述目标隧道接口转发;若不同,则通过所述三层报文的下一跳出接口转发所述三层报文。

【技术特征摘要】
1.一种报文转发方法,应用于包括多个接入设备的数据中心组网中的目标接入设备,所述数据中心组网中的接入设备与服务器通过非堆叠聚合方式互连,其特征在于,同一服务器对应的聚合组成员接入设备中任意两个接入设备之间建立有隧道,所述方法包括:对于未带有隧道封装的三层报文,当查询到与所述三层报文匹配的目标三层转发表项时,根据所述目标三层转发表项判断所述三层报文的下一跳出接口与所述三层报文的入接口是否相同;若相同,则将所述三层报文的下一跳出接口修改为目标隧道接口,并对所述三层报文进行隧道封装;将隧道封装后的所述三层报文通过所述目标隧道接口转发;若不同,则通过所述三层报文的下一跳出接口转发所述三层报文。2.根据权利要求1所述的方法,其特征在于,所述将所述三层报文的下一跳出接口修改为目标隧道接口,包括:当所述目标接入设备与至少两个其它接入设备建立有所述隧道时,从所述目标接入设备上对应所述至少两个其它接入设备的隧道接口中选择一个隧道接口作为所述目标隧道接口;将所述三层报文的下一跳出接口修改为所述目标隧道接口。3.根据权利要求1所述的方法,其特征在于,所述判断所述目标三层转发表项的下一跳出接口与所述三层报文的入接口是否相同之前,还包括:判断所述三层报文中是否携带隧道标签;若未携带,则确定执行所述判断所述目标三层转发表项的下一跳出接口与所述三层报文的入接口是否相同的步骤。4.根据权利要求3所述的方法,其特征在于,所述判断所述三层报文中是否携带隧道标签之后,还包括:若携带,则判断是否存在与所述三层报文的目的IP地址对应的直连路由;若存在,则根据所述直连路由转发所述三层报文;若不存在,则当所述目标接入设备与至少两个其它接入设备建立有所述隧道时,将所述三层报文的下一跳出接口修改为接收到所述三层报文的隧道接口之外的其它隧道接口;对所述三层报文进行隧道封装,并将隧道封装后的所述三层报文通过该其它隧道接口转发。5.根据权利要求1-4所述的方法,其特征在于,所述方法还包括:当接收到带有隧道封装的三层报文时,解除所述带有隧道封装的三层报文的隧道封装,以得到未带有隧道封装的三层报文;在所述未带有隧道封装的三层报文中添加隧道标签。6.一种报文转发装置,应用于包括多个接入设备的数据中心组网中的目标接入设备,所述数据中心组网中的接入设备与服务器通过非堆叠聚合方式互连,其特征在于,同一服务器对...

【专利技术属性】
技术研发人员:郭振华况伟宋高
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1