CN107370672A - 路径选择的方法及装置 - Google Patents
路径选择的方法及装置 Download PDFInfo
- Publication number
- CN107370672A CN107370672A CN201610310777.7A CN201610310777A CN107370672A CN 107370672 A CN107370672 A CN 107370672A CN 201610310777 A CN201610310777 A CN 201610310777A CN 107370672 A CN107370672 A CN 107370672A
- Authority
- CN
- China
- Prior art keywords
- path
- message
- edge equipment
- hash key
- inlet edge
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种路径选择的方法及装置,涉及信息技术领域,可以避免一部分转发路径过载,另外一部分转发路径空闲,进而可以避免流量极化的现象。入口边缘设备首先获取入口边缘设备与出口边缘设备之间的多条可用的转发路径,然后接收源服务器发送的报文,依据预设的算法和哈希因子计算报文的路径标识,并根据报文的路径标识,从多条可用的转发路径中选择实际转发路径,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径;最后通过实际转发路径,发送报文。本发明适用于入口边缘设备确定报文的转发路径,并将报文按照上述转发路径发送至出口边缘设备。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种路径选择的方法及装置。
背景技术
为了提高通讯网络的可靠性和传输带宽,链路聚合组(英文全称:LinkAggregation Group,英文缩写:LAG)和等价路由(英文全称:equal-cost multi-pathrouting,英文缩写:ECMP)技术被大规模应用于“交换机-服务器/终端”、“交换机-交换机/路由器”直连场景。然而在这两种场景下,两个直连设备之间存在多条路径,如何从上述多条路径中选择路径传输报文成为一个关键问题。
目前,一种路径选择的方法中,入口边缘设备将接收的报文发送至出口边缘设备需要经过至少一个转发设备,该入口边缘设备以及上述至少一个转发设备通过哈希算法分别计算转发该报文需要经过的下一跳转发设备,并将该报文发送至计算得到的该下一跳转发设备,直至将该报文传输至出口边缘设备。
然而,当入口边缘设备以及上述至少一个转发设备均需要通过哈希算法计算得到转发该报文的下一跳转发设备,以传输该报文时,入口边缘设备以及上述至少一个转发设备分别计算的结果,可能导致一个转发设备将接收到的多个上一跳转发设备发送的报文,并仅通过一条转发路径将多个上一跳转发设备发送的报文转发至下一跳转发设备,从而导致一部分转发路径过载,另外一部分转发路径空闲,进而导致流量极化的现象。
发明内容
本发明提供一种路径选择的方法及装置,可以避免一部分链路过载,另外一部分链路空闲,进而可以避免流量极化的现象。
第一方面,本发明提供了一种路径选择的方法,包括:
入口边缘设备获取所述入口边缘设备与出口边缘设备之间的多条可用的转发路径;
所述入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算所述报文的路径标识;
所述入口边缘设备根据所述报文的路径标识,从所述多条可用的转发路径中选择实际转发路径,所述实际转发路径包括将所述报文从所述入口边缘设备发送到出口边缘设备需要依次经过的多条子路径;
所述入口边缘设备通过所述实际转发路径,发送所述报文。
结合第一方面,在第一方面的第一种可能的实现方式中,
所述入口边缘设备获取所述入口边缘设备与出口边缘设备之间的多条可用的转发路径的步骤之后,所述方法还包括:
所述入口边缘设备记录所述入口边缘设备与所述出口边缘设备之间的多条可用的转发路径中每条转发路径的路径标识与所述转发路径对应的哈希键值hash key的对应关系,其中,所述hash key为所述入口边缘设备的下一跳设备确定出端口时所使用的参数。
第一方面的第一种可能的实现方式中,入口边缘设备通过记录每条转发路径的路径标识与转发路径对应的hash key的对应关系,能够使得入口边缘设备根据路径标识,确定该转发路径对应的hash key,并且以使得中继设备根据hashkey,确定下一跳设备,进而可以进一步地避免流量极化的现象。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
所述入口边缘设备根据所述报文的路径标识,从所述多条可用的转发路径中选择实际转发路径的步骤之后,还包括:
所述入口边缘设备确定所述实际转发路径对应的hash key信息;
所述入口边缘设备为所述报文添加转发信息,所述转发信息包括指示标记和所述hash key,所述指示标记用于指示所述下一跳设备根据所述hash key转发所述报文。
第一方面的第二种可能的实现方式中,入口边缘设备通过确定实际转发路径对应的转发信息,并将该转发信息添加至报文中,以使得接收到该报文的设备根据该报文中携带的转发信息将报文发送至出口边缘设备,而不需要每个设备计算转发信息,从而可以进一步地避免流量极化的现象。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
所述入口边缘设备通过所述实际转发路径,发送所述报文,包括:
所述入口边缘设备根据所述报文的路径标识,向所述下一跳设备发送所述报文,以使得所述下一跳设备根据所述指示标记和所述hash key发送所述报文,直至将所述报文发送至所述出口边缘设备。
第一方面的第三种可能的实现方式中,入口边缘设备通过将指示标记和报文对应的转发路径的hash key封装至报文中,使得之后接收到该报文的各个中继设备可以根据报文中封装的指示标记和hash key确定进行该报文的转发路径,并转发该报文,从而可以使各个中继设备按照入口边缘设备确定的转发路径转发该报文,而不需要每个中继设备分别计算转发该报文的下一级设备,进而可以进一步地避免流量极化的现象。
第二方面,本发明提供了另一种路径选择的方法,所述方法包括:
连接入口边缘设备的中继设备接收所述入口边缘设备发送的报文,所述报文包括转发信息,所述转发信息包括指示标记和哈希键值hash key;
当所述指示标记有效时,所述中继设备根据预设算法和所述hash key确定出端口;
所述中继设备通过所述出端口发送所述报文,以使所述报文到达出口边缘设备。
结合第二方面,在第二方面的第一种可能的实现方式中,所述中继设备通过所述出端口发送所述报文包括:
所述中继设备从所述报文中删除所述指示标记和所述hash key后,通过所述出端口发送删除了所述指示标记和hash key后的所述报文。
第二方面的第一种可能的实现方式中,中继设备通过从报文中删除指示标记以及hash key后,通过出端口发送报文,能够避免解析报头中的指示信息以及hash key,从而可以降低报文解析的时间。
第三方面,本发明提供了一种路径选择的装置,所述路径选择装置位于入口边缘设备中,所述装置包括:
获取单元,用于获取所述入口边缘设备与出口边缘设备之间的多条可用的转发路径;
接收单元,用于接收源服务器发送的报文;
计算单元,用于依据预设的算法和哈希因子计算所述报文的路径标识;
选择单元,用于根据所述报文的路径标识,从所述多条可用的转发路径中选择实际转发路径,所述实际转发路径包括将所述报文从所述入口边缘设备发送到出口边缘设备需要依次经过的多条子路径;
发送单元,用于通过所述实际转发路径发,发送所述报文。
结合第三方面,在第三方面的第一种可能的实现方式中,
所述装置还包括:记录单元;
所述记录单元,用于记录所述入口边缘设备与所述出口边缘设备之间的多条可用的转发路径中每条转发路径的路径标识与所述转发路径对应的哈希键值hash key的对应关系,其中,所述hash key为所述入口边缘设备的下一跳设备确定出端口时所使用的参数。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,
所述装置还包括:确定单元、添加单元;
所述确定单元,用于确定所述实际转发路径对应的hash key信息;
所述添加单元,用于为所述报文添加转发信息,所述转发信息包括指示标记和所述hash key,所述指示标记用于指示所述下一跳设备根据所述hash key转发所述报文。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,
所述发送单元,具体用于根据所述报文的路径标识,向所述下一跳设备发送所述报文,以使得所述下一跳设备根据所述指示标记和所述hash key发送所述报文,直至将所述报文发送至所述出口边缘设备。
第四方面,本发明提供了一种路径选择的装置,所述路径选择装置位于连接入口边缘设备的中继设备中,所述装置包括:
接收单元,用于接收所述入口边缘设备发送的报文,所述报文包括转发信息,所述转发信息包括指示标记和哈希键值hash key;
确定单元,用于当所述指示标记有效时,根据预设算法和所述hash key确定出端口;
发送单元,通过所述出端口发送所述报文,以使所述报文到达出口边缘设备。
结合第四方面,在第四方面的第一种可能的实现方式中,
所述发送单元,具体用于从所述报文中删除所述指示标记和所述hash key后,通过所述出端口发送删除了所述指示标记和hash key后的所述报文。
第五方面,本发明提供了一种入口边缘设备,包括:存储器、处理器以及收发器,其中,
所述存储器,用于存储程序代码;
所述处理器,用于调用所述存储器中存储的程序代码,以执行上述第一方面以及第一方面的各实施方式中的方法,并在执行上述第一方面以及第一方面的各实施方式中的方法的过程中控制所述收发器与其他设备通信。
第六方面,本发明提供了一种中继设备,包括:存储器、处理器以及收发器,其中,
所述存储器,用于存储程序代码;
所述处理器,用于调用所述存储器中存储的程序代码,以执行上述第二方面以及第二方面的隔实施例中的方法,并执行上述第二方面以及第二方面的各实施例中的方法的过程中控制所述收发器与其它设备通信。
本发明中,首先入口边缘设备获取入口边缘设备与出口边缘设备之间的多条可用的转发路径,然后入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算报文的路径标识,并且根据报文的路径标识,从多条可用的转发路径中选择实际转发路径,其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径,入口边缘设备通过实际转发路径,发送报文,最后连接入口边缘设备的中继设备接收入口边缘设备发送的报文,其中,报文包括转发信息,转发信息包括指示标记和哈希键值hashkey,其中,当指示标记有效时,中继设备根据预设算法和hash key确定出端口,最后中继设备通过出端口发送报文,以使报文到达出口边缘设备。与目前入口边缘设备以及至少一个中继设备分别通过哈希算法计算得到转发该报文的下一跳设备相比,本发明入口边缘设备直接确定接收到的报文的实际转发路径,并且中继设备按照入口边缘设备确定的实际转发路径转发报文,而不需要中继设备按照哈希算法确定下一跳接收该报文的设备,以避免多个设备发送的报文转发至某个固定的设备,从而可以避免一部分转发路径过载,一部分转发路径空闲,进而可以避免流量极化的现象。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种路径选择方法的流程示意图;
图2为本发明实施例提供的路径选择系统中各设备之间的连接关系示意图;
图3为本发明实施例中一种路径选择的装置结构示意图;
图4为本发明实施例中另一种路径选择的装置结构示意图;
图5为本发明实施例中又一种路径选择的装置结构示意图;
图6为本发明实施例中入口边缘设备的结构示意图;
图7为本发明实施例中中继设备的节后示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供一种路径选择的方法,应用于路径选择的系统,所述系统可以为虚拟可扩展局域网(英文:Virtual eXtensible Local Area Network,缩写:VXLAN)、集群系统网络、多链接透明互联(英文:Transparent Interconnection ofLots of Links,英文:TRILL)网络、虚拟专用局域网业务(英文全称:virtual privateLAN service,英文缩写:VPLS)网络、网络虚拟化通用路由封装(英文全称:Network Virtualization using Generic Routing Encapsulation,英文缩写:NVGRE)网络、无状态传输隧道(英文:Stateless Transport tunneling,简称:STT)网络、802.1Q网络或者QinQ网络。
本发明实施例提供的路径选择的方法,能够避免一部分转发路径过载,一部分转发路径空闲,进而可以避免流量极化的现象,如图1所示,所述方法包括:
101、入口边缘设备获取入口边缘设备与出口边缘设备之间的多条可用的转发路径。
对于本发明实施例,入口边缘设备可以通过自动探测的方式获取入口边缘设备与出口边缘设备之间可用的转发路径(也可以称为理论转发路径),或者入口边缘设备可以接收软件定义网络(英文全称:software defined networking,英文缩写:SDN)控制器下发的入口边缘设备以及出口边缘设备之间的理论转发路径。在本发明实施例中不做限定。在本发明实施例中,如图2所示,入口边缘设备和出口边缘设备之间存在两级中继设备,其中入口边缘设备经过中继设备2a、2b、2c以及2d分别有4条可用路径到达出口边缘设备,出口边缘设备经过中继设备3a、3b、3c以及3d分别有4条可用路径到达入口边缘设备,因此入口边缘设备与出口边缘设备之间存在16条理论转发路径。每条理论转发路径又是由多条子路径组成的。其中,子路径是指直接连接两个网络设备的路径,优选地,本发明一个实施例中,每条理论转发路径包括三条子路径,例如,路径“入口边缘设备->中继设备2a->中继设备3a->出口边缘设备”包括第一子路径“入口边缘设备->中继设备2a”,第二子路径中继设备2a->中继设备3a和子路径中继设备3a->出口边缘设备。本发明需要在入口边缘设备和出口边缘设备上分别为每条理论转发路径分配一个路径标识(英文:path identifier,简称:PID)。此外,入口边缘设备接收其所连接的每个中继设备发送的出端口对应的哈希键值(英文:hash key),其中每个端口的哈希键值是由该端口所在的中继设备根据特定信息和预设的算法计算得到的,该特定信息可以是网络拓扑,数据流的特征等。入口边缘设备将中继设备的每个出端口作为一条理论转发路径的第二子路径的标识,并在选路表中记录每条理论转发路径的路径标识、该理论转发路径对应的第二子路径的标识以及该第二子路径的哈希键值的对应关系。
以图2为例,假设每个设备包括4个端口,则根据图2所示的拓扑,入口边缘设备上生成的选路表如表1所示,每个表项包括一个理论转发路径的路径标识,该理论转发路径的第二子路径的标识以及该第二子路径对应的哈希键值。其中,所述hash key为所述入口边缘设备的下一跳设备确定出端口时所使用的参数。以表1为例,中继设备2a根据哈希键值100计算得到的出端口为Pa1。
表1
在另一个实施方式中,所述选路表的每个表项可以只包括理论转发路径的路径标识和哈希键值。
在再一个实施方式中,所述选路表的每个表项还可以包括理论转发路径的路径标识、所述理论转发路径在入口边缘设备上的出接口以及所述理论转发路径对应的哈希键值。
即,所述选路表中所述路径标识和哈希键值是必须的,还可以包括其他信息。
102、入口边缘设备记录入口边缘设备与出口边缘设备之间的多条可用的转发路径中的每条转发路径的路径标识与转发路径对应的哈希键值hash key的对应关系。
其中,hash key为入口边缘设备的下一跳设备确定出端口时所使用的参数。
本步骤即生成表1的过程。
对于本发明实施例,入口边缘设备获取入口边缘设备与出口边缘设备之间各个转发路径分别对应的hash key。其中,各个中继设备可以获取与出口边缘设备之间的各个路径分别对应的hash key之后,将上述各个路径分别对应的hashkey发送给入口边缘设备。
103、入口边缘设备接收源服务器发送的报文,依据预设的算法和哈希因子计算报文的路径标识。
对于本发明实施例,入口边缘设备接收服务器或者其它网络终端发送的报文。在本发明实施例中,入口边缘设备根据预设算法和哈希因子,计算报文路径标识,得到报文的实际转发路径。
入口边缘设备根据预设算法和哈希因子,计算报文路径标识的方式可以采用现有的负载分担算法,本发明不做限制。
在图2所示的系统中,入口边缘设备计算出的报文的路径标识可以为0到15中的任意一个。
104、入口边缘设备根据报文的路径标识,从多条可用的转发路径中选择实际转发路径。
其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径。在图2所示的例子中,如果入口边缘设备计算得到的路径标识为0,则入口边缘设备确定包括端口P11和Pa1的路径为实际转发路径。
对于本发明实施例,由于入口边缘设备与出口边缘设备之间存在至少一个中继设备,入口边缘设备根据每个报文对应的实际转发路径,将所述报文发送至出口边缘设备。
105、入口边缘设备确定实际转发路径对应的hash key。
106、入口边缘设备为报文添加转发信息。
其中,转发信息包括指示标记和hash key,指示标记用于指示下一跳设备根据hash key转发报文。
对于本发明实施例,当入口边缘设备确定该报文对应的实际转发路径之后,入口边缘设备将该实际转发路径对应的hash key封装在该报文中。在本发明实施例中,该hash key可以添加到该报文的报头的保留字段中或者该报文的其它位置。在本发明实施例中不做限定。
107、入口边缘设备通过实际转发路径,发送报文。
对于本发明实施例,步骤107包括:入口边缘设备根据报文的路径标识,向下一跳设备发送报文,以使得下一跳设备根据指示标记和hash key发送报文,直至将报文发送至出口边缘设备。
本发明实施例中,入口边缘设备首先将报文发送至下一跳设备,下一跳设备根据报文中的指示标记是否有效,以确定是否按照hash key转发报文,若报文中的指示标记有效,则该中继设备按照hash key转发该报文;若报文中的指示Enable标记无效,则按照现有技术进行哈希计算,确定接收该报文的下一跳设备。
例如,在如图2所示的图中,中继设备2a接收到入口边缘设备发送的报文,获取报文中的指示标记以及hash key,并判断指示标记有效,hash key为101,由于中继设备2a存在4条转发路径,因此中继设备按照101%4进行选路,得到出端口为Pa2,则中继设备2a通过包括Pa2的子路径将报文发送至中继设备3b,然后由中继设备3b将报文发送至出口边缘设备。
本发明实施例中,入口边缘设备通过将指示标记和报文对应的转发路径的hash key封装至报文中,使得之后接收到该报文的各个中继设备可以根据报文中封装的指示标记和hash key确定进行该报文的转发路径,并转发该报文,从而可以使各个中继设备按照入口边缘设备确定的转发路径转发该报文,而不需要每个中继设备分别计算转发该报文的下一级设备,进而可以进一步地避免流量极化的现象。
本发明实施例中,第一级中继设备2x在收到添加了指示标记和hash key的报文,并确定出端口后,可以将该指示标记和hash key从报文中删除后再通过所述出端口发送所述报文,也可以不删除报文中该指示标记和hash key,而由出口边缘设备在转发报文之前删除该指示标记和hash key。
本发明实施例中,在出口边缘设备接收到报文之后,出口边缘设备查找转发表,确定转发报文的端口,并向该端口转发该报文。
108、连接入口边缘设备的中继设备接收入口边缘设备发送的报文。
其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key。
109、当指示标记有效时,中继设备根据预设算法和hash key确定出端口。
110、中继设备通过出端口发送报文,以使报文到达出口边缘设备。
对于本发明实施例,步骤110具体包括:中继设备从报文中删除指示标记和hash key后,通过出端口发送删除了所述指示标记和hash key后的报文。
本发明实施例中,首先入口边缘设备获取入口边缘设备与出口边缘设备之间的多条可用的转发路径,然后入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算报文的路径标识,并且根据报文的路径标识,从多条可用的转发路径中选择实际转发路径,其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径,入口边缘设备通过实际转发路径,发送报文,最后连接入口边缘设备的中继设备接收入口边缘设备发送的报文,其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key,其中,当指示标记有效时,中继设备根据预设算法和hash key确定出端口,最后中继设备通过出端口发送报文,以使报文到达出口边缘设备。与目前入口边缘设备以及至少一个中继设备分别通过哈希算法计算得到转发该报文的下一跳设备相比,本发明实施例入口边缘设备直接确定接收到的报文的实际转发路径,并且中继设备按照入口边缘设备确定的实际转发路径转发报文,而不需要中继设备按照哈希算法确定下一跳接收该报文的设备,以避免多个设备发送的报文转发至某个固定的设备,从而可以避免一部分转发路径过载,一部分转发路径空闲,进而可以避免流量极化的现象。
进一步地,作为对图1所示方法的实现,本发明实施例还提供了一种路径选择的装置,所述路径选择装置位于入口边缘设备中,用于避免一部分链路过载,另外一部分链路空闲,进而可以避免流量极化的现象,如图3所示,装置包括:获取单元31、接收单元32、计算单元33、选择单元34、发送单元35。
获取单元31,用于获取入口边缘设备与出口边缘设备之间的多条可用的转发路径。
接收单元32,用于接收源服务器发送的报文。
计算单元33,用于依据预设的算法和哈希因子计算报文的路径标识。
选择单元34,用于根据报文的路径标识,从多条可用的转发路径中选择实际转发路径。
其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径。
即本发明中,入口边缘设备即可确定一条实际转发路径上的全部子路径。
发送单元35,用于通过实际转发路径,发送报文。
进一步地,如图4所示,所述装置还包括:记录单元41。
记录单元41,用于记录入口边缘设备与出口边缘设备之间的多条可用的转发路径中每条转发路径的路径标识与转发路径对应的哈希键值hash key的对应关系。
其中,hash key为入口边缘设备的下一跳设备确定出端口时所使用的参数。
进一步地,如图4所示,所述装置还包括:确定单元42、添加单元43。
确定单元42,用于确定实际转发路径对应的hash key。
添加单元43,用于为报文添加转发信息。
其中,转发信息包括指示标记和hash key,指示标记用于指示下一跳设备根据hash key转发报文。
发送单元34,具体用于根据报文的路径标识,向下一跳设备发送报文,以使得下一跳设备根据指示标记和hash key发送报文,直至将报文发送至出口边缘设备。
本发明实施例中,首先入口边缘设备获取入口边缘设备与出口边缘设备之间的多条可用的转发路径,然后入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算报文的路径标识,并且根据报文的路径标识,从多条可用的转发路径中选择实际转发路径,其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径,入口边缘设备通过实际转发路径,发送报文,最后连接入口边缘设备的中继设备接收入口边缘设备发送的报文,其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key,其中,当指示标记有效时,中继设备根据预设算法和hash key确定出端口,最后中继设备通过出端口发送报文,以使报文到达出口边缘设备。与目前入口边缘设备以及至少一个中继设备分别通过哈希算法计算得到转发该报文的下一跳设备相比,本发明实施例入口边缘设备直接确定接收到的报文的实际转发路径,并且中继设备按照入口边缘设备确定的实际转发路径转发报文,而不需要中继设备按照哈希算法确定下一跳接收该报文的设备,以避免多个设备发送的报文转发至某个固定的设备,从而可以避免一部分转发路径过载,一部分转发路径空闲,进而可以避免流量极化的现象。
进一步地,在另一个实施例中,入口边缘设备通过将报文对应的转发路径的hash key信息封装至报文中,使得之后接收到该报文的各个中继设备可以根据报文中封装的hash key信息确定进行该报文的转发路径,并转发该报文,从而可以使各个中继设备按照入口边缘设备确定的转发路径转发该报文,而不需要每个中继设备分别计算转发该报文的下一级设备,进而可以进一步地避免流量极化的现象。
进一步地,作为对图1所示方法的实现,本发明实施例还提供了另一种路径选择的装置,该路径选择装置位于连接入口边缘设备的中继设备中,用于避免一部分链路过载,另外一部分链路空闲,进而可以避免流量极化的现象,如图5所示,装置包括:接收单元51、确定单元52、发送单元53。
接收单元51,用于接收入口边缘设备发送的报文。
其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key。
确定单元52,用于当指示标记有效时,根据预设算法和hash key确定出端口。
发送单元53,通过出端口发送报文,以使报文到达出口边缘设备。
发送单元53,具体用于从报文中删除指示标记和hash key后,通过出端口发送报文。
本发明实施例中,首先入口边缘设备获取入口边缘设备与出口边缘设备之间的多条可用的转发路径,然后入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算报文的路径标识,并且根据报文的路径标识,从多条可用的转发路径中选择实际转发路径,其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径,入口边缘设备通过实际转发路径,发送报文,最后连接入口边缘设备的中继设备接收入口边缘设备发送的报文,其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key,其中,当指示标记有效时,中继设备根据预设算法和hash key确定出端口,最后中继设备通过出端口发送报文,以使报文到达出口边缘设备。与目前入口边缘设备以及至少一个中继设备分别通过哈希算法计算得到转发该报文的下一跳设备相比,本发明实施例入口边缘设备直接确定接收到的报文的实际转发路径,并且中继设备按照入口边缘设备确定的实际转发路径转发报文,而不需要中继设备按照哈希算法确定下一跳接收该报文的设备,以避免多个设备发送的报文转发至某个固定的设备,从而可以避免一部分转发路径过载,一部分转发路径空闲,进而可以避免流量极化的现象。
进一步地,在另一个实施例中,中继设备通过从报文中删除指示标记以及hash key后,通过出端口发送报文,能够避免后续设备解析报头中的指示标记以及hash key,从而可以降低报文解析的时间。
需要说明的是,本发明实施例中提供的路径选择中各设备所对应的其他相应描述,可以参考图1中的对应描述,在此不再赘述。
再进一步地,本发明实施例还提供了一种入口边缘设备,如图6所示,该入口边缘设备包括:存储器61、处理器62及收发器63,收发器63、存储器61分别与处理器62相连接,图6描述了本发明另一个实施例提供的入口边缘设备的结构,用于执行前述图1实施例的入口边缘设备实施的方法。
存储器61,用于存储处理器执行的程序代码。
依据预设的算法和哈希因子计算报文的路径标识。
处理器62,用于根据报文的路径标识,从多条可用的转发路径中选择实际转发路径。
其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径。
收发器63,用于通过实际转发路径发,发送报文。
处理器62,还用于记录入口边缘设备与出口边缘设备之间的多条可用的转发路径中每条转发路径的路径标识与转发路径对应的哈希键值hash key的对应关系。
其中,hash key为入口边缘设备的下一跳设备确定出端口时所使用的参数。
处理器62,用于记录入口边缘设备与出口边缘设备之间的多条可用的转发路径中每条转发路径的路径标识与转发路径对应的哈希键值hash key的对应关系。
其中,hash key为入口边缘设备的下一跳设备确定出端口时所使用的参数。
处理器62,还用于确定实际转发路径对应的hash key。
处理器62,还用于为报文添加每条转发路径的路径标识与转发路径对应的哈希键值hash key的对应关系。
其中,hash key为入口边缘设备的下一跳设备确定出端口时所使用的参数。
收发器63,具体用于根据报文的路径标识,向下一跳设备发送报文,以使得下一跳设备根据指示标记和hash key发送报文,直至将报文发送至出口边缘设备。
本发明实施例中,首先入口边缘设备获取入口边缘设备与出口边缘设备之间的多条可用的转发路径,然后入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算报文的路径标识,并且根据报文的路径标识,从多条可用的转发路径中选择实际转发路径,其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径,入口边缘设备通过实际转发路径,发送报文,最后连接入口边缘设备的中继设备接收入口边缘设备发送的报文,其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key,其中,当指示标记有效时,中继设备根据预设算法和hash key确定出端口,最后中继设备通过出端口发送报文,以使报文到达出口边缘设备。与目前入口边缘设备以及至少一个中继设备分别通过哈希算法计算得到转发该报文的下一跳设备相比,本发明实施例入口边缘设备直接确定接收到的报文的实际转发路径,并且中继设备按照入口边缘设备确定的实际转发路径转发报文,而不需要中继设备按照哈希算法确定下一跳接收该报文的设备,以避免多个设备发送的报文转发至某个固定的设备,从而可以避免一部分转发路径过载,一部分转发路径空闲,进而可以避免流量极化的现象。
进一步地,在另一个实施例中,入口边缘设备通过将报文对应的转发路径的hash key信息封装至报文中,使得之后接收到该报文的各个中继设备可以根据报文中封装的hash key信息确定进行该报文的转发路径,并转发该报文,从而可以使各个中继设备按照入口边缘设备确定的转发路径转发该报文,而不需要每个中继设备分别计算转发该报文的下一级设备,进而可以进一步地避免流量极化的现象。
再进一步地,本发明实施例还提供了一种连接入口边缘设备的中继设备,如图7所示,该中继设备包括:存储器71、处理器72及收发器73,收发器73、存储器71分别与处理器72相连接,图7描述了本发明另一个实施例提供的入口边缘设备的结构,用于执行前述图1实施例的中继设备实施的授权方法。
存储器71,用于存储处理器72执行的程序代码。
收发器73,用于接收入口边缘设备发送的报文。
其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key。
处理器72,用于当指示标记有效时,根据预设算法和hash key确定出端口。
收发器73,用于通过出端口发送报文,以使报文到达出口边缘设备。
收发器73,具体用于从报文中删除指示标记和hash key后,通过出端口发送删除了所述指示标记和hash key后的报文。
本发明实施例中,首先入口边缘设备获取入口边缘设备与出口边缘设备之间的多条可用的转发路径,然后入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算报文的路径标识,并且根据报文的路径标识,从多条可用的转发路径中选择实际转发路径,其中,实际转发路径包括将报文从入口边缘设备发送到出口边缘设备需要依次经过的多条子路径,入口边缘设备通过实际转发路径,发送报文,最后连接入口边缘设备的中继设备接收入口边缘设备发送的报文,其中,报文包括转发信息,转发信息包括指示标记和哈希键值hash key,其中,当指示标记有效时,中继设备根据预设算法和hash key确定出端口,最后中继设备通过出端口发送报文,以使报文到达出口边缘设备。与目前入口边缘设备以及至少一个中继设备分别通过哈希算法计算得到转发该报文的下一跳设备相比,本发明实施例入口边缘设备直接确定接收到的报文的实际转发路径,并且中继设备按照入口边缘设备确定的实际转发路径转发报文,而不需要中继设备按照哈希算法确定下一跳接收该报文的设备,以避免多个设备发送的报文转发至某个固定的设备,从而可以避免一部分转发路径过载,一部分转发路径空闲,进而可以避免流量极化的现象。
进一步地,在另一个实施例中,中继设备通过从报文中删除指示标记以及hash key后,通过出端口发送报文,能够避免解析报头中的指示信息以及hashkey,从而可以降低报文解析的时间。
需要说明的是,本发明实施例中提供的路径选择中各设备所对应的其他相应描述,可以参考图1中的对应描述,在此不再赘述。
本发明实施例提供的路径选择的装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的路径选择的方法及装置可以适用于入口边缘设备确定报文的转发路径,并将报文按照上述转发路径发送至出口边缘设备,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种路径选择的方法,其特征在于,包括:
入口边缘设备获取所述入口边缘设备与出口边缘设备之间的多条可用的转发路径;
所述入口边缘设备接收源服务器发送的报文,根据预设的算法和哈希因子计算所述报文的路径标识;
所述入口边缘设备根据所述报文的路径标识,从所述多条可用的转发路径中选择实际转发路径,所述实际转发路径包括将所述报文从所述入口边缘设备发送到出口边缘设备需要依次经过的多条子路径;
所述入口边缘设备通过所述实际转发路径,发送所述报文。
2.根据权利要求1所述的路径选择的方法,其特征在于,所述入口边缘设备获取所述入口边缘设备与出口边缘设备之间的多条可用的转发路径的步骤之后,所述方法还包括:
所述入口边缘设备记录所述入口边缘设备与所述出口边缘设备之间的多条可用的转发路径中的每条转发路径的路径标识与所述转发路径对应的哈希键值hash key的对应关系,其中,所述hash key为所述入口边缘设备的下一跳设备确定出端口时所使用的参数。
3.根据权利要求2所述的路径选择的方法,其特征在于,所述入口边缘设备根据所述报文的路径标识,从所述多条可用的转发路径中选择实际转发路径的步骤之后,还包括:
所述入口边缘设备确定所述实际转发路径对应的hash key;
所述入口边缘设备为所述报文添加转发信息,所述转发信息包括指示标记和所述hash key,所述指示标记用于指示所述下一跳设备根据所述hash key转发所述报文。
4.根据权利要求3所述的路径选择的方法,其特征在于,
所述入口边缘设备通过所述实际转发路径,发送所述报文,包括:
所述入口边缘设备根据所述报文的路径标识,向所述下一跳设备发送所述报文,以使得所述下一跳设备根据所述指示标记和所述hash key发送所述报文,直至将所述报文发送至所述出口边缘设备。
5.一种路径选择的方法,其特征在于,所述方法包括:
连接入口边缘设备的中继设备接收所述入口边缘设备发送的报文,所述报文包括转发信息,所述转发信息包括指示标记和哈希键值hash key;
当所述指示标记有效时,所述中继设备根据预设算法和所述hash key确定出端口;
所述中继设备通过所述出端口发送所述报文,以使所述报文到达出口边缘设备。
6.根据权利要求5所述的方法,其特征在于,所述中继设备通过所述出端口发送所述报文包括:
所述中继设备从所述报文中删除所述指示标记和所述hash key后,通过所述出端口发送删除了所述指示标记和hash key后的所述报文。
7.一种路径选择的装置,其特征在于,所述路径选择装置位于入口边缘设备中,所述装置包括:
获取单元,用于获取所述入口边缘设备与出口边缘设备之间的多条可用的转发路径;
接收单元,用于接收源服务器发送的报文;
计算单元,用于依据预设的算法和哈希因子计算所述报文的路径标识;
选择单元,用于根据所述报文的路径标识,从所述多条可用的转发路径中选择实际转发路径,所述实际转发路径包括将所述报文从所述入口边缘设备发送到出口边缘设备需要依次经过的多条子路径;
发送单元,用于通过所述实际转发路径发,发送所述报文。
8.根据权利要求7所述的路径选择的装置,其特征在于,所述装置还包括:记录单元;
所述记录单元,用于记录所述入口边缘设备与所述出口边缘设备之间的多条可用的转发路径中每条转发路径的路径标识与所述转发路径对应的哈希键值hash key的对应关系,其中,所述hash key为所述入口边缘设备的下一跳设备确定出端口时所使用的参数。
9.根据权利要求8所述的路径选择的装置,其特征在于,所述装置还包括:确定单元、添加单元;
所述确定单元,用于确定所述实际转发路径对应的hash key;
所述添加单元,用于为所述报文添加转发信息,所述转发信息包括指示标记和所述hash key,所述指示标记用于指示所述下一跳设备根据所述hash key转发所述报文。
10.根据权利要求9所述的路径选择的装置,其特征在于,
所述发送单元,具体用于根据所述报文的路径标识,向所述下一跳设备发送所述报文,以使得所述下一跳设备根据所述指示标记和所述hash key发送所述报文,直至将所述报文发送至所述出口边缘设备。
11.一种路径选择的装置,其特征在于,所述路径选择装置位于连接入口边缘设备的中继设备中,所述装置包括:
接收单元,用于接收所述入口边缘设备发送的报文,所述报文包括转发信息,所述转发信息包括指示标记和哈希键值hash key;
确定单元,用于当所述指示标记有效时,根据预设算法和所述hash key确定出端口;
发送单元,用于通过所述出端口发送所述报文,以使所述报文到达出口边缘设备。
12.根据权利要求11所述的装置,其特征在于,
所述发送单元,具体用于从所述报文中删除所述指示标记和所述hash key后,通过所述出端口发送删除了所述指示标记和hash key后的所述报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610310777.7A CN107370672A (zh) | 2016-05-11 | 2016-05-11 | 路径选择的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610310777.7A CN107370672A (zh) | 2016-05-11 | 2016-05-11 | 路径选择的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107370672A true CN107370672A (zh) | 2017-11-21 |
Family
ID=60304371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610310777.7A Pending CN107370672A (zh) | 2016-05-11 | 2016-05-11 | 路径选择的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107370672A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302346A (zh) * | 2018-10-25 | 2019-02-01 | 网宿科技股份有限公司 | 一种传输数据流量的方法和装置 |
CN113438172A (zh) * | 2021-08-26 | 2021-09-24 | 北京华云安信息技术有限公司 | 基于多级节点网络的数据传输方法和装置 |
CN114500526A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 一种路径计算系统及其控制方法 |
CN114553760A (zh) * | 2020-11-25 | 2022-05-27 | 华为技术有限公司 | 路径权重分配方法以及装置 |
CN116545909A (zh) * | 2023-07-03 | 2023-08-04 | 成都数维通信技术有限公司 | 一种报文转发方法、流量牵引方法、介质、设备及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610296A (zh) * | 2009-07-21 | 2009-12-23 | 杭州华三通信技术有限公司 | 一种网络地址转换出接口均衡方法和装置 |
US20110216769A1 (en) * | 2010-03-08 | 2011-09-08 | Brocade Communications Systems, Inc. | Dynamic Path Selection |
CN102957589A (zh) * | 2011-08-23 | 2013-03-06 | 华为技术有限公司 | 业务数据传输的方法、网络节点及系统 |
CN103166959A (zh) * | 2013-02-28 | 2013-06-19 | 东北大学 | 一种多径实时传输控制系统及方法 |
CN104184676A (zh) * | 2013-05-27 | 2014-12-03 | 华为技术有限公司 | 一种数据中心网络及其流量均衡方法和控制器 |
-
2016
- 2016-05-11 CN CN201610310777.7A patent/CN107370672A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610296A (zh) * | 2009-07-21 | 2009-12-23 | 杭州华三通信技术有限公司 | 一种网络地址转换出接口均衡方法和装置 |
US20110216769A1 (en) * | 2010-03-08 | 2011-09-08 | Brocade Communications Systems, Inc. | Dynamic Path Selection |
CN102957589A (zh) * | 2011-08-23 | 2013-03-06 | 华为技术有限公司 | 业务数据传输的方法、网络节点及系统 |
CN103166959A (zh) * | 2013-02-28 | 2013-06-19 | 东北大学 | 一种多径实时传输控制系统及方法 |
CN104184676A (zh) * | 2013-05-27 | 2014-12-03 | 华为技术有限公司 | 一种数据中心网络及其流量均衡方法和控制器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302346A (zh) * | 2018-10-25 | 2019-02-01 | 网宿科技股份有限公司 | 一种传输数据流量的方法和装置 |
CN109302346B (zh) * | 2018-10-25 | 2020-09-18 | 网宿科技股份有限公司 | 一种传输数据流量的方法和装置 |
CN114553760A (zh) * | 2020-11-25 | 2022-05-27 | 华为技术有限公司 | 路径权重分配方法以及装置 |
CN114553760B (zh) * | 2020-11-25 | 2023-05-16 | 华为技术有限公司 | 路径权重分配方法以及装置 |
CN113438172A (zh) * | 2021-08-26 | 2021-09-24 | 北京华云安信息技术有限公司 | 基于多级节点网络的数据传输方法和装置 |
CN114500526A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 一种路径计算系统及其控制方法 |
CN114500526B (zh) * | 2021-12-27 | 2023-08-04 | 天翼云科技有限公司 | 一种路径计算系统及其控制方法 |
CN116545909A (zh) * | 2023-07-03 | 2023-08-04 | 成都数维通信技术有限公司 | 一种报文转发方法、流量牵引方法、介质、设备及系统 |
CN116545909B (zh) * | 2023-07-03 | 2023-09-26 | 成都数维通信技术有限公司 | 一种报文转发方法、流量牵引方法、介质、设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102579059B1 (ko) | 패킷 처리 방법 및 장치, 기기, 그리고 시스템 | |
US10164838B2 (en) | Seamless segment routing | |
CN106209490B (zh) | 选择和监控多个服务关键性能指标的方法和系统 | |
US10158561B2 (en) | Data plane learning of bi-directional service chains | |
CN107370672A (zh) | 路径选择的方法及装置 | |
CN109039919B (zh) | 转发路径确定方法、装置、系统、计算机设备及存储介质 | |
CN102136989B (zh) | 报文传输的方法、系统和设备 | |
CN105634942B (zh) | 转发报文的方法和交换机 | |
CN111092801B (zh) | 数据传输方法及装置 | |
WO2018036254A1 (zh) | 报文转发方法及装置 | |
WO2019205806A1 (zh) | 数据包的处理方法及装置、存储介质、电子装置 | |
CN112491701B (zh) | 转发报文方法和装置 | |
CN107819677A (zh) | 一种报文转发方法及装置 | |
CN104639470A (zh) | 流标识封装方法及系统 | |
CN105337881A (zh) | 一种数据报文的处理方法、业务节点以及引流点 | |
CN107864061A (zh) | 一种在私有云中虚拟机端口限速和镜像的方法 | |
EP3364613A2 (en) | Method and device for transmitting traffic via specified path | |
CN107770073A (zh) | 一种信息同步的方法,装置及系统 | |
CN108809847A (zh) | 实现负载均衡的方法、装置和网络系统 | |
CN106921579A (zh) | 基于业务功能链sfc的通信方法和装置 | |
CN104363170A (zh) | 一种软件定义网络中数据流转发方法和装置 | |
CN104508651A (zh) | 镜像非对称集群多处理器系统中的连接网 | |
CN112152924A (zh) | 一种在数据中心网络中转发报文的方法及相关装置 | |
CN113542111A (zh) | 一种报文转发方法及网络设备 | |
CN111327505B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171121 |