CN104168201A - 一种多路径转发的方法及装置 - Google Patents

一种多路径转发的方法及装置 Download PDF

Info

Publication number
CN104168201A
CN104168201A CN201410383510.1A CN201410383510A CN104168201A CN 104168201 A CN104168201 A CN 104168201A CN 201410383510 A CN201410383510 A CN 201410383510A CN 104168201 A CN104168201 A CN 104168201A
Authority
CN
China
Prior art keywords
forwarding
table item
message
destination address
hash
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.)
Granted
Application number
CN201410383510.1A
Other languages
English (en)
Other versions
CN104168201B (zh
Inventor
黄志彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruijie Networks Co Ltd
Original Assignee
Fujian Star Net Communication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN201410383510.1A priority Critical patent/CN104168201B/zh
Publication of CN104168201A publication Critical patent/CN104168201A/zh
Application granted granted Critical
Publication of CN104168201B publication Critical patent/CN104168201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供了一种多路径转发的方法及装置,涉及通信领域,用以在没有配置专用的支持ECMP路由的情况下,将相同目的地址的报文通过不同的转发出口转发,即实现多路径转发。该方法包括:建立以包括地址、匹配值和转发出口为转发表项的转发表;转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;接收报文,提取报文的特征值;报文中携带报文的目的地址;对报文的特征值进行哈希计算,获得特征哈希值;特征哈希值的位数不小于匹配值的位数;根据报文的目的地址和特征哈希值,从转发表中查找目标转发表项;将报文转发至目标转发表项对应的转发出口。

Description

一种多路径转发的方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种多路径转发的方法及装置。
背景技术
在传统的以太网中,同时存在LAN(Local Area Network,局域网)和SAN(Storage Area Network,存储网络)两种网络,其中,LAN使用以太网协议,SAN使用FC(Fibre Channel,光纤通信)协议。由于使用的协议不同,使得LAN与SAN的数据不能相互通用。
随着网络融合的趋势,各网络中的数据也需要融合。INCITS(国际信息技术标准委员会)在2007年到2009年期间制定出通过传统以太网承载SAN网络业务的FCoE(Fibre Channel over Ethernet,以太网光纤通信)标准。FCoE的技术方案中,在FC报文前封装了以太网的首部,使得以太网报文和SAN报文都能够在以太网的链路上传输。
传统的以太网中,以太网交换机接收到报文后,根据报文中的目的地址为该报文指定一个与目的地址固定对应的下一跳出口。但是实际情况中,到达同一目的地址可以存在多条路径,为了充分利用冗余路径,提出了ECMP(Equal-Coat Multipath Routing,等价多路径),将相同目的地址的报文通过不同的下一跳出口转发。
在将ECMP应用到FCoE的过程中,转发表中一个地址对应一个转发表项,每一转发表项对应多个转发出口。在根据报文中的目的地址查找出对应的转发表项后,通过专有的支持ECMP的路由或者专有的支持ECMP路由的单元,从该转发表项的多个转发出口中确定出一个转发出口,并将报文通过该转发出口转发。
在上述实现多路径转发的过程中,发明人发现现有技术存在如下问题:由于一个转发表项对应多个转发出口,所以必须在配置了专用的支持ECMP的路由或者专有的支持ECMP路由的单元的情况下,才能从这多个转发出口中确定出一个转发出口,以将相同目的地址的不同报文通过不同的转发出口转发,即实现多路径转发。
发明内容
本发明的实施例提供一种多路径转发的方法及装置,用以在没有配置专用的支持ECMP的路由以及专有的支持ECMP路由的单元的情况下,将相同目的地址的报文通过不同的转发出口转发,即实现多路径转发。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种多路径转发的方法,包括:
建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;
接收报文,提取报文的特征值;所述报文中携带报文的目的地址;
对所述报文的特征值进行哈希计算,获得特征哈希值;
根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项;
将所述报文转发至所述目标转发表项对应的转发出口。
结合第一方面,在第一方面的第一种可能的实现方式中,所述报文的特征值包括:
所述目的地址、源地址和会话标识;所述会话标识用于标记所述报文所属会话;
或者,所述目的地址和所述源地址;
或者,所述目的地址和所述会话标识;
或者,所述源地址和所述会话标识。
结合第一方面,在第一方面的第二种可能的实现方式中,所述转发表中,所有地址相同的转发表项的匹配值互不相同,且转发出口互不相同。
结合第一方面,在第一方面的第三种可能的实现方式中,每一转发表项的匹配值分为哈希域和掩码两部分;
所述根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项包括:
从所述转发表中查找出转发表项中的地址与所述报文的目的地址相同的转发表项,并将查找出的转发表项确定为预选转发表项;
根据每一预选转发表项中的掩码,确定出所述特征哈希值的第一数据位中的比较位以及预选转发表项的哈希域中的比较位;所述第一数据位是预先设定的所述特征哈希值中用于与转发表项中的匹配值进行匹配的数据位;
确定所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值是否相同;
将所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值相同的预选转发表项确定为目标转发表项。
结合第一方面,在第一方面的第四种可能的实现方式中,所述报文包括:以太网光纤通信FCoE报文;所述目的地址包括:目的光纤通道标识FCID;所述源地址包括:源FCID;所述会话标识包括:发起者交换标识OX_ID或者应答者交换标识RX_ID。
第二方面,本发明实施例提供了一种转发装置,包括:
创建单元,用于建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;
接收单元,用于接收报文;所述报文中携带报文的目的地址;
处理单元,用于提取报文的特征值;
计算单元,用于对所述报文的特征值进行哈希计算,获得特征哈希值;
查找单元,用于根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项;
发送单元,用于将所述报文转发至所述目标转发表项对应的转发出口。
结合第二方面,在第二方面的第一种可能的实现方式中,所述报文的特征值包括:
所述目的地址、源地址和会话标识;所述会话标识用于标记所述报文所属会话;
或者,所述目的地址和所述源地址;
或者,所述目的地址和所述会话标识;
或者,所述源地址和所述会话标识。
结合第二方面,在第二方面的第二种可能的实现方式中,所述转发表中,所有地址相同的转发表项的匹配值互不相同,且转发出口互不相同。
结合第二方面,在第二方面的第三种可能的实现方式中,每一转发表项的匹配值分为哈希域和掩码两部分;
所述查找单元,具体用于从所述转发表中查找出转发表项中的地址与所述报文的目的地址相同的转发表项,并将查找出的转发表项确定为预选转发表项;
所述查找单元,具体用于根据每一预选转发表项中的掩码,确定出所述特征哈希值的第一数据位中的比较位以及预选转发表项的哈希域中的比较位;所述第一数据位是预先设定的所述特征哈希值中用于与转发表项中的匹配值进行匹配的数据位;
所述查找单元,具体用于确定所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值是否相同;
所述查找单元,具体用于将所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值相同的预选转发表项确定为目标转发表项。
结合第二方面,在第二方面的第四种可能的实现方式中,所述报文包括:以太网光纤通信FCoE报文;所述目的地址包括:目的光纤通道标识FCID;所述源地址包括:源FCID;所述会话标识包括:发起者交换标识OX_ID或者应答者交换标识RX_ID。
本发明实施例提供了一种多路径转发的方法及装置,该方法包括:建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;接收报文,提取报文的特征值;对所述报文的特征值进行哈希计算,获得特征哈希值;根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项;将所述报文转发至所述目标转发表项对应的转发出口,这样,通过将转发表中的一个转发表项对应一个转发出口,并且给相同地址的转发表项设置不同的转发出口,在查找与报文对应的转发表项时,不仅仅通过报文的目的地址进行匹配,而是将报文的特征值经过哈希计算之后的值进行匹配,以将相同目的地址的报文分散至不同的转发出口进行转发,最终在不配置专用的支持ECMP路由以及专有的支持ECMP路由的单元的情况下,实现了多路径转发。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多路径转发的流程示意图;
图2为本发明实施例提供的多路径转发的示例图;
图3为本发明实施例提供的一种转发装置的功能示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种多路径转发的方法,如图1所示,包括:
101、建立以包括地址、匹配值和转发出口为转发表项的转发表。
其中,转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同。
需要说明的是,转发表中有多个转发表项,每一转发表项都包括:地址、匹配值和转发出口。转发表项中的地址用于与报文中的目的地址匹配,转发报文中的匹配值用于与根据报文的特征值计算出的特征哈希值匹配,转发出口用于在地址与匹配值均匹配的情况下,需要将报文转发至下一跳的出口。
需要说明的是,在建立转发表之前,需要获取本转发装置到一个地址的所有路径,同时获取每一路径的转发出口。其中,获取到一个地址的所有路径,同时获取所有路径的转发出口的过程与现有技术中的获取过程相同,在此不再说明。
需要说明的是,可以将相同地址的转发表项的匹配值设为不同,转发出口设为相同;也可以将相同地址的转发表项的匹配值与转发出口均设置为不同,此时,相同地址转发表项的数目等于到该地址的等价路径的条数,如图2所示,图中A、B、C、D均代表转发装置,服务器1与存储设备2之间存在两条等价转发路径A→B→D和A→C→D,那么转发装置A的转发表的转发表项中,地址为存储设备2的转发表项只有两条,两条转发表项的地址相同,匹配值不同,并且一条转发表项的出口为转发装置A将报文转发至转发装置B的出口,另一条转发表项的出口为转发装置A将报文转发至转发装置C的出口。但是同一转发表中的任意两个转发表项的地址和匹配值两者中至少有一个不相同,以避免同一报文查找到两个与之匹配的转发表项而无法确定根据哪一表项转发导致的转发异常。
进一步的,每一转发表项的匹配值分为哈希域和掩码两部分。
此时,转发表中,所有地址相同的转发表项的匹配值互不相同,且转发出口互不相同。
其中,首先根据掩码确定报文的特征哈希值中哪些位是有效数据位,然后报文的特征哈希值的有效数据位中的数据与匹配值中的哈希域进行匹配,确定本转发表项是否能够和该报文匹配。
一般情况下,转发表项的匹配值中哈希域的位数与掩码的位数相同。
示例性的,以转发表项中的匹配值共有6比特,其中,3比特的数据为掩码,3比特的数据为哈希值为例。可以将转发表项中的匹配值按照下表所示,进行设置。
示例性的,某一报文目的地址对应五个转发出口,从该报文的特征哈希值中选取出的需要进行匹配的数据为001。那么首先确定出地址与该报文的目的地址相同的转发表项,然后将数据001与每一转发表项匹配:对于哈希域010且掩码111的转发表项匹配,先根据掩码111确定出数据的三位都需要与哈希域进行匹配,再将数据的三位001与哈希域010比对,得知两者不同,所以哈希域010且掩码111的转发表项不是与该报文匹配的转发表项;对于哈希域011且掩码111的转发表项匹配,先根据掩码111确定出数据的三位都需要与哈希域进行匹配,再将数据的三位001与哈希域011比对,得知两者不同,所以哈希域011且掩码111的转发表项不是与该报文匹配的转发表项;对于哈希域000且掩码110的转发表项匹配,先根据掩码110确定出数据的前两位需要与哈希域的前两位进行匹配,再将数据的001的前两位中的数据00与哈希域的前两位中的数据00比对,得知两者相同,所以哈希域000且掩码110的转发表项0是与该报文匹配的转发表项。
102、接收报文,提取报文的特征值。
其中,所述报文中携带报文的目的地址。
需要说明的是,报文的特征值选取的条件必须保证目的地址相同的报文经过哈希算法得到的特征哈希值不完全相同,这样才能保证目的地址相同的报文匹配到的转发表项不同,从而将目的地址相同的报文通过不同出口进行转发的目的,最终实现多路径转发。所以报文的特征值的选取不能只包括目的地址,如果只包括目的地址,那么目的地址相同的报文经过相同的哈希算法之后得到的结果相同,从而匹配出的转发表项相同,就不能将目的地址相同的报文通过不同的出口进行转发,最终不能实现多路径转发。
具体的,接收报文,对报文进行解封,得到报文中携带的信息,包括:有效数据、源地址、目的地址,还可能包括会话标识。所述会话标识用于标记所述报文所属会话;所述报文的特征值包括:目的地址、源地址和会话标识;或者,目的地址和源地址;或者,目的地址和会话标识;或者,源地址和会话标识。
需要说明的是,在FC(Fibre Channel,光纤通信)网络中,会话标识可以是现有技术中的0X_ID(Originator eXchange IDentifier,发起者交换标识),也可以是现有技术中的RX_ID(Responder eXchangeIDentifier,应答者交换标识);在IP(Internet Protocol,网际协议)网络中,会话标识可以是报文中的四层端口号;会话标识还可以是其他能够标识一个报文所述会话的标识,本发明对此不做限制。
进一步的,所述报文包括:以太网光纤通信FCoE报文;所述目的地址包括:目的FCID(Fibre Channel IDentifier,光纤通道标识);所述源地址包括:源FCID;所述会话标识包括:发起者交换标识OX_ID或者应答者交换标识RX_ID。
103、对所述报文的特征值进行哈希计算,获得特征哈希值。
首先确定一种哈希算法,哈希算法是一种将任意长度的二进制值映射为较短的固定长度的二进制值的方法,所以确定哈希算法的同时,也就确定了经过该哈希算法后的计算结果有多少位;然后提取出的报文的特征值作为哈希算法的输入,将经过哈希算法计算后的结果确定为特征哈希值。
需要说明的是,本实施例中使用的哈希算法可以是现有技术中的XOR(异或运算),也可以是CRC(Cyclical Redundancy Check,循环冗余码校验),还可以是SHA(Secure Hash Algorithm,安全散列算法),本发明对此不做限制。
需要说明的是,特征哈希值的位数可以小于转发表项中匹配值的位数,也可以大于或者等于转发表项中匹配值的位数。
104、根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项。
具体的,在特征哈希值的位数等于转发表项中匹配值的位数的情况下,可以将报文的目的地址与转发表项的地址相同,并且特征哈希值与转发表项的匹配值相同的表项确定为目标转发表项;在特征哈希值的位数大于转发表项中匹配值的位数的情况下,可以将报文的目的地址与转发表项的地址比较,并且从特征哈希值中选出与转发表项的匹配值位数相同的数据和转发表项的匹配值比较,将两者都相同的转发表项确定为目标转发表项;在特征哈希值的位数小于转发表项中匹配值的位数的情况下,只能通过将转发表项中的值分为哈希域和掩码两部分的方法确定出目标转发表项。
示例性的,在特征哈希值的位数为7位,转发表项中匹配值的位数为7位的情况下,可以将报文的目的地址与转发表项的地址相同,并且特征哈希值与转发表项的匹配值相同的表项确定为目标转发表项。
示例性的,在特征哈希值的位数为7位,转发表项中匹配值的位数为5位的情况下,从特征哈希值中选出5位(例如,可以将特征哈希值中最低5位选出),将选出的5位中的数据与转发表项中匹配值的5位中的数据比较,最终将报文的目的地址与转发表项的地址相同,并且特征哈希值中选出5位数据与转发表项的匹配值5位中的数据相同的表项确定为目标转发表项。
示例性的,在特征哈希值的位数为7位,转发表项中匹配值的位数为8位的情况下,从特征哈希值中选出4位(例如,可以将特征哈希值中最低4位选出,作为如下步骤二中的第一数据位),将转发表项的匹配值中的位分为哈希域(4位)和掩码(4位)两部分,并按照一定规则对哈希域和掩码编码,在确定目标转发表项时,按照如下的步骤一至步骤四的方法确定出目标转发表项。
需要说明的是,在特征哈希值的位数等于转发表项中匹配值的位数,并且转发表项的匹配值的位数为偶数的情况下,还可以将转发表项匹配值按照掩码和哈希域的方式进行设置,此时,需要从哈希特征值中选取一半的数据位按照如下步骤一至步骤四的方法确定出目标转发表项;在特征哈希值的位数大于转发表项中匹配值的位数的情况下,并且转发表项的匹配值的位数为偶数的情况下,还可以将转发表项匹配值按照掩码和哈希域的方式进行设置,此时,需要从哈希特征值中选取与掩码位数相同多的数据位按照如下步骤一至步骤四的方法确定出目标转发表项。
进一步的,在每一转发表项的匹配值分为哈希域和掩码两部分的情况下,步骤104具体可以按照以下步骤实现:
步骤一、从所述转发表中查找出转发表项中的地址与所述报文的目的地址相同的转发表项,并将查找出的转发表项确定为预选转发表项。
具体的,依次将转发表中每一转发表项中的地址与接收到的报文的目的地址进行比较,若转发表项中的地址与接收到的报文的目的地址相同,则将此转发表项确定为预选转发表项。
步骤二、根据每一预选转发表项中的掩码,确定出所述特征哈希值的第一数据位中的比较位以及预选转发表项的哈希域中的比较位;所述第一数据位是预先设定的所述特征哈希值中用于与转发表项中的匹配值进行匹配的数据位。
需要说明的是,预先设定每一特征哈希值的哪些位用于与转发表项中的匹配值进行比较,这些位就叫做特征哈希值的第一数据位。同一哈希算法对不同报文进行哈希计算后得到的特征哈希值的第一数据位相同。示例性的,当计算出的特征哈希值共有八位时,特征哈希值中的低三位确定为第一数据位,若第一报文的特征值经过哈希算法得到的特征哈希值01110110,第二报文的特征值经过哈希算法得到的特征哈希值0001100,那么第一报文的特征哈希值的第一数据位中的数据是110,第二报文的特征哈希值的第一数据位中的数据是100。
具体的,根据预选转发表项中的掩码中哪些数据位的值是1,就将特征哈希值的第一数据位中与掩码中1对应的位确定为特征哈希值的第一数据位中的比较位,同理确定预选转发表项的哈希域中的比较位。
示例性的,若一个预选转发表项中的掩码为011,特征哈希值第一数据位中有三位,依次是:第一数据位a2、第二数据位a1、第三数据位a0,则将第一数据位中与掩码中1对应的数据位a1和a0确定为特征哈希值的第一数据位中的比较位。进一步的,如上述的第一报文的特征哈希值的第一数据位中的数据是110,第二报文的特征哈希值的第一数据位中的数据是100,那么第一报文的比较位中的数据是10,第二报文的比较位中的数据是00。
步骤三、确定所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值是否相同。
步骤四、将所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值相同的预选转发表项确定为目标转发表项。
示例性的,若某一报文的目的地址100.100.100.1,特征哈希值是01101010,第一数据位是特征哈希值中的低三位,转发表中地址为100.100.100.1的转发表项有两项:转发表项1(哈希域为000,掩码为001);转发表项2(哈希域为001,掩码为001)。首先,根据将转发表项1与转发表项2确定为预选转发表项;接着,根据转发表项1的掩码001,确定特征哈希值第一数据位(低三位,数据010)中的比较位是特征哈希值的第一数据位中的最低位(数据0),并确定出转发表项1的哈希域(数据000)中的比较位是哈希域中的最低位(数据0);然后,确定特征哈希值的第一数据位中的比较位中的值(数据0)与转发表项1的哈希域中的比较位中的值(数据0)是否相同;最后,在确定出特征哈希值的第一数据位中的比较位中的值(数据0)与转发表项1的哈希域中的比较位中的值(数据0)相同的情况下,将转发表项1确定为该报文的目标转发表项。
105、将所述报文转发至所述目标转发表项对应的转发出口。
具体的,在确定出目标转发表项后,从目标转发表项中获取目标转发表项中的转发出口,将该报文转发至目标转发表项的转发出口对应的转发出口,以使得报文通过该转发出口转发至下一转发装置。
本发明实施例提供了一种多路径转发的方法,建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;接收报文,提取报文的特征值;对所述报文的特征值进行哈希计算,获得特征哈希值;根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项;将所述报文转发至所述目标转发表项对应的转发出口,这样,通过将转发表中的一个转发表项对应一个转发出口,并且给相同地址的转发表项设置不同的转发出口,在查找与报文对应的转发表项时,不仅仅通过报文的目的地址进行匹配,而是将报文的特征值经过哈希计算之后的值进行匹配,以将相同目的地址的报文分散至不同的转发出口进行转发,最终在不配置专用的支持ECMP路由以及专有的支持ECMP路由的单元的情况下,实现了多路径转发。
如图3所示,其为本发明实施例提供的一种转发装置。参考图3所示,该转发装置包括:创建单元301、接收单元302、处理单元303、计算单元304、查找单元305、发送单元306。
创建单元301,用于建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;
优化的,每一转发表项的匹配值分为哈希域和掩码两部分。
接收单元302,用于接收报文;所述报文中携带报文的目的地址;
具体的,所述报文包括:以太网光纤通信FCoE报文;所述目的地址包括:目的光纤通道标识FCID;所述源地址包括:源FCID;所述会话标识包括:发起者交换标识OX_ID或者应答者交换标识RX_ID。
处理单元303,用于提取报文的特征值。
其中,所述报文的特征值包括:所述目的地址、源地址和会话标识;或者,所述目的地址和所述源地址;或者,所述目的地址和所述会话标识;或者,所述源地址和所述会话标识。所述会话标识用于标记所述报文所属会话。
计算单元304,用于对所述报文的特征值进行哈希计算,获得特征哈希值;
查找单元305,用于根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项。
优化的,在每一转发表项的匹配值分为哈希域和掩码两部分的情况下,所述查找单元305,具体用于从所述转发表中查找出转发表项中的地址与所述报文的目的地址相同的转发表项,并将查找出的转发表项确定为预选转发表项;所述查找单元305,具体用于根据每一预选转发表项中的掩码,确定出从所述特征哈希值的第一数据位中的比较位以及预选转发表项的哈希域中确定出的比较位;所述第一数据位是预先设定的所述特征哈希值中用于与转发表项中的匹配值进行匹配的数据位;所述查找单元305,具体用于确定所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值是否相同;所述查找单元305,具体用于将所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值相同的预选转发表项确定为目标转发表项。
发送单元306,用于将所述报文转发至所述目标转发表项对应的转发出口。
进一步的,所述转发表中,所有地址相同的转发表项的匹配值互不相同,且转发出口互不相同。
本发明实施例提供了一种转发装置,建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;接收报文,提取报文的特征值;对所述报文的特征值进行哈希计算,获得特征哈希值;根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项;将所述报文转发至所述目标转发表项对应的转发出口,这样,通过将转发表中的一个转发表项对应一个转发出口,并且给相同地址的转发表项设置不同的转发出口,在查找与报文对应的转发表项时,不仅仅通过报文的目的地址进行匹配,而是将报文的特征值经过哈希计算之后的值进行匹配,以将相同目的地址的报文分散至不同的转发出口进行转发,最终在不配置专用的支持ECMP路由以及专有的支持ECMP路由的单元的情况下,实现了多路径转发。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种多路径转发的方法,其特征在于,包括:
建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;
接收报文,提取所述报文的特征值;所述报文中携带所述报文的目的地址;
对所述报文的特征值进行哈希计算,获得特征哈希值;
根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项;
将所述报文转发至所述目标转发表项对应的转发出口。
2.根据权利要求1所述的方法,其特征在于,所述报文的特征值包括:
所述目的地址、源地址和会话标识;所述会话标识用于标记所述报文所属会话;
或者,所述目的地址和所述源地址;
或者,所述目的地址和所述会话标识;
或者,所述源地址和所述会话标识。
3.根据权利要求1所述的方法,其特征在于,
所述转发表中,所有地址相同的转发表项的匹配值互不相同,且转发出口互不相同。
4.根据权利要求1所述的方法,其特征在于,每一转发表项的匹配值分为哈希域和掩码两部分;
所述根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项包括:
从所述转发表中查找出转发表项中的地址与所述报文的目的地址相同的转发表项,并将查找出的转发表项确定为预选转发表项;
根据每一预选转发表项中的掩码,确定出所述特征哈希值的第一数据位中的比较位以及所述预选转发表项的哈希域中的比较位;所述第一数据位是预先设定的所述特征哈希值中用于与转发表项中的匹配值进行匹配的数据位;
确定所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值是否相同;
将所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值相同的预选转发表项确定为目标转发表项。
5.根据权利要求1所述的方法,其特征在于,所述报文包括:以太网光纤通信FCoE报文;所述目的地址包括:目的光纤通道标识FCID;所述源地址包括:源FCID;所述会话标识包括:发起者交换标识OX_ID或者应答者交换标识RX_ID。
6.一种转发装置,其特征在于,包括:
创建单元,用于建立以包括地址、匹配值和转发出口为转发表项的转发表;所述转发表中至少有两个转发表项的目的地址相同而匹配值和转发出口不同;
接收单元,用于接收报文;所述报文中携带所述报文的目的地址;
处理单元,用于提取所述报文的特征值;
计算单元,用于对所述报文的特征值进行哈希计算,获得特征哈希值;
查找单元,用于根据所述报文的目的地址和所述特征哈希值,从所述转发表中查找目标转发表项;
发送单元,用于将所述报文转发至所述目标转发表项对应的转发出口。
7.根据权利要求6所述的转发装置,其特征在于,所述报文的特征值包括:
所述目的地址、源地址和会话标识;所述会话标识用于标记所述报文所属会话;
或者,所述目的地址和所述源地址;
或者,所述目的地址和所述会话标识;
或者,所述源地址和所述会话标识。
8.根据权利要求6所述的转发装置,其特征在于,
所述转发表中,所有地址相同的转发表项的匹配值互不相同,且转发出口互不相同。
9.根据权利要求6所述的转发装置,其特征在于,每一转发表项的匹配值分为哈希域和掩码两部分;
所述查找单元,具体用于从所述转发表中查找出转发表项中的地址与所述报文的目的地址相同的转发表项,并将查找出的转发表项确定为预选转发表项;
所述查找单元,具体用于根据每一预选转发表项中的掩码,确定出所述特征哈希值的第一数据位中的比较位以及所述预选转发表项的哈希域中的比较位;所述第一数据位是预先设定的所述特征哈希值中用于与转发表项中的匹配值进行匹配的数据位;
所述查找单元,具体用于确定所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值是否相同;
所述查找单元,具体用于将所述特征哈希值的第一数据位中的所述比较位中的值与所述预选转发表项的哈希域中的所述比较位中的值相同的预选转发表项确定为目标转发表项。
10.根据权利要求6所述的转发装置,其特征在于,所述报文包括:以太网光纤通信FCoE报文;所述目的地址包括:目的光纤通道标识FCID;所述源地址包括:源FCID;所述会话标识包括:发起者交换标识OX_ID或者应答者交换标识RX_ID。
CN201410383510.1A 2014-08-06 2014-08-06 一种多路径转发的方法及装置 Active CN104168201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410383510.1A CN104168201B (zh) 2014-08-06 2014-08-06 一种多路径转发的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410383510.1A CN104168201B (zh) 2014-08-06 2014-08-06 一种多路径转发的方法及装置

Publications (2)

Publication Number Publication Date
CN104168201A true CN104168201A (zh) 2014-11-26
CN104168201B CN104168201B (zh) 2017-11-24

Family

ID=51911837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410383510.1A Active CN104168201B (zh) 2014-08-06 2014-08-06 一种多路径转发的方法及装置

Country Status (1)

Country Link
CN (1) CN104168201B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852847A (zh) * 2015-04-07 2015-08-19 胡汉强 一种数据传输方法及控制面设备、转发面设备
WO2016106506A1 (zh) * 2014-12-29 2016-07-07 华为技术有限公司 一种路由方法和设备
CN107682266A (zh) * 2017-09-12 2018-02-09 杭州迪普科技股份有限公司 流表项的匹配方法及装置、计算机可读存储介质
WO2018121535A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种负载均衡处理方法及装置
CN109327393A (zh) * 2018-11-17 2019-02-12 中国人民解放军战略支援部队信息工程大学 网络交换目的端口确定方法、装置及基于该装置的交换机
CN111327397A (zh) * 2020-01-21 2020-06-23 武汉大学 一种信息数据纵向冗余校验纠错编解码方法
CN112671641A (zh) * 2016-08-24 2021-04-16 华为技术有限公司 报文转发方法及装置
CN112994983A (zh) * 2021-04-01 2021-06-18 杭州迪普信息技术有限公司 流量统计方法、装置和电子设备
CN113542131A (zh) * 2021-05-25 2021-10-22 新华三信息安全技术有限公司 一种报文转发方法及装置
CN113726907A (zh) * 2021-09-15 2021-11-30 腾讯科技(深圳)有限公司 一种路由处理方法、网元设备、装置以及可读存储介质
CN113726830A (zh) * 2020-05-25 2021-11-30 网联清算有限公司 一种报文标识生成方法及装置
CN114978995A (zh) * 2022-05-26 2022-08-30 新华三技术有限公司 一种报文转发路径选择方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020163917A1 (en) * 2001-05-02 2002-11-07 Acute Communications Corporation Pre-lookup method for internet addressing
CN101247337A (zh) * 2008-02-18 2008-08-20 华为技术有限公司 一种报文转发的方法和设备
CN102158398A (zh) * 2011-02-25 2011-08-17 杭州华三通信技术有限公司 报文转发方法和装置
CN102724131A (zh) * 2012-06-29 2012-10-10 杭州华三通信技术有限公司 一种ip报文等价路由均衡实现的方法及装置
CN103457855A (zh) * 2012-06-04 2013-12-18 中兴通讯股份有限公司 无类域间路由表建立、以及报文转发的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020163917A1 (en) * 2001-05-02 2002-11-07 Acute Communications Corporation Pre-lookup method for internet addressing
CN101247337A (zh) * 2008-02-18 2008-08-20 华为技术有限公司 一种报文转发的方法和设备
CN102158398A (zh) * 2011-02-25 2011-08-17 杭州华三通信技术有限公司 报文转发方法和装置
CN103457855A (zh) * 2012-06-04 2013-12-18 中兴通讯股份有限公司 无类域间路由表建立、以及报文转发的方法和装置
CN102724131A (zh) * 2012-06-29 2012-10-10 杭州华三通信技术有限公司 一种ip报文等价路由均衡实现的方法及装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016106506A1 (zh) * 2014-12-29 2016-07-07 华为技术有限公司 一种路由方法和设备
CN106170956A (zh) * 2014-12-29 2016-11-30 华为技术有限公司 一种路由方法和设备
CN106170956B (zh) * 2014-12-29 2019-04-12 华为技术有限公司 一种路由方法和设备
CN104852847A (zh) * 2015-04-07 2015-08-19 胡汉强 一种数据传输方法及控制面设备、转发面设备
CN112671641A (zh) * 2016-08-24 2021-04-16 华为技术有限公司 报文转发方法及装置
WO2018121535A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种负载均衡处理方法及装置
CN107682266A (zh) * 2017-09-12 2018-02-09 杭州迪普科技股份有限公司 流表项的匹配方法及装置、计算机可读存储介质
CN109327393A (zh) * 2018-11-17 2019-02-12 中国人民解放军战略支援部队信息工程大学 网络交换目的端口确定方法、装置及基于该装置的交换机
CN109327393B (zh) * 2018-11-17 2021-01-22 中国人民解放军战略支援部队信息工程大学 网络交换目的端口确定方法、装置及基于该装置的交换机
CN111327397A (zh) * 2020-01-21 2020-06-23 武汉大学 一种信息数据纵向冗余校验纠错编解码方法
CN113726830A (zh) * 2020-05-25 2021-11-30 网联清算有限公司 一种报文标识生成方法及装置
CN113726830B (zh) * 2020-05-25 2023-09-12 网联清算有限公司 一种报文标识生成方法及装置
CN112994983A (zh) * 2021-04-01 2021-06-18 杭州迪普信息技术有限公司 流量统计方法、装置和电子设备
CN112994983B (zh) * 2021-04-01 2023-01-13 杭州迪普信息技术有限公司 流量统计方法、装置和电子设备
CN113542131B (zh) * 2021-05-25 2023-08-22 新华三信息安全技术有限公司 一种报文转发方法及装置
CN113542131A (zh) * 2021-05-25 2021-10-22 新华三信息安全技术有限公司 一种报文转发方法及装置
CN113726907A (zh) * 2021-09-15 2021-11-30 腾讯科技(深圳)有限公司 一种路由处理方法、网元设备、装置以及可读存储介质
CN113726907B (zh) * 2021-09-15 2024-03-19 腾讯科技(深圳)有限公司 一种路由处理方法、网元设备、装置以及可读存储介质
CN114978995A (zh) * 2022-05-26 2022-08-30 新华三技术有限公司 一种报文转发路径选择方法及装置
CN114978995B (zh) * 2022-05-26 2023-07-21 新华三技术有限公司 一种报文转发路径选择方法及装置

Also Published As

Publication number Publication date
CN104168201B (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN104168201A (zh) 一种多路径转发的方法及装置
US10985942B2 (en) Multicast traffic steering using tree identity in bit indexed explicit replication (BIER)
US11301481B2 (en) Digital currency mining circuitry having shared processing logic
CN104811387B (zh) 具有位索引显式复制的等价多路径
CN105933228B (zh) 用于位索引显式复制的流量工程
US9942046B2 (en) Digital currency mining circuitry with adaptable difficulty compare capabilities
US10404587B2 (en) Systems and methods for packet routing
CN105049359A (zh) 用于分布式路由表查找的技术
CN103731377B (zh) 处理报文的方法与设备
CN106878194B (zh) 一种报文处理方法和装置
US20170054643A1 (en) Selecting a connection in a network
CN108259346B (zh) 一种等价路由表项建立方法和装置
CN102891803B (zh) 拥塞处理方法及网络设备
CN103269315A (zh) 标签分配方法、装置、系统和网络设备
CN100421106C (zh) 具有增强能力的关联存储器
US20200197794A1 (en) Selecting a connection in a network
CN104660597A (zh) 三层认证方法、装置及三层认证交换机
CN103825824A (zh) 一种报文处理方法及装置
CN114338510B (zh) 控制和转发分离的数据转发方法和系统
CN102821049A (zh) 转发报文的方法和装置
CN112787938B (zh) 一种路由表项配置方法及装置
CN107547378B (zh) 一种vpn路由学习方法和装置
CN107528711B (zh) 一种数据传输方法、装置以及网元
US20020009056A1 (en) Route retrieving system, method therefor and a router device to be used in the same
US10142177B2 (en) Mechanisms to identify mismatches in layer 3 configuration in a network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350002 19 19, Jinyuan Chau Industrial Park, 618 Jinshan Road, Cangshan District, Fuzhou, Fujian

Patentee after: RUIJIE NETWORKS CO., LTD.

Address before: 350002 19 19, Jinyuan Chau Industrial Park, 618 Jinshan Road, Cangshan District, Fuzhou, Fujian

Patentee before: Fujian Xingwangruijie Network Co., Ltd.