一种转发报文的方法、设备和系统与流程

专利查询15天前  13


一种转发报文的方法、设备和系统
1.本技术要求于2020年09月07日提交的申请号为202010927432.2、申请名称为“一种通过匹配网络切片保障业务服务质量的方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及通信技术领域,特别涉及一种转发报文的方法、设备和系统。


背景技术:

3.在基于最短路径转发规则对网络中的流量进行转发时,为了实现链路资源利用的最大化,一般会考虑在转发网络设备上部署等价多路径路由(equal-cost multi-path routing,ecmp)ecmp或非等价负载分担(unequal-cost multiple path,ucmp)机制以实现流量转发的多路径负载分担。在现有实现中,如采用ecmp机制转发流量,则认为到达同一目的设备的多条链路为等价链路,流量在这些等价链路上平均分配转发,不会考虑链路带宽的差异。而如果采用ucmp机制转发流量,则认为到达同一目的设备的多条链路的价值(cost)不同,具体可以根据该多条链路的带宽配置相应的链路价值,如此流量在转发时可以根据多条链路的带宽按比例分担到该多条链路上。
4.目前,在第五代(5th generation,5g)网络应用场景下,为满足网络业务的服务等级协议(service level agreement,sla)要求,以保障用户的网络使用体验,可以通过诸如网络切片等技术实现为用户的业务流量预留网络传输资源。
5.由于网络切片部署的基本诉求是同一业务可部署在同一个切片上进行端到端转发,以使得网络业务的sla得到更好地保障,因而在业务流量转发时期望能够在部署了网络切片的网络设备上,使用该网络设备为该业务流量预留的切片资源进行转发。然而,由于现有机制在实现ecmp或ucmp等负载分担方式时,根据哈希算法随机确定的转发报文的端口可能并不属于关联网络切片资源的出端口,由此导致业务流量实际无法始终使用预留的网络切片资源进行转发,从而影响了业务流量的sla保障。
6.为了应对上述场景中描述的问题,相关技术提出在需执行负载分担的多个链路上均预留相应的网络切片资源,但这种部署方式导致了大量的链路资源冗余,造成了网络资源的浪费。


技术实现要素:

7.本技术实施例提供了一种转发报文的方法、系统、装置以及网络设备,能够实现业务流量使用为该业务流量分配的网络资源进行转发,从而为业务的sla提供保障。该技术方案如下:
8.第一方面,提供了一种转发报文的方法,由网络设备执行,所述方法包括:
9.获取转发第一报文所属的第一流量所需的第一网络资源的第一标识信息;根据所述第一标识信息和所述第一报文的第一目的地址确定目标端口集合,所述目标端口集合与
所述第一网络资源关联;在所述目标端口集合中选择第一端口转发所述第一报文。
10.其中,该网络设备可以是第一流量转发路径上的任一网络设备,例如可以是管理域范围内该转发路径上的头节点、中间节点或尾节点。
11.其中,该第一网络资源可以是网络切片,而网络切片具体可以包括该网络设备的端口包括的子接口资源,也可以包括通过该网络设备的端口所关联的带宽资源或队列资源。当第一网络资源是网络切片时,该第一标识信息可以是切片标识。
12.其中,该用于标识第一网络资源的标识信息可以是一个标识,如网络切片标识;也可以是标识组;还可以是第一流量的报文中的某个字段或某个字段中的特定比特位,如该报文中携带的源地址或目的地址中指定的多个比特位。作为一种可能的示例,该目的地址例如可以是该报文的报文头中携带的目的地址字段中包括的128位的互联网协议(internet protocol,ip)地址。该标识信息可以携带于网络设备接收的报文中,也可以由网络设备根据预设规则自行确定,或也可以由网络设备从控制器获取。
13.本方法通过获取与流量对应的网络资源的标识信息,并根据所述标识信息确定目标端口集合,该目标端口集合中包括的一个或多个端口关联该网络资源,以使得该网络设备能够使用使用为业务流量分配的网络资源转发该业务流量。在一些实际应用场景中,流量转发路径上的逐跳转发设备均可支持使用本方法,由此保证流量在网络侧的整条端到端转发路径上均能够使用分配的网络资源传输,以实现流量的端到端sla保障。
14.在一种可能的实现方式中,所述所述根据所述第一标识信息和所述第一报文携带的目的地址确定目标端口集合,包括:根据所述第一标识信息、所述第一目的地址和所述目标端口集合之间的对应关系,利用所述第一标识信息和所述第一目的地址确定所述目标端口集合;或者,根据所述第一目的地址和第一端口组的对应关系确定所述第一端口组,并根据所述第一标识信息在所述端口组中确定符合条件的所述目标端口集合。所述第一端口组中包括的端口属于所述第一网络设备的通向所述第一目的地址的端口。
15.网络设备根据第一标识信息和所述目的地址确定对应的目标端口集合的方式可以有多种,例如,在一种可能的情形中,网络设备可以保存所述第一标识信息、所述目的地址和所述目标端口集合之间的对应关系,其中,该对应关系可以通过一个或两个对应关系表确定。在另一种可能的情形中,网络设备也可以复用网络设备中已有的路由转发表,该路由转发表中存储了通向所述目的设备的端口组和所述目的设备的地址之间的对应关系,在此基础上,可以通过某种形式在该路由转发表中指示当需使用与该第一标识信息对应的端口时,如何在该端口组中确定与该第一标识信息对应的该一个或多个端口。例如,可以为该路由转发表的端口组列增加对应的选中标识列,其中选中标识为“1”的端口即为该端口组中与该第一标识信息对应的该一个或多个端口。通过本地存储标识信息、目的地址和端口之间的对应关系,可以快速确定对应于网络资源的目标端口集合,以保证业务流量通过属于该目标端口集合的一个或多个端口进行转发,从而保证业务流量在转发时对网络资源的使用。
16.在一种可能的实现方式中,所述第一流量还包括第二报文,所述方法还包括:根据转发所述第二报文所属的所述第一流量所需的所述第一网络资源的所述第一标识信息,以及所述第二报文携带的所述第一目的地址确定所述目标端口集合;在所述目标端口集合中选择第二端口转发所述第二报文。
17.网络设备根据所述第一标识信息确定了所述目标端口集合,即可在所述目标端口集合中选择具体的端口进行业务流量的转发。其中,在该目标端口集合只包括一个端口时,即在确定目标端口集合时一并选择了使用该端口转发全部的该业务流量;而在该目标端口集合包括多个端口时,网络设备可以根据预设的规则选择使用集合中不同的端口转发该业务流量中的不同报文。在一种可能的情形中,在确定属于该业务流量的多个报文转发所使用的对应端口时,所采用的预设规则可以是负载分担规则。例如,可以根据报文的源媒体访问控制(media access control,mac)地址、目的mac地址、源ip地址或目的ip地址进行负载分担,在一些网络场景中,还可以结合报文携带的其他属性,如源物理端口、虚拟局域网(virtual local area network,vlan)进行负载分担,其中,负载分担所采用的算法例如可以是ecmp或ucmp,也可以是按照其他规则设置的负载分担算法,例如,按照所述目标端口集合中的各端口分别关联的所述第一网络资源的比例。其中,如采用ecmp或ucmp又可以具体采用哈希或轮询等方式。在另一种可能的情形中,网络设备也可以不使用负载分担规则,而是基于其他预设原则,例如可以根据业务需求或规划在所述一个或多个端口中指定部分端口转发该多个报文。
18.网络设备依据预设规则转发流量报文,能够提高流量报文转发的灵活性。进一步地,如果采用负载分担规则作为预设规则,则一方面可以提高流量报文的转发效率,另一方面也可以保证流量报文转发时与传统转发机制的兼容性。
19.在一种可能的实现方式中,所述第一端口包括多个子接口,所述在目标端口集合中选择第一端口转发所述第一报文,包括:在所述多个子接口中确定子接口,其中,所述确定的子接口与所述第一网络资源关联;利用所述确定的子接口转发所述第一报文。
20.以该第一网络资源的类型为网络切片为例,与网络设备上的该包括一个或多个端口的目标端口集合关联的网络切片资源可以有多种。以该目标端口集合中的其中一个第一端口为例,在一种情形下,与该第一端口关联的网络切片资源例如可以是属于该第一端口的一个或多个子接口。例如,该第一端口包括10个子接口,其中3个子接口关联为第一流量分配的网络切片资源。作为一种可能的实现,该3个子接口也可以由该第一标识信息标识,也即此实现下,该第一标识信息即可以用于确定该网络设备上用于转发第一流量的属于该目标端口集合的一个或多个端口,也可以同时用于确定该一个或多个端口上的每个端口中用于转发第一流量的一个或多个子接口。其中,第一报文例如可以由第一网络设备使用第一端口包括的该3个子接口中的1个转发。
21.由此,网络设备可以先通过与第一网络资源对应的第一标识信息,确定可以用于转发第一流量的属于目标端口集合的一个或多个端口,然后在该一个或多个端口的每个上,再根据该第一标识信息确定每个端口上与该第一网络资源对应的一个或多个子接口,从而确保可以精准地使用该分配的第一网络资源转发业务流量,保证该业务流量的sla。
22.在一种可能的实现方式中,所述方法还包括:获取第三报文,所述第三报文属于第二流量;在未能获取与所述第三报文所属的第二流量所需的网络资源的标识信息时,根据所述第三报文的第二目的地址和第二端口组的对应关系,利用所述第二端口组转发所述第三报文,其中,所述第二端口组中包括的端口属于所述第一网络设备的通向所述第二目的地址的端口。对于第二流量而言,网络可能并未为其分配相应的专用网络资源,或者,至少在当前网络设备上并未存储其专用的网络资源信息,由此导致网络设备在接收到该第二流
量后,无法获取与其对应的网络资源的标识信息,在此情形下,网络设备可以选择采用传统的流量转发机制对第二流量进行转发。例如,网络设备可以根据该流量需发往的目的设备的地址和端口组的对应关系,例如该端口组对该第二流量进行转发。其中,该端口组例如可以是网络设备上承担负载分担转发的端口,如此,网络设备在未命中该第二流量对应的网络资源标识信息时,可以按照传统的负载分担规则,经由该端口组包括的多个端口转发该第二流量,以实现对该第二流量的负载分担。
23.在一种可能的实现方式中,在所述获取与第一报文对应的第一网络资源的第一标识信息之前,接收所述第一报文,并获取与所述第一报文对应的所述第一网络资源的第二标识信息;所述获取与第一报文对应的第一网络资源的第一标识信息,包括:根据所述第二标识信息获取所述第一标识信息。在一些可能的应用场景下,用于执行本实施例方法的网络设备可能是具有某些特殊角色的网络设备,如作为域边界节点的出口网络设备。仍以网络资源类型为网络切片为例,当第一报文进行跨域转发时,该第一报文在不同网络域中所使用的网络切片可能有所不同,或者即使通过协商等方式确定跨域使用的切片为同一切片,但在不同网络域中由于可能遵循不同的传输协议等原因,不同网络域为该同一切片分配的切片标识信息仍有可能不同。因此,在上述提及的可能的应用场景下,该网络设备可以先获取该用于转发第一报文的网络切片在当前网络域中的第一标识信息,然后再根据本地获取的该第一标识信息和第二标识信息的对应关系,确定该网络切片在下一网络域中的该第二标识信息,以保证该第一报文在跨域场景下能够使用网络资源进行顺利转发。其中,该网络设备获取第二标识信息的方式例如可以是根据第一标识信息,以及本地存储的该第一标识信息和该第二标识信息之间的对应关系确定,也可以是根据该第一标识信息,向控制器发出请求,以根据该第一标识信息从该控制器获取该第二标识信息等。
24.第二方面,提供了一种转发报文的装置。所述装置可以包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的使用网络资源转发流量的方法的功能单元。
25.示例性地,该装置可以包括:获取单元、确定单元和转发单元。其中,获取单元,用于获取转发第一报文所属的第一流量所需的第一网络资源的第一标识信息。确定单元,用于根据所述第一标识信息和所述第一报文的第一目的地址确定目标端口集合,所述目标端口集合与所述第一网络资源关联。转发单元,用于在所述目标端口集合中选择第一端口转发所述第一报文。
26.该装置通过获取与流量对应的网络资源的标识信息,并根据所述标识信息确定包括一个或多个端口的目标端口集合,该目标端口集合关联该网络资源,以使得该装置能够使用为业务流量分配的网络资源向目的地址转发该业务流量。
27.在一种可能的实现方式中,对于所述第一流量中的一个报文,确定单元还用于根据所述第一标识信息、所述第一目的地址和所述目标端口集合之间的对应关系,利用所述第一标识信息和所述第一目的地址确定所述目标端口集合;或者,根据所述第一目的地址和第一端口组的对应关系确定所述端口组,并根据所述第一标识信息在所述第一端口组中确定符合条件的所述目标端口集合,其中,所述第一端口组中包括的端口属于所述第一网络设备的通向所述第一目的地址的端口。
28.在一种可能的实现方式中,所述第一流量还包括第二报文,确定单元还用于在所述目标端口集合中选择第二端口;转发单元还用于利用选择的所述第二端口转发所述第二
报文。
29.在一种可能的实现方式中,所述第一端口和所述第二端口分别根据负载分担规则在所述目标端口集合中选择。
30.所述负载分担规则例如可以是ecmp、ucmp或按照所述目标端口集合中的各端口分别关联的所述第一网络资源的比例等。
31.在一种可能的实现方式中,获取单元,用于获取第三报文;确定单元,用于在未能获取与所述第三报文所属的第二流量所需的网络资源的标识信息时,根据所述第三报文的第二目的地址和第二端口组的对应关系,确定用于转发所述第三报文的所述第二端口组,其中,所述第二端口组中包括的端口属于所述第一网络设备的通向所述第二目的地址的端口,根据所述第一标识信息确定的所述目标端口集合属于所述第二端口组;转发单元,用于利用所述第二端口组转发所述第二流量。
32.在一种可能的实现方式中,所述第一端口包括多个子接口,所述在目标端口集合中选择第一端口转发所述第一报文,包括:在所述多个子接口中确定子接口,其中,所述确定的子接口与所述第一网络资源关联;利用所述确定的子接口转发所述第一报文。
33.在一种可能的实现方式中,在所述多个子接口中确定一个或多个子接口,包括:根据所述第一标识信息在所述多个子接口中确定子接口。
34.在一种可能的实现方式中,装置还包括接收单元,该接收单元用于接收所述第一报文,然后获取单元用于获取与所述第一报文对应的所述第一网络资源的第二标识信息,并根据所述第二标识信息获取所述第一标识信息。
35.其中,所述第一标识信息包括用于标识第一网络资源的标识或标识组,或者所述第一标识信息包括所述第一报文中携带的源地址中指定的多个比特位或所述目的地址中指定的多个比特位。
36.其中,所述第一端口组或第二端口组中包括的端口属于承担负载分担转发的端口。
37.第三方面,提供了一种网络设备,该网络设备包括处理器,所述处理器调用程序指令,以使得该网络设备实现如上述第一方面或上述第一方面的任一种可能的实现方式提供的方法所执行的操作。该网络设备还可以包括存储器,存储器与处理器耦合,处理器调用的程序指令存储在该存储器中。该网络设备还可以包括通信接口,通信接口用于该设备与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。上述由所述处理器调用的程序指令也可以预先存储在外部存储器中,在使用前从互联网下载后存储在本地,本技术对于存储器中指令的来源不进行唯一方式的限定。
38.第四方面,提供了一种转发报文的系统,所述系统可以包括一个或多个如上述第三方面或第三方面的任一种可能的实现方式中的网络设备。可选地,所述系统还可以包括一个或多个根据传统方式实现报文转发的网络设备,而不采用上述第一方面或第一方面的任一种可能的实现方式中描述的方法转发流量。所述传统方式例如可以是指传统的负载分担方式。可选地,所述系统还可以包括控制器,该控制器可以执行为转发路径上的网络设备部署网络资源,或通告用于指示网络资源的标识信息等功能。
39.第五方面,提供了一种芯片系统,包括处理器和接口电路;该接口电路,用于接收指令并传输至该处理器;该处理器,用于执行如第一方面或上述第一方面的任一种可选方
式提供的方法对应的指令。
40.第六方面,提供一种计算机可读存储介质,该存储介质中存储有程序代码,该程序代码由处理器加载并执行,以使得计算机实现如上述第一方面或上述第一方面的任一种可选方式提供的方法所执行的操作。
41.第七方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,当其在网络设备上运行时,使得该网络设备执行上述第一方面或者第一方面的各种可选实现方式中提供的方法。
42.第二方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面中相应设计方式所带来的技术效果,此处不再赘述。
附图说明
43.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1a为本技术实施例提供的一种网络系统的结构示意图;
45.图1b为本技术实施例提供的由图1a呈现的网络系统的局部结构示意图;
46.图2为本技术实施例提供的一种转发报文的方法的流程图;
47.图3为本技术实施例提供的一种转发报文的装置的结构示意图;
48.图4为本技术实施例提供的一种网络设备的结构示意图;
49.图5为本技术实施例提供的一种网络设备的结构示意图。
具体实施方式
50.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
51.图1a示出了一种在网络中实现业务流量转发的系统100。系统100包括用于进行业务流量转发的网络设备111-119,其中网络设备111可以为转发业务流量的网络入口设备,网络设备119可以为转发该业务流量的网络出口设备,网络设备118与该业务流量的目的设备连接,网络设备112-118为中间转发设备。网络设备111和网络设备119例如可以是运营商边缘(provider edge,pe)设备,目的设备例如可以是用户主机或其他用户侧网络设备等。网络设备111-119作为具有转发功能的设备,可以是路由器、交换机、转发器或者防火墙等设备。系统100所在的网络可以是基于第四版互联网协议(internet protocol version 4,ipv4)的网络,也可以是基于第六版互联网协议(internet protocol version 6,ipv6)的网络,或者基于多协议标记交换(multiprotocol label switching,mpls)的网络,或者其他可使用本技术实施例所提供方案的网络场景。业务流量可以经由网络设备111的端口向网络设备119进行转发。在现有技术中为了实现链路资源利用的最大化,可以在网络设备111中部署流量转发的负载分担。例如,网络设备111可以通过出端口121、123和125分别向网络设备112、113和114转发业务流量14,出端口121、123和125即为网络设备111上可承担负载分担转发的出端口,分别对应于转发业务流量14的不同路径131、133和135,从而实现
对业务流量14沿不同路径的负载分担式转发。以网络设备111中部署的负载分担机制为ecmp为例,网络设备111能够将发往同一目的设备的业务流量14均衡地分配到3条等价路径131、133和135上,而该3条等价路径在网络设备111上分别对应不同的出端口121、123和125。ecmp常用的分流策略包括逐包(per packet)和逐流(per flow),在逐包策略负载均衡下,到同一个目的设备的数据报文被均衡地分配到不同的路径上,而在逐流策略负载均衡下,到同一个目的设备的数据报文,可以依据报文中携带的五元组划分为不同流,然后将不同流均衡的分配到不同的路径上。以逐包策略为例,图1示出了属于业务流量14的3个连续报文141、143和145可以分别根据报文中携带的源互联网协议(internet protocol,ip)地址哈希到端口121、123和125,从而沿不同的等价转发路径131、133和135转发到网络设备119上。
52.在一些网络应用场景下,为满足网络业务的sla要求,以保障用户的网络使用体验,可以为某些业务的运行网络资源预留,例如,为视频类业务预留传输带宽资源以保证视频服务提供质量,或者为车联网等应用相关的业务流量预留网络资源,以通过网络资源隔离保证关键应用的运行可靠性和安全性,再例如,为某些需提供关键保障的用户预留业务服务网络资源,以提升用户体验和粘性等。实现网络资源预留的技术有多种,其中,5g移动通信技术系统提出网络切片(network slice)概念,一个网络切片满足某一类或一个用例的连接通信服务需求,整个5g系统由满足不同连接能力的大量网络切片组成。目前,第三代合作伙伴计划(3rd generation partnership project,3gpp)协议定义的网络切片包括三种类型,分别是增强移动宽带(enhanced mobile broadband,embb)、超高可靠超低时延连接(ultra-reliable low latency communications,urllc)和海量机器类连接(massive machine type connection,mmtc)。每种网络切片类型可以针对特定的业务类型。例如:embb切片类型可针对高数据速率、移动性高的业务;urllc切片可用于处理高可靠性并且低延时的通信场景;mmtc切片可服务于数量多、小数据量、可容忍时延和不频繁接入的业务(如传感器、穿戴设备业务)。通过5g网络切片可以使得运营商在一个硬件基础设施切分出多个虚拟的网络,按需分配和灵活组合资源,从而满足各种业务的不同需求。
53.仍以图1a示出的系统100为例,系统100可以用于转发业务流量14,业务流量14例如可以是来自同一用户的各种业务数据,也可以是来自不同用户的同类业务数据,或者也可以是按照其他业务逻辑确定的数据而构成的业务流量,其中,业务流量14可以发往同一目的设备,该目的设备根据不同的业务需求、承载业务的网络类型或网络架构,可以是用户主机、连接用户主机的用户侧网络设备,或者网络侧网络设备等。该目的设备的地址可以携带于报文头中,也可以携带于报文载荷中。为了保证业务流量14的服务质量,在系统100中可以为业务流量14的转发预留网络资源,其中,作为网络资源预留的一种实现,可以采用网络切片的形式。采用网络切片预留的网络资源的类型可以有多种,例如带宽资源、网络设备的处理资源、出接口资源和队列资源等。一个网络切片包括的资源类型可以是上述所描述类型中的一个或多个。以预留的资源类型为带宽资源为例,在系统100中的转发路径131和133上为业务流量14逐跳预留相应的链路带宽以进行转发,则由转发路径131和133上预留的逐跳链路带宽资源构成的资源总和可以认为构成一个网络切片150。
54.为便于理解,这里以业务流量14由网络设备111发送至下一个转发设备为例进行说明,如图1b所示。网络设备111上具有3个可用于对业务流量14进行负载分担转发的链路
131-1、133-1和135-1,其中,链路131-1、133-1和135-1分别为属于转发路径131、133和135的链路,并分别通过网络设备111的端口121、123和125与下一跳网络设备连接。为业务流量14预留的对应于网络切片150的带宽资源只部署于链路131-1和133-1上,并可通过端口121和123使用,因而从网络设备111的角度而言,也可以称作为端口121和123配置了对应于网络切片150的带宽资源。如按照传统的ecmp负载分担原则,业务流量14的报文将根据报文的目的地址,并利用诸如哈希算法或轮询方式均衡地分配到可承担负载分担的端口121、123和125上进行转发,然而,当流量报文通过端口125转发至链路135-1时,链路135-1中实际并未部署网络切片150,也可以理解为端口125并未针对业务流量14预留带宽资源,由此导致属于业务流量14的部分报文实际无法使用预留的网络切片资源进行转发,从而影响了业务流量14的sla保障。可以理解地,图1a和1b中虽未示出,网络设备111上可能还具有除端口121、123和125以外的其他无需承担负载分担转发的端口。
55.为了解决上述场景中描述的问题,本技术实施例提出了一种转发报文的方法,作为转发设备的网络设备获取与报文所属流量对应的网络资源的标识信息,并根据所述标识信息确定包括一个或多个端口的目标端口集合,该目标端口集合关联该网络资源,以使得该网络设备能够使用分配的网络资源向目的设备转发该流量。通过本技术提供的方法,流量转发路径上的各网络设备能够根据与流量报文对应的网络资源的标识信息,确定可使用配置的网络资源的相应端口进行流量报文的转发,从而保证流量在转发路径上能够使用分配的网络资源传输,以实现流量的sla保障。
56.为便于理解本技术实施例提供的转发报文的方法,下面将结合附图对该方法进行说明。
57.图2为本技术实施例提供的一种转发报文的方法的流程示意图。该方法200可以应用于流量转发路径上的任一可能的网络设备,如图1a示出的作为网络入口设备的网络设备111,作为中间转发设备的任意网络设备112-118,或者作为网络出口设备的网络设备119。其中,在一些情景下,网络入口设备在管理域范围内也可以称为头节点、入口节点或隧道入口设备,中间转发设备也可以称为中间节点,网络出口设备也可以称为尾节点、出口节点或隧道出口设备。其中,所述管理域例如可以是自治域、网络域或其他定义范围的网络管理域等。具体实现时,该方法200例如可以包括下述s210~s230:
58.s210网络设备获取报文,并获取转发所述报文所属流量所需的网络资源的标识信息。
59.以图1a示出的场景为例,网络设备111作为入口网络设备接收业务流量14并进行转发。在转发前,网络设备111确定业务流量14可使用的网络资源的标识信息。继续参考图1b,业务流量14可使用的网络资源例如为网络切片150,该网络切片150的标识信息例如为切片标识(slice id)“1”,以下简称slice 1。网络设备111确定与业务流量14对应的slice 1的方式可以有多种。为便于描述,这里以属于业务流量14的报文141为例,作为一种可能的方式,网络设备111根据接收的报文141中携带的切片标识直接确定;作为另一种可能的方式,报文141中并未携带切片标识,网络设备111作为业务流量14在网络中的入口网络设备,可以根据报文141所属的业务流量14的特征或报文141的特征,如流量类型、源设备地址等,确定与业务流量14对应的切片标识,并可将该切片标识添加入业务流量14的报文141中进行转发;作为再一种可能的方式,网络设备111从控制器获取与业务流量14对应的切片标
识,并添加到业务流量14的报文141中。
60.以上以网络资源为网络切片的形式实现为例,在其他可能的场景中,也可以采用其他实现形式划分和确定网络资源。网络资源的标识信息可以是标识网络资源的一个标识,如slice1,也可以是标识网络资源的一组标识,或者,也可以是能够对网络资源起标识作用的一个或多个标识位。仍以图1b为例,与网络设备111连接的链路131-1和133-1中具有网络切片150,则在一种可能的实现方式中,可以用slice 1同时标识链路131-1和133-1中的网络切片150;在另一种可能的实现方式中,可以用一组具有关联关系的切片标识“1-1”和“1-2”分别标识链路131-1和链路133-1中的网络切片150;在另一种可能的实现方式中,也可以是使用业务流量的报文中携带的某个字段中的一个或多个标识位指示网络资源,例如,使用报文中携带的源设备地址或目的设备地址中的若干预设比特位作为网络资源的标识位等。虽然上述以链路131-1和133-1中包括的网络切片均为150作为示例,在一些实现方式中,也可以将链路131-1和133-1中包括的网络切片定义为具有关联关系的两个子网络切片,如150-1和150-2。无论针对网络资源采用哪种定义和划分方式,只要能够通过标识信息确定出业务流量14可用的相应网络资源即可。
61.s220所述网络设备根据所述标识信息和所述报文的目的地址确定目标端口集合。
62.在网络设备111确定业务流量14可使用的网络切片150的标识slice 1后,可以根据网络设备111中存储的该slice 1和网络设备111的端口121及123之间的对应关系,确定端口121和123。端口121和123上具有网络切片150的资源,或者与端口121和123连接的链路131-1和133-1上具有网络切片150的资源。其中,端口121和123所关联的网络切片150的资源例如可以是端口包括的子接口资源,或者与端口关联的队列资源或链路带宽资源。端口121或123可以是物理端口,也可以是逻辑端口,在一些情形下,端口121或123可以包括一个或多个子接口。作为示例,如为物理端口类型,端口121也可以称为物理接口,端口121可以包括的多个子接口的类型可以是物理子接口、逻辑子接口,其中,逻辑子接口例如可以是信道化子接口或者灵活以太网(flexible ethernet,flexe)子接口;如为逻辑端口类型,端口121可以包括的多个子接口的类型可以是多个物理接口,该逻辑端口例如可以是绑定端口,该绑定端口包括的多个子接口也可以称为成员口。如此,端口121中可以包括slice 1标识的一个或多个子接口,也可以包括切片标识“2”(以下简称slice 2)标识的一个或多个子接口,而端口121连接的链路131-1中可以包括slice 1标识的切片资源(如带宽资源),也可以包括slice 2标识的切片资源(图中未示出)。在一种可能的实现方式中,slice 1和slice 2标识的切片资源可以分别对应于端口121上由slice 1和slice 2标识的不同子接口。在另一种可能的实现方式中,端口121或123本身即可以是子接口类型。在实际应用场景中,网络切片和物理接口、物理子接口、逻辑子接口等类型的接口之间的对应关系可以很灵活,例如,一个网络切片可以对应于多个物理子接口,而一个逻辑子接口也可以由多个网络切片共享使用。无论采用何种方式,网络设备111均可以通过网络切片的标识信息确定端口121或123中与网络切片标识对应的子接口,并通过该子接口完成转发。
63.在传统实现方式中,网络设备111在接收到业务流量14的报文141后,可以根据报文141中的目的地址确定设备上的一个端口进行转发,如果网络设备111部署了负载分担方式,则网络设备111根据所述目的地址查找转发表项,然后根据转发表项中包括的与所述目的地址对应的一个或多个具有负载分担能力的端口的端口信息,利用哈希算法或其他方式
从所述一个或多个承担负载分担转发的端口中确定一个端口,以进行报文141的转发。采用上述方式可能导致业务流量14中的部分报文哈希到端口125上,然而端口125或者与端口125连接的链路135-1上实际并未部署网络切片150,由此导致业务流量14的sla得不到有效保障。
64.为此,不同于根据所述目的地址查找路由表项,并根据哈希算法或其他方式从路由表项包括的多个端口中确定一个转发端口的方式,本技术实施例的方案提出根据可用于转发流量的网络资源的标识信息并结合所述目的地址,从网络设备的多个端口中识别出与所述网络资源关联的目标端口集合,所述目标端口集合包括一个或多个端口,该目标端口集合包括的一个或多个端口上具有所述网络资源。如此,在确定出该目标端口集合后,再根据负载分担算法或其他预设规则,从所述目标端口集合的范围内选择一个端口进行流量报文的转发,以保证流量的全部报文均可使用预留的网络资源进行转发。其中,当目标端口集合包括多个端口时,可以利用预设规则在确定的目标端口集合中选择一个端口转发一个报文,属于同一流量的多个报文可以通过该目标端口集合中的不同端口转发;当目标端口集合中只包括一个端口时,该确定目标端口集合和在目标端口集合中选择端口的动作可以认为同时发生,即在确定该目标端口集合时也即完成了对该目标端口集合中包括的唯一一个端口的选择。
65.仍以图1a和1b为例,报文141、143和145均为业务流量14的报文。如果采用传统的负载分担方式,则如图1a所示,报文141、143和145将分别通过网络设备111上的端口121、123和125,沿负载分担路径131、133和135向作为出口网络设备的网络设备119转发。然而,参考图1b所示,属于负载分担路径135且由端口125通往的链路135-1上实际并未部署网络切片150,由此导致报文145在转发时无法使用网络切片150的预留资源。作为本技术实施例提供的方案,网络设备111在接收到报文141、143和145时,可以获取与转发该三个报文对应的切片标识slice 1。例如,slice 1可以是在该三个报文中携带的,也可以是根据该三个报文所属流量的特征进行本地匹配后确定的。之后,网络设备111可以根据该slice 1获取与该标识对应的包括一个或多个端口的目标端口集合。
66.作为一种可能的示例,网络设备111中可以存储目的地址、网络切片标识和目标端口集合之间的对应关系,如表1所示。对于发往目的地址1.1.1.1且需要使用网络切片150的流量14,通过查询表1,可以确定与slice 1(网络切片150的标识)对应的目标端口集合为包括端口121和123的集合。表1仅给出了一种可能的形式示意,在该种实现方式下,可以直接以目的地址和网络切片标识作为索引,在表1中确定与该目的地址和网络切片标识对应的目标端口集合。或者,也可以采用其他的实现方式,例如分别保存与多个不同的网络切片标识一一对应的多张不同的表,其中,每张表中存储多个不同的目的地址与多个不同的目标端口集合之间的对应关系,如此,网络设备111可以先通过slice 1查询到与该slice 1对应的表,之后在该张表中以目的地址1.1.1.1为索引,确定与该目的地址1.1.1.1对应的目标端口集合为包括端口121和123的集合。可见在该示例中,网络设备111可以通过建立的目的地址、网络切片标识和目标端口集合之间的对应关系,利用该目的地址和该网络切片标识确定对应的目标端口集合,而其中该目的地址、网络切片标识和目标端口集合之间的对应关系可以通过多种可行的实现方式建立。在表1的示例中,目标端口集合包括的端口121和123均属于网络设备111在采用传统负载分担方式下会使用的端口121、123和125,在其他可
能的情形中,目标端口集合也可以包括除端口121、123或125之外的端口。
67.作为另一种可能的示例,网络设备111也可以在本地维护的表中(例如路由转发表中)标识当命中网络切片标识时转发流量可使用的端口,如表2所示,网络设备111根据报文中携带的目的地址,可以命中表2中的转发表项(表2中的第一行),并根据与报文对应的slice1在该转发表项中确定具有对应选中标识的端口121和123作为可用于转发报文的端口,而该选中的端口121和123也可以认为构成了目标端口集合。其中,在转发表项中由选中标识指示的端口,即为对应于网络切片的端口。例如,根据表2示出的例子,网络设备111根据业务流量14的目的地址1.1.1.1和切片标识slice 1查找到路由转发表项(表2第一行),并根据端口选中标识确定在可通向目的地址1.1.1.1的负载分担端口121、123和125中,通过端口121和123可以使用slice 1所标识的切片150转发业务流量14。在具体转发过程中,网络设备111可以使用端口121和123实现负载分担,也可以结合其他考虑因素指定端口121或123中的一个进行流量转发。在端口121和123进行负载分担时,可以基于ecmp或ucmp等规则,也可以基于其他规则,例如,按照与端口121和123关联的链路131-1和133-1中各自承担的用于转发业务流量14的网络资源的比例,确定转发流量时端口121和123负载分担的比例。相较于传统的负载分担方式,采用本技术实施例的方案可以实现报文141、143和145均沿部署了网络切片150的链路131-1或133-1转发,而不再通过链路135-1转发。
68.表1
[0069][0070]
表2
[0071][0072]
在具体实现时,网络设备111的控制面可以基于内部网关协议(internal gateway protocol,igp)或边界网关协议(border gateway protocol,bgp)协议实现业务流量14的收发和路由表的生成,并根据需要向转发面下发包括网络资源的标识信息的转发表,以支
持转发面根据所述标识信息进行流量转发。在具体实现时,诸如上述表1或表2示出的端口121、123或125可以是包括多个子接口的物理端口或逻辑端口,也可以是不再包括其他细分粒度接口的子接口。
[0073]
在s220的上述示例中,以表1包括与slice 1对应的全部端口121和123,以及表2将与slice 1对应的全部端口121和123均标识为选中为例,在其他可能的实现场景中,也可以是在表1或表2中存储或使能与网络切片标识对应的部分端口的信息。例如,假设网络设备111上能够关联网络切片150的端口的个数有5个,也就是说,通过该5个端口均可使用或通向网络切片150的资源,但出于某种动态需求或本地策略,可以允许表1中仅存储该5个端口中的部分端口与slice 1的对应关系,或者在表2中仅使能该5个端口中的部分端口,其中,使能部分端口的操作可以通过以下方式实现:在表2中仅存储该5个端口中的部分端口并为该部分端口配置选中标识,或者在表2中存储全部的该5个端口,但只为其中的该部分端口配置选中标识。在上述情形下,只有配置了选中标识的端口才构成目标端口集合。
[0074]
上述实现方式仅作为可能的示例,也可以采用其他可行的方式指示网络设备获取与网络资源对应的一个或多个本地可用端口作为目标端口集合,以指示该网络设备通过该一个或多个本地可用端口转发需使用该网络资源的流量。
[0075]
s230所述网络设备在所述目标端口集合中选择第一端口转发所述报文。
[0076]
当根据s210和s220确定能够对业务流量14进行转发的端口121和123后,网络设备111可以通过端口121和123向路径上的下一个网络设备转发业务流量14的报文,如报文141、143和145。例如,报文141通过端口121转发。作为一种可能的实现方式,网络设备111在接收报文时,报文中即携带了用于标识网络资源的标识信息,如slice 1,则网络设备111可以直接通过端口121或123将报文转发至下一个网络设备。作为另一种可能的实现方式,当网络设备111接收的报文中并不包括网络资源的标识信息时,网络设备111可以先确定转发该报文需使用的网络资源的标识信息,并将该标识信息添加至报文中以对该报文进行更新,之后将更新的所述报文发送至下一个网络设备。作为再一种可能的实现方式,当网络设备111接收的报文中包括网络资源的标识信息m,所述标识信息m用于在当前网络域中标识该网络资源,但在下一网络域中用于标识该网络资源的标识信息变更为标识信息n,则网络设备111可以将所接收的报文中的标识信息m替换为标识信息n,并将携带了该标识信息n的报文发送至下一个网络设备。其中,网络设备111确定该标识信息n的方式可以是使用本地存储的该标识信息m和该标识信息n之间的对应关系确定,也可以是向控制器发送该标识信息m,以使得控制器可以根据该标识信息m向网络设备111发送对应的标识信息n。作为再一种可能的实现方式,转发路径上的逐跳转发设备接收的报文中也可以均不包括该网络资源的标识信息,而是由控制器通告各转发设备。
[0077]
在一种可能的情形中,该第一端口包括多个子接口。以网络设备111在目标端口集合中选择的第一端口为端口121作为示例,端口121包括10个子接口,其中3个子接口关联为业务流量14分配的网络切片150。作为一种具体实现,该3个子接口也可以由slice 1标识,也即此实现下,slice 1即可以用于确定网络设备111上用于转发业务流量14的目标端口集合{121,123},也可以同时用于确定端口121或123上用于转发业务流量14的一个或多个子接口。由于端口121包括3个与slice 1关联的子接口,因此对于发送至端口121的属于业务流量14的报文,可以根据预设规则确定该3个子接口中的一个完成转发。该预设规则例如可
以是子接口级的负载分担规则,也即,对于发送至端口121的属于业务流量14的多个报文,可以根据负载分担规则利用该3个子接口进行负载分担式的转发。
[0078]
s210-s230针对网络设备111能够获取用于承载流量的网络资源的标识信息,并根据该标识信息确定用于转发该流量的目标端口集合的场景进行了描述。但在实际应用场景中,对于某个网络设备而言,某些流量可能并没有可使用的预留网络资源,则可选地,网络设备111在获取该些流量时,直接按照传统方式转发该些流量即可。例如,仍以图1示出的系统为例,如果网络设备111在接收流量a后,并未发现在网络设备111中为流量a预留网络资源,或者在与网络设备111连接的链路上为流量a预留网络资源,则网络设备111可以直接根据本地的负载分担算法,通过负载分担端口121、123和125转发流量a,其中可以用于转发流量a的端口121、123和125也可以称为端口组。
[0079]
可选地,以上描述以转发路径上的网络设备通过静态配置等方式为业务流量预留网络资源为例,但在某些场景下,网络设备也可以为业务流量动态分配网络资源,例如通过数据流触发动态预留网络资源。可选地,转发路径上的逐跳网络设备均可以为业务流量分配网络资源,从而实现端到端的资源分配;或者也可以是转发路径上的部分网络设备为业务流量分配网络资源,该部分网络设备例如可以是路径上的关键转发节点或者支持网络资源分配功能的转发节点等,而路径上的其他网络设备则按照传统方式转发。
[0080]
本技术实施例提供的方法可以根据与流量报文对应的网络资源的标识信息,确定相应的关联网络资源的端口进行流量报文的转发,从而保证流量在转发路径上能够使用分配的网络资源传输,以实现流量的sla保障,并节约网络运行资源。
[0081]
以上结合图1和图2,详细描述了本技术实施例提供的一种转发报文的方法,可以理解的是,用于执行该方法的网络设备为了实现上述各方法所描述的功能,需包含执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的方法的执行过程,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0082]
本实施例可以根据上述方法实施例对相应的设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,具体作为一种逻辑功能可能的划分方式,实际实现时可以有另外的划分方式。
[0083]
当采用功能模块划分方式时,下面将结合图3和图4描述本技术实施例提供的转发报文的装置。
[0084]
图3为本技术实施例提供的一种转发报文的装置300的框图,该装置300例如可以是图1所述系统10中的任一网络设备111-119,或者该任一网络设备111-119中的模块或部件。如图3所示,该装置300可以包括:获取单元301、确定单元303和转发单元305。
[0085]
获取单元301,用于获取转发第一报文所属的第一流量所需的第一网络资源的第一标识信息。获取单元301可执行的功能可参见s210中的相关描述。
[0086]
确定单元303,用于根据所述第一标识信息和所述第一报文的第一目的地址确定目标端口集合,所述目标端口集合与所述第一网络资源关联。确定单元303可执行的功能可
参见s220中的相关描述。
[0087]
转发单元305,用于在所述目标端口集合中选择第一端口转发所述第一报文。转发单元305可执行的功能可参见s230中的相关描述。示例地,
[0088]
在一种可能的实现方式中,对于所述第一流量中的一个报文,确定单元303还用于根据所述第一标识信息、所述第一目的地址和所述目标端口集合之间的对应关系,利用所述第一标识信息和所述第一目的地址确定所述目标端口集合;或者,根据所述第一目的地址和第一端口组的对应关系确定所述第一端口组,并根据所述第一标识信息在所述第一端口组中确定符合条件的所述目标端口集合。
[0089]
在一种可能的实现方式中,所述第一流量还包括第二报文,确定单元303还用于在所述目标端口集合中选择第二端口;转发单元305还用于使用所述第二端口转发所述第二报文。
[0090]
在一种可能的实现方式中,所述第一端口和所述第二端口分别根据负载分担规则在所述目标端口集合中选择。
[0091]
所述负载分担规则例如可以是ecmp、ucmp或按照所述目标端口集合中的各端口分别关联的所述第一网络资源的比例等。
[0092]
在一种可能的实现方式中,获取单元301,用于获取第三报文,所述第三报文属于第二流量;确定单元303,用于在未能获取转发所述第二流量所需的网络资源的标识信息时,根据所述第三报文的第二目的地址和第二端口组的对应关系,确定用于转发所述第三报文的所述第二端口组,其中,所述第二端口组中包括的端口属于所述第一网络设备的通向所述第二目的地址的端口;转发单元305,用于利用所述第二端口组转发所述第二流量。
[0093]
在一种可能的实现方式中,所述第一端口包括多个子接口,所述在目标端口集合中选择第一端口转发所述第一报文,包括:在所述多个子接口中确定子接口,其中,所述多个子接口与所述第一网络资源关联;利用确定的所述子接口转发所述第一报文。
[0094]
在一种可能的实现方式中,在所述多个子接口中确定一个或多个子接口,包括:根据所述第一标识信息在所述多个子接口中确定所述子接口。
[0095]
在一种可能的实现方式中,装置300还包括接收单元307,该接收单元307用于接收所述第一报文,然后获取单元301用于获取与所述第一报文对应的所述第一网络资源的第二标识信息,并根据所述第二标识信息获取所述第一标识信息。
[0096]
其中,所述第一标识信息包括用于标识第一网络资源的标识或标识组,或者所述第一标识信息包括所述第一报文中携带的源地址中指定的多个比特位或所述目的地址中指定的多个比特位。
[0097]
本技术实施例还提供了一种网络设备400。该网络设备例如可以是方法实施例中所描述的网络设备,如图1示出的系统10中的任一网络设备111-119,或者可以是图3示出的装置300。
[0098]
网络设备400可以对应于上述方法实施例中的网络设备,网络设备400包括分别为了实现方法实施例中的网络设备所执行的各方法步骤所需的各种硬件或软件模块,关于网络设备400使用网络资源转发流量的详细流程,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。上述方法实施例中提及的各执行过程可通过网络设备400处理器中的硬件的集成逻辑电路或者软件形式的指令完成,例如,可以直接体现为硬件处理器执行完成,
或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等存储介质中。该存储介质位于存储器,处理器可以读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0099]
网络设备400如对应于图3示出的装置300,则装置300中的每个功能模块可以采用网络设备400的软件、硬件或软硬件的结合实现。其中,对于装置300中以软件形式实现的功能模块所执行的功能,可以为网络设备400的处理器读取存储器中存储的程序代码后使网络设备400执行的。
[0100]
图4是本技术实施例提供的一种示例性的网络设备400的结构示意图。网络设备400包括至少一个处理器401、通信总线402、存储器403以及至少一个物理接口404。
[0101]
处理器401可以是一个通用中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、微处理器或者可以是一个或多个用于实现本技术方案的集成电路,例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
[0102]
通信总线402用于在上述组件之间传送信息。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0103]
存储器403可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器403可以是独立存在,并通过通信总线402与处理器401相连接。存储器403也可以和处理器401集成在一起。
[0104]
物理接口404使用任何收发器一类的装置,用于与其它设备或通信网络通信。物理接口404包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合等。物理接口404也称物理口。物理接口404的个数可以为一个或多个。
[0105]
在具体实现中,作为一种实施例,处理器401可以包括一个或多个cpu,如图4中所示的cpu0和cpu1。
[0106]
在具体实现中,作为一种实施例,网络设备400可以包括多个处理器,如图4中所示的处理器401和处理器405。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
[0107]
在具体实现中,作为一种实施例,网络设备400还可以包括输出设备406和输入设备407。输出设备406和处理器401通信,可以以多种方式来显示信息。例如,输出设备406可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备407和处理器401通信,可以以多种方式接收用户的输入。例如,输入设备407可以是鼠标、键盘、触摸屏设备或传感设备等。
[0108]
在一些实施例中,存储器403用于存储执行本技术方案的程序代码410,处理器401可以执行存储器403中存储的程序代码410以实现相应的功能。例如,程序代码410中存储的程序可以被调用以实现装置300中获取单元301和确定单元302的功能。也即是,网络设备400可以通过处理器401以及存储器403中的程序代码410,来配合实现前述方法实施例提供的方法流程。在此情形下,装置300中的获取模块301和确定模块303可以相当于网络设备400中的处理器401,转发单元305或接收单元307相当于网络设备400中的物理接口404。
[0109]
图4作为网络设备组成结构的一种可能示例。网络设备也可以采用其他组成结构,例如,至少包括处理器,而用于存储程序代码的存储器可以独立于网络设备。例如,存储器可以是云服务器上的存储空间或网络硬盘等。此外,存储器可以为一个或多个。当存储器的个数为多个时,可以位于相同的或不同的位置,并且可以独立或配合使用。
[0110]
图5是本技术实施例提供的另一种网络设备的结构示意图。网络设备500例如可以是方法实施例中所描述的网络设备,如图1示出的系统10中的任一网络设备111-119,或者可以是图3示出的装置300。
[0111]
网络设备500包括:主控板510和接口板530。
[0112]
主控板510也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板510对网络设备500中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板510包括:中央处理器511和存储器512。
[0113]
接口板530也称为线路接口单元卡(line processing unit,lpu)、线卡(line card)或业务板。接口板530用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、pos(packet over sonet/sdh)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,flexe clients)。接口板530包括:中央处理器531、网络处理器532、转发表项存储器534和物理接口卡(physical interface card,pic)533。
[0114]
接口板530上的中央处理器531用于对接口板530进行控制管理并与主控板510上的中央处理器511进行通信。
[0115]
网络处理器532用于实现报文的转发处理。网络处理器532的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
[0116]
物理接口卡533用于实现物理层的对接功能,原始的流量由此进入接口板530,以及处理后的报文从该物理接口卡533发出。物理接口卡533包括至少一个物理接口,物理接口也称物理口。物理接口卡533也称为子卡,可安装在接口板530上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器532处理。在一些实施例中,接口板503的中央处理器531也可执行网络处理器532的功能,比如基于通用cpu实现软件转发,从而物
理接口卡533中不需要网络处理器532。
[0117]
可选地,网络设备500包括多个接口板,例如网络设备500还包括接口板540,接口板540包括:中央处理器541、网络处理器542、转发表项存储器544和物理接口卡543。
[0118]
可选地,网络设备500还包括交换网板520。交换网板520也可以称为交换网板单元(switch fabric unit,sfu)。在网络设备有多个接口板530的情况下,交换网板520用于完成各接口板之间的数据交换。例如,接口板530和接口板540之间可以通过交换网板520通信。
[0119]
主控板510和接口板530耦合。例如。主控板510、接口板530和接口板540,以及交换网板520之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板510和接口板530之间建立进程间通信协议(inter-process communication,ipc)通道,主控板510和接口板530之间通过ipc通道进行通信。
[0120]
在逻辑上,网络设备500包括控制面和转发面,控制面包括主控板510和中央处理器531,转发面包括执行转发的各个组件,比如转发表项存储器534、物理接口卡533和网络处理器532。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器532基于控制面下发的转发表对物理接口卡533收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器534中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
[0121]
作为用于执行前述方法实施例中描述的网络设备500,中央处理器511可以用于执行s210和s220的操作。网络处理器532可以触发物理接口卡533向其他网络设备转发流量报文。
[0122]
应理解,装置300中的转发单元305和接收单元307可以相当于网络设备500中的物理接口卡533或物理接口卡543;装置300中的获取单元301和确定单元303可以相当于网络设备500中的中央处理器511或中央处理器531。
[0123]
应理解,本技术实施例中接口板540上的操作与接口板530的操作一致,为了简洁,不再赘述。该网络设备500中的主控板510、接口板530和/或接口板540可以实现上述各个方法实施例中的网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
[0124]
应理解,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0125]
在一些可能的实施例中,上述网络设备可以实现为虚拟化设备。例如,虚拟化设备
可以是运行有用于发送报文功能的程序的虚拟机(virtual machine,vm),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functions virtualization,nfv)技术来实现网络设备。网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本技术即可结合nfv技术在通用物理服务器上虚拟出具有上述功能的网络设备,此处不再赘述。
[0126]
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中描述的网络设备的任意功能,此处不再赘述。
[0127]
本技术实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述方法实施例提供的方法。
[0128]
本技术实施例还提供了一种芯片系统,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,可以用于执行上述指令,以使得网络设备执行本技术实施例提供的方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
[0129]
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
[0130]
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本技术并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器rom,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
[0131]
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,fpga),可以是专用集成芯片(application specific integrated circuit,asic),还可以是系统芯片(system on chip,soc),还可以是cpu,还可以是np,还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)或其他集成芯片。
[0132]
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
[0133]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0134]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种转发报文的方法,其特征在于,所述方法由第一网络设备执行,所述方法包括:获取转发第一报文所属的第一流量所需的第一网络资源的第一标识信息;根据所述第一标识信息和所述第一报文的第一目的地址确定目标端口集合,所述目标端口集合与所述第一网络资源关联;在所述目标端口集合中选择第一端口转发所述第一报文。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一标识信息和所述第一报文的目的地址确定目标端口集合,包括:根据所述第一标识信息、所述第一目的地址和所述目标端口集合之间的对应关系,利用所述第一标识信息和所述第一目的地址确定所述目标端口集合;或者,根据所述第一目的地址和第一端口组的对应关系确定所述第一端口组,并根据所述第一标识信息在所述端口组中确定符合条件的所述目标端口集合。3.根据权利要求1或2所述的方法,其特征在于,所述第一流量还包括第二报文,所述方法还包括:在所述目标端口集合中选择第二端口转发所述第二报文。4.根据权利要求3所述的方法,其特征在于,所述第一端口和所述第二端口分别根据负载分担规则在所述目标端口集合中选择。5.根据权利要求4所述的方法,其特征在于,所述负载分担规则包括等价多路径路由ecmp、非等值负载分担ucmp、或按照所述目标端口集合中的各端口分别关联的所述第一网络资源的比例中的任意一种。6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一端口包括多个子接口,所述在目标端口集合中选择第一端口转发所述第一报文,包括:在所述多个子接口中确定子接口,其中,所述确定的子接口与所述第一网络资源关联;利用所述确定的子接口转发所述第一报文。7.根据权利要求6所述的方法,其特征在于,在所述多个子接口中确定子接口,包括:根据所述第一标识信息在所述多个子接口中确定所述子接口。8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:获取第三报文,所述第三报文属于第二流量;在未能获取转发所述第三报文所属的所述第二流量所需的网络资源的标识信息时,根据所述第三报文的第二目的地址和第二端口组的对应关系,利用所述第二端口组转发所述第三报文,其中,所述第二端口组中包括的端口属于所述第一网络设备的通向所述第二目的地址的端口。9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:在获取所述第一标识信息之前,接收所述第一报文,并获取与所述第一报文关联的所述第一网络资源的第二标识信息;所述获取转发第一报文所需的第一网络资源的第一标识信息,包括:根据所述第二标识信息获取所述第一标识信息。10.根据权利要求1-9任一项所述的方法,其特征在于,所述第一标识信息包括用于标识所述第一网络资源的标识或标识组,或者,所述第一标识信息包括所述第一报文中的源地址中指定的多个比特位或所述目的地址中指定的多个比特位。
11.根据权利要求4所述的方法,其特征在于,所述第一网络资源包括以下的任意多种:与所述一个或多个端口关联的带宽资源、队列资源或子接口资源。12.根据权利要求11所述的方法,其特征在于,所述目标端口集合中的端口个数至少为两个。13.根据权利要求1-12任一项所述的方法,其特征在于,所述第一网络资源为网络切片,所述第一标识信息为所述网络切片的切片标识。14.根据权利要求1-13任一项所述的方法,其特征在于,所述第一网络设备为到达所述目的地址的路径上网络侧的入口网络设备、中间网络设备或出口网络设备中的任意一种。15.一种转发报文的系统,其特征在于,所述系统包括第一网络设备和第二网络设备;所述第一网络设备,用于获取转发第一报文所属的第一流量所需的第一网络资源的第一标识信息;根据所述第一标识信息和所述第一报文的第一目的地址确定第一目标端口集合,所述第一目标端口集合与所述第一网络资源关联;在所述第一目标端口集合中选择第一端口转发所述第一报文;所述第二网络设备,用于接收所述第一报文。16.根据权利要求15所述的系统,其特征在于,所述第一网络设备用于根据所述第一标识信息和所述第一报文携带的目的地址确定第一目标端口集合,包括:所述第一网络设备根据所述第一标识信息、所述第一目的地址和所述第一目标端口集合之间的对应关系,利用所述第一标识信息和所述第一目的地址确定所述第一目标端口集合;或者,所述第一网络设备根据所述第一目的地址和第一端口组的对应关系确定所述第一端口组,并根据所述第一标识信息在所述端口组中确定符合条件的所述第一目标端口集合。17.根据权利要求15或16所述的系统,其特征在于,所述第一流量还包括第二报文,所述系统还包括:在所述第一目标端口集合中选择第二端口转发所述第二报文。18.根据权利要求17所述的系统,其特征在于,所述第一端口和所述第二端口分别根据负载分担规则在所述第一目标端口集合中选择。19.根据权利要求15-18任一项所述的系统,其特征在于,所述第一端口包括多个子接口,所述第一网络设备在所述第一目标端口集合中选择第一端口转发所述第一报文,包括:在所述多个子接口中确定子接口,其中,所述确定的子接口与所述第一网络资源关联;利用所述确定的子接口转发所述第一报文。20.根据权利要求15-19任一项所述的系统,其特征在于,所述第一网络设备还用于获取第三报文,所述第三报文属于第二流量;在未能获取与所述第三报文所属的第二流量所需的网络资源的标识信息时,根据所述第三报文的第二目的地址和第二端口组的对应关系,利用所述第二端口组转发所述第三报文,其中,所述第二端口组中包括的端口属于所述第一网络设备的通向所述第二目的地址的端口。21.根据权利要求15-20任一项所述的系统,其特征在于,所述第二网络设备还用于:根据接收的所述第一报文对应的所述第一标识信息和所述第一目的地址,确定所述第二网络设备的第二目标端口集合;在所述第二目标端口集合中选择第三端口转发所述第一报文。
22.根据权利要求15-21所述的系统,其特征在于,所述第二网络设备还用于:根据所述第一标识信息获取对应的第二标识信息,所述第二网络设备将所述第二标识信息添加入所述第一报文中,以指示接收所述第一报文的网络设备根据所述第二标识信息确定用于转发所述第一报文的第四端口。23.根据权利要求15-22所述的系统,其特征在于,所述第一网络资源包括以下的任意多种:与所述一个或多个端口关联的带宽资源、队列资源或子接口资源。24.根据权利要求15-23所述的系统,其特征在于,所述第一目标端口集合中的端口个数至少为两个。25.根据权利要求15-24任一项所述的系统,其特征在于,所述第一网络设备为到达所述目的地址的路径上网络侧的入口网络设备或中间网络设备中的一种,所述第二网络设备为到达所述目的地址的路径上网络侧的中间网络设备或出口网络设备中的一种。26.一种网络设备,其特征在于,所述网络设备包括处理器和存储器,所述存储器中存储有程序代码,所述程序代码由所述处理器加载并执行,以使得所述网络设备实现如权利要求1-14任一项所述的使用网络资源转发报文的方法。27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,当其在计算机上运行时,使得所述计算机执行如权利要求1-14任一项所述的使用网络资源转发报文的方法。28.一种计算机程序,其特征在于,当所述程序在计算机上运行时,使得所述计算机执行如权利要求1-14任一项所述的使用网络资源转发报文的方法。

技术总结
一种转发报文的方法、系统、装置以及网络设备,属于通信技术领域。所述方法由网络设备执行,包括:获取转发第一报文所属的第一流量所需的第一网络资源的第一标识信息;根据所述第一标识信息和所述第一报文的目的地址确定目标端口集合,所述目标端口集合与所述第一网络资源关联;在所述目标端口集合中选择第一端口转发所述第一报文。通过本方法,网络设备能够保证使用为业务流量分配的网络资源转发该业务流量,从而提高对于业务的服务质量。从而提高对于业务的服务质量。从而提高对于业务的服务质量。


技术研发人员:鲍磊 廖婷 肖亚群 徐菊华 郑娟 陈新隽
受保护的技术使用者:华为技术有限公司
技术研发日:2020.12.16
技术公布日:2022/3/7

最新回复(0)