CN112751768B - 业务报文转发方法、装置及计算机存储介质 - Google Patents
业务报文转发方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112751768B CN112751768B CN201911039730.1A CN201911039730A CN112751768B CN 112751768 B CN112751768 B CN 112751768B CN 201911039730 A CN201911039730 A CN 201911039730A CN 112751768 B CN112751768 B CN 112751768B
- Authority
- CN
- China
- Prior art keywords
- sff
- virtual resource
- resource module
- sid
- message
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 169
- 230000006870 function Effects 0.000 claims description 263
- 238000004891 communication Methods 0.000 claims description 102
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 71
- 230000008569 process Effects 0.000 abstract description 50
- 241000465502 Tobacco latent virus Species 0.000 description 105
- 238000010586 diagram Methods 0.000 description 36
- 238000007726 management method Methods 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 241000450840 Tropheops sp. 'red' Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/34—Source routing
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/828—Allocation of resources per group of connections, e.g. per group of users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/829—Topology based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种业务报文转发方法、装置及计算机存储介质,属于路由技术领域。在该方法中,当第一SFF接收到自身连接的任一第二虚拟资源模块发送报文时,根据实现第二业务功能的第二虚拟资源模块的配置信息动态确定该报文的转发路径,以实现对该报文进行动态的负载分担,而不是由业务链入口节点统一进行负载分担,降低了业务链入口节点的压力。此外,即使为第二业务功能配置的虚拟资源模块发生了变化,只需要及时更新第二虚拟资源模块的配置信息,第一SFF同样可以动态地进行负载分担,无需控制节点重新编排所有的分段路由策略,从而简化了该场景下处理过程。
Description
技术领域
本申请涉及路由技术领域,特别涉及一种业务报文转发方法、装置及计算机存储介质。
背景技术
当报文在网络中传递时,为了能够给用户提供安全、快速、稳定的网络服务,需要按照已经配置的业务链(service function chain)包括的多个业务功能(servicefunction,SF)依次对报文进行处理,这多个业务功能可以包括流量清洗、深度报文检测以及网络加速等业务功能。对于任一业务功能,可以对应配置多个用于实现该业务功能的虚拟资源模块,当需按照该业务功能处理报文时,将报文分流至各个虚拟资源模块,由各个虚拟资源模块按照该业务功能对接收到的部分报文进行处理,以提高报文的处理效率,这个过程也称为负载分担。前述虚拟资源模块可以为虚拟机(virtual machine,VM),也可以为虚拟容器网络中的容器(pod)。
相关技术中,虚拟资源模块是连接在业务转发器(service function forwarder,SFF)上的。因此,对于任一SFF,假设该SFF上连接有与业务功能1对应的一个虚拟资源模块,控制节点可以根据该SFF在分段路由(segment route,SR)网络中的定位标识(locator),为这个虚拟资源模块分配一个段标识(segment identification,SID)。如此,控制节点便可获取业务链上的每个业务功能对应的多个虚拟资源模块中每个虚拟资源模块的SID,然后根据每个业务功能对应的一个或多个虚拟资源模块中每个虚拟资源模块的SID编排能够实现业务链上所有业务的多个分段路由策略(SR policy),每个分段路由策略用于指示一个SID列表,该SID列表中包括的多个SID与业务链上的多个业务功能一一对应。后续将报文在业务链入口节点处按照确定的分段路由策略进行分流,分流后的每一部分报文都按照对应的分段路由策略所指示的SID列表进行转发,以实现对全部报文按照业务链上的业务功能进行处理。其中,业务链入口节点是指将报文引流至用于实现业务链上的第一个业务功能的SFF。
上述负载分担的过程中,需要控制节点预先编排出所有的分段路由策略,当业务链上包括的业务功能的数量比较多,且每个业务功能对应的虚拟资源模块也比较多时,编排所有的分段路由策略的效率很低。此外,所有的报文在业务链入口节点就按照确定的分段路由策略进行分流,导致业务链入口节点的压力较大。另外,在某个业务功能对应配置的虚拟资源模块发生变化的情况下,控制节点需要重新编排所有的分段路由策略,导致处理报文的过程变得更为复杂。
发明内容
本申请提供了一种业务报文转发方法、装置及计算机存储介质,可以降低业务链入口节点处的数据处理压力,并在某个业务功能对应配置的虚拟资源模块发生变化的情况下,降低报文转发的复杂度。所述技术方案如下:
第一方面,提供了一种务报文转发方法,应用于通信网络中的第一SFF,第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF。该通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块;或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及第一SFF也连接有一个或多个第二虚拟资源模块。其中的第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块。在该方法中,第一SFF接收与该第一SFF连接的一个第一虚拟资源模块发送的报文;该第一SFF根据该报文确定该第二业务功能;该第一SFF获取实现该第二业务功能的第二虚拟资源模块的配置信息;该第一SFF根据该第二虚拟资源模块的配置信息将该报文转发至该第一SFF上连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF。
在本申请实施例中,通信网络中连接有第二虚拟资源模块的SFF要么为一个或多个第二SFF,要么为一个或多个第二SFF以及第一SFF,因此,该第二虚拟资源模块的配置信息至少包括该通信网络中第二SFF上连接的第二虚拟资源模块的配置信息。如此,当第一SFF接收到自身连接的任一第二虚拟资源模块发送报文时,便可根据实现该第二业务功能的虚拟资源模块的配置信息动态确定该报文的转发路径,以实现对该报文进行动态的负载分担,而不是由业务链入口节点统一进行负载分担,降低了业务链入口节点的压力。
可选地,该第二虚拟资源模块的配置信息包括:该第一SFF连接的每个第二虚拟资源模块的标识和权重,以及该一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。此时,该第一SFF根据该第二虚拟资源模块的配置信息将该报文转发至该第一SFF上连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF,具体为:该第一SFF根据该第一SFF连接的每个第二虚拟资源模块的标识和权重,以及该一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重,将该报文转发至该第一SFF连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF以及第一SFF的情况下,第一SFF可以通过配置信息中的权重将该转发至该第一SFF连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF,以实现该报文的动态负载分担,从而提高了报文转发效率。
可选地,该第二虚拟资源模块的配置信息包括:该一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。此时,第一SFF根据该第二虚拟资源模块的配置信息将该报文转发至该第一SFF上连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF,具体为:该第一SFF根据每个第二SFF连接的第二资源模块的权重,将该报文转发至该一个或多个第二SFF中的一个第二SFF。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF的情况下,第一SFF同样可以通过配置信息中的权重将该转发至一个或多个第二SFF中的一个第二SFF,以实现该报文的动态负载分担,从而提高了报文转发效率。
可选地,该第二虚拟资源模块的配置信息包括多个表项,该多个表项包括一个或多个本地表项和一个或多个远端表项;该一个或多个本地表项中的每个本地表项中包括该第一SFF连接的一个第二虚拟资源模块的标识,以及该第一SFF连接的一个第二虚拟资源模块的权重;该一个或多个远端表项中的每一个远端表项中包括一个第二SFF的标识,以及与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重。此时,该第一SFF根据该第一SFF连接的每个第二虚拟资源模块的标识和权重,以及该一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重,将该报文转发至该第一SFF连接的一个第二虚拟资源模块,具体为:该第一SFF根据该多个表项中的权重采用哈希算法确定转发该报文的第一表项,该第一表项为该多个表项中的一个表项;该第一SFF根据该第一表项将该报文转发至该第一SFF连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF以及第一SFF的情况下,可以通过本地表项和远端表项来指示配置信息,如此,在进行报文转发时,便可直接采用哈希算法确定一个表项,进而根据该表项转发报文,提高了转发报文的效率。
可选地,该第一SFF连接的一个第二虚拟资源模块的权重为数量1,与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量;其中,该哈希算法满足将该报文匹配到该多个表项中的各个表项的概率之间的比值和该多个表项中各个表项中的数量之间的比值相同。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF以及第一SFF的情况下,为了实现负载均衡,该第一SFF连接的一个第二虚拟资源模块的权重为数量1,与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量,如此通过本申请实施例提供的业务报文转发方法可以实现用户流量均衡地分流至各个第二虚拟资源模块。
可选地,该第一SFF连接的一个第二虚拟资源模块的标识为该第一SFF连接的一个第二虚拟资源模块的接口标识,该第二SFF的标识为该第二SFF的SID。此时,该第一SFF根据该第一表项将该报文转发至该第一SFF连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF,具体为:该第一SFF根据该第一表项中包括的该第一SFF连接的一个第二虚拟资源模块的接口标识所指示的端口将该报文通过该端口转发至该第一SFF连接的一个第二虚拟资源模块;或者,该第一SFF根据该第一表项中包括的第二SFF的SID将该报文转发至该第一表项中的SID所指示的第二SFF。
进一步地,在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF以及第一SFF的情况下,为了能够快速将报文转发至最终的第二虚拟资源模块的进行处理,对于本地连接的第二虚拟资源模块,配置信息中可以包括该第一SFF连接的一个第二虚拟资源模块的接口标识,以提高转发报文的效率。对于远端的第二SFF,配置信息中可以包括第二SFF的SID,以便于可以根据该SID转发报文,同样可以提高转发报文的效率。
可选地,该第二虚拟资源模块的配置信息包括至少两个远端表项;该至少两个远端表项中的每一个远端表项中包括一个第二SFF标识以及与该一个第二SFF标识所对应的第二SFF上连接的第二虚拟资源模块的权重。此时,该第一SFF根据每个第二SFF连接的第二资源模块的权重,将该报文转发至该一个或多个第二SFF中的一个第二SFF,具体为:该第一SFF根据该至少两个远端表项中的权重采用哈希算法确定转发该报文的第二表项,该第二表项为至少两个远端表项中的一个远端表项;该第一SFF根据该第二表项将该报文转发至该第二表项中的第二SFF的标识所对应的SFF。
同样地,在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF的情况下,可以通过远端表项来指示配置信息,如此,在进行报文转发时,便可直接采用哈希算法确定一个表项,进而根据该表项转发报文,提高了转发报文的效率。
可选地,与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量。其中,该哈希算法满足将该报文匹配到该至少两个远端表项中的各个远端表项的概率之间的比值和该至少两个远端表项中的各个远端表项中的数量之间的比值相同。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF的情况下,为了实现负载均衡,与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与该一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量,如此通过本申请实施例提供的业务报文转发方法可以实现用户流量均衡地分流至各个第二SFF的第二虚拟资源模块。
可选地,该一个第二SFF的标识为该一个第二SFF的SID。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF的情况下,对于远端的第二SFF,配置信息中可以包括第二SFF的SID,以便于可以根据该SID转发报文,同样可以提高转发报文的效率
可选地,在该方法中,该第一SFF还可以接收该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该SID通告信息包括发布该SID通告信息的第二SFF的标识,以及发布该SID通告信息的第二SFF上连接的第二虚拟资源模块的权重;该第一SFF根据每个第二SFF发布的SID通告信息,创建与每个第二SFF对应的远端表项。
在本申请实施例中,第一SFF可以通过SID通告信息学习到各个第二SFF连接的第二虚拟资源模块的配置信息,以便于后续动态进行负载分担。
可选地,在该方法中,第一SFF还可以获取该第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;该第一SFF根据该第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重,创建与每个第二虚拟资源模块对应的本地表项。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF以及第一SFF的情况下,第一SFF还需根据本地连接的第二虚拟资源模块来创建本地表项,以实现后续报文转发过程中的负载均衡。
可选地,在该方法中,该第一SFF还向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的第二虚拟资源模块的权重以及该第一SFF的标识。
在本申请实施例中,第一SFF可还以向各个第二SFF发布SID通告信息,以使各个第二SFF通过该SID通告信息学习到第一SFF连接的第二虚拟资源模块的配置信息,以便于各个第二SFF后续动态进行负载分担。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV包括SID字段和资源权重字段,该SID字段用于指示发布该定位标识TLV的SFF的标识,该资源权重字段用于指示发布该定位标识TLV的SFF上连接的第二虚拟资源模块的权重。
在本申请实施例中,可以对已经有的该定位标识TLV进行扩展,以使该定位标识TLV能够携带该SID通告信息,有利于本申请实施例提供的业务报文转发方法的推广。
可选地,该第二虚拟资源模块的配置信息包括第一SFF以及该一个或多个第二SFF连接的每个第二虚拟资源模块的标识,或者,该一个或多个第二SFF连接的每个第二虚拟资源模块的标识。此时,该第一SFF根据该第二虚拟资源模块的配置信息将该报文转发至该第一SFF上连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF,具体为:该第一SFF根据负载均衡策略选择一个第二虚拟资源模块的标识;该第一SFF根据所选择的第二虚拟资源模块的标识将该报文转发至该第一SFF连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF。
本申请实施例还提供了另一种实现第二业务功能的第二虚拟资源模块的配置信息,此时,第二虚拟资源模块的配置信息包括第一SFF以及该一个或多个第二SFF连接的每个第二虚拟资源模块的标识,或者,一个或多个第二SFF连接的每个第二虚拟资源模块的标识。如此,第一SFF便可直接根据各个第二虚拟资源模块的标识进行报文的转发。
可选地,该第二虚拟资源模块的配置信息包括多个表项,每个表项包括该第一SFF或者任一个第二SFF上连接的一个第二虚拟资源模块的标识。此时,该第一SFF根据负载均衡策略选择一个第二虚拟资源模块的标识,具体为:该第一SFF采用哈希算法确定转发该报文的第一表项,该第一表项包括所选择的第二虚拟资源模块的标识,且该第一表项为该多个表项中的一个表项,该哈希算法满足将该报文匹配到该多个表项中的各个表项的概率相同。
在本申请实施例中,还可以通过表项来指示各个第二虚拟资源模块的配置信息,如此,在进行报文转发时,便可直接采用哈希算法确定一个表项,进而根据该表项转发报文,提高了转发报文的效率。
可选地,每个第二虚拟资源模块的标识为每个第二虚拟资源模块的SID。此时,该第一SFF根据所选择的第二虚拟资源模块的标识将该报文转发至该第一SFF连接的一个第二虚拟资源模块或者该一个或多个第二SFF中的一个第二SFF,具体为:该第一SFF根据所选择的第二虚拟资源模块的SID所指示的第二虚拟资源模块的接口标识,将该报文通过该接口标识所指示的端口,将该报文转发至该第一SFF连接的一个第二虚拟资源模块;或者,该第一SFF根据所选择的第二虚拟资源模块的SID所指示的目的地址,将该报文转发至所选择的第二虚拟资源模块所连接的第二SFF。
在第二虚拟资源模块的配置信息包括第一SFF以及该一个或多个第二SFF连接的每个第二虚拟资源模块的标识的情况下,当选择出一个SID之后,需要根据选择的SID所指示的第二虚拟资源模块的接口标识或目的地址转发报文。
可选地,在该方法中,该第一SFF还接收该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该SID通告信息包括发布该SID通告信息的第二SFF连接的每个第二虚拟资源模块的标识;该第一SFF根据每个第二SFF发布的SID通告信息,创建与每个第二SFF连接的每个第二虚拟资源模块对应的表项。
在本申请实施例中,第一SFF可以通过SID通告信息学习到各个第二SFF连接的每个第二虚拟资源模块的标识,以便于后续动态进行负载分担。
可选地,在该方法中,该第一SFF还获取该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识,根据该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识,创建与该第一SFF连接的一个或多个第二虚拟资源模块中该每个第二虚拟资源模块对应的表项。
在通信网络中连接有第二虚拟资源模块的SFF包括的一个或多个第二SFF以及第一SFF的情况下,第一SFF还需根据本地连接的每个第二虚拟资源模块的标识来创建表项,以实现后续报文转发过程中的负载均衡。
可选地,在该方法中,该第一SFF还向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的一个或多个第二虚拟资源模块的标识。
在本申请实施例中,第一SFF可还以向各个第二SFF发布SID通告信息,以使各个第二SFF通过该SID通告信息学习到第一SFF连接的每个第二虚拟资源模块的标识,以便于各个第二SFF后续动态进行负载分担。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV包括SID字段,该SID字段用于指示发布该定位标识TLV的SFF的标识,该子TLV包括子子TLV,该子子TLV包括SID字段,该该子子TLV中的SID字段用于指示发布该定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
在本申请实施例中,可以对已经有的该定位标识TLV进行扩展,以使该定位标识TLV能够携带该SID通告信息,有利于本申请实施例提供的业务报文转发方法的推广。
第二方面,提供了一种业务报文转发方法,应用于通信网络中的第一SFF,该第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,该通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及该第一SFF也连接有一个或多个第二虚拟资源模块;该第一虚拟资源模块是指用于实现该第一业务功能的虚拟资源模块,该第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块。在该方法中,该第一SFF接收该一个或多个第二SFF中任一第二SFF发布的SID通告信息,该SID通告信息用于指示该任一第二SFF上连接的第二虚拟资源模块的配置信息;该第一SFF将该任一第二SFF上连接的第二虚拟资源模块的配置信息添加在实现第二业务功能的第二虚拟资源模块的配置信息中。
在本申请实施例中,第一SFF、以及一个或多个第二SFF中任一SFF均可以在系统初始化时通过上述SID通告信息在通信网络中发布自身连接的虚拟资源模块的配置信息,以使其他SFF可以学习到除了自身之外的SFF上连接的虚拟资源模块的配置信息,从而在本地构建实现每个业务功能的虚拟资源模块的配置信息,以便于后续通过本申请实施例提供的业务报文转发方法进行动态的负载均衡。
此外,当各个SFF在确定出第二虚拟资源模块的配置信息配置信息之后,如果任一第二SFF上连接的第二虚拟资源模块发生变化,或者,第一SFF上连接的第二虚拟资源模块发生变化,同样可以通过上述SID通告信息对发生变化的虚拟资源模块进行通告,以使其他SFF对本地的第二虚拟资源模块的配置信息进行更新。上述更新第二虚拟资源模块的配置信息的过程仅仅涉及到对发生变化的第二虚拟资源模块的相关信息的修改。而相关技术中在某个业务功能对应配置的虚拟资源模块发生变化的情况下,控制节点需要重新编排所有的分段路由策略,这个处理过程是针对全局的第二虚拟资源模块的。显然,本申请实施例中更新第二虚拟资源模块的配置信息的过程相对于相关技术中重新编排所有的分段路由策略的过程要简单化。其次,由于本申请实施例中更新第二虚拟资源模块的配置信息的过程要简单化很多,如此在某个业务功能对应配置的虚拟资源模块发生变化的情况下,通信网络中的报文转发流程可以迅速恢复正常,从而提高了报文转发的效率。
也即是,在本申请实施例中,即使为第二业务功能配置的虚拟资源模块发生了变化,只需要及时更新第二虚拟资源模块的配置信息,第一SFF同样可以动态地进行负载分担,无需控制节点重新编排所有的分段路由策略,从而简化了该场景下处理过程,也就提高了该场景下的报文转发效率。
可选地,实现第二业务功能的第二虚拟资源模块的配置信息包括多个表项,该多个表项包括一个或多个远端表项;该SID通告信息包括该任一第二SFF的标识,以及该任一第二SFF上连接的第二虚拟资源模块的权重。此时,该第一SFF将该任一第二SFF上连接的第二虚拟资源模块的配置信息添加在该第二虚拟资源模块的配置信息中,具体为:该第一SFF根据该任一第二SFF发布的SID通告信息,创建与该任一第二SFF对应的远端表项,创建的远端表项包括该任一第二SFF的标识,以及该任一第二SFF上连接的第二虚拟资源模块的权重。
可选地,该多个表项还包括一个或多个本地表项;此时,在该方法中:该第一SFF还获取该第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;该第一SFF根据该第一SFF连接的每个第二虚拟资源模块的标识,以及该第一SFF连接的每个第二虚拟资源模块的权重,创建与该第一SFF连接的每个第二虚拟资源模块对应的本地表项,创建的每个本地表项包括相应的第二虚拟资源模块的标识,以及相应的第二虚拟资源模块的权重。
可选地,在该方法中,该第一SFF还向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的第二虚拟资源模块的权重以及该第一SFF的标识。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV包括SID字段和资源权重字段,该SID字段用于指示发布该定位标识TLV的SFF的权重,该资源权重字段用于指示发布该定位标识TLV的SFF上连接的第一虚拟资源模块的权重。
可选地,该任一第二SFF上连接的第二虚拟资源模块的权重为该任一第二SFF上连接的第二虚拟资源模块的数量,该第一SFF连接的每个第二虚拟资源模块的权重为数量1。
可选地,该实现第二业务功能的第二虚拟资源模块的配置信息包括第一SFF以及该一个或多个第二SFF连接的每个第二虚拟资源模块的标识,该SID通告信息包括该任一第二SFF上连接的一个多个第二虚拟资源模块中每个第二虚拟资源模块的标识。此时,该第一SFF将该任一第二SFF上连接的第二虚拟资源模块的配置信息添加在该第二虚拟功能模块的配置信息中,具体为:该第一SFF根据该任一第二SFF发布的SID通告信息,创建与该任一第二SFF连接的每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,在该方法中:该第一SFF获取该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识;根据该第一SFF连接的一个或多个第二虚拟资源模块中的每个第二虚拟资源模块的标识,创建与该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,在该方法中,该第一SFF向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV中的SID字段用于指示该发布该定位标识TLV的SFF的SID,该子TLV包括子子TLV,该子子TLV中的SID字段用于指示发布该定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
上述第二方面提供了一种业务报文转发方法的有益效果已经在第一方面中有关SID通告信息的部分进行了说明,在此不再赘述。
第三方面、提供了一种业务报文转发方法,应用于通信网络中的一个或多个第二SFF中的任一第二SFF,所述通信网络还包括第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块。
在该方法中,所述任一第二SFF接收所述第一SFF发送的报文;所述任一第二SFF根据所述报文确定所述第二业务功能;所述任一第二SFF获取实现第二业务功能的第二虚拟资源模块的配置信息;所述任一第二SFF根据所述第二虚拟资源模块的配置信息将所述报文转发至所述任一第二SFF上连接的一个第二虚拟资源模块。
第四方面、提供了一种业务报文转发方法,应用于通信网络中的控制节点,所述通信网络还包括业务链入口节点;在该方法中:所述控制节点确定分段路由策略,所述分段路由策略用于指示业务链上的多个业务功能;所述控制节点将所述分段路由策略下发至所述业务链入口节点,由所述业务链入口节点在接收到的报文的报文头添加所述分段路由策略。
第五方面、提供了一种业务报文转发方法,应用于通信网络中的业务链入口节点,所述通信网络还包括控制节点;在该方法中:所述业务链入口节点接收所述控制节点下发的分段路由策略,所述分段路由策略用于指示业务链上的多个业务功能;所述业务链入口节点接收报文,将所述分段路由策略添加在所述报文的报文头中;所述业务链入口节点获取实现第一业务功能的第一虚拟资源模块的配置信息,所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第一业务功能为所述业务链上的第一个业务功能;所述业务链入口节点根据所述第一虚拟资源模块的配置信息将所述报文转发至连接有第一虚拟资源模块的一个SFF。
第六方面、提供了一种通信网络中的第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,所述通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
所述第一SFF包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的程序以执行上述第一方面中任一所述的方法,或者执行上述第二方面中任一所述的方法。
第七方面、提供了一种通信网络中的第二SFF,所述通信网络还包括第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
所述第二SFF包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的程序以执行上述第三方面中任一所述的方法。
第八方面、提供了一种通信网络中的控制节点,所述控制节点包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的程序以执行上述第四方面中任一所述的方法。
第九方面、提供了一种通信网络中的业务链入口节点,所述业务链入口节点包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的程序以执行上述第五方面中任一所述的方法。
第九方面、提供了一种芯片,所述芯片设置在通信网络中的第一SFF中,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,所述通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
所述芯片包括处理器和接口电路;
所述接口电路用于接收指令并传输至所述处理器;
所述处理器用于执行上述第一方面中任一所述的方法,或者执行上述第二方面中任一所述的方法。
第十方面、提供了一种芯片,所述芯片设置在通信网络中的第二SFF中,所述通信网络还包括第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
所述芯片包括处理器和接口电路;
所述接口电路用于接收指令并传输至所述处理器;
所述处理器用于执行上述第三方面中任一所述的方法。
第十一方面、提供了一种芯片,所述芯片设置在通信网络中的控制节点中,所述芯片包括处理器和接口电路;
所述接口电路用于接收指令并传输至所述处理器;
所述处理器用于执行上述第四方面中任一所述的方法。
第十二方面、提供了一种芯片,所述芯片设置在通信网络中的业务链入口节点中,所述芯片包括处理器和接口电路;
所述接口电路用于接收指令并传输至所述处理器;
所述处理器用于执行上述第五方面中任一所述的方法。
第十三方面、提供了一种业务报文转发系统,所述系统包括第一SFF和一个或多个第二SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
所述一个或多个第二SFF中任一第二SFF,用于发布SID通告信息,所述SID通告信息用于指示所述任一第二SFF上连接的第二虚拟资源模块的配置信息;
所述第一SFF,用于接收所述SID通告信息,将所述任一第二SFF上连接的第二虚拟资源模块的配置信息添加在实现第二业务功能的第二虚拟资源模块的配置信息中。
可选地,该实现第二业务功能的第二虚拟资源模块的配置信息包括多个表项,该多个表项包括一个或多个远端表项;该SID通告信息包括该任一第二SFF的标识,以及该任一第二SFF上连接的第二虚拟资源模块的权重。此时,该第一SFF具体用于:根据该任一第二SFF发布的SID通告信息,创建与该任一第二SFF对应的远端表项,创建的远端表项包括该任一第二SFF的标识,以及该任一第二SFF上连接的第二虚拟资源模块的权重。
可选地,该多个表项还包括一个或多个本地表项;此时,该第一SFF还用于:获取该第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;根据该第一SFF连接的每个第二虚拟资源模块的标识,以及该第一SFF连接的每个第二虚拟资源模块的权重,创建与该第一SFF连接的每个第二虚拟资源模块对应的本地表项,创建的每个本地表项包括相应的第二虚拟资源模块的标识,以及相应的第二虚拟资源模块的权重。
可选地,该第一SFF还用于:向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的第二虚拟资源模块的权重以及该第一SFF的标识。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV包括SID字段和资源权重字段,该SID字段用于指示发布该定位标识TLV的SFF的权重,该资源权重字段用于指示发布该定位标识TLV的SFF上连接的第一虚拟资源模块的权重。
可选地,该任一第二SFF上连接的第二虚拟资源模块的权重为该任一第二SFF上连接的第二虚拟资源模块的数量,该第一SFF连接的每个第二虚拟资源模块的权重为数量1。
可选地,该实现第二业务功能的第二虚拟资源模块的配置信息包括第一SFF以及该一个或多个第二SFF连接的每个第二虚拟资源模块的标识,该SID通告信息包括该任一第二SFF上连接的一个多个第二虚拟资源模块中每个第二虚拟资源模块的标识。此时,该第一SFF具体用于:根据该任一第二SFF发布的SID通告信息,创建与该任一第二SFF连接的每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,该第一SFF还用于:获取该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识;根据该第一SFF连接的一个或多个第二虚拟资源模块中的每个第二虚拟资源模块的标识,创建与该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,该第一SFF还用于:向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV中的SID字段用于指示该发布该定位标识TLV的SFF的SID,该子TLV包括子子TLV,该子子TLV中的SID字段用于指示发布该定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
另一方面、还提供了一种通信网络中的第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,所述通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
该第一SFF包括:
接收模块,用于接收与所述第一SFF连接的一个第一虚拟资源模块发送的报文;
确定模块,用于根据所述报文确定所述第二业务功能;
获取模块,用于获取实现第二业务功能的第二虚拟资源模块的配置信息;
发送模块,用于所述第一SFF根据所述第二虚拟资源模块的配置信息将所述报文转发至所述第一SFF上连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
可选地,所述第二虚拟资源模块的配置信息包括:所述第一SFF连接的每个第二虚拟资源模块的标识和权重,以及所述一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。
此时,发送模块,具体用于:根据所述第一SFF连接的每个第二虚拟资源模块的标识和权重,以及所述一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重,将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
可选地,所述第二虚拟资源模块的配置信息包括:所述一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。
此时,发送模块,具体用于:根据每个第二SFF连接的第二资源模块的权重,将所述报文转发至所述一个或多个第二SFF中的一个第二SFF。
可选地,所述第二虚拟资源模块的配置信息包括多个表项,所述多个表项包括一个或多个本地表项和一个或多个远端表项;所述一个或多个本地表项中的每个本地表项中包括所述第一SFF连接的一个第二虚拟资源模块的标识,以及所述第一SFF连接的一个第二虚拟资源模块的权重;所述一个或多个远端表项中的每一个远端表项中包括一个第二SFF的标识,以及与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重,
此时,发送模块,具体用于:根据所述多个表项中的权重采用哈希算法确定转发所述报文的第一表项,所述第一表项为所述多个表项中的一个表项;根据所述第一表项将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
可选地,所述第一SFF连接的一个第二虚拟资源模块的权重为数量1,与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量;所述哈希算法满足将所述报文匹配到所述多个表项中的各个表项的概率之间的比值和所述多个表项中各个表项中的数量之间的比值相同。
可选地,所述第一SFF连接的一个第二虚拟资源模块的标识为所述第一SFF连接的一个第二虚拟资源模块的接口标识,所述第二SFF的标识为所述第二SFF的SID。
此时,发送模块,具体用于:根据所述第一表项中包括的所述第一SFF连接的一个第二虚拟资源模块的接口标识所指示的端口将所述报文通过所述端口转发至所述第一SFF连接的一个第二虚拟资源模块;或者,根据所述第一表项中包括的第二SFF的SID将所述报文转发至所述第一表项中的SID所指示的第二SFF。
可选地,所述第二虚拟资源模块的配置信息包括至少两个远端表项;所述至少两个远端表项中的每一个远端表项中包括一个第二SFF标识以及与所述一个第二SFF标识所对应的第二SFF上连接的第二虚拟资源模块的权重。
此时,发送模块,具体用于:根据所述至少两个远端表项中的权重采用哈希算法确定转发所述报文的第二表项,所述第二表项为至少两个远端表项中的一个远端表项;根据所述第二表项将所述报文转发至所述第二表项中的第二SFF的标识所对应的SFF。
可选地,与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量;所述哈希算法满足将所述报文匹配到所述至少两个远端表项中的各个远端表项的概率之间的比值和所述至少两个远端表项中的各个远端表项中的数量之间的比值相同。
可选地,所述一个第二SFF的标识为所述一个第二SFF的SID。
可选地,接收模块,还用于接收所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括发布所述SID通告信息的第二SFF的标识,以及发布所述SID通告信息的第二SFF上连接的第二虚拟资源模块的权重;此时,第一SFF还包括创建模块,用于根据每个第二SFF发布的SID通告信息,创建与每个第二SFF对应的远端表项。
可选地,获取模块,还用于获取所述第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;此时,创建模块,还用于根据所述第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重,创建与每个第二虚拟资源模块对应的本地表项。
可选地,发送模块,还用于向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的第二虚拟资源模块的权重以及所述第一SFF的标识。
可选地,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV包括SID字段和资源权重字段,所述SID字段用于指示发布所述定位标识TLV的SFF的标识,所述资源权重字段用于指示发布所述定位标识TLV的SFF上连接的第二虚拟资源模块的权重。
可选地,所述第二虚拟资源模块的配置信息包括第一SFF以及所述一个或多个第二SFF连接的每个第二虚拟资源模块的标识;
此时,发送模块,具体用于:根据负载均衡策略选择一个第二虚拟资源模块的标识;根据所选择的第二虚拟资源模块的标识将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
可选地,所述第二虚拟资源模块的配置信息包括多个表项,每个表项包括所述第一SFF或者任一个第二SFF上连接的一个第二虚拟资源模块的标识。
此时,发送模块,具体用于:采用哈希算法确定转发所述报文的第一表项,所述第一表项包括所选择的第二虚拟资源模块的标识,且所述第一表项为所述多个表项中的一个表项,所述哈希算法满足将所述报文匹配到所述多个表项中的各个表项的概率相同。
可选地,每个第二虚拟资源模块的标识为每个第二虚拟资源模块的SID;
此时,发送模块,具体用于:根据所选择的第二虚拟资源模块的SID所指示的第二虚拟资源模块的接口标识,将所述报文通过所述接口标识所指示的端口,将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块;或者,根据所选择的第二虚拟资源模块的SID所指示的目的地址,将所述报文转发至所选择的第二虚拟资源模块所连接的第二SFF。
可选地,接收模块,还用于接收所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括发布所述SID通告信息的第二SFF连接的每个第二虚拟资源模块的标识。此时,第一SFF还包括创建模块,用于根据每个第二SFF发布的SID通告信息,创建与每个第二SFF连接的每个第二虚拟资源模块对应的表项。
可选地,获取模块,还用于获取所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。此时,创建模块,还用于根据所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识,创建与所述第一SFF连接的一个或多个第二虚拟资源模块中所述每个第二虚拟资源模块对应的表项。
可选地,发送模块,还用于向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的一个或多个第二虚拟资源模块的标识。
可选地,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV包括SID字段,所述SID字段用于指示发布所述定位标识TLV的SFF的标识,所述子TLV包括子子TLV,所述子子TLV包括SID字段,所述所述子子TLV中的SID字段用于指示发布所述定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
另一方面、提供了一种通信网络中的第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,所述通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块。
该第一SFF包括:
接收模块,用于接收所述一个或多个第二SFF中任一第二SFF发布的SID通告信息,所述SID通告信息用于指示所述任一第二SFF上连接的第二虚拟资源模块的配置信息;
添加模块,用于将所述任一第二SFF上连接的第二虚拟资源模块的配置信息添加在实现第二业务功能的第二虚拟资源模块的配置信息中。
可选地,所述实现第二业务功能的第二虚拟资源模块的配置信息包括多个表项,所述多个表项包括一个或多个远端表项;所述SID通告信息包括所述任一第二SFF的标识,以及所述任一第二SFF上连接的第二虚拟资源模块的权重。
此时,添加模块,具体用于:
根据所述任一第二SFF发布的SID通告信息,创建与所述任一第二SFF对应的远端表项,创建的远端表项包括所述任一第二SFF的标识,以及所述任一第二SFF上连接的第二虚拟资源模块的权重。
可选地,所述多个表项还包括一个或多个本地表项;此时,第一SFF还包括:
获取模块,用于获取所述第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;
添加模块,还用于根据所述第一SFF连接的每个第二虚拟资源模块的标识,以及所述第一SFF连接的每个第二虚拟资源模块的权重,创建与所述第一SFF连接的每个第二虚拟资源模块对应的本地表项,创建的每个本地表项包括相应的第二虚拟资源模块的标识,以及相应的第二虚拟资源模块的权重。
可选地,第一SFF还包括发送模块,用于向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的第二虚拟资源模块的权重以及所述第一SFF的标识。
可选地,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV包括SID字段和资源权重字段,所述SID字段用于指示发布所述定位标识TLV的SFF的权重,所述资源权重字段用于指示发布所述定位标识TLV的SFF上连接的第一虚拟资源模块的权重。
可选地,所述任一第二SFF上连接的第二虚拟资源模块的权重为所述任一第二SFF上连接的第二虚拟资源模块的数量,所述第一SFF连接的每个第二虚拟资源模块的权重为数量1。
可选地,所述实现第二业务功能的第二虚拟资源模块的配置信息包括第一SFF以及所述一个或多个第二SFF连接的每个第二虚拟资源模块的标识,所述SID通告信息包括所述任一第二SFF上连接的一个多个第二虚拟资源模块中每个第二虚拟资源模块的标识;
此时,添加模块,具体用于:所述第一SFF根据所述任一第二SFF发布的SID通告信息,创建与所述任一第二SFF连接的每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,第一SFF还包括:
获取模块,用于获取所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识;
添加模块,用于根据所述第一SFF连接的一个或多个第二虚拟资源模块中的每个第二虚拟资源模块的标识,创建与所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,所第一SFF还包括:
发送模块,用于向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。
可选地,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV中的SID字段用于指示所述发布所述定位标识TLV的SFF的SID,所述子TLV包括子子TLV,所述子子TLV中的SID字段用于指示发布所述定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
另一方面、提供了一种通信网络中的一个或多个第二SFF中的任一第二SFF,所述通信网络还包括第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
该第二SFF包括:
接收模块,用于接收所述第一SFF发送的报文;
确定模块,用于根据所述报文确定所述第二业务功能;
获取模块,用于获取实现第二业务功能的第二虚拟资源模块的配置信息;
发送模块,用于根据所述第二虚拟资源模块的配置信息将所述报文转发至所述任一第二SFF上连接的一个第二虚拟资源模块。
另一方面、提供了一种通信网络中的控制节点,所述通信网络还包括业务链入口节点;
该控制节点包括:
确定模块,用于确定分段路由策略,所述分段路由策略用于指示业务链上的多个业务功能;
发送模块,用于将所述分段路由策略下发至所述业务链入口节点,由所述业务链入口节点在接收到的报文的报文头添加所述分段路由策略。
另一方面、提供了一种通信网络中的业务链入口节点,所述通信网络还包括控制节点;
该业务链入口节点包括:
接收模块,用于接收所述控制节点下发的分段路由策略,所述分段路由策略用于指示业务链上的多个业务功能;
接收模块,还用于接收报文,将所述分段路由策略添加在所述报文的报文头中;
获取模块,用于获取实现第一业务功能的第一虚拟资源模块的配置信息,所述第一虚拟资源模块是指用于实现所述第一业务功能的虚拟资源模块,所述第一业务功能为所述业务链上的第一个业务功能;
发送模块,用于根据所述所有第一虚拟资源模块的配置信息将所述报文转发至连接有第一虚拟资源模块的一个SFF。
附图说明
图1是本申请实施例提供的一种报文转发的流程示意图;
图2是本申请实施例提供的一种通信网络的架构示意图;
图3是本申请实施例提供的一种业务报文转发方法流程图;
图4是本申请实施例提供的一种实现第二业务功能的第二虚拟资源模块的配置信息的生成过程示意图;
图5是本申请实施例提供的一种添加本地表项的示意图;
图6是本申请实施例提供的一种添加远端表项的示意图;
图7是本申请实施例提供的一种子TLV的结构示意图;
图8是本申请实施例提供的一种子子TLV的结构示意图;
图9是本申请实施例提供的另一种业务报文转发方法流程图;
图10是本申请实施例提供的另一种业务报文转发流程示意图;
图11是本申请实施例提供的一种第二SFF处理用户流量的过程示意图;
图12是本申请实施例提供的另一种实现第二业务功能的第二虚拟资源模块的配置信息的生成过程示意图;
图13是本申请实施例提供的一种添加本地表项的示意图;
图14是本申请实施例提供的一种添加远端表项的示意图;
图15是本申请实施例提供的另一种业务报文转发方法流程图;
图16是本申请实施例提供的另一种业务报文转发流程示意图;
图17是本申请实施例提供的一种第二SFF处理用户流量的过程示意图;
图18是本申请实施例提供的一种网络设备的结构示意图;
图19是本申请实施例提供的另一种网络设备的结构示意图;
图20是本申请实施例提供的一种图19所示网络设备中的接口板的结构示意图;
图21是本申请实施例提供的一种第一SFF的结构示意图;
图22是本申请实施例提供的另一种第一SFF的结构示意图;
图23是本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
应当理解的是,本文提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例提供的业务报文转发方法进行解释说明之前,先对本申请实施例中涉及的应用场景进行解释说明。
在电信云业务中,根据网络安全法规或业务需要,报文需要先后经过多个SF处理,如用户上网流量,需要经过Anti-DDos(一种流量清洗服务)、深度包检测((deep packetinspection,DPI)或者网络(WAN)加速等SF处理。此外,SR技术是一种在网络入口部署转发路径的路由技术。SR技术可以应用在基于第六代互联网协议(internet protocol version6,IPv6)的网络中,此时该网络还可以称为SRv6网络。在SRv6网络中转发的报文封装有SRv6首部。SRv6首部可以携带多个用于标识各个节点的SID,指导报文按照指定的转发路径经过各个节点,实现报文的转发。因此,SRv6技术在实现业务链功能方面具备先天优势。对于无法支持SRv6的SF,可以部署业务链代理,比如SFF,代替SF在业务链中执行SRv6的数据面处理。
另外,随着网络功能虚拟化(network function virtualization,NFV)进程的深入,虚拟网络功能(virtualized network function,VNF)形态的SF逐步替代了物理网络功能(physical network function,PNF)形态的SF。为了获得更好的业务容量和可靠性,SF通常具备扩容(scale-out)能力,也即是,将同一SF部署在多个VM或容器中,由这多个VM或容器分别独立地实现该SF的功能。为了最大化利用VM/容器资源,要求流量在这多个VM/容器之间负载分担。如图1所示,SF1部署在一个VM/容器上,SF2分别部署与SFF1/SFF2相连的3个VM/POD上。进入该业务链(SF1→SF2)的报文经过SF1后,在SF2的三个VM/容器之间负载分担。
需要说明的是,为了便于说明,将前述的VM/容器称为虚拟资源模块。另外,虚拟资源模块也可以为其他类型的虚拟网络中资源模块,在此不再一一举例说明。另外,前述的VM/容器是指VM或者容器。
图2是本申请实施例提供一种通信网络的架构示意图。如图2所示,该通信网络200包括控制节点201、业务链入口节点202、多个SFF 203。图2中以两个SFF 203为例进行说明。
图2所示的通信网络是指用于实现某个业务链包括的各个业务功能的通信网络。该业务链上每个业务功能均由图2中的一个或多个SFF上的虚拟资源模块来实现。
每个SFF 203上连接有一个或多个虚拟资源模块。每个SFF上连接的一个或多个虚拟资源模块可以用于实现同一业务功能,也可以用于实现不同的业务功能,不同的SFF上连接的虚拟资源模块可以用于实现同一业务功能,也可以用于实现不同的业务功能。也即是,每个业务功能对应的虚拟资源模块可以是同一SFF连接的虚拟资源模块,也可以是不同的SFF连接的虚拟资源模块。
图1所示的通信网络是图2所示的通信网络的一种具体实现方式,此时,业务链上包括两个业务功能:SF1→SF2,SF1由SFF1上的一个虚拟资源模块来实现,SF2由SFF1上的一个虚拟资源模块和SFF2上的两个虚拟资源模块来实现。在业务链包括更多数量的业务功能的情况下,各个SFF上连接的虚拟资源模块以及连接的虚拟资源模块具体实现的业务功能均可以进行配置,在此就不在一一举例说明。
下面以图1所示的通信网络为例说明图2中所示的通信网络中各个节点在转发业务报文时的具体实现方式。
图3是本申请实施例提供的一种业务报文转发方法流程图,应用于图1或图2所示的通信网络。如图3所示,该方法包括如下步骤:
步骤301:控制节点确定分段路由策略,分段路由策略用于指示业务链上的多个业务功能。
在本申请实施例中,由于后续可以由各个SFF动态进行负载分担,因此,控制节点下发的分段路由策略(SR policy)仅需指示业务链上多个业务功能即可,无需指示具体实现每个业务功能的虚拟资源模块。
为了后续便于说明,将第一业务功能标记为SF1,将第二业务功能标记为SF2。比如,假设业务链上包括两个业务功能:SF1→SF2。控制节点预先为SF1配置的SID为A1::1,为SF2配置的SID为A2::1。此时,分段路由策略为一个SID列表,该SID列表中包括A1::1和A2::1,且该SID列表中A1::1排序在A2::1的前面,用于指示先进行SF1的处理,再进行SF2的处理。
步骤302:控制节点将分段路由策略下发至业务链入口节点。
在一种具体的实现方式中,控制节点可以将分段路由策略携带在一个报文中,然后将该报文的目的地址修改为业务链入口节点的地址,以实现将该分段路由策略下发至业务链入口节点。或者,控制节点也可以通过其他方式将该分段路由策略下发至业务链入口节点,在此就不再一一详细说明。
步骤303:业务链入口节点接收控制节点下发的分段路由策略。
通过步骤302和步骤303,控制节点将分段路由策略下发至业务链入口节点,以使业务链入口节点通过下述步骤304至步骤306对接收到的报文进行处理。
步骤304:业务链入口节点接收报文,将分段路由策略添加在该报文的报文头中。
步骤305:业务链入口节点获取实现第一业务功能的第一虚拟资源模块的配置信息。
其中,第一业务功能为业务链上的第一个业务功能,第一虚拟资源模块的配置信息用于指示通信网络中的用于实现业务链上的第一业务功能的所有第一虚拟资源模块的配置信息,第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块。
步骤305中的实现第一业务功能的第一虚拟资源模块的配置信息将在下述实施例中进行详细解释说明,在此就先不阐述。
步骤306:业务链入口节点根据该第一虚拟资源模块的配置信息将报文转发至连接有第一虚拟资源模块的一个SFF,由该SFF基于自身连接的一个第一虚拟资源模块处理该报文。
对于连接有第一虚拟资源模块的一个或多个SFF中的任一个SFF,如果业务链入口节点是将报文转发至该SFF,那么该SFF在接收到该报文时,便可参考下述步骤310至步骤312从自身连接的一个或多个第一虚拟资源模块中选择一个第一虚拟资源模块对该报文进行处理,区别在于此时步骤310中第二SFF接收到的是业务链入口节点发送的报文。在选择的第一虚拟资源模块对该报文进行处理完之后,选择的第一虚拟资源模块将该报文返回至该SFF,该SFF便可参考下述步骤307至步骤309继续对该报文进行下一个业务功能的处理。
下述步骤307至步骤312是以第一SFF接收到自身连接的一个第一虚拟资源模块发送的报文为例说明任一SFF如何对报文进行动态的负载分担。也即是,是以第一SFF对该报文进行第一业务功能处理之后如何进行动态的负载分担,以继续对该报文进行下一个业务功能的处理为例来说明的。
步骤307:第一SFF接收第一SFF连接的一个第一虚拟资源模块发送的报文,第一SFF根据报文确定第二业务功能。
在一种具体的实现方式中,通过SRv6技术转发报文的过程中,携带分段路由策略的报文中还携带用于指示当前待处理的SID的字段,因此,当第一SFF接收到报文时,便可根据该字段确定当前待处理的SID。而分段路由策略中的每个SID指示一个业务功能,因此,第一SFF根据接收到的报文便可确定当前待处理的第二业务功能。需要说明的是,在步骤307中,第一业务功能可以为业务链上的任一业务功能,此时第二业务功能为该业务链上排序在第一业务功能之后的第一个业务功能。
其中,各个业务功能的SID是由控制节点预先发布在通信网络中的,也即是,第一SFF中可以存储有各个业务功能与SID之间的对应关系。比如,第一SFF中存储有SF1对应的SID为A1::1,SF2对应的SID为A2::1。因此,当第一SFF根据该报文确定出待处理的SID为A2::1时,便可确定出当前待进行处理的业务功能为第二业务功能SF2。
步骤308:第一SFF获取实现第二业务功能的第二虚拟资源模块的配置信息。
第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块,在本申请实施例中,第二虚拟资源模块的配置信息包括用于实现该业务链上的第二业务功能的所有第二虚拟资源模块的配置信息,而通信网络中连接有第二虚拟资源模块的SFF要么为一个或多个第二SFF,要么为一个或多个第二SFF以及第一SFF,因此,第二虚拟资源模块的配置信息包括该第一SFF以及该一个或多个第二SFF连接的所有第二虚拟资源模块,或者,该一个或多个第二SFF连接的所有第二虚拟资源模块的配置信息,以便于第一SFF能够对用户流量进行动态的负载分担,而不是由业务链入口节点统一进行负载分担。
步骤309:第一SFF根据第二虚拟资源模块的配置信息将报文转发至第一SFF上连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
需要说明的是,由于能够实现第二业务功能的第二虚拟资源模块可能全部部署在第一SFF上,也可能全部部署在其他的第二SFF上,也有可能同时部署在第一SFF和第二SFF上,因此,第二虚拟资源模块的配置信息中可能包括第一SFF上连接的第二虚拟资源模块的配置信息,也可以包括一个或多个第二SFF上连接的第二虚拟资源模块的配置信息,也可以同时包括第一SFF上连接的第二虚拟资源模块的配置信息,以及,一个或多个第二SFF上连接的第二虚拟资源模块的配置信息。不管第二虚拟资源模块的配置信息包括的配置信息是前述哪种场景,为了实现动态的负载分担,第二虚拟资源模块的配置信息均包括通信网络中用于实现该业务链上第二业务功能的所有的第二虚拟资源模块的配置信息。
由于第二虚拟资源模块的配置信息中包括了所有的第二虚拟资源模块的配置信息,因此,第一SFF便可根据第二虚拟资源模块的配置信息直接对用户流量进行分流,以实现由第一SFF进行动态的负载分担。步骤307至步骤309的详细实现方式将在下述实施例中介绍,在此先不阐述。
步骤310:第二SFF接收第一SFF发送的报文,根据该报文确定第二业务功能。
步骤311:第二SFF获取实现第二业务功能的第二虚拟资源模块的配置信息。
步骤312:第二SFF根据第二虚拟资源模块的配置信息将该报文转发至第二SFF上连接的一个第二虚拟资源模块。
在第二SFF上同样配置所有能够实现业务链上的第二业务功能的第二虚拟资源模块的配置信息,也即是实现第二业务功能的第二虚拟资源模块的配置信息,而第二SFF接收到的第一SFF发送过来的报文是已经进行了负载分担的,因此,第二SFF此时只需将该报文转发至自身连接的一个第二虚拟资源模块,由该第二虚拟资源模块对该报文进行第二业务功能的处理即可。
在本申请实施例中,通信网络中连接有第二虚拟资源模块的SFF要么为一个或多个第二SFF,要么为一个或多个第二SFF以及第一SFF,因此,该第二虚拟资源模块的配置信息至少包括该通信网络中第二SFF上连接的第二虚拟资源模块的配置信息。如此,当第一SFF接收到自身连接的任一第二虚拟资源模块发送报文时,便可根据实现该第二业务功能的虚拟资源模块的配置信息动态确定该报文的转发路径,以实现对该报文进行动态的负载分担,而不是由业务链入口节点统一进行负载分担,降低了业务链入口节点的压力。此外,即使为第二业务功能配置的虚拟资源模块发生了变化,只需要及时更新第二虚拟资源模块的配置信息,第一SFF同样可以动态地进行负载分担,无需控制节点重新编排所有的分段路由策略,从而简化了该场景下处理过程,也就提高了该场景下的报文转发效率。
图3所示的实施例用于解释说明本申请实施例提供的报文转发方法的完整流程图。在图3所示的实施例中,第二虚拟资源模块的配置信息包括第一SFF以及一个或多个第二SFF连接的所有第二虚拟资源模块的配置信息。也即是,第二虚拟资源模块的配置信息包括通信网络中用于实现该业务链上的第二业务功能的所有第二虚拟资源模块的配置信息。在一种具体的实现方式中,上述涉及到第一SFF上的实现第二业务功能的第二虚拟资源模块的配置信息的生成过程可以为:第一SFF接收一个或多个第二SFF中任一第二SFF发布的SID通告信息,SID通告信息用于指示任一第二SFF上连接的各个第二虚拟资源模块的配置信息;第一SFF将任一第二SFF上连接的各个第二虚拟资源模块的配置信息添加在实现第二业务功能的第二虚拟资源模块的配置信息中。
此外,本申请实施例提供了两种生成第二虚拟资源模块的配置信息的具体实现方式,下面基于这两种不同的业务功能的配置信息分别对本申请实施例提供的业务报文转发方法进行解释说明。需要说明的是,下述两个实施例仅仅用于举例说明,并不构成对本申请实施例提供的实现第二业务功能的第二虚拟资源模块的配置信息的限定,任何能够指示所有用于实现某个业务功能的虚拟资源模块的配置信息的实现方式均在本申请实施例的提供的实现第二业务功能的第二虚拟资源模块的配置信息的保护范围之内。
下述实施例以配置第一SFF上的实现第二业务功能的第二虚拟资源模块的配置信息举例进行说明,第一SFF上实现其他业务功能的虚拟资源模块的配置信息、以及其他SFF上实现任一业务功能的虚拟资源模块的配置信息均可参考下述实施例来实现,本申请实施例就不一一进行解释说明。
在第一种具体的实现方式中,在用于实现业务链上的第二业务功能的所有第二虚拟资源模块同时部署在第一SFF和一个或多个第二SFF的情况下,前述第二虚拟资源模块的配置信息包括第一SFF连接的每个第二虚拟资源模块的标识和权重,以及一个或多个第二SFF中每个第二SFF的标识每个第二SFF连接的第二资源模块的权重。或者,在用于实现业务链上的第二业务功能的所有第二虚拟资源模块均部署在一个或多个第二SFF的情况下,前述第二虚拟资源模块的配置信息包括一个或多个第二SFF中每个SFF的标识每个第二SFF连接的第二资源模块的权重。也即是,在第一种具体的实现方式中,配置信息中只需要指示出其他SFF上连接的第二虚拟资源模块的权重以及自身连接的各个第二虚拟资源模的权重,或者,其他SFF上连接的第二虚拟资源模块的权重即可,以便于后续根据配置信息中的权重进行负载均衡。下述图4所示的实施例用于对上述第一种具体的实现方式进行解释说明。需要说明的是,图4所示的实施例仅仅是第一种具体的实现方式的一种可选的实施例,任何能够实现第一种具体的实现方式中的配置信息的实施例均在本申请的保护范围之内。
在第二种具体的实现方式中,第一SFF上的实现第二业务功能的第二虚拟资源模块的配置信息包括第一SFF以及一个或多个第二SFF连接的每个第二虚拟资源模块的标识,或者,一个或多个第二SFF连接的每个第二虚拟资源模块的标识。也即是,在第二种具体的实现方式中,第二虚拟资源模块的配置信息中需要指示出通信网络中各个第二虚拟资源模块,以便于后续根据配置信息中的各个第二虚拟资源模块进行负载均衡。下述图12所示的实施例用于对上述第二种具体的实现方式进行解释说明。需要说明的是,图12所示的实施例仅仅是第二种具体的实现方式的一种可选的实施例,任何能够实现第二种具体的实现方式中的配置信息的实施例均在本申请的保护范围之内。
图4是本申请实施例提供的一种实现第二业务功能的第二虚拟资源模块的配置信息的生成过程示意图,用于对上述第一种具体的实现方式进行详细解释说明。如图4所示,该方法包括如下几个步骤:
步骤401:第一SFF创建实现第二业务功能的第二虚拟资源模块的配置信息。
在图4所示的实施例中,实现第二业务功能的第二虚拟资源模块的配置信息中只需要指示出其他SFF上连接的第二虚拟资源模块的权重以及自身连接的各个第二虚拟资源模块的权重,或者,只需指示出其他SFF上连接的第二虚拟资源模块的权重。因此,在一种具体的实现方式中,创建的实现第二业务功能的第二虚拟资源模块的配置信息具有如下特征:该第二虚拟资源模块的配置信息包括本地表项和远端表项。一个本地表项用于存储第一SFF自身连接的一个第二虚拟资源模块的标识和权重,一个远端表项用于存储任一第二SFF上连接的第二虚拟资源模块的权重和该第二SFF的标识。
其中,第一SFF自身连接的一个第二虚拟资源模块的标识可以为该第二虚拟资源模块的接口标识,第一SFF自身连接的一个第二虚拟资源模块的权重可以为数量1。任一第二SFF上连接的第二虚拟资源模块的权重可以为该第二SFF上连接的第二虚拟资源模块的数量,该第二SFF的标识为该第二SFF的SID。此外,第一SFF自身连接的一个第二虚拟资源模块的标识以及任一第二SFF的标识也可以通过其他能够唯一标识第二虚拟资源模块的信息或唯一标识第二SFF的信息来指示,在此就不再一一举例说明。其次,第二虚拟资源模块的权重也可以设置为其他数值,只需满足第一SFF自身连接的一个第二虚拟资源模块的权重能够指示数量1,而任一第二SFF上连接的第二虚拟资源模块的权重能够指示该第二SFF上连接的第二虚拟资源模块的数量即可。
上述本地表项和远端表项是通过表项类型来指示的。也即是,配置信息中的任一表项均包括一个表项类型,表型类型包括第一类型或第二类型,第一类型用于指示对应的表项为本地表项,第二类型用于指示对应的表项为远端表项。
在步骤401中第一SFF创建的第二虚拟资源模块的配置信息为一个空白的配置信息,也即是,在步骤401中创建的第二虚拟资源模块的配置信息仅仅指明各个表项的具体格式,以便于后续可以根据下述步骤402至步骤403向该空白的配置信息中添加表项。
步骤402:第一SFF获取第一SFF连接的每个第二虚拟资源模块的标识以及第一SFF连接的每个第二虚拟资源模块的权重,在第二虚拟资源模块的配置信息中创建与第一SFF连接的每个第二虚拟资源模块对应的本地表项,创建的每个本地表项包括相应的第二虚拟资源模块的标识,以及相应的第二虚拟资源模块的权重。
由于第一SFF本地可能连接一个或多个第二虚拟资源模块,因此,在第一SFF本地连接一个或多个第二虚拟资源模块的情况下,第一SFF需要根据本地连接的每个第二虚拟资源模块的标识在第二虚拟资源模块的配置信息中添加与每个第二虚拟资源模块对应的本地表项。
图5是本申请实施例提供的一种添加本地表项的示意图,以与第一SFF连接的每个第二虚拟资源模块的标识为接口标识,每个第二虚拟资源模块的权重为数量1为例进行说明。如图5所示,将第一SFF标记为SFF1,将第二SFF标记为SFF2,对于第二业务功能SF2,SFF1上连接有一个用于实现SF2的第二虚拟资源模块,SFF2上连接有两个用于实现SF2的第二虚拟资源模块,SF2的SID为A2::1。
如图5所示,对于SFF1,SFF1获取到本地连接有一个第二虚拟资源模块,且该第二虚拟资源模块的接口标识为:IFACE_OUT1。因此,SFF1便可在图5所示的与A2::1对应的配置信息中添加一个表项:UNI,IFACE_OUT1,1。该表项中的UNI用于指示表项类型为第一类型,也即该表项为一个本地表项,1用于指示该表项对应的第二虚拟资源模块的权重为数量1。
在本申请实施例中,为了实现各个节点均能够动态进行负载分担,各个节点均可以配置与第二业务功能对应的配置信息。因此,如图5所示,对于SFF2,SFF2获取到本地连接有两个第二虚拟资源模块,且这两个第二虚拟资源模块的接口标识为:IFACE_OUT2和IFACE_OUT3。因此,SFF2便可在图5所示本地中与A2::1对应的配置信息中添加两个表项:UNI、IFACE_OUT2、1,以及UNI、IFACE_OUT2、1。每个表项中的UNI用于指示表项类型为第一类型,也即该表项为一个本地表项,1用于指示该表项对应的第二虚拟资源模块的权重为数量1。
需要说明的是,步骤402中的接口标识为第一SFF到连接的第二虚拟资源模块的出口的标识。第一SFF上还包括有第二虚拟资源模块到第一SFF的入口。出口是指第一SFF上发送报文到第二虚拟资源模块的端口,入口是指第一SFF上接收第二虚拟资源模块发送的报文的端口。
步骤403:第一SFF接收一个或多个第二SFF中任一第二SFF发布的SID通告信息,该SID通告信息中携带该第二SFF的标识以及该第二SFF上连接的第二虚拟资源模块的权重;第一SFF根据各个第二SFF发布的SID通告信息,在第二虚拟资源模块的配置信息中创建与每个第二SFF对应的远端表项。
为了使得配置信息能够指示所有的第二虚拟资源模块的配置信息,因此,对于连接于有第二虚拟资源模块的SFF,该SFF需要在网络中发布SID通告信息,以使其他节点能够学习到连接有第二虚拟资源模块的全部的SFF的相关信息。因此,在其他的第二SFF中连接有第二虚拟资源模块的情况下,第一SFF还需通过步骤403在第二虚拟资源模块的配置信息中添加远端表项。
同样地,在第一SFF上连接有第二虚拟资源模块的情况下,第一SFF也需在网络中发布SID通告信息。其中,第一SFF也需在网络中发布SID通告信息的实现方式可以为:第一SFF确定本地连接的第二虚拟资源模块的权重;第一SFF根据本地连接的第二虚拟资源模块的权重和第一SFF的标识发布SID通告信息,用于指示其他SFF在自身的实现第二业务功能的第二虚拟资源模块的配置信息中创建与第一SFF对应的远端表项。其中,第一SFF连接的第二虚拟资源模块的权重可以为第一SFF连接的第二虚拟资源模块的数量。第一SFF的标识可以为第一SFF的SID。
图6是本申请实施例提供的一种添加远端表项的示意图。如图6所示,对于SFF1,根据SFF2发布的SID通告信息获取到SFF2上连接有两个第二虚拟资源模块,且SFF2的SID为B2::1。此时,SFF1便可在本地的与A2::1对应的配置信息中创建一个远端表项:NNI、<B2::1>、2,该表项中的NNI用于指示表项类型为第二类型,也即该表项为一个远端表项,2用于指示该表项对应的SFF2上连接的第二虚拟资源模块的数量为2。
同样地,对于SFF2,根据SFF1发布的SID通告信息获取到SFF1上连接有一个第二虚拟资源模块,且SFF1的SID为B1::1。此时,SFF1便可在本地的与A2::1对应的配置信息中添加一个远端表项:NNI、<B1::1>、1,该表项中的NNI用于指示表项类型为第二类型,也即该表项为一个远端表项,1用于指示该表项对应的SFF1上连接的第二虚拟资源模块的数量为1。
在本申请实施例中,可以利用已有的定位标识(Locator)TLV进行扩展,以通过该定位标识TLV来发布SID通告信息。也即是,SID通告信息携带在定位标识TLV中,定位标识TLV包括子TLV,子TLV包括SID字段和资源权重字段,SID字段用于指示发布定位标识TLV的SFF的SID,也即是发布定位标识TLV的SFF的标识,资源权重字段用于指示发布定位标识TLV的SFF上连接的第二虚拟资源模块的权重。也即是,在本申请实施例中,在定位标识TLV中扩展了一个子TLV,以可扩展的子TLV来指示SID通告信息。其中,扩展的子TLV还可以标记为Service SID sub-TLV。
图7是本申请实施例提供的一种子TLV的结构示意图。如图7所示,该子TLV包括类型(Type)字段、长度(Length)字段、控制位(Flags)字段、资源权重(ResourceWeight)字段、SID字段、以及其他的可选的子子TLV。
其中,类型字段可以是一种新的类型,也即是,在现有的类型上扩展出一个新的类型,用于指示本申请实施例提供的子TLV。控制位字段中的A比特位可以置位,A比特位置位为Anycast,用于说明该子TLV携带的SID为Anycast类型,即其它SFF也可能发布这种类型的子TLV。SID字段用于指示发布该定位标识TLV的SFF的SID。资源权重字段用于指示发布该定位标识TLV的SFF上连接的第二虚拟资源模块的权重。
对应图6所示的添加远端表项的过程,对于SFF1而言,SFF1可以将第二业务功能的SID(A2::1)携带在定位标识TLV的SID列表中。SFF1可以在定位标识TLV中的子TLV的SID列表中携带SFF1的SID(B1::1)。SFF1可以将子TLV中的资源权重字段设置为100,用于指示SFF1上连接有一个第二虚拟资源模块。
对于SFF2而言,SFF2可以将第二业务功能的SID(A2::1)携带在定位标识TLV的SID列表中。SFF2可以在定位标识TLV中的子TLV的SID列表中携带SFF2的SID(B1::1)。SFF2可以将子TLV中的资源权重字段设置为200,用于指示SFF2上连接有两个第二虚拟资源模块。
基于图7所示的子TLV,当各个节点发布定位标识TLV时,其他节点便可获取到网络中各个节点上连接的第二虚拟资源模块的情况,以便于在配置信息中添加远端表项。
上述图7仅仅是本申请实施例提供的一种对定位标识TLV中的子TLV进行扩展的举例说明,在应用本申请实施例提供的业务报文转发方法时,可以采用其他扩展方式以使定位标识TLV能够携带SID通告信息。另外,也可以采用其他的TLV来携带SID通告信息,本申请实施例在此就不再一一举例说明。
此外,在第二业务功能对应的第二虚拟资源模块全部连接在第一SFF上的情况下,通过步骤401至步骤403确定的第二虚拟资源模块的配置信息只包括一个或多个本地表项,每个本地表项和第一SFF上连接的一个第二虚拟资源模块对应,每个本地表项用于存储对应的第二虚拟资源模块的接口标识和权重。
在第二业务功能对应的第二虚拟资源模块全部连接在第二SFF上的情况下,通过步骤401至步骤403确定的第二虚拟资源模块的配置信息配置信息只包括一个或多个远端表项,每个远端表项和一个第二SFF对应,每个远端表项还包括对应的第二SFF的SID、以及对应的第二SFF上连接的第二虚拟资源模块的权重。
在第二业务功能对应的第二虚拟资源模块同时连接在第一SFF和第二SFF上的情况下,通过步骤401至步骤403确定的第二虚拟资源模块的配置信息配置信息同时包括一个或多个本地表项、以及一个或多个远端表项。
在本申请实施例中,第一SFF、以及一个或多个第二SFF中任一SFF均可以在系统初始化时根据上述步骤401至步骤403通过上述SID通告信息在通信网络中发布自身连接的虚拟资源模块的配置信息,以使其他SFF可以学习到除了自身之外的SFF上连接的虚拟资源模块的配置信息,从而在本地构建实现每个业务功能的虚拟资源模块的配置信息,以便于后续通过下述图9所示的实施例进行动态的负载均衡。
此外,当各个SFF在通过上述步骤401至步骤403确定出第二虚拟资源模块的配置信息配置信息之后,如果任一第二SFF上连接的第二虚拟资源模块发生变化,或者,第一SFF上连接的第二虚拟资源模块发生变化,同样可以通过上述步骤401至步骤403对发生变化的虚拟资源模块进行通告,以使其他SFF对本地的第二虚拟资源模块的配置信息进行更新。上述更新第二虚拟资源模块的配置信息的过程仅仅涉及到对发生变化的第二虚拟资源模块的相关信息的修改。而相关技术中在某个业务功能对应配置的虚拟资源模块发生变化的情况下,控制节点需要重新编排所有的分段路由策略,这个处理过程是针对全局的第二虚拟资源模块的。显然,本申请实施例中更新第二虚拟资源模块的配置信息的过程相对于相关技术中重新编排所有的分段路由策略的过程要简单化。其次,由于本申请实施例中更新第二虚拟资源模块的配置信息的过程要简单化很多,如此在某个业务功能对应配置的虚拟资源模块发生变化的情况下,通信网络中的报文转发流程可以迅速恢复正常,从而提高了报文转发的效率。
基于图4所示实施例提供的实现第二业务功能的第二虚拟资源模块的配置信息配置信息,本申请实施例还提供了一种业务报文转发方法。如图9所示,该方法包括如下步骤:
步骤901:第一SFF接收第一SFF连接的一个第一虚拟资源模块发送的报文,第一SFF根据报文确定第二业务功能。
步骤901的实现方式可以参考图3所示的步骤307的实现方式,在此不再详细阐述。
步骤902:第一SFF获取实现第二业务功能的第二虚拟资源模块的配置信息。
基于图4的实施例可知,第一节点上存储有与业务链上的每个业务的SID对应的配置信息,因此,在步骤902中,当SFF1确定出当前待处理的第二业务功能为SF2时,便可根据SF2的SID(A2::1),从与业务链上的每个业务的SID对应的配置信息查找与A2::1对应的配置信息,得到实现第二业务功能的第二虚拟资源模块的配置信息。
其中,步骤902中的实现第二业务功能的第二虚拟资源模块的配置信息已在图4所示的实施例中进行了详细说明,在此就不再赘述。
步骤903:第一SFF根据第二虚拟资源模块的配置信息将报文转发至第一SFF上连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
基于图4所示的实施例可知,第二业务功能对应的第二虚拟资源模块可能同时连接在第一SFF和第二SFF上,也可能只连接在第二SFF上,对于不同的场景,实现第二业务功能的第二虚拟资源模块的配置信息中包括的具体内容不同,因此,下面将针对这两种场景分别对步骤903进行解释说明。
第一种场景,第二虚拟资源模块同时连接在第一SFF和一个或多个第二SFF上。
此时,步骤902中的第二虚拟资源模块的配置信息包括:第一SFF连接的每个第二虚拟资源模块的标识和权重,以及一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。相应地,步骤903的实现方式可以为:第一SFF根据第一SFF连接的每个第二虚拟资源模块的标识和权重,以及一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重,将报文转发至第一SFF连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
具体地,在第一种场景中,该第二虚拟资源模块的配置信息可以包括多个表项,多个表项中的每个表项均包括一个表项类型,表型类型包括第一类型或第二类型,第一类型用于指示对应的表项为本地表项,第二类型用于指示对应的表项为远端表项,一个本地表项与第一SFF上连接的一个第二虚拟资源模块对应,一个远端表项与一个第二SFF对应,每个本地表项还包括对应的第二虚拟资源模块的标识和权重,每个远端表项还包括对应的第二SFF的标识、以及对应的第二SFF上连接的第二虚拟资源模块的权重。
此时,步骤903的实现方式可以为:第一SFF根据多个表项中的权重采用哈希算法确定转发报文的第一表项,第一表项为多个表项中的一个表项;第一SFF根据第一表项将报文转发至第一SFF连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
其中,第一SFF连接的一个第二虚拟资源模块的权重具体可以为数量1,第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重具体可以为第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量。前述哈希算法满足将报文匹配到多个表项中的各个表项的概率之间的比值和多个表项中各个表项中的数量之间的比值相同。可以理解,在另外的实现方式下,可以采用不同的哈希算法报文匹配到多个表项中的各个表项的概率之间的比值和多个表项中各个表项中的数量之间的比值不相同,具体可以根据负载均衡策略确定具体类型的哈希算法。
具体地,假设第一SFF连接的一个第二虚拟资源模块的标识为第一SFF连接的一个第二虚拟资源模块的接口标识,第二SFF的标识为第二SFF的SID,前述第一SFF根据第一表项将报文转发至第一SFF连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF的实现方式可以为:第一SFF根据第一表项中包括的第一SFF连接的一个第二虚拟资源模块的接口标识所指示的端口将报文通过端口转发至第一SFF连接的一个第二虚拟资源模块;或者,第一SFF根据第一表项中包括的第二SFF的SID将报文转发至第一表项中的SID所指示的第二SFF。
第二种场景,第二虚拟资源模块全部连接在第二SFF上
此时,步骤902中的第二虚拟资源模块的配置信息包括:一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。相应地,步骤903的实现方式可以为:第一SFF根据至少两个远端表项中的权重采用哈希算法确定转发报文的第二表项,第二表项为至少两个远端表项中的一个远端表项;第一SFF根据第二表项将报文转发至第二表项中的第二SFF的标识所对应的SFF。
具体地,上述第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重可以为第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量。此外,哈希算法满足将报文匹配到至少两个远端表项中的各个远端表项的概率之间的比值和至少两个远端表项中的各个远端表项中的数量之间的比值相同。
此外,上述第二SFF的标识为第二SFF的SID。此时,第一SFF根据第二表项将报文转发至第二表项中的第二SFF的标识所对应的SFF是指:第一SFF根据第二表项将报文转发至第二表项中的第二SFF的SID所对应的SFF。
比如,对于图6所示SFF1中的与第二业务功能SF2的配置信息,对该报文采用哈希算法之后,如果确定的第一表项为第一行的表项,由于该表项的类型为UNI,表明该表项为本地表项,此时则控制对应的第二虚拟资源模块对该报文进行第二业务功能处理操作,该过程也称为执行End.A*操作。如果确定的第一表项为第二行的表项,由于该表项的类型为NNI,表明该表项为远端表项,此时则将该报文转发至相应的SFF2进行第二业务功能的处理,该过程也称为执行T.Insert/Encaps操作。其中,T.Insert/Encaps操作包括T.Insert、T.Insert.Red、T.Encaps或者T.Encaps.Red操作,执行T.Insert、T.Insert.Red、T.Encaps或者T.Encaps.Red操作,可以防止流量转发过程中返回SFF1,出现环路,在此不再详细说明。
通过步骤903,可以实现用户流量的动态负载分担。比如,对于图6所示的SFF1上部署的第二业务功能SF2的配置信息,该配置信息包括两个表项,如图10所示,第一行的表项为一个本地表项,第二行的表项为一个远端表项。假设一段时间内的用户流量为120M,通过上述步骤903转发报文时,相当于将这120M的用户流量按照权重划分为2份,一份为80M,一个分为40M,80M的用户流量与该远端表项对应,40M的用户流量与该本地表项对应。也即是,如图10所示,将用户流量按照1:2的权重进行划分,划分之后权重为1的这部分用户流量对应SFF1上连接的一个虚拟资源模块,划分之后权重为2的这部分用户流量对应远端表项。第一SFF通过该本地表项包括的接口标识所指示的第二虚拟资源模块处理任一本地表项对应的用户流量,也即是,对于该本地表项,第一SFF将该本地表项对应的用户流量从该本地表项包括的接口标识所指示的出口发送出去,以使与该出口连接的第二虚拟资源模块处理这部分用户流量。如图10所示,SFF1根据配置信息将权重为1的这部分用户流量发送至SFF1上连接的第二虚拟资源模块。
此外,对于该远端表项对应的用户流量,第一SFF可以根据该远端表项对应的第二SFF的SID,将这部分用户流量转发至该第二SFF的SID所指示的第二SFF。如图10所示,SFF1将权重为2的这部分用户流量发送至SFF2。
图11是本申请实施例提供的一种第二SFF处理用户流量的过程示意图。如图11所示,当SFF2接收到SFF1发送的报文时,SFF2同样可以根据第二业务功能的SID:A2::1,查找本地存储的实现第二业务功能的第二虚拟资源模块的配置信息。由于该报文已经是SFF1分流之后的报文,因此SFF2只需要将该报文在表项类型为UNI的表项之间进行分发即可,无需考虑配置信息中表项类型为NNI的表项,该过程还可以称为“水平分割原则”,以实现SFF2上连接的第二虚拟资源模块对分发至SFF2的报文进行SF2的业务处理。
在本申请实施例中,通信网络中连接有第二虚拟资源模块的SFF要么为一个或多个第二SFF,要么为一个或多个第二SFF以及第一SFF,因此,该第二虚拟资源模块的配置信息至少包括该通信网络中第二SFF上连接的第二虚拟资源模块的配置信息。如此,当第一SFF接收到自身连接的任一第二虚拟资源模块发送报文时,便可根据实现该第二业务功能的虚拟资源模块的配置信息动态确定该报文的转发路径,以实现对该报文进行动态的负载分担,而不是由业务链入口节点统一进行负载分担,降低了业务链入口节点的压力。此外,即使为第二业务功能配置的虚拟资源模块发生了变化,只需要及时更新第二虚拟资源模块的配置信息,第一SFF同样可以动态地进行负载分担,无需控制节点重新编排所有的分段路由策略,从而简化了该场景下处理过程,也就提高了该场景下的报文转发效率。
下面结合本申请实施例提供的另一种实现第二业务功能的第二虚拟资源模块的配置信息对业务报文转发方法进行解释说明。
图12是本申请实施例提供的另一种配置信息的生成过程示意图,用于对上述针对实现第二业务功能的第二虚拟资源模块的配置信息的第二种具体的实现方式进行解释说明。如图12所示,该方法包括如下几个步骤:
步骤1201:第一SFF创建实现第二业务功能的第二虚拟资源模块的配置信息。
在一种具体的实现方式中,创建的实现第二业务功能的第二虚拟资源模块的配置信息具有如下特征:该配置信息包括多个表项,每个表项用于存储第一SFF或者任一个第二SFF上连接的一个第二虚拟资源模块的标识。与图4所提供的实现第二业务功能的第二虚拟资源模块的配置信息不同,图12提供的配置信息中每个表项对应一个第二虚拟资源模块,这个第二虚拟资源包括通信网络中能够实现业务链上的第二业务功能的所有第二虚拟资源模块,可以是第一SFF上连接的第二虚拟资源模块,也可以是其他的第二SFF上连接的第二虚拟资源模块。
在图12提供的配置信息中,同样可以为该配置信息中每个表项设置表项类型,也即是,每个表项均包括一个表项类型,表型类型包括第一类型或第二类型,第一类型用于指示对应的表项为本地表项,第二类型用于指示对应的表项为远端表项。此时,本地表项用于存储的是第一SFF上连接的一个第二虚拟资源模块的标识,远端表项用于存储的是第二SFF上连接的一个第二虚拟资源模块的标识。
在图12所提供的实现第二业务功能的第二虚拟资源模块的配置信息中,不管是本地表项还是远端表项,表项中的第二虚拟资源模块的标识均可以为相应的第二虚拟资源模块的SID。
在步骤1201中第一SFF创建的实现第二业务功能的第二虚拟资源模块的配置信息为一个空白的配置信息,也即是,在步骤1201中创建实现第二业务功能的第二虚拟资源模块的配置信息仅仅指明各个表项的具体格式,以便于后续可以根据下述步骤1202至步骤1203向该空白的配置信息中添加表项。
步骤1202:第一SFF获取第一SFF连接的第二虚拟资源模块,根据第一SFF连接的每个第二虚拟资源模块的标识,在第二虚拟资源模块的配置信息中创建与第一SFF连接的每个第二虚拟资源模块对应的表项。
由于本地可能连接一个或多个虚拟资源模块,因此,在第一SFF的本地连接有一个或多个虚拟资源模块的情况下,第一SFF需要根据本地连接的每个第二虚拟资源模块的SID在配置信息中创建表项,此时创建的表项仍然可以通过表项类型标记为本地表项。
图13是本申请实施例提供的一种添加本地表项的示意图。如图13所示,将第一SFF标记为SFF1,将第二SFF标记为SFF2,对于第二业务功能SF2,SFF1上连接有一个用于实现SF2的第二虚拟资源模块,SFF2上连接有两个用于实现SF2的第二虚拟资源模块,SF2的SID为A2::1。
如图13所示,对于SFF1,SFF1可以根据SFF1上连接的第二虚拟资源模块的相关信息为第二虚拟资源模块分配一个SID:B1::100,这些相关信息包括SFF1到第二虚拟资源模块的出口(IFACE_OUT1)以及操作类型(End.A*)等。为了便于说明,在图13中将为第二虚拟资源模块分配的SID称为代理SID(Proxy SID)。
SFF1在为第二虚拟资源模块分配了SID:B1::100之后,便可在与SF2的SID:A2::1对应的配置信息中添加一个表项,如图13所示,此时添加的表项为:UNI,SID-List<B1::100>。其中,UNI用于指示该表项的表项类型为第一类型,也即是该表项为本地表项。SID-List<B1::100>用于指示该表项中的包括的第二虚拟资源模块的SID:B1::100为SID列表中的一个SID。
为了实现各个节点均能够动态进行负载分担,各个节点均可以配置与第二业务功能对应的配置信息。因此,如图13所示,对于SFF2,SFF2可以根据SFF2上连接的两个第二虚拟资源模块的相关信息分别为两个第二虚拟资源模块分配一个SID:B2::100和B2::101,这些相关信息包括SFF2到第二虚拟资源模块的出口(IFACE_OUT2和IFACE_OUT3)以及操作类型(End.A*)等。
SFF2在为两个第二虚拟资源模块分别分配一个SID:B2::100和B2::101之后,便可在本地中与SF2的SID:A2::1对应的配置信息中添加两个表项,如图13所示,此时添加的一个表项为:UNI,SID-List<B2::100>,另一个表项为:UNI,SID-List<B2::101>。
步骤1203:第一SFF接收一个或多个第二SFF中每个第二SFF发布的SID通告信息,SID通告信息中携带相应第二SFF上连接的一个多个第二虚拟资源模块中每个第二虚拟资源模块的标识;第一SFF根据一个或多个第二SFF中每个第二SFF发布的SID通告信息,在第二虚拟资源模块的配置信息中创建与每个第二SFF上连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项。
为了使得实现第二业务功能的第二虚拟资源模块的配置信息能够指示所有的第二虚拟资源模块的配置信息,因此,对于连接于有第二虚拟资源模块的SFF,该SFF需要在网络中发布SID通告信息,以使其他节点能够学习到连接有第二虚拟资源模块的全部的SFF的相关信息。因此,在其他的第二SFF中连接有第二虚拟资源模块的情况下,第一SFF还需通过步骤1203在配置信息中创建与其他的SFF上连接的每个第二虚拟资源模块对应的表项。
同样地,在第一SFF上连接有第二虚拟资源模块的情况下,第一SFF也需在网络中发布SID通告信息。其中,第一SFF也需在网络中发布SID通告信息的实现方式可以为:第一SFF根据获取的第二虚拟资源模块中每个第二虚拟资源模块的标识发布的SID通告信息,用于指示其他SFF在自身的配置信息中创建与第一SFF上连接的每个第二虚拟资源模块对应的表项。此时创建的表项仍然可以通过表项类型标记为远端表项。
图14是本申请实施例提供的一种添加远端表项的示意图。如图14所示,对于SFF1,根据SFF2发布的SID通告信息获取到SFF2上连接有两个第二虚拟资源模块,且SFF2的SID为B2::1,SFF2为这两个第二虚拟资源模块分配的SID分别为B2::100和B2::101。此时,SFF1便可在本地的与A2::1对应的配置信息中创建两个远端表项:NNI、SID-List<B2::100>和NNI、SID-List<B2::101>。这两个表项中的NNI用于指示表项类型为第二类型,也即该表项为一个远端表项。
同样地,对于SFF2,根据SFF1发布的SID通告信息获取到SFF1上连接有一个第二虚拟资源模块,且SFF1的SID为B1::1,SFF1为这个第二虚拟资源模块分配的SID为B1::100。此时,SFF1便可在本地的与A2::1对应的配置信息中创建一个远端表项:NNI、SID-List<B1::100>,该表项中的NNI用于指示表项类型为第二类型,也即该表项为一个远端表项。
和图4所示的实施例一样,在图12所示的实施例中,可以利用已有的定位标识(Locator)TLV进行扩展,以通过该定位标识TLV来发布SID通告信息。也即是,SID通告信息携带在定位标识TLV中,定位标识TLV包括子TLV,子TLV中的SID字段用于指示发布定位标识TLV的SFF的SID,也即是发布定位标识TLV的SFF的标识。不同在是,在图12所示的实施例中,子TLV还包括子子TLV,子子TLV中的SID字段用于指示发布定位标识TLV的SFF上连接的第二虚拟资源模块的SID。也即是,在本申请实施例中,在定位标识TLV中新增了子TLV并在子TLV中扩展了子子TLV,以子TLV和子子TLV来指示SID通告信息。其中,子TLV还可以标记为Service SID sub-TLV,子子TLV还可以标记为Service proxysub-sub-TLV。
基于图7所示的子TLV的结构,图8是本申请实施例提供的一种子子TLV的结构示意图。如图8所示,该子子TLV包括类型(Type)字段、长度(Length)字段、控制位(Flags)字段、SID字段。其中,类型字段可以指示一种新的类型,控制位字段用于指示该子子TLV为本申请实施例提供的子子TLV。SID字段用于指示发布定位标识TLV的SFF上连接的第二虚拟资源模块的SID。
对应图14所示的添加远端表项的过程,对于SFF1而言,SFF1可以将第二业务功能的SID:A2::1携带在定位标识TLV的SID列表中。SFF1可以在定位标识TLV中的子TLV的SID列表中携带SFF1的SID:B1::1。并在第子TLV的子子TLV的SID列表中携带SFF1上连接的各个第二虚拟资源模块的SID。
对于SFF2而言,SFF2可以将第二业务功能的SID:A2::1携带在定位标识TLV的SID列表中。SFF2可以在定位标识TLV中的子TLV的SID列表中携带SFF2的SID:B1::1。并在子TLV的子子TLV的SID列表中携带SFF2上连接的各个第二虚拟资源模块的SID。
基于图7和图8所示的定位标识TLV,当各个节点发布定位标识TLV时,其他节点便可学习到网络中各个节点上连接的第二虚拟资源模块的SID,以便于在自身的第二虚拟资源模块的配置信息中添加远端表项。
上述图8仅仅是本申请实施例提供的一种对定位标识TLV进行扩展的举例说明,在应用本申请实施例提供的负载分担方法时,可以采用其他扩展方式以使定位标识TLV能够携带SID通告信息。另外,也可以采用其他的TLV来携带SID通告信息,本申请实施例在此就不再一一举例说明。
在本申请实施例中,第一SFF、以及一个或多个第二SFF中任一SFF均可以在系统初始化时根据上述步骤1201至步骤1203通过上述SID通告信息在通信网络中发布自身连接的虚拟资源模块的配置信息,以使其他SFF可以学习到除了自身之外的SFF上连接的虚拟资源模块的配置信息,从而在本地构建实现每个业务功能的虚拟资源模块的配置信息,以便于后续通过下述图15所示的实施例进行动态的负载均衡。
此外,当各个SFF在通过上述步骤1201至步骤1203确定出第二虚拟资源模块的配置信息配置信息之后,如果任一第二SFF上连接的第二虚拟资源模块发生变化,或者,第一SFF上连接的第二虚拟资源模块发生变化,同样可以通过上述步骤1201至步骤1203对发生变化的虚拟资源模块进行通告,以使其他SFF对本地的第二虚拟资源模块的配置信息进行更新。上述更新第二虚拟资源模块的配置信息的过程仅仅涉及到对发生变化的第二虚拟资源模块的相关信息的修改。而相关技术中在某个业务功能对应配置的虚拟资源模块发生变化的情况下,控制节点需要重新编排所有的分段路由策略,这个处理过程是针对全局的第二虚拟资源模块的。显然,本申请实施例中更新第二虚拟资源模块的配置信息的过程相对于相关技术中重新编排所有的分段路由策略的过程要简单化。其次,由于本申请实施例中更新第二虚拟资源模块的配置信息的过程要简单化很多,如此在某个业务功能对应配置的虚拟资源模块发生变化的情况下,通信网络中的报文转发流程可以迅速恢复正常,从而提高了报文转发的效率。
基于图12所示实施例提供的配置信息,本申请实施例还提供了一种业务报文转发方法。如图15所示,该方法包括如下步骤:
步骤1501:第一SFF接收第一SFF连接的一个第一虚拟资源模块发送的报文,第一SFF根据报文确定第二业务功能。
步骤1501的实现方式可以参考图3所示的步骤301的实现方式,在此不再详细阐述。
步骤1502:第一SFF获取实现第二业务功能的第二虚拟资源模块的配置信息。
基于图12的实施例可知,第一节点上存储有与业务链上的每个业务的SID对应的配置信息,因此,在步骤1502中,当SFF1确定出当前待处理的第二业务功能为SF2时,便可根据SF2的SID(A2::1),从与业务链上的每个业务的SID对应的配置信息查找与A2::1对应的配置信息,得到实现第二业务功能的第二虚拟资源模块的配置信息。
在一种具体的实现方式中,该第二虚拟资源模块的配置信息为图12所示的实施例提供的第二虚拟资源模块的配置信息。也即是,该配置信息包括多个表项,每个表项包括第一SFF或者任一个第二SFF上连接的一个第二虚拟资源模块的标识,该第二虚拟资源模块的标识可以为该第二虚拟资源模块的SID。该第二虚拟资源模块的配置信息已在图12所示的实施例中进行了详细说明,在此就不再赘述。
步骤1503:第一SFF根据负载均衡策略选择一个第二虚拟资源模块的标识。
基于图12所示的实施例生成的第二虚拟资源模块的配置信息,步骤1503的实现方式可以为:第一SFF采用哈希算法确定转发报文的第一表项,第一表项包括所选择的第二虚拟资源模块的标识,且第一表项为多个表项中的一个表项,哈希算法满足将报文匹配到多个表项中的各个表项的概率相同。可以理解,在另外的实现方式下,可以采用不同的哈希算法使得报文匹配到多个表项中的各个表项的概率不相同,具体可以根据负载均衡策略确定具体类型的哈希算法。
步骤1504:第一SFF根据所选择的第二虚拟资源模块的标识将报文转发至第一SFF连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
基于图12所示的实施例生成的配置信息,步骤1504的实现方式可以为:第一SFF根据所选择的第二虚拟资源模块的SID所指示的第二虚拟资源模块的接口标识,将报文通过接口标识所指示的端口,将报文转发至第一SFF连接的一个第二虚拟资源模块;或者,第一SFF根据所选择的第二虚拟资源模块的SID所指示的目的地址,将报文转发至所选择的第二虚拟资源模块所连接的第二SFF。
第一SFF在选择出一个第二虚拟资源模块的标识时,通过上述实现方式可知,选择的第二虚拟资源模块可能为本地的一个第二虚拟模块,也可能是远端的第二虚拟资源模块,且在不同的情况下,第一SFF转发报文的方式不同。因此,第一SFF在选择出一个第二虚拟资源模块的标识时,需要先判断选择的第二虚拟资源模块是本地的一个第二虚拟模块,还是远端的第二虚拟资源模块。
在一种可能的实现方式中,第一SFF在本地SID列表中查找选择的SID,本地SID列表包括第一SFF本地连接的用于实现业务链上任一业务功能的各个虚拟资源模块的SID;在第一SFF的本地SID列表中查找到选择的SID的情况下,此时表明选择的第二虚拟资源模块可能为本地的一个第二虚拟模块。便可获取选择的SID所指示的第二虚拟资源模块的接口标识,以便于后续通过获取的接口标识所指示的端口将报文发送至选择的SID所指示的第二虚拟资源模块。
相应地,在本地SID列表中没有查找到选择的SID的情况下,此时表明选择的第二虚拟资源模块为远端的第二虚拟资源模块。便可根据选择的SID所指示的目的地址,将报文转发至选择的SID所指示的第二虚拟资源模块所连接的第二SFF。
比如,对于图14所示SFF1中的与第二业务功能SF2的配置信息,对该报文采用哈希算法之后,如果哈希运算后确定的第一表项为第一行的表项,由于第一行表项包括的SID为B1::100,该SID显然在是在SFF1的本地SID列表中的,此时则控制B1::100所指示的第二虚拟资源模块进行第二业务功能处理操作,该过程也称为执行End.A*操作。其中,控制B1::100所指示的第二虚拟资源模块进行业务处理操作,也即是,将该报文通过分配B1::100时所依据的出口(IFACE_OUT1)发送至相应的第二虚拟资源模块。如果哈希运算后确定的第一表项为第二行的表项,由于第二行表项包括的SID为B2::100,该SID显然在是不在SFF1的本地SID列表中的,此时则将该报文转发至相应的SFF2上B2::100所指示的第二虚拟资源模块进行第二业务处理。如果哈希运算后确定的第一表项为第三行的表项,处理过程和哈希运算后确定的第一表项为第二行的表项的处理过程相同。上述处理过程可以参考图16所示。
图17是本申请实施例提供的一种第二SFF处理用户流量的过程示意图。如图17所示,当SFF2接收到SFF1分发过来的报文时,由于该报文已经是SFF1分流之后的用户流量,因此SFF2只需要将该报文转发至相应的第二虚拟资源模块进行处理即可,不会返回至SFF1。
其中,对于哈希运算后确定的第一表项为图16中SFF1的第二虚拟资源模块的配置信息中的第二行表项的报文,SFF2查找图16中SFF1的第二虚拟资源模块的配置信息中的第二行表项包括的SID(也即是图17中SFF2上的第二虚拟资源模块的配置信息中的第一行表项包括的SID)对应的出口标识,根据该出口标识将该报文发送至相应的第二虚拟资源模块进行处理,该处理过程和SFF1处理哈希运算后确定的第一表项为图16中第一行表项对应的报文的过程相同,在此不再重复说明。
在本申请实施例中,通信网络中连接有第二虚拟资源模块的SFF要么为一个或多个第二SFF,要么为一个或多个第二SFF以及第一SFF,因此,该第二虚拟资源模块的配置信息至少包括该通信网络中第二SFF上连接的第二虚拟资源模块的配置信息。如此,当第一SFF接收到自身连接的任一第二虚拟资源模块发送报文时,便可根据实现该第二业务功能的虚拟资源模块的配置信息动态确定该报文的转发路径,以实现对该报文进行动态的负载分担,而不是由业务链入口节点统一进行负载分担,降低了业务链入口节点的压力。此外,即使为第二业务功能配置的虚拟资源模块发生了变化,只需要及时更新第二虚拟资源模块的配置信息,第一SFF同样可以动态地进行负载分担,无需控制节点重新编排所有的分段路由策略,从而简化了该场景下处理过程,也就提高了该场景下的报文转发效率。
图18是本申请实施例提供的一种网络设备的结构示意图,该网络设备1800可以为上述图1-15所示实施例中的任一SFF或业务链入口节点。该网络设备1800可以为交换机,路由器或者其他转发报文的网络设备。在该实施例中,该网络设备1800包括:主控板1810、接口板1830和接口板1840。多个接口板的情况下可以包括交换网板(图中未示出),该交换网板用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。
主控板1810用于完成系统管理、设备维护、协议处理等功能。接口板1830和1840用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现报文的转发。主控板1810上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板1810、接口板1830以及接口板1840之间通过系统总线与系统背板相连实现互通。接口板1830上包括一个或多个处理器1831。处理器1831用于对接口板进行控制管理并与主控板上的中央处理器进行通信,以及用于报文的转发处理。接口板1830上的存储器1832用于存储转发表项,处理器1831通过查找存储器1832中存储的转发表项进行报文的转发。
所述接口板1830包括一个或多个网络接口1833用于接收其他设备发送的报文,并根据处理器1831的指示发送报文。具体实现过程可以参考图3所示实施例中的303、304、306、307、309、310以及312步骤,图4所示实施例中的403步骤,图9所示实施例中的901和903步骤,图12所示实施例中的1203步骤,图15所示实施例中的1501和1504步骤。这里不再逐一赘述。
所述处理器1831用于执行图3-15所示实施例中所描述的任一SFF或业务链入口节点的处理步骤和功能,具体可以参看上述图3所示实施例中的305(作为业务链入口节点时的处理)或308步骤(作为第一SFF时的处理)或311步骤(作为第二SFF时的处理),图4所示实施例中的401和402步骤,图9所示实施例中的902,图12所示实施例中的1201和1202步骤,图15所示实施例中的1502和1503步骤。这里不再逐一赘述。
可以理解,如图18所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板1840上的操作与所述接口板1830的操作基本相似,为了简洁,不再赘述。此外,可以理解的是,图18中的接口板1830中的处理器1831和/或1841可以是专用硬件或芯片,如网络处理器或者专用集成电路(application specific integrated circuit)来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。采用网络处理器这一专用硬件或芯片的具体实现方式可以参考下面图19所示的实施例。在另外的实施方式中,所述处理器1831和/或1841也可以采用通用的处理器,如通用的CPU来实现以上描述的功能。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
具体的实施例中,存储器1832可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1832可以是独立存在,通过通信总线与处理器1831相连接。存储器1832也可以和处理器1831集成在一起。
其中,存储器1832用于存储程序代码,并由处理器1831来控制执行,以执行上述实施例所提供的路径探测方法。处理器1831用于执行存储器1832中存储的程序代码。程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为下面图21、图22任一实施例中提供的软件模块。
具体实施例中,所述网络接口1833,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access networkRAN),无线局域网(wireless local area networks,WLAN)等。
图19是本申请实施例提供的另一种网络设备的结构示意图,该网络设备1900可以为上述图1-15所示实施例中的任一SFF或业务链入口节点。该网络设备1900可以为交换机,路由器或者其他转发报文的网络设备。在该实施例中,该网络设备1900包括:主控板1910、接口板1930、交换网板1920和接口板1940。主控板1910用于完成系统管理、设备维护、协议处理等功能。交换网板1920用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1930和1940用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。控制平面由主控板1910的各管控单元及接口板530和540上的管控单元等构成。主控板510上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板1910、接口板1930和1940,以及交换网板1920之间通过系统总线与系统背板相连实现互通。接口板1930上的中央处理器1931用于对接口板进行控制管理并与主控板上的中央处理器进行通信。接口板1930上的转发表项存储器1934用于存储转发表项,网络处理器1932通过查找转发表项存储器1934中存储的转发表项进行报文的转发。
所述接口板1930的物理接口卡1933用于接收报文。考具体实现过程可以参考图3所示实施例中的303、304、307、310步骤,图4所示实施例中的403步骤,图9所示实施例中的901步骤,图12所示实施例中的1203步骤,图15所示实施例中的1501步骤。这里不再逐一赘述。
所述网络处理器1932用于执行图2-15所示实施例中所描述的任一SFF或业务链入口节点的处理步骤和功能,具体可以参看上述图3所示实施例中的305(作为业务链入口节点时的处理)或308步骤(作为第一SFF时的处理)或311步骤(作为第二SFF时的处理),图4所示实施例中的401和402步骤,图9所示实施例中的902,图12所示实施例中的1201和1202步骤,图15所示实施例中的1502和1503步骤。这里不再逐一赘述。
然后,处理之后报文通过所述物理接口卡1933向其他设备发送。具体实现过程可以参考图3所示实施例中的306、309以及312步骤,图9所示实施例中的903步骤,图15所示实施例中的1504步骤。这里不再逐一赘述。
可以理解,如图19所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板1940上的操作与所述接口板1930的操作基本相似,为了简洁,不再赘述。此外,如上所述,图19中的网络处理器1932以及1942的功能可以用专用集成电路(application specific integrated circuit)替换来实现。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图20是本申请实施例提供的一种上述图19所示网络设备中的接口板2000的结构示意图,该接口板2000所在的网络设备可以为上述图1-15所示实施例中的任一SFF或业务链入口节点。该接口板2000可以包括物理接口卡(physical interface card,PIC)2030,网络处理器(network processor,NP)2010,以及流量管理模块(traffic management)2020。
其中,PIC:物理接口卡(physical interface card),用于实现物理层的对接功能,原始的流量由此进入网络设备的接口板,以及处理后的报文从该PIC卡发出。
网络处理器NP 2010用于实现报文的转发处理。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找(如上述实施例中涉及获取实现第二业务功能的第二虚拟资源模块的配置信息);下行报文的处理:转发表查找(如上述实施例中涉及获取实现第二业务功能的第二虚拟资源模块的配置信息)等等。
流量管理TM 2020,用于实现QoS、线速转发、大容量缓存,队列管理等功能。具体而言,上行流量管理包括:上行Qos处理(如拥塞管理和队列调度等)以及切片处理;下行流量管理包括:组包处理,多播复制,以及下行Qos处理(如拥塞管理和队列调度等)。
可以理解的是,若网络设备有多个接口板2000的情况下,多个接口板2000之间可以通过交换网2040通信。
需要说明的是,图20仅示出了NP内部的示意性处理流程或模块,具体实现中各模块的处理顺序不限于此,而且实际应用中可以根据需要部署其他模块或者处理流程。本申请实施例对比不做限制。
图21是本申请实施例提供的一种通信网络中的第一SFF的结构示意图。第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及第一SFF也连接有一个或多个第二虚拟资源模块;第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
如图21所示,该第一SFF 2100包括:
接收模块2101,用于接收与第一SFF连接的一个第一虚拟资源模块发送的报文。具体实现方式可以参考图3实施例中的步骤307、图9实施例中的步骤901以及图15实施例中的步骤1501。
确定模块2102,用于根据报文确定第二业务功能。具体实现方式可以参考图3实施例中的步骤307、图9实施例中的步骤901以及图15实施例中的步骤1501。
获取模块2103,用于获取实现第二业务功能的第二虚拟资源模块的配置信息。具体实现方式可以参考图3实施例中的步骤308、图9实施例中的步骤902以及图15实施例中的步骤1502。
发送模块2104,用于第一SFF根据第二虚拟资源模块的配置信息将报文转发至第一SFF上连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。具体实现方式可以参考图3实施例中的步骤309、图9实施例中的步骤903以及图15实施例中的步骤1503和1504。
可选地,第二虚拟资源模块的配置信息包括:第一SFF连接的每个第二虚拟资源模块的标识和权重,以及一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。
此时,发送模块,具体用于:根据第一SFF连接的每个第二虚拟资源模块的标识和权重,以及一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重,将报文转发至第一SFF连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
可选地,该第二虚拟资源模块的配置信息包括:一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重。
此时,发送模块,具体用于:根据每个第二SFF连接的第二资源模块的权重,将报文转发至一个或多个第二SFF中的一个第二SFF。
可选地,第二虚拟资源模块的配置信息包括多个表项,多个表项包括一个或多个本地表项和一个或多个远端表项;一个或多个本地表项中的每个本地表项中包括第一SFF连接的一个第二虚拟资源模块的标识,以及第一SFF连接的一个第二虚拟资源模块的权重;一个或多个远端表项中的每一个远端表项中包括一个第二SFF的标识,以及与一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重,
此时,发送模块,具体用于:根据多个表项中的权重采用哈希算法确定转发报文的第一表项,第一表项为多个表项中的一个表项;根据第一表项将报文转发至第一SFF连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
可选地,第一SFF连接的一个第二虚拟资源模块的权重为数量1,与一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量;哈希算法满足将报文匹配到多个表项中的各个表项的概率之间的比值和多个表项中各个表项中的数量之间的比值相同。
可选地,第一SFF连接的一个第二虚拟资源模块的标识为第一SFF连接的一个第二虚拟资源模块的接口标识,第二SFF的标识为第二SFF的SID。
此时,发送模块,具体用于:根据第一表项中包括的第一SFF连接的一个第二虚拟资源模块的接口标识所指示的端口将报文通过端口转发至第一SFF连接的一个第二虚拟资源模块;或者,根据第一表项中包括的第二SFF的SID将报文转发至第一表项中的SID所指示的第二SFF。
可选地,第二虚拟资源模块的配置信息包括至少两个远端表项;至少两个远端表项中的每一个远端表项中包括一个第二SFF标识以及与一个第二SFF标识所对应的第二SFF上连接的第二虚拟资源模块的权重。
此时,发送模块,具体用于:根据至少两个远端表项中的权重采用哈希算法确定转发报文的第二表项,第二表项为至少两个远端表项中的一个远端表项;根据第二表项将报文转发至第二表项中的第二SFF的标识所对应的SFF。
可选地,与一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量;哈希算法满足将报文匹配到至少两个远端表项中的各个远端表项的概率之间的比值和至少两个远端表项中的各个远端表项中的数量之间的比值相同。
可选地,前述一个第二SFF的标识为一个第二SFF的SID。
可选地,接收模块,还用于接收一个或多个第二SFF中每个第二SFF发布的SID通告信息,SID通告信息包括发布SID通告信息的第二SFF的标识,以及发布SID通告信息的第二SFF上连接的第二虚拟资源模块的权重;此时,第一SFF还包括创建模块,用于根据每个第二SFF发布的SID通告信息,创建与每个第二SFF对应的远端表项。
可选地,获取模块,还用于获取第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;此时,创建模块,还用于根据第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重,创建与每个第二虚拟资源模块对应的本地表项。
可选地,发送模块,还用于向一个或多个第二SFF中每个第二SFF发布的SID通告信息,SID通告信息包括第一SFF连接的第二虚拟资源模块的权重以及第一SFF的标识。
可选地,SID通告信息携带在定位标识类型-长度-值TLV中,定位标识TLV包括子TLV,子TLV包括SID字段和资源权重字段,SID字段用于指示发布定位标识TLV的SFF的标识,资源权重字段用于指示发布定位标识TLV的SFF上连接的第二虚拟资源模块的权重。
可选地,该第二虚拟资源模块的配置信息包括第一SFF以及一个或多个第二SFF连接的每个第二虚拟资源模块的标识,或者,一个或多个第二SFF连接的每个第二虚拟资源模块的标识;
此时,发送模块,具体用于:根据负载均衡策略选择一个第二虚拟资源模块的标识;根据所选择的第二虚拟资源模块的标识将报文转发至第一SFF连接的一个第二虚拟资源模块或者一个或多个第二SFF中的一个第二SFF。
可选地,该第二虚拟资源模块的配置信息包括多个表项,每个表项包括第一SFF或者任一个第二SFF上连接的一个第二虚拟资源模块的标识。
此时,发送模块,具体用于:采用哈希算法确定转发报文的第一表项,第一表项包括所选择的第二虚拟资源模块的标识,且第一表项为多个表项中的一个表项,哈希算法满足将报文匹配到多个表项中的各个表项的概率相同。
可选地,每个第二虚拟资源模块的标识为每个第二虚拟资源模块的SID;
此时,发送模块,具体用于:根据所选择的第二虚拟资源模块的SID所指示的第二虚拟资源模块的接口标识,将报文通过接口标识所指示的端口,将报文转发至第一SFF连接的一个第二虚拟资源模块;或者,根据所选择的第二虚拟资源模块的SID所指示的目的地址,将报文转发至所选择的第二虚拟资源模块所连接的第二SFF。
可选地,接收模块,还用于接收一个或多个第二SFF中每个第二SFF发布的SID通告信息,SID通告信息包括发布SID通告信息的第二SFF连接的每个第二虚拟资源模块的标识。此时,第一SFF还包括创建模块,用于根据每个第二SFF发布的SID通告信息,创建与每个第二SFF连接的每个第二虚拟资源模块对应的表项。
可选地,获取模块,还用于获取第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。此时,创建模块,还用于根据第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识,创建与第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项。
可选地,发送模块,还用于向一个或多个第二SFF中每个第二SFF发布的SID通告信息,SID通告信息包括第一SFF连接的一个或多个第二虚拟资源模块的标识。
可选地,SID通告信息携带在定位标识类型-长度-值TLV中,定位标识TLV包括子TLV,子TLV包括SID字段,SID字段用于指示发布定位标识TLV的SFF的标识,子TLV包括子子TLV,子子TLV包括SID字段,子子TLV中的SID字段用于指示发布定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
在本申请实施例中,通信网络中连接有第二虚拟资源模块的SFF要么为一个或多个第二SFF,要么为一个或多个第二SFF以及第一SFF,因此,该第二虚拟资源模块的配置信息至少包括该通信网络中第二SFF上连接的第二虚拟资源模块的配置信息。如此,当第一SFF接收到自身连接的任一第二虚拟资源模块发送报文时,便可根据实现该第二业务功能的虚拟资源模块的配置信息动态确定该报文的转发路径,以实现对该报文进行动态的负载分担,而不是由业务链入口节点统一进行负载分担,降低了业务链入口节点的压力。此外,即使为第二业务功能配置的虚拟资源模块发生了变化,只需要及时更新第二虚拟资源模块的配置信息,第一SFF同样可以动态地进行负载分担,无需控制节点重新编排所有的分段路由策略,从而简化了该场景下处理过程,也就提高了该场景下的报文转发效率。
需要说明的是:上述实施例提供的第一SFF在进行业务报文转发时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第一SFF与业务报文转发方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图22是本申请实施例提供的一种通信网络中的第一SFF的结构示意图。第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及第一SFF也连接有一个或多个第二虚拟资源模块;第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块。
如图22所示,该第一SFF 2200包括:
接收模块2201,用于接收一个或多个第二SFF中任一第二SFF发布的SID通告信息,SID通告信息用于指示任一第二SFF上连接的第二虚拟资源模块的配置信息。具体实现方式可以参考图4所示的实施例中的步骤403,图12所示的实施例中的步骤1203。
添加模块2202,用于将任一第二SFF上连接的第二虚拟资源模块的配置信息添加在实现第二业务功能的第二虚拟资源模块的配置信息中。具体实现方式可以参考图4所示的实施例中的步骤403,图12所示的实施例中的步骤1203。
可选地,该实现第二业务功能的第二虚拟资源模块的配置信息包括多个表项,多个表项包括一个或多个远端表项;SID通告信息包括任一第二SFF的标识,以及任一第二SFF上连接的第二虚拟资源模块的权重。
此时,添加模块,具体用于:
根据任一第二SFF发布的SID通告信息,创建与任一第二SFF对应的远端表项,创建的远端表项包括任一第二SFF的标识,以及任一第二SFF上连接的第二虚拟资源模块的权重。
可选地,多个表项还包括一个或多个本地表项;此时,第一SFF还包括:
获取模块,用于获取第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;
添加模块,还用于根据第一SFF连接的每个第二虚拟资源模块的标识,以及第一SFF连接的每个第二虚拟资源模块的权重,创建与第一SFF连接的每个第二虚拟资源模块对应的本地表项,创建的每个本地表项包括相应的第二虚拟资源模块的标识,以及相应的第二虚拟资源模块的权重。
可选地,第一SFF还包括发送模块,用于向一个或多个第二SFF中每个第二SFF发布的SID通告信息,SID通告信息包括第一SFF连接的第二虚拟资源模块的权重以及第一SFF的标识。
可选地,SID通告信息携带在定位标识类型-长度-值TLV中,定位标识TLV包括子TLV,子TLV包括SID字段和资源权重字段,SID字段用于指示发布定位标识TLV的SFF的权重,资源权重字段用于指示发布定位标识TLV的SFF上连接的第一虚拟资源模块的权重。
可选地,任一第二SFF上连接的第二虚拟资源模块的权重为任一第二SFF上连接的第二虚拟资源模块的数量,第一SFF连接的每个第二虚拟资源模块的权重为数量1。
可选地,该实现第二业务功能的第二虚拟资源模块的配置信息包括第一SFF以及一个或多个第二SFF连接的每个第二虚拟资源模块的标识,SID通告信息包括任一第二SFF上连接的一个多个第二虚拟资源模块中每个第二虚拟资源模块的标识;
此时,添加模块,具体用于:第一SFF根据任一第二SFF发布的SID通告信息,创建与任一第二SFF连接的每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,第一SFF还包括:
获取模块,用于获取第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识;
添加模块,用于根据第一SFF连接的一个或多个第二虚拟资源模块中的每个第二虚拟资源模块的标识,创建与第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,所第一SFF还包括:
发送模块,用于向一个或多个第二SFF中每个第二SFF发布的SID通告信息,SID通告信息包括第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。
可选地,SID通告信息携带在定位标识类型-长度-值TLV中,定位标识TLV包括子TLV,子TLV中的SID字段用于指示发布定位标识TLV的SFF的SID,子TLV包括子子TLV,子子TLV中的SID字段用于指示发布定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
在本申请实施例中,通信网络中连接有第二虚拟资源模块的SFF要么为一个或多个第二SFF,要么为一个或多个第二SFF以及第一SFF,因此,该第二虚拟资源模块的配置信息至少包括该通信网络中第二SFF上连接的第二虚拟资源模块的配置信息。如此,当第一SFF接收到自身连接的任一第二虚拟资源模块发送报文时,便可根据实现该第二业务功能的虚拟资源模块的配置信息动态确定该报文的转发路径,以实现对该报文进行动态的负载分担,而不是由业务链入口节点统一进行负载分担,降低了业务链入口节点的压力。此外,即使为第二业务功能配置的虚拟资源模块发生了变化,只需要及时更新第二虚拟资源模块的配置信息,第一SFF同样可以动态地进行负载分担,无需控制节点重新编排所有的分段路由策略,从而简化了该场景下处理过程,也就提高了该场景下的报文转发效率。
需要说明的是:上述实施例提供的第一SFF在进行业务报文转发时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第一SFF与业务报文转发方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
此外,本申请实施例还提供了一种通信网络中的一个或多个第二SFF中的任一第二SFF。该通信网络还包括第一SFF,第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及第一SFF也连接有一个或多个第二虚拟资源模块;第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
该第二SFF包括:
接收模块,用于接收第一SFF发送的报文;
确定模块,用于根据报文确定第二业务功能;
获取模块,用于获取第二业务功能的第二虚拟资源模块的配置信息;
发送模块,用于根据第二虚拟资源模块的配置信息将报文转发至该第二SFF上连接的一个第二虚拟资源模块。
该第二SFF的功能的详细实现方式可以参考上述图3至图15所示的实施例,在此不再详细阐述。
此外,本申请实施例还提供了一种通信网络中的控制节点。通信网络还包括业务链入口节点;
该控制节点包括:
确定模块,用于确定分段路由策略,分段路由策略用于指示业务链上的多个业务功能;
发送模块,用于将分段路由策略下发至业务链入口节点,由业务链入口节点在接收到的报文的报文头添加分段路由策略。
该控制节点的功能的详细实现方式可以参考上述图3所示的实施例,在此不再详细阐述。
此外,本申请实施例还提供了一种通信网络中的业务链入口节点。该通信网络还包括控制节点;
该业务链入口节点包括:
接收模块,用于接收控制节点下发的分段路由策略,分段路由策略用于指示业务链上的多个业务功能;
接收模块,还用于接收报文,将分段路由策略添加在报文的报文头中;
获取模块,用于获取实现第一业务功能的第一虚拟资源模块的配置信息,第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,第一业务功能为业务链上的第一个业务功能;
发送模块,用于根据所有第一虚拟资源模块的配置信息将报文转发至连接有第一虚拟资源模块的一个SFF。
该业务链入口节点的功能的详细实现方式可以参考上述图3所示的实施例,在此不再详细阐述。
此外,本申请实施例还提供了一种业务报文转发系统,该系统包括第一SFF和一个或多个第二SFF,第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及第一SFF也连接有一个或多个第二虚拟资源模块;第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块。
其中,一个或多个第二SFF中任一第二SFF,用于发布SID通告信息,该SID通告信息用于指示该任一第二SFF上连接的第二虚拟资源模块的配置信息。
该第一SFF,用于接收该SID通告信息,将该任一第二SFF上连接的第二虚拟资源模块的配置信息添加至实现该第二业务功能的第二虚拟资源模块的配置信息中。
可选地,该第二虚拟资源模块的配置信息包括多个表项,该多个表项包括一个或多个远端表项;该SID通告信息包括该任一第二SFF的标识,以及该任一第二SFF上连接的第二虚拟资源模块的权重。此时,该第一SFF具体用于:根据该任一第二SFF发布的SID通告信息,创建与该任一第二SFF对应的远端表项,创建的远端表项包括该任一第二SFF的标识,以及该任一第二SFF上连接的第二虚拟资源模块的权重。
可选地,该多个表项还包括一个或多个本地表项;此时,该第一SFF还用于:获取该第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;根据该第一SFF连接的每个第二虚拟资源模块的标识,以及该第一SFF连接的每个第二虚拟资源模块的权重,创建与该第一SFF连接的每个第二虚拟资源模块对应的本地表项,创建的每个本地表项包括相应的第二虚拟资源模块的标识,以及相应的第二虚拟资源模块的权重。
可选地,该第一SFF还用于:向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的第二虚拟资源模块的权重以及该第一SFF的标识。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV包括SID字段和资源权重字段,该SID字段用于指示发布该定位标识TLV的SFF的权重,该资源权重字段用于指示发布该定位标识TLV的SFF上连接的第一虚拟资源模块的权重。
可选地,该任一第二SFF上连接的第二虚拟资源模块的权重为该任一第二SFF上连接的第二虚拟资源模块的数量,该第一SFF连接的每个第二虚拟资源模块的权重为数量1。
可选地,该第二虚拟资源模块的配置信息包括第一SFF以及该一个或多个第二SFF连接的每个第二虚拟资源模块的标识,该SID通告信息包括该任一第二SFF上连接的一个多个第二虚拟资源模块中每个第二虚拟资源模块的标识。此时,该第一SFF具体用于:根据该任一第二SFF发布的SID通告信息,创建与该任一第二SFF连接的每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,该第一SFF还用于:获取该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识;根据该第一SFF连接的一个或多个第二虚拟资源模块中的每个第二虚拟资源模块的标识,创建与该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
可选地,该第一SFF还用于:向该一个或多个第二SFF中每个第二SFF发布的SID通告信息,该通告信息包括该第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。
可选地,该SID通告信息携带在定位标识类型-长度-值TLV中,该定位标识TLV包括子TLV,该子TLV中的SID字段用于指示该发布该定位标识TLV的SFF的SID,该子TLV包括子子TLV,该子子TLV中的SID字段用于指示发布该定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
此外,该系统还可以包括控制节点和业务链入口节点。
关于第一SFF、第二SFF、控制节点以及业务链入口节点中各个节点的功能已经在前述实施例中进行了详细说明,在此不再阐述。
图23是本申请实施例提供的一种网络设备2300的结构示意图。图1至图17实施例中的业务链入口节点、第一SFF以及第二SFF均可以通过图23所示的网络设备2300来实现,此时,该网络设备2300可以为交换机,路由器或者其他转发报文的网络设备。另外,图1至图17实施例中控制节点同样可以通过图23所示的网络设备2300来实现,此时该网络设备2300的具体功能可以参考前述图1至图17任一实施例中的控制节点的具体实现方式,在此不再赘述。参见图23,该设备包括至少一个处理器2301,通信总线2302、存储器2303以及至少一个通信接口2304。
处理器2301可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线2302可包括一通路,在上述组件之间传送信息。
存储器2303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2303可以是独立存在,通过通信总线2302与处理器2301相连接。存储器2303也可以和处理器2301集成在一起。
其中,存储器2303用于存储程序代码,并由处理器2301来控制执行,以执行上述任一实施例所提供的路径探测方法。处理器2301用于执行存储器2303中存储的程序代码。程序代码中可以包括一个或多个软件模块。图2中的通信网络中的任一节点可以通过处理器2301以及存储器2303中的程序代码中的一个或多个软件模块,来确定用于开发应用的数据。这一个或多个软件模块可以为图21以及图22任一实施例中提供的软件模块。
通信接口2304,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access networkRAN),无线局域网(wireless local areanetworks,WLAN)等。
在具体实现中,作为一种实施例,网络设备可以包括多个处理器,例如图23中所示的处理器2301和处理器2305。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如:固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (32)
1.一种业务报文转发方法,应用于通信网络中的第一业务转发器SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,所述通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
其特征在于,所述方法包括:
第一SFF接收与所述第一SFF连接的一个第一虚拟资源模块发送的报文;
所述第一SFF根据所述报文确定所述第二业务功能,所述报文携带用于指示当前待处理的SID的字段,所述SID指示一个业务功能,所述第一SFF存储有业务功能与SID之间的对应关系;
所述第一SFF获取实现所述第二业务功能的第二虚拟资源模块的配置信息,所述第二虚拟资源模块的配置信息包括所述第一SFF和所述第二SFF连接的或所述第二SFF连接的第二虚拟资源模块的配置信息;
所述第一SFF根据所述第二虚拟资源模块的配置信息将所述报文转发至所述第一SFF上连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
2.如权利要求1所述的方法,其特征在于,所述第二虚拟资源模块的配置信息包括:所述第一SFF连接的每个第二虚拟资源模块的标识和权重,以及所述一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重;
所述第一SFF根据所述第二虚拟资源模块的配置信息将所述报文转发至所述第一SFF上连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF,包括:
所述第一SFF根据所述第一SFF连接的每个第二虚拟资源模块的标识和权重,以及所述一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重,将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
3.如权利要求1所述的方法,其特征在于,所述第二虚拟资源模块的配置信息包括:所述一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重;
所述第一SFF根据所述第二虚拟资源模块的配置信息将所述报文转发至所述第一SFF上连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF,包括:
所述第一SFF根据每个第二SFF连接的第二资源模块的权重,将所述报文转发至所述一个或多个第二SFF中的一个第二SFF。
4.如权利要求2所述的方法,其特征在于,所述第二虚拟资源模块的配置信息包括多个表项,所述多个表项包括一个或多个本地表项和一个或多个远端表项;所述一个或多个本地表项中的每个本地表项中包括所述第一SFF连接的一个第二虚拟资源模块的标识,以及所述第一SFF连接的一个第二虚拟资源模块的权重;所述一个或多个远端表项中的每一个远端表项中包括一个第二SFF的标识,以及与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重;
所述第一SFF根据所述第一SFF连接的每个第二虚拟资源模块的标识和权重,以及所述一个或多个第二SFF中每个第二SFF的标识和每个第二SFF连接的第二资源模块的权重,将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块,包括:
所述第一SFF根据所述多个表项中的权重采用哈希算法确定转发所述报文的第一表项,所述第一表项为所述多个表项中的一个表项;
所述第一SFF根据所述第一表项将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
5.如权利要求4所述的方法,其特征在于,所述第一SFF连接的一个第二虚拟资源模块的权重为数量1,与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量;
所述哈希算法满足将所述报文匹配到所述多个表项中的各个表项的概率之间的比值和所述多个表项中各个表项中的数量之间的比值相同。
6.如权利要求4或5所述的方法,其特征在于,所述第一SFF连接的一个第二虚拟资源模块的标识为所述第一SFF连接的一个第二虚拟资源模块的接口标识,所述第二SFF的标识为所述第二SFF的SID;
所述第一SFF根据所述第一表项将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF,包括:
所述第一SFF根据所述第一表项中包括的所述第一SFF连接的一个第二虚拟资源模块的接口标识所指示的端口将所述报文通过所述端口转发至所述第一SFF连接的一个第二虚拟资源模块;或者,
所述第一SFF根据所述第一表项中包括的第二SFF的SID将所述报文转发至所述第一表项中的SID所指示的第二SFF。
7.如权利要求3所述的方法,其特征在于,所述第二虚拟资源模块的配置信息包括至少两个远端表项;所述至少两个远端表项中的每一个远端表项中包括一个第二SFF标识以及与所述一个第二SFF标识所对应的第二SFF上连接的第二虚拟资源模块的权重;
所述第一SFF根据每个第二SFF连接的第二资源模块的权重,将所述报文转发至所述一个或多个第二SFF中的一个第二SFF,包括:
所述第一SFF根据所述至少两个远端表项中的权重采用哈希算法确定转发所述报文的第二表项,所述第二表项为至少两个远端表项中的一个远端表项;
所述第一SFF根据所述第二表项将所述报文转发至所述第二表项中的第二SFF的标识所对应的SFF。
8.如权利要求7所述的方法,其特征在于,与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的权重为与所述一个第二SFF的标识所对应的第二SFF上连接的第二虚拟资源模块的数量;
所述哈希算法满足将所述报文匹配到所述至少两个远端表项中的各个远端表项的概率之间的比值和所述至少两个远端表项中的各个远端表项中的数量之间的比值相同。
9.如权利要求7或8所述的方法,其特征在于,所述一个第二SFF的标识为所述一个第二SFF的SID。
10.如权利要求4-9任一所述的方法,其特征在于,所述方法还包括:
所述第一SFF接收所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括发布所述SID通告信息的第二SFF的标识,以及发布所述SID通告信息的第二SFF上连接的第二虚拟资源模块的权重;
所述第一SFF根据每个第二SFF发布的SID通告信息,创建与每个第二SFF对应的远端表项。
11.如权利要求4-6任一所述的方法,其特征在于,所述方法还包括:
所述第一SFF获取所述第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;
所述第一SFF根据所述第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重,创建与每个第二虚拟资源模块对应的本地表项。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
所述第一SFF向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的第二虚拟资源模块的权重以及所述第一SFF的标识。
13.如权利要求10或12所述的方法,其特征在于,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV包括SID字段和资源权重字段,所述SID字段用于指示发布所述定位标识TLV的SFF的标识,所述资源权重字段用于指示发布所述定位标识TLV的SFF上连接的第二虚拟资源模块的权重。
14.如权利要求1所述的方法,其特征在于,所述第二虚拟资源模块的配置信息包括:第一SFF以及所述一个或多个第二SFF连接的每个第二虚拟资源模块的标识;或者,所述一个或多个第二SFF连接的每个第二虚拟资源模块的标识;
所述第一SFF根据所述第二虚拟资源模块的配置信息将所述报文转发至所述第一SFF上连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF,包括:
所述第一SFF根据负载均衡策略选择一个第二虚拟资源模块的标识;
所述第一SFF根据所选择的第二虚拟资源模块的标识将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF。
15.如权利要求14所述的方法,其特征在于,所述第二虚拟资源模块的配置信息包括多个表项,每个表项包括所述第一SFF或者任一个第二SFF上连接的一个第二虚拟资源模块的标识;
所述第一SFF根据负载均衡策略选择一个第二虚拟资源模块的标识,包括:
所述第一SFF采用哈希算法确定转发所述报文的第一表项,所述第一表项包括所选择的第二虚拟资源模块的标识,且所述第一表项为所述多个表项中的一个表项,所述哈希算法满足将所述报文匹配到所述多个表项中的各个表项的概率相同。
16.如权利要求14或15所述的方法,其特征在于,每个第二虚拟资源模块的标识为每个第二虚拟资源模块的SID;
所述第一SFF根据所选择的第二虚拟资源模块的标识将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块或者所述一个或多个第二SFF中的一个第二SFF,包括:
所述第一SFF根据所选择的第二虚拟资源模块的SID所指示的第二虚拟资源模块的接口标识,将所述报文通过所述接口标识所指示的端口,将所述报文转发至所述第一SFF连接的一个第二虚拟资源模块;或者,
所述第一SFF根据所选择的第二虚拟资源模块的SID所指示的目的地址,将所述报文转发至所选择的第二虚拟资源模块所连接的第二SFF。
17.如权利要求15所述的方法,其特征在于,所述方法还包括:
所述第一SFF接收所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括发布所述SID通告信息的第二SFF连接的每个第二虚拟资源模块的标识;
所述第一SFF根据每个第二SFF发布的SID通告信息,创建与每个第二SFF连接的每个第二虚拟资源模块对应的表项。
18.如权利要求15或17所述的方法,其特征在于,所述方法还包括:
所述第一SFF获取所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识,根据所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识,创建与所述第一SFF连接的一个或多个第二虚拟资源模块中所述每个第二虚拟资源模块对应的表项。
19.如权利要求18所述的方法,其特征在于,所述方法还包括:
所述第一SFF向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的一个或多个第二虚拟资源模块的标识。
20.如权利要求17或19所述的方法,其特征在于,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV包括SID字段,所述SID字段用于指示发布所述定位标识TLV的SFF的标识,所述子TLV包括子子TLV,所述子子TLV包括SID字段,所述所述子子TLV中的SID字段用于指示发布所述定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
21.如权利要求1-20所述的方法,其特征在于,所述方法包括:
所述第一SFF接收所述一个或多个第二SFF中任一第二SFF发布的SID通告信息,所述SID通告信息用于指示所述任一第二SFF上连接的第二虚拟资源模块的配置信息;
所述第一SFF将所述任一第二SFF上连接的第二虚拟资源模块的配置信息添加至实现所述第二业务功能的第二虚拟资源模块的配置信息中。
22.如权利要求21所述的方法,其特征在于,所述实现所述第二业务功能的第二虚拟资源模块的配置信息包括多个表项,所述多个表项包括一个或多个远端表项;所述SID通告信息包括所述任一第二SFF的标识,以及所述任一第二SFF上连接的第二虚拟资源模块的权重;
所述第一SFF将所述任一第二SFF上连接的第二虚拟资源模块的配置信息添加至实现所述第二业务功能的第二虚拟资源模块的配置信息中,包括:
所述第一SFF根据所述任一第二SFF发布的SID通告信息,创建与所述任一第二SFF对应的远端表项,创建的远端表项包括所述任一第二SFF的标识,以及所述任一第二SFF上连接的第二虚拟资源模块的权重。
23.如权利要求22所述的方法,其特征在于,所述多个表项还包括一个或多个本地表项;
所述方法还包括:
所述第一SFF获取所述第一SFF连接的每个第二虚拟资源模块的标识,以及每个第二虚拟资源模块的权重;
所述第一SFF根据所述第一SFF连接的每个第二虚拟资源模块的标识,以及所述第一SFF连接的每个第二虚拟资源模块的权重,创建与所述第一SFF连接的每个第二虚拟资源模块对应的本地表项,创建的每个本地表项包括相应的第二虚拟资源模块的标识,以及相应的第二虚拟资源模块的权重。
24.如权利要求22所述的方法,其特征在于,所述方法还包括:
所述第一SFF向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的第二虚拟资源模块的权重以及所述第一SFF的标识。
25.如权利要求22或24所述的方法,其特征在于,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV包括SID字段和资源权重字段,所述SID字段用于指示发布所述定位标识TLV的SFF的权重,所述资源权重字段用于指示发布所述定位标识TLV的SFF上连接的第一虚拟资源模块的权重。
26.如权利要求22至25任一所述的方法,其特征在于,所述任一第二SFF上连接的第二虚拟资源模块的权重为所述任一第二SFF上连接的第二虚拟资源模块的数量,所述第一SFF连接的每个第二虚拟资源模块的权重为数量1。
27.如权利要求21所述的方法,其特征在于,所述实现所述第二业务功能的第二虚拟资源模块的配置信息包括第一SFF以及所述一个或多个第二SFF连接的每个第二虚拟资源模块的标识,所述SID通告信息包括所述任一第二SFF上连接的一个多个第二虚拟资源模块中每个第二虚拟资源模块的标识;
所述第一SFF将所述任一第二SFF上连接的第二虚拟资源模块的配置信息添加至实现所述第二业务功能的第二虚拟资源模块的配置信息中,包括:
所述第一SFF根据所述任一第二SFF发布的SID通告信息,创建与所述任一第二SFF连接的每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
28.如权利要求27所述的方法,其特征在于,所述方法还包括:
所述第一SFF获取所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识;
根据所述第一SFF连接的一个或多个第二虚拟资源模块中的每个第二虚拟资源模块的标识,创建与所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块对应的表项,创建的每个表项包括相应第二虚拟资源模块的标识。
29.如权利要求27所述的方法,其特征在于,所述方法还包括:
所述第一SFF向所述一个或多个第二SFF中每个第二SFF发布的SID通告信息,所述SID通告信息包括所述第一SFF连接的一个或多个第二虚拟资源模块中每个第二虚拟资源模块的标识。
30.如权利要求27或29所述的方法,其特征在于,所述SID通告信息携带在定位标识类型-长度-值TLV中,所述定位标识TLV包括子TLV,所述子TLV中的SID字段用于指示所述发布所述定位标识TLV的SFF的SID,所述子TLV包括子子TLV,所述子子TLV中的SID字段用于指示发布所述定位标识TLV的SFF上连接的第二虚拟资源模块的标识。
31.一种通信网络中的第一SFF,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,所述通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
其特征在于,所述第一SFF包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的程序以执行权利要求1-30任一项所述的方法。
32.一种芯片,所述芯片设置在通信网络中的第一SFF中,所述第一SFF为连接有一个或多个第一虚拟资源模块的任一SFF,所述通信网络还包括一个或多个第二SFF,每个第二SFF连接有一个或多个第二虚拟资源模块,或者,每个第二SFF连接有一个或多个第二虚拟资源模块,以及所述第一SFF也连接有一个或多个第二虚拟资源模块;所述第一虚拟资源模块是指用于实现第一业务功能的虚拟资源模块,所述第二虚拟资源模块是指用于实现第二业务功能的虚拟资源模块;
其特征在于,所述芯片包括处理器和接口电路;
所述接口电路用于接收指令并传输至所述处理器;
所述处理器用于执行权利要求权利要求1-30任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039730.1A CN112751768B (zh) | 2019-10-29 | 2019-10-29 | 业务报文转发方法、装置及计算机存储介质 |
PCT/CN2020/105842 WO2021082568A1 (zh) | 2019-10-29 | 2020-07-30 | 业务报文转发方法、装置及计算机存储介质 |
EP20881407.9A EP4040745B1 (en) | 2019-10-29 | 2020-07-30 | Service packet forwarding method, device, and computer storage medium |
US17/732,066 US20220255864A1 (en) | 2019-10-29 | 2022-04-28 | Service packet forwarding method, apparatus, and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039730.1A CN112751768B (zh) | 2019-10-29 | 2019-10-29 | 业务报文转发方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112751768A CN112751768A (zh) | 2021-05-04 |
CN112751768B true CN112751768B (zh) | 2023-11-21 |
Family
ID=75641029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911039730.1A Active CN112751768B (zh) | 2019-10-29 | 2019-10-29 | 业务报文转发方法、装置及计算机存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220255864A1 (zh) |
EP (1) | EP4040745B1 (zh) |
CN (1) | CN112751768B (zh) |
WO (1) | WO2021082568A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021223103A1 (en) * | 2020-05-06 | 2021-11-11 | Nokia Shanghai Bell Co., Ltd. | Method and apparatus for preventing network attacks in a network slice |
US11743067B2 (en) * | 2021-12-06 | 2023-08-29 | Cisco Technology, Inc. | Systems and methods for preventing solicited-node multicast address collisions |
CN118101555B (zh) * | 2024-04-22 | 2024-07-23 | 新华三技术有限公司 | 报文转发方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487556A (zh) * | 2015-08-28 | 2017-03-08 | 中兴通讯股份有限公司 | 业务功能sf的部署方法及装置 |
WO2017125073A1 (en) * | 2016-01-21 | 2017-07-27 | Huawei Technologies Co., Ltd. | Distributed load balancing for network service function chaining |
CN107925624A (zh) * | 2016-07-01 | 2018-04-17 | 华为技术有限公司 | 基于业务功能链sfc的报文转发方法、装置和系统 |
CN109417496A (zh) * | 2016-07-06 | 2019-03-01 | 思科技术公司 | 虚拟网络环境中的自动服务功能验证 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9686181B2 (en) * | 2014-10-07 | 2017-06-20 | Cisco Technology, Inc. | Selective service bypass in service function chaining |
US20170230252A1 (en) * | 2014-10-24 | 2017-08-10 | ZTE CORPORATION (CHINA) ZTE Plaza | Method and system for deep stats inspection (dsi) based smart analytics for network/service function chaining |
WO2016089400A1 (en) * | 2014-12-03 | 2016-06-09 | Hewlett Packard Enterprise Development Lp | Modifying an address to forward a packet to a service function |
US9749229B2 (en) * | 2015-07-01 | 2017-08-29 | Cisco Technology, Inc. | Forwarding packets with encapsulated service chain headers |
CN106330714B (zh) * | 2015-07-02 | 2020-05-29 | 中兴通讯股份有限公司 | 一种实现业务功能链的方法和装置 |
EP3266169A4 (en) * | 2015-12-28 | 2018-09-12 | Hewlett-Packard Enterprise Development LP | Packet distribution based on an identified service function |
US10164875B2 (en) * | 2016-02-22 | 2018-12-25 | Cisco Technology, Inc. | SR app-segment integration with service function chaining (SFC) header metadata |
US9967136B2 (en) * | 2016-03-28 | 2018-05-08 | Dell Products L.P. | System and method for policy-based smart placement for network function virtualization |
US10355983B2 (en) * | 2016-05-09 | 2019-07-16 | Cisco Technology, Inc. | Traceroute to return aggregated statistics in service chains |
US10547563B2 (en) * | 2017-02-03 | 2020-01-28 | Fujitsu Limited | Efficient message forwarding for distributed resource orchestration |
US10757105B2 (en) * | 2017-06-12 | 2020-08-25 | At&T Intellectual Property I, L.P. | On-demand network security system |
US10454822B2 (en) * | 2017-07-27 | 2019-10-22 | Cisco Technology, Inc. | Full-path validation in segment routing |
US10819573B2 (en) * | 2018-03-20 | 2020-10-27 | Ciena Corporation | Hierarchical coherency for network function virtualization |
US11025545B2 (en) * | 2019-06-06 | 2021-06-01 | Cisco Technology, Inc. | Conditional composition of serverless network functions using segment routing |
US11063662B2 (en) * | 2019-10-22 | 2021-07-13 | Hughes Network Systems, Llc | Satellite network acceleration and optimization |
US11424986B2 (en) * | 2019-10-24 | 2022-08-23 | Cisco Technology, Inc. | Method and apparatus for mobile packet core mechanism for GiLAN network slices with segment routing |
-
2019
- 2019-10-29 CN CN201911039730.1A patent/CN112751768B/zh active Active
-
2020
- 2020-07-30 WO PCT/CN2020/105842 patent/WO2021082568A1/zh unknown
- 2020-07-30 EP EP20881407.9A patent/EP4040745B1/en active Active
-
2022
- 2022-04-28 US US17/732,066 patent/US20220255864A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487556A (zh) * | 2015-08-28 | 2017-03-08 | 中兴通讯股份有限公司 | 业务功能sf的部署方法及装置 |
WO2017125073A1 (en) * | 2016-01-21 | 2017-07-27 | Huawei Technologies Co., Ltd. | Distributed load balancing for network service function chaining |
CN108476243A (zh) * | 2016-01-21 | 2018-08-31 | 华为技术有限公司 | 针对网络业务功能链接的分布式负载均衡 |
CN107925624A (zh) * | 2016-07-01 | 2018-04-17 | 华为技术有限公司 | 基于业务功能链sfc的报文转发方法、装置和系统 |
CN109417496A (zh) * | 2016-07-06 | 2019-03-01 | 思科技术公司 | 虚拟网络环境中的自动服务功能验证 |
Non-Patent Citations (4)
Title |
---|
An MPLS-Based Forwarding Plane for Service Function Chainingdraft-farrel-mpls-sfc-04;A. Farrel等;《IETF 》;20180302;第11页第9节 * |
draft-xuclad-spring-sr-service-chaining-01;F. Clad, Ed.;IETF;正文第5.2.2节 * |
F. Clad, Ed..draft-xuclad-spring-sr-service-chaining-01.IETF.2018,正文第4节、第5节. * |
Service Function Chaining (SFC) Architecture;J. Halpern等;《IETF 》;20151031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20220255864A1 (en) | 2022-08-11 |
EP4040745B1 (en) | 2024-10-02 |
EP4040745A1 (en) | 2022-08-10 |
CN112751768A (zh) | 2021-05-04 |
WO2021082568A1 (zh) | 2021-05-06 |
EP4040745A4 (en) | 2022-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113132229B (zh) | 段标识的确定方法和设备 | |
US20170289002A1 (en) | Technologies for deploying dynamic underlay networks in cloud computing infrastructures | |
CN112751768B (zh) | 业务报文转发方法、装置及计算机存储介质 | |
CN110635987B (zh) | 一种报文传输方法、装置、设备及机器可读存储介质 | |
WO2015124026A1 (zh) | 流表项生成方法以及装置 | |
US20150334011A1 (en) | Traffic interconnection between virtual devices | |
CN114374634A (zh) | 报文转发方法以及网络设备 | |
EP3682597B1 (en) | Modeling access networks as trees in software-defined network controllers | |
US20200007472A1 (en) | Service insertion in basic virtual network environment | |
CN102124456A (zh) | 用于在逻辑路由器之间的链路共享的方法和装置 | |
CN113973082A (zh) | 一种报文处理方法及网络设备 | |
WO2023165137A1 (zh) | 一种跨集群的网络通信系统和方法 | |
CN114844962A (zh) | 一种报文处理方法及相关装置 | |
CN113612688A (zh) | 分布式软件定义网络控制系统及其构建方法 | |
EP3105683B1 (en) | Using unified api to program both servers and fabric for forwarding for fine-grained network optimizations | |
CN114157600A (zh) | 一种转发报文的方法、设备和系统 | |
US20230224241A1 (en) | Path Identity Allocation Method, System, and Apparatus, Device, and Storage Medium | |
CN112751766A (zh) | 报文转发方法、装置及计算机存储介质 | |
EP4075739B1 (en) | Service chain forwarding control methods and devices | |
CN114531360A (zh) | 一种语义名称获取方法、装置、设备及存储介质 | |
CN115473840A (zh) | 一种报文发布方法、转发路径处理方法及装置 | |
CN114513485A (zh) | 获取映射规则的方法、装置、设备、系统及可读存储介质 | |
US20120210018A1 (en) | System And Method for Lock-Less Multi-Core IP Forwarding | |
CN113328951B (zh) | 节点设备、路由方法及互联系统 | |
US20230224245A1 (en) | Packet Transmission Method and Apparatus |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |