CN114915585A - 报文处理方法、装置、设备及*** - Google Patents
报文处理方法、装置、设备及*** Download PDFInfo
- Publication number
- CN114915585A CN114915585A CN202210428636.0A CN202210428636A CN114915585A CN 114915585 A CN114915585 A CN 114915585A CN 202210428636 A CN202210428636 A CN 202210428636A CN 114915585 A CN114915585 A CN 114915585A
- Authority
- CN
- China
- Prior art keywords
- application program
- node
- information
- head node
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 145
- 238000000034 method Methods 0.000 claims abstract description 105
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 45
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 239000000284 extract Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013468 resource allocation Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 101100256921 Ajellomyces capsulatus SID3 gene Proteins 0.000 description 4
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 4
- 101000840469 Arabidopsis thaliana Isochorismate synthase 1, chloroplastic Proteins 0.000 description 4
- 101150026676 SID1 gene Proteins 0.000 description 4
- 101100366400 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spg1 gene Proteins 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 101150096768 sid4 gene Proteins 0.000 description 3
- 101100365745 Ajellomyces capsulatus SID5 gene Proteins 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/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/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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种报文处理方法、装置、设备及***,实现对网络资源的精细化管理和提高网络资源的分配合理性。其中报文处理方法应用于网络***,包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点,方法包括:头节点获取报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息;标识信息用于标识应用程序;头节点根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,确定头节点和尾节点之间的路径;头节点通过头节点和尾节点之间的路径转发报文。
Description
本申请是向中国知识产权局提交的申请日为2019年3月11日、申请号为201910181016.X、发明名称为“报文处理方法、装置、设备及***”的申请的分案申请。
技术领域
本申请涉及通信领域,尤其是一种报文处理方法、装置、设备及***。
背景技术
流量调度是指对终端设备发出的报文匹配合适的路径来转发该报文,合适的意思是该路径满足报文的对网络性能的需求,例如流量需求,为高带宽或低时延。通过流量调度可以使得报文能够一定程度上按照用户的需求被转发,实现对网络资源的合理化分配。
但目前流量调度是基于报文的五元组信息进行的,五元组信息包括报文的源地址、目的地址、传输层源端口、传输层目的端口和协议类型,即五元组信息相同的报文匹配的路径的流量需求相同,流量调度的管理粒度较粗。所以,如何在流量调度上实现对网络资源的精细化管理,提高网络资源的分配合理性是目前需要解决的技术问题。
发明内容
本申请实施例提供了一种报文处理方法、装置、设备以及***,实现对网络资源的精细化管理和提高网络资源的分配合理性。
第一方面,本申请提供了一种报文处理方法。该方法可以应用于网络***,该网络***包括头节点和尾节点。头节点是指用于转发来自应用程序的报文的某段路径上的首个节点,该头节点可以是路由器(router)或交换机(switch)等设备。尾节点是指用于转发来自应用程序的报文的该段路径上的最后一个节点,尾节点可以是路由器(router)、交换机(switch)等设备。该段路径可以为各类隧道包括流量工程(traffic engineer,TE)隧道或段路由(segment routing,SR)策略(policy)。报文经过头节点和尾节点之间的路径到达目的节点。该报文处理方法可以包括如下步骤:首先,头节点获取报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息。标识信息用于标识应用程序。“标识应用程序”中“标识”的含义可以是唯一标识一个应用程序,还可以是指标识一类应用程序。应用程序的网络性能需求信息可以体现为带宽(bandwidth)、时延(latency)、时延抖动(jitter)、丢包(packet loss)、可靠性(reliability)和安全(security)等信息中的一种或多种。其次,头节点根据应用程序的特征信息确定头节点和尾节点之间的路径。一般而言,头节点根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,来确定头节点和尾节点之间的路径。。最后,头节点通过头节点和尾节点之间的路径转发报文。
传统的基于报文的五元组信息(IP目的地址、IP源地址、传输层源端口、传输层目的端口、协议类型)匹配满足流量需求的路径,即五元组信息相同的报文匹配的路径相同,但是,五元组相同的报文可能有很多,不同的报文可能对路径有不同的流量需求。所以传统基于五元组信息进行流量调度的方案管理粒度较粗,网络资源的分配合理性较差。因为五元组相同的报文可能会包括多个应用程序的报文,所以本申请基于应用程序层级的流量调度,为来自不同应用程序的报文匹配对应网络性能的路径,相比较于传统方案流量调度的方案管理粒度较细,实现网络资源的精细化管理,提高网络资源的分配合理性。
一种可能的实现方式中,若报文为第六版因特网协议(Internet Protocolversion 6,IPv6)报文,则应用程序的特征信息携带在IPv6报文的IPv6扩展头或目的地址中。通过将应用程序的特征信息封装在IPv6报文的IPv6扩展头中比较方便的利用IPv6扩展头的各种优势,如TLV字段中值的格式可以灵活设置,且可以被网络设备和头节点直接读取,头节点到尾节点之间的路径上的网络节点也可以读取到该信息。此外,将应用程序的特征信息封装在IPv6报文的目的地址中,便于头节点高效快捷的获取报文中的应用程序的特征信息。
一种可能的实现方式中,IPv6报文的IPv6扩展头至少包括以下其中一种:IPv6扩展头的类型-长度-值(type-length-value,TLV)字段和段路由头(segment routingheader,SRH)的段标识(segment identification,SID)。通过段路由头的段标识封装应用程序的特征信息可以使该信息能够被直接提取放入IPv6的目的地址中,便于头节点高效快捷的获取报文中的应用程序的特征信息。
一种可能的实现方式中,IPv6扩展头TLV字段中值的格式可以为段标识格式。为了能使头节点从IPv6扩展头TLV字段中提取到应用程序的特征信息,头节点可以通过协议通告的方式来获知IPv6扩展头TLV字段中值的格式,例如段标识格式,并根据该格式来读取应用程序的特征信息。
一种可能的实现方式中,IPv6扩展头TLV字段至少包括以下其中一种:逐跳可选择(hop-by-hop option)TLV字段、目的可选择(destination option)TLV字段和SRH的TLV字段。
此外,获取与报文对应的应用程序的特征信息可以有如下三种可能的实现方式:
作为其中一种可能的实现方式,应用程序的特征信息携带在报文中。
那么,获取与报文对应的应用程序的特征信息包括:从报文中提取与报文对应的应用程序的特征信息。通过该方式网络可以直接感知应用程序的特征信息,特征信息的获取效率较高。
作为另一种可能的实现方式,获取与报文对应的应用程序的特征信息包括:对报文进行解析,得到与报文对应的应用程序的特征信息。在该方式中,报文中不携带应用程序的特征信息,需要通过报文解析来获取,好处是不需要改动现有的报文。
作为再一种可能的实现方式,报文中可以携带有与应用程序对应的业务信息,业务信息为应用程序所属业务的信息。
那么,获取与报文对应的应用程序的特征信息包括:根据业务信息确定与报文对应的应用程序的特征信息。由于在一些应用场景下报文中会携带业务信息,所以通过业务信息来确定应用程序的特征信息也不需要修改原有的报文。
当然,上述三种可能的实现方案并不构成对本申请技术方案的限定,本领域技术人员可以根据实际情况自行设计。
此外,一种可能的实现方式中,若应用程序的特征信息为应用程序的网络性能需求信息,则头节点获取应用程序的网络性能需求信息可以包括如下步骤:头节点根据报文获取应用程序的标识信息;头节点根据标识信息确定应用程序的网络性能需求信息。头节点根据报文获取应用程序的标识信息的实现方式可以参照上述获取应用程序的特征信息的实现方式,此处不再赘述。根据应用程序的网络性能需求信息可以得到匹配的头节点和尾节点的路径,从而实现基于应用程序层级的流量调度,提高网络资源分配的合理性。
一种可能的实现方式中,应用程序的特征信息还包括与应用程序对应的用户标识,用户标识用于标识与应用程序对应的用户。通过在应用程序的特征信息中增加用户标识,可以识别出报文对应哪个用户,便于后续利用用户标识结合应用程序的标识信息和/或应用程序的网络性能需求信息确定出头节点和尾节点之间的路径,从而实现对网络资源的更加精细化的管理,提高网络资源的分配针对性。
一种可能的实现方式中,方法还包括:头节点保存应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系。这样,头节点可以根据报文对应的应用程序的特征信息与该映射关系确定出头节点和尾节点之间的路径之间的映射关系。
总结而言,应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系包括如下其中一种:
应用程序的标识信息与头节点和尾节点之间的路径之间的映射关系;应用程序的网络性能需求信息与头节点和尾节点之间的路径之间的映射关系;应用程序的标识信息、应用程序的网络性能需求信息,以及头节点和尾节点之间的路径之间的映射关系;用户标识、应用程序的标识信息、以及头节点和尾节点之间的路径之间的映射关系;用户标识、应用程序的网络性能需求信息、以及头节点和尾节点之间的路径之间的映射关系;用户标识、应用程序的标识信息、应用程序的网络性能需求信息、以及头节点和尾节点之间的路径之间的映射关系。
一种可能的实现方式中,头节点根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,确定头节点和尾节点之间的路径包括:头节点根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,选择与应用程序的特征信息匹配的路径;或者头节点在没有找到与应用程序的特征信息匹配的路径的情况下,头节点创建到达尾节点的路径。也就是说,不管头节点是否保存有与应用程序的特征信息匹配的映射关系,都能够确定出对应的头节点和尾节点之间的路径。
一种可能的实现方式中,头节点创建到达尾节点的路径可以包括两种可能的实现方式:
其中一种可能的实现方式是:头节点根据获取的网络***的拓扑信息,创建与应用程序的特征信息对应的路径。该方式可以适用于具有算路功能的头节点。
另外一种可能的实现方式是:头节点向控制器发送路径获取请求,路径获取请求中携带有应用程序的特征信息。控制器根据路径获取请求,生成与应用程序的特征信息对应的路径。头节点接收控制器根据路径获取请求生成的、与应用程序的特征信息对应的路径。该实现方式可以适用于不具有算路功能的头节点。
当然,上述两种可能的实现方案并不构成对本申请技术方案的限定,本领域技术人员可以根据实际情况自行设计。
进一步的,头节点在创建到达尾节点的路径后,可以将创建的路径与应用程序的特征信息的对应关系添加到应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系中,以便下次直接根据创建好的映射关系指导报文转发,而不是重新计算路径。
在实际应用中,应用程序的流量可能会随着时间而发生变化,所以对应的头节点和尾节点之间的路径也应当发生相应的变化,以适应应用程序变化后的流量。所以一种可能的实现方式中,方法还包括:头节点对应用程序的标识信息所标识的应用程序的流量进行分析,得到分析结果。头节点根据分析结果调整应用程序的报文对应的头节点和尾节点之间的路径。
此外,头节点与路径中下一跳节点进行连接的接口可以对应一个或多个队列,不同的队列支持的网络性能可以不同。为了能够保证报文从头节点发出去的时候就能够享受到对应的网络性能,一种可能的实现方式中,头节点基于头节点和尾节点之间的路径转发报文包括:头节点根据应用程序的特征信息确定与应用程序的特征信息对应的队列,将报文加入队列中,并将队列中的报文通过头节点和尾节点之间的路径转发。与应用程序的特征信息对应的队列的网络性能和对应的路径的网络性能可以相匹配,从而保证在转发报文的过程中网络性能的一致性。
相应的,方法还包括:头节点保存应用程序的特征信息与队列之间的映射关系;头节点根据应用程序的特征信息确定与应用程序的特征信息对应的队列包括:头节点根据应用程序的特征信息以及应用程序的特征信息与队列之间的映射关系确定队列。
总结而言,应用程序的特征信息与队列之间的映射关系包括以下其中一种:应用程序的标识信息与队列之间的映射关系;应用程序的网络性能需求信息与队列之间的映射关系;应用程序的标识信息、应用程序的网络性能需求信息,以及队列之间的映射关系;用户标识、应用程序的标识信息、以及队列之间的映射关系;用户标识、应用程序的网络性能需求信息、以及所队列之间的映射关系;用户标识、应用程序的标识信息、应用程序的网络性能需求信息、以及队列之间的映射关系。
在实际应用中,应用程序的流量可能会随着时间而发生变化,所以对应的队列也应当发生相应的变化,以适应应用程序变化后的流量。所以,一种可能的实现方式中,方法还包括:头节点对应用程序的标识信息所标识的应用程序的流量进行分析,得到分析结果。头节点根据分析结果调整应用程序的报文所进入的队列。
第二方面,本申请还提供了一种报文处理方法,该方法可以应用于网络***,网络***包括网络设备、头节点和尾节点。其中,网络设备例如可以是网关、网卡、接入设备、路由器、交换机等。报文经过头节点和尾节点之间的路径到达目的节点。该报文处理方法包括如下步骤:首先,网络设备获取报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的特征信息和网络性能需求信息;特征信息用于标识应用程序。关于应用程序的特征信息的具体介绍请参见上文,此处不再赘述。其次,网络设备向头节点发送携带有应用程序的特征信息的报文。应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文。网络设备通过向头节点发送携带有应用程序的特征信息的报文,以便头节点能够根据应用程序的特征信息确定对应的头节点和尾节点之间的路径,实现基于应用程序层级的流量调度,提高网络资源的分配合理性。
一种可能的实现方式中,若报文为第六版因特网协议IPv6报文,则应用程序的特征信息携带在IPv6报文的IPv6扩展头或目的地址中。
一种可能的实现方式中,IPv6报文的IPv6扩展头至少包括以下其中一种:IPv6扩展头的类型-长度-值TLV字段和/或段路由头SRH的段标识SID。
一种可能的实现方式中,IPv6扩展头TLV字段至少包括以下其中一种:逐跳可选择hop-by-hop option TLV字段、目的可选择destination option TLV字段和SRH的TLV字段。
一种可能的实现方式中,网络设备获取到的报文为IPv6报文,IPv6报文的IPv6扩展头TLV字段中以段标识格式携带应用程序的特征信息。相应的,网络设备获取与报文对应的应用程序的特征信息包括:网络设备从IPv6扩展头提取应用程序的特征信息。网络设备向头节点发送携带有应用程序的特征信息的报文包括:网络设备将应用程序的特征信息携带在IPv6报文的目的地址中并向头节点发送。由于从目的地址中提取信息比从IPv6扩展头中提取信息的速度更快,所以提高了头节点提取应用程序特征信息的效率。
一种可能的实现方式中,网络设备获取与报文对应的应用程序的特征信息可以有如下三种可能的实现方式:
作为其中一种可能的实现方式,网络设备获取与报文对应的应用程序的特征信息包括:网络设备对报文进行解析,得到应用程序的特征信息。在该方式中,报文中不携带应用程序的特征信息,需要通过报文解析来获取,好处是不需要改动现有的报文。
作为另外一种可能的实现方式,若网络设备向头节点发送的报文中携带的应用程序的特征信息包括应用程序的网络性能需求信息,且网络设备获取的报文中包括应用程序的标识信息,则网络设备获取与报文对应的应用程序的特征信息包括:网络设备从报文中提取与报文对应的应用程序的标识信息;网络设备根据标识信息确定应用程序的网络性能需求信息。通过该方式网络可以直接感知应用程序的特征信息,特征信息的获取效率较高。
作为另外一种可能的实现方式,若网络设备获取的报文中包括应用程序的业务信息,业务信息为应用程序所属业务的信息,则网络设备获取与报文对应的应用程序的特征信息包括:网络设备根据应用程序的业务信息确定与应用程序对应的特征信息。由于在一些应用场景下报文中会携带业务信息,所以通过业务信息来确定应用程序的特征信息也不需要修改原有的报文。
当然,上述三种可能的实现方案并不构成对本申请技术方案的限定,本领域技术人员可以根据实际情况自行设计。
一种可能的实现方式中,应用程序的特征信息还包括应用程序的用户标识。通过在应用程序的特征信息中增加用户标识,可以识别出报文对应哪个用户,便于后续分析。
第三方面,本申请还提供了一种报文处理方法,应用于网络***,网络***包括头节点和尾节点,头节点接收来自于终端设备的报文,报文经过头节点和尾节点之间的路径到达目的节点,方法包括:首先,终端设备获取应用程序的特征信息。应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息;标识信息用于标识应用程序。其次,终端设备生成应用程序对应的报文,报文中携带应用程序的特征信息,应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点。最后,终端设备通过网络***向目的节点发送应用程序对应的报文。在本申请实施例中,由于终端设备生成的报文中携带有应用程序的特征信息,而应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点,可见,相对于传统的基于五元组信息匹配满足流量需求的路径的技术方案,本申请实施例基于应用程序层级的流量调度方案管理粒度较细,提高网络资源的分配合理性。
一种可能的实现方式中,若报文为第六版因特网协议IPv6报文,则应用程序的特征信息携带在IPv6报文的IPv6扩展头或目的地址中。
一种可能的实现方式中,IPv6报文的IPv6扩展头至少包括以下之一:IPv6扩展头的类型-长度-值TLV字段和/或段路由头SRH的段标识SID。
一种可能的实现方式中,IPv6扩展头TLV字段至少包括以下之一:逐跳可选择hop-by-hop option TLV字段、目的可选择destination option TLV字段和SRH的TLV字段。
一种可能的实现方式中,IPv6扩展头TLV字段中值的格式为段标识格式。
第四方面,一种报文处理装置,应用于网络***,网络***包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点。其中,头节点为报文处理装置,报文处理装置包括:获取单元,用于接收报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息;标识信息用于标识应用程序;路径确定单元,用于根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,确定头节点和尾节点之间的路径;转发单元,用于通过头节点和尾节点之间的路径转发报文。
一种可能的实现方式中,若报文为第六版因特网协议IPv6报文,则应用程序的特征信息携带在IPv6报文的IPv6扩展头或目的地址中。
一种可能的实现方式中,IPv6报文的IPv6扩展头至少包括以下其中一种:IPv6扩展头的类型-长度-值TLV字段和段路由头SRH的段标识SID。
一种可能的实现方式中,IPv6扩展头TLV字段至少包括以下其中一种:逐跳可选择hop-by-hop option TLV字段、目的可选择destination option TLV字段和SRH的TLV字段。
一种可能的实现方式中,应用程序的特征信息携带在报文中;
获取与报文对应的应用程序的特征信息包括:从报文中提取与报文对应的应用程序的特征信息。
一种可能的实现方式中,获取与报文对应的应用程序的特征信息包括:对报文进行解析,得到与报文对应的应用程序的特征信息。
一种可能的实现方式中,报文中携带有与应用程序对应的业务信息,业务信息为应用程序所属业务的信息;
获取与报文对应的应用程序的特征信息包括:根据业务信息确定与报文对应的应用程序的特征信息。
一种可能的实现方式中,若应用程序的特征信息包括应用程序的网络性能需求信息,则获取应用程序的网络性能需求信息包括:根据报文获取应用程序的标识信息;根据标识信息确定应用程序的网络性能需求信息。
一种可能的实现方式中,应用程序的特征信息还包括与应用程序对应的用户标识,用户标识用于标识与应用程序对应的用户。
一种可能的实现方式中,装置还包括:第一保存单元,用于保存应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系;
应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系包括:应用程序的标识信息与头节点和尾节点之间的路径之间的映射关系;应用程序的网络性能需求信息与头节点和尾节点之间的路径之间的映射关系;应用程序的标识信息、应用程序的网络性能需求信息,以及头节点和尾节点之间的路径之间的映射关系;用户标识、应用程序的标识信息、以及头节点和尾节点之间的路径之间的映射关系;用户标识、应用程序的网络性能需求信息、以及头节点和尾节点之间的路径之间的映射关系;或用户标识、应用程序的标识信息、应用程序的网络性能需求信息、以及头节点和尾节点之间的路径之间的映射关系。
一种可能的实现方式中,路径确定单元,用于根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,选择与应用程序的特征信息匹配的路径;或者在没有找到与应用程序的特征信息匹配的路径的情况下,头节点创建到达尾节点的路径。
一种可能的实现方式中,转发单元,用于根据应用程序的特征信息确定与应用程序的特征信息对应的队列,将报文加入队列中,并将队列中的报文通过头节点和尾节点之间的路径转发。
一种可能的实现方式中,装置还包括:第二保存单元,用于保存应用程序的特征信息与队列之间的映射关系;队列确定单元,用于根据应用程序的特征信息以及应用程序的特征信息与队列之间的映射关系确定队列。
一种可能的实现方式中,应用程序的特征信息与队列之间的映射关系包括:应用程序的标识信息与队列之间的映射关系;网络性能需求信息与队列之间的映射关系;应用程序的标识信息、应用程序的网络性能需求信息,以及队列之间的映射关系;用户标识、应用程序的标识信息、以及队列之间的映射关系;用户标识、应用程序的网络性能需求信息、以及所队列之间的映射关系;或用户标识、应用程序的标识信息、应用程序的网络性能需求信息、以及队列之间的映射关系。
第五方面,本申请还提供了一种报文处理装置,应用于网络***,网络***包括网络设备、头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点,网络设备为报文处理装置,报文处理装置包括:获取单元,用于接收报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的特征信息和网络性能需求信息;特征信息用于标识应用程序;发送单元,用于向头节点发送携带有应用程序的特征信息的报文,应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文。
一种可能的实现方式中,若报文为第六版因特网协议IPv6报文,则应用程序的特征信息携带在网络设备向头节点发送的IPv6报文的IPv6扩展头或目的地址中。
一种可能的实现方式中,IPv6报文的IPv6扩展头至少包括以下其中一种:IPv6扩展头的类型-长度-值TLV字段和/或段路由头SRH的段标识SID。
一种可能的实现方式中,IPv6扩展头TLV字段至少包括以下其中一种:逐跳可选择hop-by-hop option TLV字段、目的可选择destination option TLV字段和SRH的TLV字段。
一种可能的实现方式中,获取单元获取到的IPv6报文的IPv6扩展头TLV字段中以段标识格式携带应用程序的特征信息;
获取与报文对应的应用程序的特征信息包括:从IPv6扩展头提取应用程序的特征信息;向头节点发送携带有应用程序的特征信息的报文包括:将应用程序的特征信息携带在IPv6报文的目的地址中并向头节点发送。
一种可能的实现方式中,获取与报文对应的应用程序的特征信息包括:对报文进行解析,得到应用程序的特征信息。
一种可能的实现方式中,若发送单元向头节点发送的报文中携带的应用程序的特征信息包括应用程序的网络性能需求信息,且获取单元获取的报文中包括应用程序的标识信息;
则获取与报文对应的应用程序的特征信息包括:从报文中提取与报文对应的应用程序的标识信息,根据标识信息确定应用程序的网络性能需求信息。
一种可能的实现方式中,若获取单元获取的报文中包括应用程序的业务信息,业务信息为应用程序所属业务的信息;
则获取与报文对应的应用程序的特征信息包括:根据应用程序的业务信息确定与应用程序对应的特征信息。
一种可能的实现方式中,应用程序的特征信息还包括与应用程序对应的用户标识。
第六方面,本申请还提供了一种终端设备,应用于网络***,网络***包括头节点和尾节点,头节点接收来自于终端设备的报文,报文经过头节点和尾节点之间的路径到达目的节点。该终端设备包括:获取单元,用于获取应用程序的特征信息;应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息;标识信息用于标识应用程序;报文生成单元,用于生成应用程序对应的报文,报文中携带应用程序的特征信息,应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点;发送单元,用于通过网络***向目的节点发送应用程序对应的报文。
一种可能的实现方式中,若报文为第六版因特网协议IPv6报文,则应用程序的特征信息携带在IPv6报文的IPv6扩展头或目的地址中。
一种可能的实现方式中,IPv6报文的IPv6扩展头至少包括以下之一:IPv6扩展头的类型-长度-值TLV字段和/或段路由头SRH的段标识SID。
一种可能的实现方式中,IPv6扩展头TLV字段至少包括以下之一:逐跳可选择hop-by-hop option TLV字段、目的可选择destination option TLV字段和SRH的TLV字段。
一种可能的实现方式中,IPv6扩展头TLV字段中值的格式为段标识格式。
第七方面,本申请还提供了一种头节点,应用于网络***,网络***包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点;头节点包括存储器和处理器,存储器,用于存储指令;处理器,用于执行存储器中的指令,执行上述头节点的报文处理方法。
第八方面,本申请还提供了一种网络设备,网络设备包括存储器和处理器,存储器,用于存储指令;处理器,用于执行存储器中的指令,执行上述网络设备的报文处理方法。
第九方面,本申请还提供了一种终端设备,网络设备包括存储器和处理器,存储器,用于存储指令;处理器,用于执行存储器中的指令,执行上述终端设备的。
第十方面,本申请还提供了一种网络***,网络***包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点;头节点为上述作为头节点的报文处理装置。
第十一方面,本申请还提供了一种网络***,网络***包括网络设备、头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点;网络设备为上述作为网络设备的报文处理装置。
头节点用于接收网络设备发送的报文,获取与报文对应的应用程序的特征信息,根据应用程序的特征信息,确定头节点和尾节点之间的路径,通过头节点和尾节点之间的路径转发报文。
第十二方面,本申请还提供了一种网络***,网络***包括终端设备、头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点;终端设备为上述作为终端设备的报文处理装置;
头节点用于接收网络设备发送的报文,获取与报文对应的应用程序的特征信息,根据应用程序的特征信息,确定头节点和尾节点之间的路径,通过头节点和尾节点之间的路径转发报文。
第十三方面,本申请还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述方法。
第十四方面,本申请还提供了一种芯片,芯片设置在头节点中,应用于网络***,网络***包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点;芯片包括处理器和接口电路;接口电路用于接收代码指令并传输至处理器;处理器用于运行代码指令以执行上述头节点的方法。
第十五方面,本申请还提供了一种芯片,芯片设置在网络设备中,应用于网络***,网络***包括网络设备、头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点,芯片包括处理器和接口电路;接口电路用于接收代码指令并传输至处理器;处理器用于运行代码指令以执行上述网络设备的方法。
第十六方面,本申请还提供了一种芯片,芯片设置在终端设备中,应用于网络***,网络***包括头节点和尾节点,头节点接收来自于终端设备的报文,报文经过头节点和尾节点之间的路径到达目的节点,芯片包括处理器和接口电路;接口电路用于接收代码指令并传输至处理器;处理器用于运行代码指令以执行上述终端设备的方法。
附图说明
图1为本申请实施例提供的网络***的结构框图;
图2为本申请实施例基于图1所示的网络***而提供的报文处理方法的示意图;
图3为本申请实施例提供的另外一个网络***的结构框图;
图4为本申请实施例基于图3所示的网络***而提供的一种报文处理方法的示意图;
图5为本申请实施例提供的另外一种报文处理方法的示意图;
图6为本申请实施例提供的一种报文处理装置的结构框图;
图7为本申请实施例提供的另外一种报文处理装置的结构框图;
图8为本申请实施例提供的一种报文发送装置的结构框图;
图9为本申请实施例提供的一种头节点的硬件架构图;
图10为本申请实施例提供的一种网络设备的硬件架构图;
图11为本申请实施例提供了一种终端设备的硬件架构图。
具体实施方式
本申请实施例提供了一种报文处理方法、装置、设备及***,用于实现对网络资源的精细化管理,提高对网络资源分配的合理性。
参见图1,该图为本申请实施例提供的网络***,该网络***包括终端设备101、头节点102和尾节点103。终端设备101与头节点102连接,头节点102和尾节点103连接。上述“连接”可以是直接连接,也可以是间接连接。尤其是头节点102和尾节点103之间的连接,头节点102和尾节点103之间可以有其他节点。
其中,终端设备101例如可以是手机、个人计算机(personal computer,PC),例如平板电脑(tablet personal computer,Tablet PC)、笔记本电脑、超级移动个人计算机、个人数字助理等。终端设备101上安装有应用程序(application program,APP)。应用程序,又称应用软件(application software,APP),是为完成某项或多项特定工作的计算机程序,通常需要与用户进行交互。在本申请实施例中,应用程序例如可以是关于游戏、视频、邮件、即时通讯、交通信息、天气预报等的APP。
头节点102是指用于转发来自应用程序的报文的一段路径上的首个节点。头节点102可以是路由器(router)、交换机(switch)等设备。尾节点103是指用于转发来自应用程序的报文的一段路径上的最后一个节点。尾节点103可以是路由器(router)、交换机(switch)等设备。在本申请实施例中,报文经过头节点102和尾节点103之间的路径到达目的节点。目的节点和尾节点103可以是同一个节点,也可以是不同的节点。头节点102和尾节点103之间的路径上除了头节点102和尾节点103之外,可以有其他中间节点,也可以没有。
在本申请实施例中,路径可以包括隧道或段路由(segment routing,SR)策略(policy)。其中隧道是指头节点到尾节点之间所经过节点和/或链路所组成的路径。隧道包括流量工程(traffic engineer,TE)隧道等隧道,其中TE隧道具体可以是段路由(segmentrouting,SR)网络实现流量工程(traffic engineer,TE)隧道。可以理解的是,TE隧道也可以是通过其他技术实现的流量工程(traffic engineer,TE)隧道,本申请不限定隧道的具体实现方式。一条隧道通常包括一条路径。SR policy定义了头节点、尾节点以及从头节点到尾节点之间的路径属性。一个SR policy可以包括一条或多条路径。如果是多条路径,则该多条路径为支持相同网络性能的路径,该多条路径可以用于进行负载分担。
参见图2,该图为本申请实施例基于图1所示的网络***而提供的报文处理方法的示意图。
S201:终端设备101向头节点102发送报文。
在本申请实施例中,终端设备101向头节点102发送的应用程序对应的报文例如可以为第四版因特网协议(Internet Protocol version 4,IPv4)报文或第六版因特网协议(Internet Protocol version 6,IPv6)报文等。若为IPv6报文,具体的,可以是IPv6报文中的第六版段路由(segment routing version 6,SRv6)报文。
在终端设备101向头节点102发送的应用程序对应的报文中,可以携带应用程序的特征信息,也可以不携带。当需要携带时,为了降低信息泄露的风险,终端设备101可以将应用程序的特征信息进行加密之后再携带。相应的,头节点102在从报文中提取到应用程序的特征信息之后需要进行解密,再执行后续动作。
在本申请实施例中,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息。需要说明的是,“包括”的含义可以是直接包括,也可以间接包括。直接包括的意思是应用程序的特征信息中至少含有应用程序的标识信息本身和/或应用程序的网络性能需求信息本身。间接包括的意思是应用程序的特征信息中可以至少含有一个索引,索引用于体现应用程序的标识信息和/或应用程序的网络性能需求信息。因为例如应用程序的标识信息和/或应用程序的网络性能需求信息通常比特位较多,通过比特位较少的索引来代替可以节约报文的总长度,进而节约网络传输资源。例如,可以用索引“001”来体现某个应用程序的标识信息和/或应用程序的网络性能需求信息,用索引“002”来体现另外一个应用程序的标识信息和/或应用程序的网络性能需求信息。为了描述简便,下文中提到的“特征信息包括”中的“包括”均为此含义,相关之处不再赘述。
其中,标识信息用于标识应用程序。“标识应用程序”中“标识”的含义可以是唯一标识,即每个应用程序的标识信息都是不一样的。例如标识信息为应用程序的协议特征字或应用特征码(attribute code)等。为了描述方便,下面在举例子的时候,应用程序的标识信息用APP ID来表示。此外,“标识应用程序”中“标识”的含义还可以是标识一类应用程序,即标识信息可以体现应用程序的类型。相同类型的应用程序对应的标识信息相同。例如同属于游戏类的应用程序对应相同的标识信息。
应用程序的网络性能需求信息表示一个或一类应用程序对网络***的网络性能需求。例如,应用程序的网络性能需求信息可以体现为带宽(bandwidth)、时延(latency)、时延抖动(jitter)、丢包(packet loss)、可靠性(reliability)和安全(security)等信息中的一种或多种。应用程序的网络性能需求信息的表现形式可以是带宽、时延等信息的具体数值(例如最小带宽是多少,时延上限是多少等),也可以是代表带宽、时延等信息的服务级别协议(service level agreement,SLA),还可以是路径计算算法的路径属性。SLA规定多维度的网络性能需求,如带宽为150M,时延上限为5ms,时延抖动为+/-2ms等。路径属性可以用颜色(color)来表示,例如红色表示应用程序的网络性能需求信息为高带宽,蓝色表示应用程序的网络性能需求信息为低延时。SLA也可以用颜色(color)来表示,例如红色SLA表示高带宽低延时,或蓝色SLA表示低带宽。需要说明的是,在本申请实施例中,“高”“低”是相对而言的,具体多高为高,多低为低由本领域技术人员自行决定。
在本申请实施例中,若应用程序的特征信息携带在报文中,且报文为IPv6报文,那么应用程序的特征信息可以携带在IPv6报文的IPv6扩展头(extension header,EH)或目的地址中。
其中,IPv6报文的IPv6扩展头至少包括以下其中一种:IPv6扩展头(extensionheader,EH)的类型-长度-值(type-length-value,TLV)字段和段路由头(segment routingheader,SRH)的段标识(segment identification,SID)等。也就是说,应用程序的特征信息可以携带在IPv6报文的TLV字段中,当IPv6报文具体为SRv6报文时,应用程序的特征信息不仅可以携带在SRv6报文的TLV字段中,还可以携带在SRv6报文SRH的SID中。
其中,TLV字段中的类型T定义TLV的类型,在本申请实施例中,TLV的类型为携带应用程序特征信息的TLV。TLV字段中的长度L表示TLV中的值V的长度。TLV字段中的值V为应用程序的特征信息。TLV值的长度可以为128比特。
TLV值的格式可以例如是SID格式。SID格式包括位置(locator)字段、功能(function)字段和参数(argument)字段,其中参数字段用于存储应用程序的特征信息。其中,位置字段占x比特,功能字段占y比特,假设TLV值的总长度为128比特,那么存储应用程序的特征信息的字段为128-x-y比特。当然,TLV字段中还可以只包括应用程序的特征信息,而不包括其他信息。
其中,IPv6扩展头TLV字段至少包括以下其中一种:逐跳可选择(hop-by-hopoption)TLV字段、目的可选择(destination option)TLV字段和SRH的TLV字段等。也就是说,应用程序的特征信息可以携带在IPv6报文的Hop-by-Hop option TLV字段和/或destination option TLV字段中。当IPv6报文具体为SRv6报文时,应用程序的特征信息不仅可以携带在SRv6报文的上述类型的TLV字段中,还可以携带在SRv6报文SRH的SID中。
当特征信息被携带在SRH的SID中时,还可以在SID中的功能(Function)字段中携带读取标识,该读取标识用于指示读取SID中的特征信息。
S202:头节点102接收来自终端设备101的报文,并获取与该报文对应的应用程序的特征信息。
在本申请实施例中,头节点102获取与该报文对应的应用程序的特征信息可以有三种实现方式:
作为其中一种实现方式,头节点102接收的来自终端设备101的报文中携带应用程序的特征信息,那么头节点102可以从该报文中提取应用程序的特征信息。
具体的,头节点102可以基于内部网关协议(Interior Gateway Protocol,IGP)、边界网关协议(Border Gateway Protocol,BGP)或路径计算元素通信协议(PathComputation Element Communication Protocol,PCEP)等协议通告的方式提取应用程序的特征信息。例如,应用程序的特征信息存储在TLV字段中,具体的格式例如为SID格式,那么控制器可以基于上述协议通告给头节点102解析应用程序的特征信息的格式为SID格式。在通告之后,头节点102可以基于该SID格式读取存储在TLV字段中的应用程序的特征信息。
作为另外一种实现方式,头节点102接收的来自终端设备101的报文中不携带应用程序的特征信息,那么头节点102可以对报文进行解析,得到应用程序的特征信息。解析的手段例如为深度包检测(deep packet inspection,DPI)。
作为再一种实现方式,头节点102接收的来自终端设备101的报文中携带业务信息,业务信息为应用程序所属业务的信息,例如为关于用户虚拟局域网(customer virtuallan,C-VLAN)、服务虚拟局域网(service virtual lan,S-VLAN)等信息。
需要说明的是,若头节点102接收的来自终端设备101的报文为IPv6报文,那么可以采用上述三种方法的任意其一来获取应用程序的特征信息;若头节点102接收的来自终端设备101的报文为IPv4报文,那么可以采用上述第二种方法来获取应用程序的特征信息。
当然,上述三种可能的实现方式并不构成对本申请技术方案的限定,本领域技术人员可以根据实际情况自行设计。
例如,若在头节点102需要获取与报文对应的应用程序的特征信息为应用程序的网络性能需求信息的情况下,除了可以按照上述三种实现方式获取以外,还可以先根据报文获取应用程序的标识信息,然后根据预先存储的应用程序的标识信息与应用程序的网络性能需求信息之间的映射关系,确定与应用程序的标识信息对应的应用程序的网络性能需求信息。头节点102根据报文获取应用程序的标识信息的方式可以通过上述三种实现方式来获取。
参见表1,该表为应用程序的标识信息与应用程序的网络性能需求信息之间的映射关系示例表。
表1
APP ID | APP网络性能需求信息 |
应用程序1ID | 带宽>20Mbit/s、时延<1ms |
应用程序2ID | 带宽>10Mbit/s |
应用程序3ID | 时延抖动+/-2ms |
S203:头节点102根据该应用程序的特征信息,以及应用程序的特征信息与头节点102和尾节点103之间的路径之间的映射关系,确定头节点102和尾节点103之间的路径,并基于该头节点102和尾节点103之间的路径转发该报文。
在本申请实施例中,头节点102和尾节点103之间的路径包括从头节点102到尾节点103之间相邻两个节点之间的链路。例如,报文从头节点,即节点A出发,先后经过节点B、节点C和节点D到达尾节点,即节点E。那么,节点A到节点E之间的路径包括节点A到节点B之间的链路、节点B到节点C之间的链路、节点C到节点D之间的链路、节点D到节点E之间的链路。
在实际应用中,头节点102和尾节点103之间的路径可以通过段标识列表(SIDlist)来表示。段标识列表中包括至少一个段标识,一个段标识用于标识两个相邻节点之间的链路或节点本身。
对于段标识标识两个相邻节点之间的链路的情况,例如,节点A到节点E之间的路径对应的SID list包括SID1、SID2、SID3和SID4。其中,SID1用于标识节点A到节点B之间的链路,SID2用于标识节点B到节点C之间的链路,SID3用于标识节点C到节点D之间的链路,SID4用于标识节点D到节点E之间的链路。
对于段标识标识节点本身的情况,例如节点A到节点E之间的路径对应的SID list包括SID1’、SID2’、SID3’、SID4’和SID5’。其中,SID1’用于标识节点A,SID2’用于标识节点B,SID3’用于标识节点C,SID4’用于标识节点D,SID5’用于标识节点E。
在本申请实施例中,报文从头节点102出发到达相同的目的节点可以对应多条头节点102与尾节点103之间的路径,不同的路径支持不同的网络性能,路径支持的网络性能例如包括带宽、时延、安全、抖动等其中一种或多种。因而,头节点102可以预先获取并存储应用程序的特征信息与路径之间的映射关系。当头节点102获取到报文之后,根据报文对应的应用程序的特征信息与该映射关系,确定头节点102与尾节点103之间的路径,从而通过该路径对该应用程序的报文进行转发,实现在应用程序级别的流量调度,达到对网络资源的精细化管理。
例如,假设报文从头节点到目的节点对应有路径1和路径2,其中,路径1可以满足高带宽的网络性能需求,路径2可以满足低延时的网络性能需求。头节点102可以预先建立应用程序1的特征信息与路径1之间的映射关系,和应用程序2的特征信息与路径2之间的映射关系。当头节点102获取到报文1以及报文1对应的应用程序1的特征信息之后,根据应用程序1的特征信息确定出对应的路径为路径1,所以头节点102可以基于路径1转发该报文1。当头节点102获取到报文2以及报文2对应的应用程序2的特征信息之后,根据应用程序2的特征信息确定出对应的路径为路径2,所以头节点102可以基于路径2转发该报文2。
如前文所提,应用程序的特征信息可以至少包括应用程序的标识信息和应用程序的网络性能需求信息,所以,应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系可以包括:应用程序的标识信息与头节点和尾节点之间的路径之间的映射关系;应用程序的网络性能需求信息与头节点和尾节点之间的路径之间的映射关系;或,应用程序的标识信息、应用程序的网络性能需求信息与头节点和尾节点之间的路径之间的映射关系。
例如,参见表2,该表为应用程序的标识信息与头节点和尾节点之间的路径之间的映射关系示例表。
表2
APP ID | 路径 |
应用程序1ID | 路径1 |
应用程序2ID | 路径2 |
应用程序3ID | 路径3 |
头节点102可以建立并存储如表2所示的映射关系,然后根据获取到的与报文对应的应用程序的ID确定对应的头节点102和尾节点103之间的路径。
再例如,参见表3,该表为应用程序的网络性能需求信息与路径之间的映射关系示例表。
表3
APP网络性能需求信息 | 路径 |
带宽>20Mbit/s、时延<1ms | 路径1 |
带宽>10Mbit/s | 路径2 |
抖动 | 路径3 |
头节点102可以建立并存储如表3所示的映射关系,然后根据获取到的与报文对应的应用程序的ID确定对应的头节点102和尾节点103之间的路径。
参见表4,该表为应用程序的标识信息、应用程序的网络性能需求信息与路径之间的映射关系示例表。
表4
APP ID | APP网络性能需求信息 | 路径 |
应用程序1ID | 带宽>20Mbit/s、时延<1ms | 路径1 |
应用程序2ID | 带宽>10Mbit/s | 路径2 |
应用程序3ID | 抖动 | 路径3 |
头节点102可以建立并存储如表4所示的映射关系,然后根据获取到的与报文对应的应用程序ID和应用程序的网络性能需求信息确定对应的头节点102和尾节点103之间的路径。
需要说明的是,头节点102存储的应用程序的网络性能需求信息与头节点102和尾节点103之间的路径之间的映射关系中,应用程序的网络性能需求信息可以有两层含义,一层可以体现为应用程序对网络性能的需求,另外一层可以体现为指头节点102和尾节点103之间的路径能够满足的网络性能,该网络性能与根据报文得到的应用程序的网络性能需求是相匹配的。
例如,假设应用程序的网络性能需求为带宽>20Mbit/s,对应的头节点102和尾节点103之间的路径能够满足的带宽性能为带宽>15Mbit/s,那么头节点102存储的应用程序的网络性能需求信息与头节点102和尾节点103之间的路径之间的映射关系,可以体现为带宽>20Mbit/s与路径之间的映射关系,也可以体现为带宽>15Mbit/s与路径之间的映射关系。若是后者,当报文获取到应用程序的网络性能需求信息,即带宽>20Mbit/s时,由于带宽>20Mbit/s在带宽>15Mbit/s的范围内,所以可以匹配到带宽>15Mbit/s与路径之间的映射关系,进而确定出与该应用程序的网络性能需求信息匹配的路径。
当然,可以理解的是,头节点102获取到的报文的目的地址,与头节点102确定的头节点102和尾节点103之间的路径对应的目的节点的地址是相同的。
需要说明的是,与特征信息对应的路径可以是一条也可以是多条,如果是多条路径,则该多条路径支持相同的网络性能,也就是说,多条路径为冗余路径,那么可以从中选择一条路径来转发报文,或者进行负载分担。
可以理解的是,若在头节点102获取与报文对应的应用程序的特征信息为应用程序的标识信息,并且头节点102保存的应用程序的特征信息与头节点102和尾节点103之间的映射关系为上述表3或表4或者下述表5所示的映射关系的情况下,所述头节点102可以根据从所述报文获取到的应用程序的标识信息通过查找表1获得匹配的所述应用程序的网络性能需求信息,然后根据上述表3、表4或下述表5确定对应的头节点102和尾节点103之间的路径。
此外,头节点102预先存储的应用程序的特征信息与路径之间的映射关系可以是在获取到路径之后,根据路径支持的网络性能生成应用程序的特征信息与路径之间的映射关系。可以理解的是,如果路径是头节点102自身根据获取到的网络拓扑信息建立的,则头节点102根据路径支持的网络性能生成应用程序的特征信息与路径之间的映射关系。如果用来建立路径的路径信息是由头节点102从控制器获取的,控制器可以将路径与应用程序的特征信息之间的映射关系一起下发给头节点102,由头节点保存。或者在另外的实现方式下,如控制器没有向头节点102下发路径与应用程序的特征信息之间的映射关系,则头节点102自身可以根据路径支持的网络性能生成应用程序的特征信息与路径之间的映射关系。头节点102与控制器通信建立路径的过程可以参考以下具体描述。
在另外的实现方式中,头节点102中保存的应用程序的特征信息与路径之间的映射关系可以动态更新。例如,在头节点102获取到报文之后,如果根据报文对应的应用程序的特征信息没有找到对应的映射关系,即没有找到匹配的路径,这种情况下,头节点102可以动态获取与报文中的应用程序的特征信息匹配的路径,建立路径与应用程序的特征信息之间的映射关系,并保存该映射关系中,如添加到已有的映射关系中以便后续获取到报文时使用。
需要说明的是,在头节点102动态获取到的与应用程序的特征信息匹配的路径,可以是由头节点102生成的,也可以是由与头节点102连接的控制器生成的。该控制器例如可以是软件定义网络(software defined network,SDN)控制器等。
若是头节点102生成的,那么头节点102可以获取网络***的拓扑信息,并根据网络***的拓扑信息生成与特征信息对应的路径。若是与头节点102连接的控制器生成的,那么头节点102可以向控制器发送路径获取请求,路径获取请求中携带有特征信息。当然,路径获取请求中还可以包括报文的目的地址等其他用于进行路径计算的信息。控制器在接收到路径获取请求之后,可以获取网络***的拓扑信息,以及报文目的地址等其他用于进行路径计算的信息生成与该特征信息对应的路径,并将该路径下发给头节点102。头节点102接收该路径,并建立和存储特征信息与该路径之间的映射关系。
此外,在本申请实施例中,除了标识信息和/或应用程序的网络性能需求信息以外,特征信息中还可以包括与应用程序对应的用户标识。该用户标识用于标识与该应用程序对应的用户,例如使用该应用程序的用户。用户标识可以包括用户的用户名等信息。
当终端设备101向头节点102发送的报文中携带特征信息中的用户标识时,若报文为IPv6报文,则用户标识携带在IPv6报文的IPv6扩展头的TLV字段中,具体可以是逐跳(Hop-by-Hop option)TLV字段或目的选择(destination option)TLV字段等。若报文为SRv6报文,则用户标识除了可以携带在上述Hop-by-Hop option TLV或destinationoption TLV等字段中,还可以携带在SRv6报文SRH的TLV字段或SRv6报文SRH的SID中。
相应的,头节点102可以预先建立用户标识和至少上述另外两种特性信息之一与路径之间的映射关系,然后根据报文得到的至少上述另外两种特性信息之一与用户标识,以及该映射关系,得到对应的路径。
参见表5,该表为用户标识、应用程序的标识信息、应用程序的网络性能需求信息与路径之间的映射关系示例表。
表5
或者,在实现上述提到的根据标识信息确定对应的应用程序的网络性能需求信息时,可以根据标识信息和用户标识来确定对应的应用程序的网络性能需求信息。
另外,如前文所提,在实际应用中,可以用索引来体现应用程序的标识信息和/或应用程序的网络性能需求信息。一种具体的实现方式中,索引还可以用于体现用户标识。也就是说,表3中的APP ID、应用程序的网络性能需求信息和用户标识可以用一个或多个索引来代替。
总的来说,应用程序的特征信息与头节点102和尾节点103之间的路径之间的映射关系包括以下映射关系之一:
应用程序的标识信息与头节点102和尾节点103之间的路径之间的映射关系;
应用程序的网络性能需求信息与头节点102和尾节点103之间的路径之间的映射关系;
应用程序的标识信息、应用程序的网络性能需求信息,以及头节点102和尾节点103之间的路径之间的映射关系;
用户标识、应用程序的标识信息、以及头节点102和尾节点103之间的路径之间的映射关系;
用户标识、应用程序的网络性能需求信息、以及头节点102和尾节点103之间的路径之间的映射关系;或
用户标识、应用程序的标识信息、应用程序的网络性能需求信息、以及头节点102和尾节点103之间的路径之间的映射关系。
综上,传统的基于报文的五元组信息(IP目的地址、IP源地址、传输层源端口、传输层目的端口、协议类型)匹配满足流量需求的路径,即五元组信息相同的报文匹配的路径相同,但是,五元组相同的报文可能有很多,不同的报文可能对路径有不同的流量需求。所以传统基于五元组信息进行流量调度的方案管理粒度较粗,网络资源的分配合理性较差。因为五元组相同的报文可能会包括多个应用程序的报文,所以本申请实施例基于应用程序层级的流量调度,为来自不同应用程序的报文匹配对应网络性能的路径,相比较于传统方案流量调度的方案管理粒度较细,实现网络资源的精细化管理,提高网络资源的分配合理性。例如,当应用程序A需要高带宽且低时延的网络性能来满足该应用程序的大流量需求时,可以为该应用程序A生成支持该网络性能的路径,并通过该网络性能的路径来转发来自该应用程序A的报文。而当应用程序B的流量较小时,可能需要的带宽较低,那么就可以为其生成带宽较低的路径来转发来自该应用程序B的报文。这样,就可以实现网络资源更合理化分配。
在图1所示的实施例中,网络***包括终端设备、头节点和尾节点,在另外一个实施例中,网络***还可以包括网络设备。
参见图3,该图为本申请实施例提供的另外一个网络***的结构框图。在图3中,网络***包括终端设备301、网络设备302、头节点303和尾节点304。终端设备301和网络设备302连接,网络设备302和头节点303连接,头节点303和尾节点304连接。
其中,网络设备302例如可以是网关、网卡、接入设备、路由器、交换机等。其中,接入设备可以包括数字用户线路接入复用器(digital subscriber line accessmultiplexer,DSLAM)、光网络终端(optical network terminal,ONT)、光线路终端(optical line terminal,OLT)、客户终端设备(customer premise equipment,CPE)等。
终端设备301、头节点303和尾节点304可以分别参见上文对终端设备101、头节点102和尾节点103的描述,此处不再赘述。
参见图4,该图为基于图3所示的网络***而提供的一种报文处理方法的示意图。
S401:终端设备301向网络设备302发送报文。
S401与S201中终端设备发送的内容相同,都是报文,只是终端设备发送报文的对象不同,S201中终端设备101发送报文的对象是头节点102,而S401中终端设备301发送报文的对象是网络设备302。所以,本申请实施例不对S401进行赘述,关于报文的相关内容请参见S201。
S402:网络设备302接收来自终端设备301的报文,并根据报文获取与报文对应的应用程序的特征信息。
S402与S202基本相同,只是步骤的执行主体不同。S202中步骤的执行主体为头节点102,而S402中步骤的执行主体为网络设备302。另外,S202中头节点102接收的报文来自终端设备101,类似的,S402中网络设备302接收的报文来自终端设备301。所以,本申请实施例不对S402进行赘述,相关内容请参见S202。
此外,需要说明的是,前面提到了三种根据报文获取与报文对应的应用程序的特征信息的方式,在图4所示的实施例中,若网络设备302接收到的来自终端设备301的报文为IPv6报文,那么网络设备302可以通过后两种方式来获取应用程序的特征信息。若网络设备302接收到的来自终端设备301的报文为IPv4报文,那么网络设备302可以通过上述第二种方式,即解析报文的方式来获取应用程序的特征信息。
S403:网络设备302向头节点303发送携带有应用程序的特征信息的报文。
在本申请实施例中,网络设备302接收到的来自终端设备301的报文中携带有应用程序的特征信息,且该报文为IPv6报文时,根据前文所提,应用程序的特征信息可以携带在IPv6报文的IPv6扩展头。在应用程序的特征信息以段标识格式携带在IPv6报文的IPv6扩展头TLV字段的情况下,网络设备302可以将携带在IPv6扩展头TLV字段中以段标识格式携带的应用程序的特征信息提取出来,放在该IPv6报文的目的地址中,这样,头节点303在从IPv6报文中提取特征信息的时候,就可以从目的地址中进行提取。而从目的地址中提取信息比从IPv6扩展头TLV字段中提取信息的速度更快,所以提高了头节点303提取应用程序特征信息的效率。当然,在应用程序的特征信息以段标识格式携带在SRv6报文的SRH的SID字段的情况下,网络设备302可以将携带在SID字段中以段标识格式携带的应用程序的特征信息提取出来,放在该SRv6报文的目的地址中。
若网络设备302接收到的来自终端设备301的报文为IPv4报文,那么网络设备302可以对IPv4报文进行解析得到应用程序的特征信息,然后将该IPv4报文封装为SRv6报文,并将应用程序的特征信息携带在该SRv6报文的TLV字段或SRH的段标识SID中。该SRv6报文的TLV字段可以包括hop-by-hop option TLV字段、destination option TLV字段和SRH的TLV字段。
S404:头节点303接收来自网络设备302的报文,并从该报文中提取应用程序的特征信息。
具体的,头节点303可以基于内部网关协议(Interior Gateway Protocol,IGP)、边界网关协议(Border Gateway Protocol,BGP)或路径计算元素通信协议(PathComputation Element Communication Protocol,PCEP)等协议通告的方式从报文中提取应用程序的特征信息。协议通告的内容可以为应用程序的特征信息在报文中的存储格式,例如为SID格式。头节点303可以按照该格式来提取应用程序的特征信息。
S405:头节点303根据特征信息,以及应用程序的特征信息与头节点303和尾节点304之间的路径之间的映射关系,确定头节点303和尾节点304之间的路径,并基于头节点303和尾节点304之间的路径转发报文。
S405与S203基本相同,此处不再赘述,相关内容请参见上文。
综上,图4所示的报文处理方法与图2所示的报文处理方法的区别在于网络***增加了网络设备302,网络设备302分担了头节点303的一部分功能,即图4所示的报文处理方法中网络设备302根据报文获取与报文对应的应用程序的特征信息,而这个步骤在图2所示的报文处理方法中是由头节点102做的,所以相应的,在网络设备302需要把该应用程序的特征信息发送给头节点303。
此外,如前文所提,此实施例中的头节点303可以如图2中的头节点102一样,在图2所示的报文处理方法中,当应用程序的特征信息为应用程序的网络性能需求信息时,头节点102可以先根据报文获取应用程序的标识信息,然后根据预先存储的标识信息与应用程序的网络性能需求信息之间的映射关系,确定与应用程序的标识信息对应的应用程序的网络性能需求信息。可以理解的是,若在头节点303获取与报文对应的应用程序的特征信息为应用程序的标识信息,并且头节点303保存的应用程序的特征信息与头节点303和尾节点304之间的映射关系为上述表3、表4或表5所示的映射关系的情况下,所述头节点303可以根据从所述报文获取到的应用程序的标识信息通过查找表1获得匹配的所述应用程序的网络性能需求信息,然后根据上述表3、表4或表5确定对应的头节点303和尾节点304之间的路径。
所以,基于图3所示的网络***,作为另外一种实现方式,S402、S403和S404可以分别替换为S402’、S403’和S404’。具体的,
S402’:网络设备302接收来自终端设备301的报文,并根据报文获取应用程序的标识信息。
网络设备302根据报文获取应用程序的标识信息的方式,与上文中头节点102获取应用程序的标识信息的三种方式相类似,此处不再赘述。
S403’:网络设备302向头节点303发送携带有应用程序的标识信息的报文。
S404’:头节点303接收来自网络设备302的报文,并根据报文中应用程序的标识信息,以及头节点303存储的应用程序的标识信息与应用程序的网络性能需求信息之间的映射关系,确定与标识信息对应的网络性能需求。
基于图3所示的网络***,作为再一种实现方式,网络设备302可以不对来自终端设备301的报文进行处理,而是直接转发给头节点303。此时,头节点303执行的步骤与图2所示报文处理方法中头节点102执行的步骤基本相同,所以此处不再赘述。
此外,如前文所提,特征信息还可以包括用户标识。关于基于图3所示网络***的报文处理方法中对用户标识的处理可以参见上文,此处不再赘述。
一种具体的实现方式中,在本申请实施例中,还可以在头节点102或头节点303中预先建立应用程序的特征信息与队列之间的映射关系。头节点确定的用于转发报文的路径中包括头节点和下一跳节点之间的路径,而头节点与下一跳节点进行连接的接口可以对应一个或多个队列,不同的队列支持的网络性能可以不同。例如,队列支持的网络性能可以包括确保转发(assured forwarding,AF)、快速转发(expedited forwarding,EF)或者是尽力而为(best effort,BE)等。其中,AF队列可以保证在网络发送的业务流量没有超过最小可确保带宽的情况下,队列中报文的丢失概率较低。EF队列适用于转发需要保证低延时且占用带宽不是很大的报文,例如语音报文。BE队列适用于转发不适用于AF队列和EF队列的报文。
同一个特征信息对应的队列支持的网络性能和对应的路径支持的网络性能可以相匹配,保证报文从头节点发出去的时候就能够享受到对应的网络性能,而不是仅仅通过路径来享受,还可以进一步的通过队列来享受。因而,头节点可以根据报文得到的特征信息与该特征信息与队列之间的映射关系,确定出对应的队列,并将报文加入该队列中,并基于与特征信息对应的路径转发报文。
例如,头节点A连接节点B的接口可以对应2个队列,这2个队列分别为队列1和队列2。其中,队列1为AF队列,队列2为EF队列。而头节点A和节点B之间的路径所对应的网络性能是高带宽,例如带宽>20Mbit/s,所以节点A可以将报文加入到队列1中。
当然,可以理解的是,在确定应用程序的特征信息对应的队列时,除了根据队列所支持的性能以外,还可以按照其他规则进行确定,本申请实施例在此不做限定,例如从多个队列中任选一个等。
具体的,应用程序的特征信息与队列之间的映射关系可以包括以下其中一种:
应用程序的标识信息与队列之间的映射关系;
应用程序的网络性能需求信息与队列之间的映射关系;
应用程序的标识信息、应用程序的网络性能需求信息,以及队列之间的映射关系;
用户标识、应用程序的标识信息、以及队列之间的映射关系;
用户标识、应用程序的网络性能需求信息、以及所队列之间的映射关系;或
用户标识、应用程序的标识信息、应用程序的网络性能需求信息、以及队列之间的映射关系。
例如,参见表6,该表为用户标识、应用程序的标识信息、应用程序的网络性能需求信息与队列之间的映射关系示例表。
表6
APP ID | APP网络性能需求信息 | 用户标识 | 队列 |
应用程序1ID | 带宽>20Mbit/s、时延<1ms | 用户名1 | 队列1 |
应用程序2ID | 带宽>10Mbit/s | 用户名2 | 队列2 |
应用程序3ID | 抖动 | 用户名3 | 队列3 |
在本申请实施例中,当与应用程序的流量发生变化,意味着该应用程序对网络性能需求也发生了变化,所以调整应用程序的报文所进入的队列。
具体的,头节点102或头节点303可以对应用程序的标识信息所标识的应用程序的流量进行分析,得到分析结果,然后根据分析结果调整应用程序的报文所进入的队列。
在对报文的流量进行分析,也就是对应用程序的标识信息相同的多个报文的流量进行监控和分析时,提取流量特征信息,例如流量的大小、包长的信息、协议的信息、端口流量的信息、传输控制协议(Transmission Control Protocol,TCP)标志位的信息等,并根据流量特征信息来分析流量的变化,确定出应用程序的新的网络性能需求,进而根据新的网络性能需求重新确定匹配的队列。
例如,头节点经过对应用程序A的报文的流量进行分析,发现应用程序A的流量减少。假设对应于应用程序A的队列为AF队列,那么头节点可以将应用程序A的队列调整为BE队列,以实现对头节点传输资源的合理化分配。
类似的,头节点还可以根据对应用程序的流量的分析结果,调整应用程序的报文对应的头节点和尾节点之间的路径。
比如说,若应用程序的流量变大,则可以将应用程序对应的头节点和尾节点之间的路径调整为带宽满足该流量的路径。
例如,原来应用程序的流量为8Mbit/s,根据应用程序的特征信息确定的头节点和尾节点之间的路径的带宽为10Mbit/s。当应用程序的流量变为15Mbit/s,可以重新确定头节点和尾节点之间的路径为满足带宽为20Mbit/s的路径。
需要说明的是,头节点根据对应用程序的流量的分析结果,调整应用程序的报文对应的头节点和尾节点之间的路径的技术手段可以适用于上述图2和图4所示的实施例,从而上述头节点102和头节点303能够根据对应用程序的流量的分析结果,调整应用程序的报文对应的头节点和尾节点之间的路径。
参见图5,该图为本申请实施例提供的一种报文处理方法,该方法可以应用于网络***,该网络***可以包括头节点和尾节点,头节点接收来自于终端设备的报文,报文经过头节点和尾节点之间的路径到达目的节点。在本申请实施例中,该头节点可以是头节点102或头节点303,尾节点可以是尾节点103或尾节点304。
该报文处理方法可以包括如下步骤:
S501:终端设备获取应用程序的特征信息。
在本申请实施例中,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息。其中,标识信息用于标识应用程序。关于应用程序的标识信息和应用程序的网络性能需求信息的相关介绍请参见上文,此处不再赘述。
在本申请实施例中,当应用程序安装在终端设备之后,应用程序的标识信息就可以存储在终端设备中,所以,若应用程序的特征信息包括应用程序的标识信息,则终端设备可以根据应用程序的标识信息的存储地址获取该应用程序的标识信息。终端设备获取应用程序的网络性能需求信息可以通过配置来获取。
另外,当用户登录应用程序时,通常需要用户标识来登录,该用户标识就可以存储在终端设备中。若应用程序的特征信息中还包括用户标识,那么当终端设备可以根据用户标识在终端设备的存储位置来获取用户标识。
S502:终端设备生成应用程序对应的报文,报文中携带应用程序的特征信息。
应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点。
在本申请实施例中,若终端设备生成的报文为IPv6报文,则应用程序的特征信息可以携带在IPv6报文的IPv6扩展头或目的地址中。具体的,IPv6报文的IPv6扩展头至少包括以下之一:IPv6扩展头的TLV字段和段路由头SRH的段标识SID。IPv6扩展头TLV字段至少包括以下之一:逐跳可选择hop-by-hop option TLV字段、目的可选择destination optionTLV字段和SRH的TLV字段。关于这些字段的相关介绍请参见上文,此处不再赘述。
此外,IPv6扩展头TLV字段中值的格式可以为段标识格式,具体原因请参见上文,此处不再赘述。
S503:终端设备向头节点发送应用程序对应的报文。
在本申请实施例中,终端设备可以直接向网络***的头节点发送应用程序对应的报文,也可以先向网络设备发送,再由网络设备传输给头节点,以使头节点将应用程序对应的报文传输给目的节点。其中的头节点可以是头节点102或头节点303,网络设备可以是网络设备302。
S504:头节点接收来自终端设备的报文,并获取与报文对应的应用程序的特征信息,然后根据该应用程序的特征信息、应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,确定头节点和尾节点之间的路径,并基于头节点和尾节点之间的路径转发报文。
此外,如前文所提,在图2所示的报文处理方法中,当应用程序的特征信息为应用程序的网络性能需求信息时,头节点可以先根据报文获取应用程序的标识信息,然后根据预先存储的标识信息与应用程序的网络性能需求信息之间的映射关系,确定与应用程序的标识信息对应的应用程序的网络性能需求信息。可以理解的是,若在头节点获取与报文对应的应用程序的特征信息为应用程序的标识信息,并且头节点保存的应用程序的特征信息与头节点和尾节点之间的映射关系为上述表3、表4或表5所示的映射关系的情况下,所述头节点可以根据从所述报文获取到的应用程序的标识信息通过查找表1获得匹配的所述应用程序的网络性能需求信息,然后根据上述表3、表4或表5确定对应的头节点和尾节点之间的路径。
在本申请实施例中,由于终端设备生成的报文中携带有应用程序的特征信息,而应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点,可见,相对于传统的基于五元组信息匹配满足流量需求的路径的技术方案,本申请实施例基于应用程序层级的流量调度方案管理粒度较细,提高网络资源的分配合理性。
相应的,参见图6,本申请实施例还提供了一种报文处理装置500,该装置可以应用于网络***的头节点,该头节点可以实现图2所示头节点102或图4所示头节点303的功能。网络***还包括尾节点,报文经过头节点和尾节点之间的路径到达目的节点。
报文处理装置包括:获取单元501、路径确定单元502和转发单元503。其中,获取单元501用于执行图2所示实施例中的S202或图4所示实施例中的S404。路径确定单元502和转发单元503用于执行图2所示实施例中的S203或图4所示实施例中的S405。具体的,
获取单元501,用于接收报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和应用程序的网络性能需求信息;标识信息用于标识应用程序,应用程序的网络性能需求信息表示应用程序的网络性能需求;
路径确定单元502,用于根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,确定头节点和尾节点之间的路径;
转发单元503,用于基于头节点和尾节点之间的路径转发报文。
该报文处理装置能够实现前述方法实施例中的头节点102或头节点303的功能,具体执行步骤请参考前述方法实施例,此处不在赘述。
相应的,参见图7,本申请实施例还提供了一种报文处理装置600,该装置可以应用于网络***的网络设备,该网络设备可以实现图4所示网络设备302的功能。网络***还包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点。
报文处理装置包括:获取单元601和发送单元602。其中,获取单元601用于执行图4所示实施例中的S402,发送单元602用于执行图4所示实施例中的S403。具体的,
获取单元601,用于接收报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和应用程序的网络性能需求信息;特征信息用于标识应用程序,应用程序的网络性能需求信息表示应用程序的网络性能需求;
发送单元602,用于向头节点发送携带有应用程序的特征信息的报文。
该报文处理装置能够实现前述方法实施例中的网络设备302的功能,具体执行步骤请参考前述方法实施例,此处不在赘述。
相应的,参见图8,本申请实施例还提供了一种终端设备700,该终端设备700可以实现图2所示终端设备101的功能或图4所示终端设备301的功能。
所述终端设备700包括:获取单元701、报文生成单元702和发送单元703。其中,获取单元701用于执行图5所示实施例中的S501,报文生成单元702用于执行图5所示实施例中的S502,发送单元703用于执行图5所示实施例中的S503。
获取单元701,用于获取应用程序的特征信息;应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息;标识信息用于标识应用程序;
报文生成单元702,用于生成应用程序对应的报文,报文中携带应用程序的特征信息,应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点;
发送单元703,用于通过网络***向目的节点发送应用程序对应的报文。
该终端设备700能够实现前述方法实施例中的终端设备101或终端设备301的功能,具体执行步骤请参考前述方法实施例,此处不在赘述。
参见图9,本申请实施例提供了一种头节点800,该头节点800可以实现上述图1-5所示实施例中头节点的功能。头节点包括存储器801、处理器802和通信接口803,
存储器801,用于存储指令;在实现图6所示实施例的情况下,且图6实施例中所描述的各单元为通过软件实现的情况下,执行图6中的获取单元501、路径确定单元502和转发单元503功能所需的软件或程序代码存储在存储器801中。
处理器802,用于执行存储器801中的指令,执行上述应用于图2所示实施例中头节点102或图4所示实施例中头节点303的报文处理方法;
通信接口803,用于进行通信。
存储器801、处理器802和通信接口803通过总线804相互连接;总线804可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在具体实施例中,处理器801用于获取报文,以及获取与报文对应的应用程序的特征信息,根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,确定头节点和尾节点之间的路径;其中,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和应用程序的网络性能需求信息;标识信息用于标识应用程序。该处理器801的详细处理过程请参考上述图2所示实施例中S202和S203,以及图4所示实施例中S404和S405的详细描述,这里不再赘述。
通信接口803用于通过头节点和尾节点之间的路径转发报文。具体的过程请参考上述图2所示实施例中S203和图4所示实施例中S405的详细描述,这里不再赘述。
参见图10,本申请实施例提供了一种网络设备900,该网络设备可以实现图4-5所示实施例中网络设备的功能,该网络设备900包括存储器901、处理器902和通信接口903,
存储器901,用于存储指令;在实现图7所示实施例的情况下,且图7实施例中所描述的各单元为通过软件实现的情况下,执行图7中的获取单元601和发送单元602功能所需的软件或程序代码存储在存储器901中。
处理器902,用于执行存储器901中的指令,执行上述应用于图4所示实施例中网络设备302的报文处理方法;
通信接口903,用于与终端设备和头节点进行通信。
存储器901、处理器902和通信接口903通过总线904相互连接;总线904可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在具体实施例中,处理器901用于获取报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的特征信息和网络性能需求信息;特征信息用于标识应用程序。该处理器901的详细处理过程请参考上述图4所示实施例中S402和S403的详细描述,这里不再赘述。
通信接口903用于向头节点发送携带有应用程序的特征信息的报文,应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文。具体的过程请参考上述图4所示实施例中S403的详细描述,这里不再赘述。
参见图11,本申请实施例提供了一种终端设备1000,该网络设备可以实现图2所示实施例中终端设备101或图4所示实施例中终端设备301的功能,该终端设备1000包括存储器1001、处理器1002和通信接口1003,
存储器1001,用于存储指令;在实现图8所示实施例的情况下,且图8实施例中所描述的各单元为通过软件实现的情况下,执行图8中的获取单元701、报文生成单元702和发送单元703功能所需的软件或程序代码存储在存储器1001中。
处理器1002,用于执行存储器1001中的指令,执行上述应用于图4所示实施例中网络设备302的报文处理方法;
通信接口1003,用于与网络设备或头节点进行通信。
存储器1001、处理器1002和通信接口1003通过总线1004相互连接;总线1004可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在具体实施例中,处理器1002用于获取应用程序的特征信息;应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息;标识信息用于标识应用程序。生成应用程序对应的报文,报文中携带应用程序的特征信息,应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点。
该处理器1001的详细处理过程请参考上述图5所示实施例中S501和S502的详细描述,这里不再赘述。
该通信接口1003用于终端设备通过网络***向目的节点发送应用程序对应的报文。具体的过程请参考上述图5所示实施例中S503的详细描述,这里不再赘述。
上述存储器801、存储器901和存储器1001可以是随机存取存储器(random-accessmemory,RAM)、闪存(flash)、只读存储器(read only memory,ROM)、可擦写可编程只读存储器(erasable programmable read only memory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、寄存器(register)、硬盘、移动硬盘、CD-ROM或者本领域技术人员知晓的任何其他形式的存储介质。
上述处理器802、处理器902和处理器1002例如可以是中央处理器(centralprocessing unit,CPU)、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
上述通信接口803、通信接口903和通信接口1003例如可以是接口卡等,可以为以太(ethernet)接口或异步传输模式(asynchronous transfer mode,ATM)接口。
本申请实施例还提供了一种芯片,芯片设置在头节点中,应用于网络***,网络***包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点。芯片包括处理器和接口电路。
接口电路用于接收代码指令并传输至处理器。
处理器用于运行代码指令以执行上述应用于图2所示实施例中头节点102或图4所示实施例中头节点303的报文处理方法。
在具体实施例中,处理器用于获取报文,以及获取与报文对应的应用程序的特征信息,根据应用程序的特征信息,以及应用程序的特征信息与头节点和尾节点之间的路径之间的映射关系,确定头节点和尾节点之间的路径;其中,应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和应用程序的网络性能需求信息;标识信息用于标识应用程序。该处理器的详细处理过程请参考上述图2所示实施例中S202和S203,以及图4所示实施例中S404和S405的详细描述,这里不再赘述。
本申请实施例还提供了一种芯片,芯片设置在网络设备中,应用于网络***,网络***包括网络设备、头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点,芯片包括处理器和接口电路。
接口电路用于接收代码指令并传输至处理器;
处理器用于运行代码指令以执行上述应用于图4所示实施例中网络设备302的报文处理方法。
在具体实施例中,处理器用于获取报文,以及获取与报文对应的应用程序的特征信息,应用程序的特征信息至少包括下述信息之一:应用程序的特征信息和网络性能需求信息;特征信息用于标识应用程序。
本申请实施例还提供了一种芯片,芯片设置在终端设备中,应用于网络***,网络***包括头节点和尾节点,头节点接收来自于终端设备的报文,报文经过头节点和尾节点之间的路径到达目的节点,芯片包括处理器和接口电路;
接口电路用于接收代码指令并传输至处理器;
处理器用于运行代码指令以执行上述应用于图4所示实施例中网络设备302的报文处理方法。
在具体实施例中,处理器用于获取应用程序的特征信息;应用程序的特征信息至少包括下述信息之一:应用程序的标识信息和网络性能需求信息;标识信息用于标识应用程序。生成应用程序对应的报文,报文中携带应用程序的特征信息,应用程序的特征信息用于头节点确定头节点到尾节点之间的路径以转发报文至目的节点。
本申请实施例还提供了一种网络***,网络***包括头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点。所述网络***中的头节点可以执行图2实施例中头节点102的处理步骤,或者相应的,所述网络***中的头节点为图6所示实施例的报文处理装置500。
本申请实施例还提供了一种网络***,网络***包括网络设备、头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点。所述网络***中的网络设备可以执行图4实施例中网络设备302的处理步骤,或者相应的,所述网络***中的网络设备为图7所示实施例的报文处理装置600。所述网络***中的头节点执行图4实施例中头节点303的处理步骤。
具体的,所述头节点用于接收网络设备发送的报文,获取与报文对应的应用程序的特征信息,根据应用程序的特征信息,确定头节点和尾节点之间的路径,通过头节点和尾节点之间的路径转发报文。
本申请实施例还提供了一种网络***,网络***包括终端设备、头节点和尾节点,报文经过头节点和尾节点之间的路径到达目的节点。所述网络***中的终端设备可以执行图5实施例中终端设备的处理步骤,或者相应的,所述网络***中的终端设备为图8所示实施例的终端设备700。所述网络***中的头节点执行图5实施例中头节点的处理步骤。
具体的,所述头节点用于接收网络设备发送的报文,获取与报文对应的应用程序的特征信息,根据应用程序的特征信息,确定头节点和尾节点之间的路径,通过头节点和尾节点之间的路径转发报文。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于头节点800的报文处理方法。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于网络设备900的报文处理方法。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于终端设备1000的报文处理方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (49)
1.一种报文处理方法,应用于网络***,所述网络***包括头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点,其特征在于,所述方法包括:
所述头节点获取报文,以及获取与所述报文对应的应用程序的特征信息,所述应用程序的特征信息至少包括下述信息之一:所述应用程序的标识信息和与所述应用程序对应的用户标识;所述应用程序的标识信息用于标识所述应用程序,所述用户标识用于标识与所述应用程序对应的用户;
所述头节点根据所述应用程序的特征信息,确定所述头节点和所述尾节点之间的路径;
所述头节点通过所述头节点和尾节点之间的路径转发携带所述应用程序的特征信息的所述报文,其中,所述携带所述应用程序的特征信息的所述报文为第六版因特网协议IPv6报文,所述应用程序的特征信息携带在所述IPv6报文中。
2.根据权利要求1所述的方法,其特征在于,所述应用程序的特征信息还包括所述应用程序的需求信息,所述需求信息至少包括以下之一:
带宽信息、时延信息、时延抖动信息、丢包信息、可靠性信息和安全信息。
3.根据权利要求2所述的方法,其特征在于,所述获取与所述报文对应的应用程序的特征信息,包括:
所述头节点根据所述报文获取所述应用程序的标识信息;
所述头节点根据所述应用程序的标识信息确定所述应用程序的需求信息。
4.根据权利要求2或3所述的方法,其特征在于,所述头节点根据所述应用程序的特征信息,确定所述头节点和所述尾节点之间的路径,包括:
所述头节点根据所述应用程序的特征信息,以及所述应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系,确定所述头节点和所述尾节点之间的路径;
所述应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系包括:
所述应用程序的标识信息与所述头节点和尾节点之间的路径之间的映射关系;
所述需求信息与所述头节点和尾节点之间的路径之间的映射关系;
所述应用程序的标识信息、所述需求信息,以及所述头节点和尾节点之间的路径之间的映射关系;
所述用户标识、所述应用程序的标识信息、以及所述头节点和尾节点之间的路径之间的映射关系;
所述用户标识、所述需求信息、以及所述头节点和尾节点之间的路径之间的映射关系;或
所述用户标识、所述应用程序的标识信息、所述需求信息、以及所述头节点和尾节点之间的路径之间的映射关系。
5.根据权利要求4所述的方法,其特征在于,所述头节点根据所述应用程序的特征信息,以及应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系,确定所述头节点和所述尾节点之间的路径包括:
所述头节点根据所述应用程序的特征信息,以及应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系,选择与所述应用程序的特征信息匹配的路径;或者
所述头节点在没有找到与所述应用程序的特征信息匹配的路径的情况下,所述头节点创建到达所述尾节点的路径。
6.根据权利要求5所述的方法,其特征在于,所述头节点创建到达所述尾节点的路径包括:
所述头节点根据获取的所述网络***的拓扑信息,创建与所述应用程序的特征信息对应的路径;或者
所述头节点向控制器发送路径获取请求,所述路径获取请求中携带有所述应用程序的特征信息;
所述头节点接收所述控制器根据所述路径获取请求生成的、与所述应用程序的特征信息对应的路径。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
所述头节点在创建所述到达所述尾节点的路径后,将所述创建的路径与所述应用程序的特征信息的对应关系添加到所述应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系中。
8.根据权利要求1-7任一所述的方法,其特征在于,所述应用程序的特征信息携带在所述IPv6报文的IPv6扩展头或目的地址中。
9.根据权利要求8所述的方法,其特征在于,所述应用程序的特征信息携带在所述IPv6扩展头的类型-长度-值TLV字段中,或者所述应用程序的特征信息携带在所述IPv6报文的IPv6扩展头的段路由头SRH的段标识SID中。
10.根据权利要求9所述的方法,其特征在于,所述TLV字段至少包括以下其中之一:
逐跳可选择hop-by-hop option TLV字段、目的可选择destination option TLV字段和所述SRH的TLV字段。
11.根据权利要求9或10所述的方法,其特征在于,所述TLV字段中值的格式为段标识格式。
12.根据权利要求1-11任一项所述的方法,其特征在于,
所述获取所述报文,包括:接收所述报文;或者,生成所述报文。
13.根据权利要求1-12任一项所述的方法,其特征在于,
所述获取与所述报文对应的应用程序的特征信息包括:
从所述报文的报文头中提取与所述报文对应的应用程序的特征信息;或者,
对所述报文进行解析,得到与所述报文对应的应用程序的特征信息。
14.根据权利要求1-12任一项所述的方法,其特征在于,所述报文中携带有与所述应用程序对应的业务信息,所述业务信息为所述应用程序所属业务的信息;
所述获取与所述报文对应的应用程序的特征信息包括:
根据所述业务信息确定与所述报文对应的应用程序的特征信息。
15.根据权利要求1-14任一项所述的方法,其特征在于,所述头节点和尾节点之间的路径包括隧道或段路由SR策略。
16.根据权利要求1-15任一项所述的方法,其特征在于,所述方法还包括:
所述头节点对所述应用程序的标识信息所标识的应用程序的流量进行分析,得到分析结果;
所述头节点根据所述分析结果调整所述应用程序的报文对应的所述头节点和尾节点之间的路径。
17.根据权利要求1-16任一项所述的方法,其特征在于,所述头节点通过所述头节点和尾节点之间的路径转发所述报文包括:
所述头节点根据所述应用程序的特征信息确定与所述应用程序的特征信息对应的队列,将所述报文加入所述队列中,并将所述队列中的报文通过所述头节点和尾节点之间的路径转发。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述头节点保存所述应用程序的特征信息与所述队列之间的映射关系;
所述头节点根据所述应用程序的特征信息确定与所述应用程序的特征信息对应的队列包括:
所述头节点根据所述应用程序的特征信息以及所述应用程序的特征信息与所述队列之间的映射关系确定所述队列。
19.根据权利要求18所述的方法,其特征在于,所述应用程序的特征信息与所述队列之间的映射关系包括:
所述应用程序的标识信息与所述队列之间的映射关系;
所述需求信息与所述队列之间的映射关系;
所述应用程序的标识信息、所述需求信息,以及所述队列之间的映射关系;
所述用户标识、所述应用程序的标识信息、以及所述队列之间的映射关系;
所述用户标识、所述需求信息、以及所所述队列之间的映射关系;或
所述用户标识、所述应用程序的标识信息、所述需求信息、以及所述队列之间的映射关系。
20.根据权利要求18或19所述的方法,其特征在于,所述方法还包括:
所述头节点对所述应用程序的标识信息对所标识的应用程序的流量进行分析,得到分析结果;
所述头节点根据所述分析结果调整所述应用程序的报文所进入的队列。
21.一种报文处理方法,应用于网络***,所述网络***包括头节点和尾节点,其特征在于,所述方法包括:
所述头节点获取应用程序的特征信息,所述应用程序的特征信息至少包括下述信息之一:所述应用程序的标识信息和与所述应用程序对应的用户标识;所述应用程序的标识信息用于标识所述应用程序,所述用户标识用于标识与所述应用程序对应的用户;
所述头节点创建所述头节点和尾节点之间的路径;
所述头节点创建所述应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系。
22.根据权利要求21所述的方法,其特征在于,所述头节点创建所述头节点和尾节点之间的路径包括:
所述头节点根据获取的所述网络***的拓扑信息,创建与所述应用程序的特征信息对应的路径;或者
所述头节点向控制器发送路径获取请求,所述路径获取请求中携带有所述应用程序的特征信息;
所述头节点接收所述控制器根据所述路径获取请求生成的、与所述应用程序的特征信息对应的路径。
23.根据权利要求21或22所述的方法,其特征在于,所述头节点获取应用程序的特征信息,包括:
所述头节点接收报文,所述报文包括所述应用程序的特征信息。
24.根据权利要求21-23任一项所述的方法,其特征在于,所述头节点创建所述头节点和尾节点之间的路径包括:
在没有找到与所述应用程序的特征信息匹配的路径的情况下,所述头节点创建所述头节点和尾节点之间的路径。
25.根据权利要求23或24所述的方法,其特征在于,所述方法还包括:
所述头节点根据所述应用程序的特征信息,以及所述应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系,确定所述头节点和所述尾节点之间的路径;
所述头节点通过所述头节点和尾节点之间的路径转发携带所述应用程序的特征信息的所述报文,其中,所述携带所述应用程序的特征信息的所述报文为第六版因特网协议IPv6报文,所述应用程序的特征信息携带在所述IPv6报文中。
26.根据权利要求25所述的方法,其特征在于,所述应用程序的特征信息携带在所述IPv6报文的IPv6扩展头或目的地址中。
27.根据权利要求23-26任一项所述的方法,其特征在于,
所述获取所述应用程序的特征信息包括:
从所述报文的报文头中提取与所述报文对应的应用程序的特征信息;或者,
对所述报文进行解析,得到与所述报文对应的应用程序的特征信息。
28.根据权利要求23-26任一项所述的方法,其特征在于,所述报文中携带有与所述应用程序对应的业务信息,所述业务信息为所述应用程序所属业务的信息;
所述获取与所述报文对应的应用程序的特征信息包括:
根据所述业务信息确定与所述报文对应的应用程序的特征信息。
29.根据权利要求21-28任一项所述的方法,其特征在于,所述应用程序的特征信息还包括需求信息,所述需求信息至少包括以下之一:
带宽信息、时延信息、时延抖动信息、丢包信息、可靠性信息和安全信息。
30.根据权利要求29所述的方法,其特征在于,
所述应用程序的特征信息与所述头节点和尾节点之间的路径之间的映射关系包括:
所述应用程序的标识信息与所述头节点和尾节点之间的路径之间的映射关系;
所述需求信息与所述头节点和尾节点之间的路径之间的映射关系;
所述应用程序的标识信息、所述需求信息,以及所述头节点和尾节点之间的路径之间的映射关系;
所述用户标识、所述应用程序的标识信息、以及所述头节点和尾节点之间的路径之间的映射关系;
所述用户标识、所述需求信息、以及所述头节点和尾节点之间的路径之间的映射关系;或
所述用户标识、所述应用程序的标识信息、所述需求信息、以及所述头节点和尾节点之间的路径之间的映射关系。
31.根据权利要求21-30任一项所述的方法,其特征在于,所述头节点和尾节点之间的路径包括隧道或段路由SR策略。
32.一种报文处理方法,应用于网络***,所述网络***包括网络设备、头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点,其特征在于,所述方法包括:
所述网络设备获取报文,以及获取与所述报文对应的应用程序的特征信息,所述应用程序的特征信息至少包括下述信息之一:所述应用程序的标识信息和与所述应用程序对应的用户标识;所述应用程序的标识信息用于标识所述应用程序,所述用户标识用于标识与所述应用程序对应的用户;
所述网络设备向所述头节点发送携带有所述应用程序的特征信息的报文,其中,所述携带有所述应用程序的特征信息的所述报文为第六版因特网协议IPv6报文,所述应用程序的特征信息携带在所述IPv6报文中,所述应用程序的特征信息用于所述头节点确定所述头节点到所述尾节点之间的路径以转发所述报文。
33.一种报文处理方法,应用于网络***,所述网络***包括头节点和尾节点,所述头节点接收来自于终端设备的报文,所述报文经过所述头节点和尾节点之间的路径到达目的节点,其特征在于,所述方法包括:
所述终端设备获取应用程序的特征信息;所述应用程序的特征信息至少包括下述信息之一:所述应用程序的标识信息和与所述应用程序对应的用户标识;所述应用程序的标识信息用于标识所述应用程序,所述用户标识用于标识与所述应用程序对应的用户;
所述终端设备生成所述应用程序对应的报文,所述报文中携带所述应用程序的特征信息,其中,所述报文为第六版因特网协议IPv6报文,所述应用程序的特征信息携带在所述IPv6报文中,所述应用程序的特征信息用于所述头节点确定所述头节点到所述尾节点之间的路径以转发所述报文至所述目的节点;
所述终端设备通过所述网络***向所述目的节点发送所述应用程序对应的报文。
34.根据权利要求32或33所述的方法,其特征在于,所述应用程序的特征信息还包括需求信息,所述需求信息至少包括以下之一:
带宽信息、时延信息、时延抖动信息、丢包信息、可靠性信息和安全信息。
35.根据权利要求32-34任一项所述的方法,其特征在于,所述应用程序的特征信息携带在所述IPv6报文的IPv6扩展头或目的地址中。
36.根据权利要求35所述的方法,其特征在于,所述应用程序的特征信息携带在所述IPv6扩展头的类型-长度-值TLV字段中,或者所述应用程序的特征信息携带在所述IPv6报文的IPv6扩展头的段路由头SRH的段标识SID中。
37.根据权利要求36所述的方法,其特征在于,所述TLV字段至少包括以下其中之一:
逐跳可选择hop-by-hop option TLV字段、目的可选择destination option TLV字段和所述SRH的TLV字段。
38.根据权利要求36或37所述的方法,其特征在于,所述TLV字段中值的格式为段标识格式。
39.一种头节点,应用于网络***,所述网络***包括所述头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点;其特征在于,所述头节点包括存储器和处理器;
所述存储器,用于存储指令;
所述处理器,用于执行所述存储器中的所述指令,执行权利要求1-31任意一项所述的方法。
40.一种网络设备,应用于网络***,所述网络***包括所述网络设备、头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点,其特征在于,所述网络设备包括存储器和处理器;
所述存储器,用于存储指令;
所述处理器,用于执行所述存储器中的所述指令,执行权利要求32、34-38任意一项所述的方法。
41.一种终端设备,应用于网络***,所述网络***包括头节点和尾节点,所述头节点接收来自于所述终端设备的报文,所述报文经过所述头节点和尾节点之间的路径到达目的节点,其特征在于,所述网络设备包括存储器和处理器;
所述存储器,用于存储指令;
所述处理器,用于执行所述存储器中的所述指令,执行权利要求33-38任意一项所述的方法。
42.一种网络***,所述网络***包括头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点;其特征在于:所述头节点用于执行如权利要求1-31任意一项所述的方法。
43.一种网络***,所述网络***包括网络设备、头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点;其特征在于:
所述网络设备用于执行如权利要求32、34-38任意一项所述的方法。
所述头节点用于接收所述网络设备发送的所述报文,获取与所述报文对应的应用程序的特征信息,根据所述应用程序的特征信息,确定所述头节点和所述尾节点之间的路径,通过所述头节点和尾节点之间的路径转发所述报文。
44.一种网络***,所述网络***包括终端设备、头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点;其特征在于:
所述终端设备用于执行如权利要求33-38任意一项所述的方法;
所述头节点用于接收所述网络设备发送的所述报文,获取与所述报文对应的应用程序的特征信息,根据所述应用程序的特征信息,确定所述头节点和所述尾节点之间的路径,通过所述头节点和尾节点之间的路径转发所述报文。
45.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机执行以上权利要求1-38任意一项所述的方法。
46.一种计算机程序产品,包括指令,当所述指令在计算机上运行时,使得所述计算机执行以上权利要求1-38任意一项所述的方法。
47.一种芯片,所述芯片设置在头节点中,应用于网络***,所述网络***包括所述头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点;其特征在于,所述芯片包括处理器和接口电路;
所述接口电路用于接收代码指令并传输至所述处理器;
所述处理器用于运行所述代码指令以执行权利要求1-31任意一项所述的方法。
48.一种芯片,所述芯片设置在网络设备中,应用于网络***,所述网络***包括所述网络设备、头节点和尾节点,报文经过所述头节点和尾节点之间的路径到达目的节点,其特征在于,所述芯片包括处理器和接口电路;
所述接口电路用于接收代码指令并传输至所述处理器;
所述处理器用于运行所述代码指令以执行权利要求32、34-38任意一项所述的方法。
49.一种芯片,所述芯片设置在终端设备中,应用于网络***,所述网络***包括头节点和尾节点,所述头节点接收来自于所述终端设备的报文,所述报文经过所述头节点和尾节点之间的路径到达目的节点,其特征在于,所述芯片包括处理器和接口电路;
所述接口电路用于接收代码指令并传输至所述处理器;
所述处理器用于运行所述代码指令以执行权利要求33-38任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210428636.0A CN114915585A (zh) | 2019-03-11 | 2019-03-11 | 报文处理方法、装置、设备及*** |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910181016.XA CN111683011B (zh) | 2019-03-11 | 2019-03-11 | 报文处理方法、装置、设备及*** |
CN202210428636.0A CN114915585A (zh) | 2019-03-11 | 2019-03-11 | 报文处理方法、装置、设备及*** |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910181016.XA Division CN111683011B (zh) | 2019-03-11 | 2019-03-11 | 报文处理方法、装置、设备及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114915585A true CN114915585A (zh) | 2022-08-16 |
Family
ID=72426130
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210428636.0A Pending CN114915585A (zh) | 2019-03-11 | 2019-03-11 | 报文处理方法、装置、设备及*** |
CN201910181016.XA Active CN111683011B (zh) | 2019-03-11 | 2019-03-11 | 报文处理方法、装置、设备及*** |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910181016.XA Active CN111683011B (zh) | 2019-03-11 | 2019-03-11 | 报文处理方法、装置、设备及*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210409315A1 (zh) |
EP (1) | EP3866414A4 (zh) |
JP (2) | JP7234384B2 (zh) |
KR (1) | KR102579059B1 (zh) |
CN (2) | CN114915585A (zh) |
WO (1) | WO2020182150A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024104171A1 (zh) * | 2022-11-17 | 2024-05-23 | 华为技术有限公司 | 一种资源配置方法和装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422426B (zh) * | 2020-10-28 | 2022-06-28 | 中盈优创资讯科技有限公司 | 基于sr的业务处理方法及装置 |
CN114531384A (zh) * | 2020-10-30 | 2022-05-24 | 华为技术有限公司 | 一种业务处理方法、装置、设备及*** |
CN112787926A (zh) * | 2021-01-05 | 2021-05-11 | 北京信息科技大学 | 用于对兴趣包进行分段路由的装置、方法和*** |
CN113132358A (zh) * | 2021-03-29 | 2021-07-16 | 井芯微电子技术(天津)有限公司 | 策略分发器、拟态交换机及网络*** |
CN115277878A (zh) * | 2021-04-30 | 2022-11-01 | 华为技术有限公司 | 一种发送报文的方法、处理报文的方法及设备 |
CN113411259A (zh) * | 2021-06-30 | 2021-09-17 | 新华三技术有限公司 | 一种报文转发方法、装置及设备 |
CN113709000A (zh) * | 2021-08-31 | 2021-11-26 | 烽火通信科技股份有限公司 | 一种ping检测SRv6隧道双向连通性的方法与*** |
CN114205282B (zh) * | 2021-12-08 | 2023-06-20 | 中国电信股份有限公司 | SRv6 Policy的调度方法、***、路由器和控制器 |
WO2023213216A1 (zh) * | 2022-05-06 | 2023-11-09 | 华为技术有限公司 | 一种报文处理的方法及相关设备 |
CN117097633A (zh) * | 2022-05-12 | 2023-11-21 | 华为技术有限公司 | 报文传输方法、传输控制方法、装置及*** |
CN115086186B (zh) * | 2022-06-28 | 2024-06-04 | 清华大学 | 数据中心网络流量需求数据的生成方法和装置 |
CN115622935A (zh) * | 2022-10-13 | 2023-01-17 | 阿里巴巴(中国)有限公司 | 基于网络的路径处理方法、***和存储介质 |
CN115801656B (zh) * | 2022-11-01 | 2024-05-14 | 中国电信股份有限公司 | 基于加解密的SRv6路径认证方法、节点、***、设备及介质 |
CN116112464A (zh) * | 2023-01-10 | 2023-05-12 | 武汉绿色网络信息服务有限责任公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116545909B (zh) * | 2023-07-03 | 2023-09-26 | 成都数维通信技术有限公司 | 一种报文转发方法、流量牵引方法、介质、设备及*** |
CN117596204A (zh) * | 2024-01-19 | 2024-02-23 | 杭州网鼎科技有限公司 | 一种SRv6网络下动态加速的方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3438857B2 (ja) * | 1997-06-30 | 2003-08-18 | 株式会社エヌ・ティ・ティ・データ | ネットワークの通信品質制御システム及びトラフィック管理装置 |
US6868083B2 (en) * | 2001-02-16 | 2005-03-15 | Hewlett-Packard Development Company, L.P. | Method and system for packet communication employing path diversity |
JP2004260499A (ja) | 2003-02-26 | 2004-09-16 | Nippon Telegr & Teleph Corp <Ntt> | パケット通信制御方法、キュー制御設定装置、パケット通信制御プログラム及びそのプログラムを記録した記録媒体 |
US20050066033A1 (en) * | 2003-09-24 | 2005-03-24 | Cheston Richard W. | Apparatus, system, and method for dynamic selection of best network service |
JP4705094B2 (ja) * | 2004-04-16 | 2011-06-22 | ドルビー・ラボラトリーズ・ライセンシング・コーポレーション | ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法 |
JP4430597B2 (ja) * | 2005-08-26 | 2010-03-10 | 日本電信電話株式会社 | ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム |
JP2007282142A (ja) | 2006-04-12 | 2007-10-25 | Nec Corp | 通信装置及びそれに用いるネットワーク選択方法並びにそのプログラム |
JP2008011536A (ja) | 2006-06-26 | 2008-01-17 | Gemini Mobile Technologies Inc | 無線ネットワークにおけるオンライン・ゲームのための方法、クライアント・デバイス、および中継ノード |
JP5022088B2 (ja) | 2007-04-13 | 2012-09-12 | 株式会社インテック | アプリケーション端末装置及び経路選択方法 |
CN101789904A (zh) * | 2010-02-04 | 2010-07-28 | 杭州华三通信技术有限公司 | 流量控制的方法及设备 |
CN101924756B (zh) * | 2010-07-22 | 2014-08-13 | 中兴通讯股份有限公司 | 一种业务定制方法及服务器 |
CN102447980B (zh) * | 2010-09-30 | 2015-01-28 | 中兴通讯股份有限公司 | 一种路由控制方法、***及路由计算装置 |
CN102006242A (zh) * | 2010-12-24 | 2011-04-06 | 山石网科通信技术(北京)有限公司 | 路由器的选路方法及路由器 |
JP2012138725A (ja) | 2010-12-27 | 2012-07-19 | Alaxala Networks Corp | 通信装置 |
CN102158404A (zh) * | 2011-03-25 | 2011-08-17 | 成都飞鱼星科技开发有限公司 | 一种交互式网络流量智能控制***及其实现方法 |
CN102647341B (zh) * | 2012-03-28 | 2014-10-29 | 北京星网锐捷网络技术有限公司 | 一种报文处理方法、装置以及*** |
US9419887B1 (en) * | 2013-06-19 | 2016-08-16 | Google Inc. | Minimum latency routing |
JP2015023453A (ja) | 2013-07-19 | 2015-02-02 | 株式会社日立製作所 | ネットワークシステム、ネットワーク管理装置、及び、アプリケーション管理装置 |
WO2015010307A1 (zh) * | 2013-07-25 | 2015-01-29 | 华为技术有限公司 | 业务路径分配方法、路由器和业务执行实体 |
US9369435B2 (en) * | 2013-09-30 | 2016-06-14 | Cisco Technology, Inc. | Method for providing authoritative application-based routing and an improved application firewall |
WO2015100615A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 处理业务报文的方法、装置和网关设备 |
US10374871B2 (en) * | 2014-09-16 | 2019-08-06 | CloudGenix, Inc. | Methods and systems for business intent driven policy based network traffic characterization, monitoring and control |
CN105634979B (zh) * | 2014-10-31 | 2019-01-01 | ***通信集团公司 | 一种热点流量信息的处理方法、装置、终端以及MiFi |
JP2016149716A (ja) | 2015-02-13 | 2016-08-18 | 日本電信電話株式会社 | アドレス情報書き換え装置、アドレス情報書き換え方法及びパケット転送システム |
US10206082B2 (en) * | 2015-06-07 | 2019-02-12 | Apple Inc. | Priority based routing of data on an electronic device |
JP6540283B2 (ja) | 2015-06-30 | 2019-07-10 | 富士通株式会社 | 通信装置、通信方法、および、通信プログラム |
CN105915453A (zh) * | 2015-07-13 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 网络服务质量策略的调整方法和装置 |
CN105049353B (zh) * | 2015-07-28 | 2018-11-16 | 华为技术有限公司 | 一种为业务配置路由路径的方法及控制器 |
US9887936B2 (en) | 2015-08-03 | 2018-02-06 | Cisco Technology, Inc. | Application identification and overlay provisioning as a service |
CN105117278B (zh) * | 2015-09-07 | 2019-07-02 | 北京恒华伟业科技股份有限公司 | 一种应用管理方法及应用管理平台 |
US10116553B1 (en) * | 2015-10-15 | 2018-10-30 | Cisco Technology, Inc. | Application identifier in service function chain metadata |
CN105471748B (zh) * | 2015-12-29 | 2019-03-26 | 北京神州绿盟信息安全科技股份有限公司 | 一种应用分流方法和装置 |
US10164875B2 (en) | 2016-02-22 | 2018-12-25 | Cisco Technology, Inc. | SR app-segment integration with service function chaining (SFC) header metadata |
CN106100990B (zh) * | 2016-06-06 | 2019-04-05 | 中国电子科技集团公司第三十研究所 | 一种基于sdn架构的通信网络多维度资源调控方法和*** |
CN107888490B (zh) * | 2016-09-30 | 2020-07-31 | 中国电信股份有限公司 | 一种报文转发方法、路由时延计算与调度装置及*** |
US10523568B2 (en) * | 2016-12-09 | 2019-12-31 | Cisco Technology, Inc. | Adaptive load balancing for application chains |
US10320683B2 (en) * | 2017-01-30 | 2019-06-11 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10506083B2 (en) | 2017-06-27 | 2019-12-10 | Cisco Technology, Inc. | Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet |
US20200028758A1 (en) | 2018-07-17 | 2020-01-23 | Cisco Technology, Inc. | Multi-cloud connectivity using srv6 and bgp |
US10673765B2 (en) * | 2018-09-11 | 2020-06-02 | Cisco Technology, Inc. | Packet flow classification in spine-leaf networks using machine learning based overlay distributed decision trees |
-
2019
- 2019-03-11 CN CN202210428636.0A patent/CN114915585A/zh active Pending
- 2019-03-11 CN CN201910181016.XA patent/CN111683011B/zh active Active
-
2020
- 2020-03-11 WO PCT/CN2020/078799 patent/WO2020182150A1/zh unknown
- 2020-03-11 KR KR1020217019929A patent/KR102579059B1/ko active IP Right Grant
- 2020-03-11 JP JP2021541641A patent/JP7234384B2/ja active Active
- 2020-03-11 EP EP20769583.4A patent/EP3866414A4/en active Pending
-
2021
- 2021-09-10 US US17/471,409 patent/US20210409315A1/en active Pending
-
2023
- 2023-02-22 JP JP2023026481A patent/JP7520170B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024104171A1 (zh) * | 2022-11-17 | 2024-05-23 | 华为技术有限公司 | 一种资源配置方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111683011A (zh) | 2020-09-18 |
KR102579059B1 (ko) | 2023-09-14 |
JP7520170B2 (ja) | 2024-07-22 |
WO2020182150A1 (zh) | 2020-09-17 |
CN111683011B (zh) | 2022-04-29 |
JP2023075157A (ja) | 2023-05-30 |
KR20210092304A (ko) | 2021-07-23 |
US20210409315A1 (en) | 2021-12-30 |
JP7234384B2 (ja) | 2023-03-07 |
EP3866414A1 (en) | 2021-08-18 |
JP2022518475A (ja) | 2022-03-15 |
EP3866414A4 (en) | 2022-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683011B (zh) | 报文处理方法、装置、设备及*** | |
US20160014016A1 (en) | Encoding Inter-Domain Shared Service Paths | |
US20220255862A1 (en) | Packet forwarding method, device, storage medium, and system | |
US20170310581A1 (en) | Communication Network, Communication Network Management Method, and Management System | |
CN114095305A (zh) | Bier报文转发的方法、设备以及*** | |
WO2021043232A1 (zh) | 主机网络性能需求可编程化的方法、设备和*** | |
US20240048479A1 (en) | Packet Forwarding Method and Apparatus, Network Device, and Storage Medium | |
US20220200820A1 (en) | Packet Sending Method and Apparatus | |
CN103297312B (zh) | 一种mpls vpn的接入方法及装置 | |
WO2022160665A1 (zh) | 一种报文转发的方法、报文处理方法及设备 | |
CN116319535A (zh) | 路径切换方法、装置、网络设备、以及网络*** | |
WO2022007550A1 (zh) | 一种负载均衡方法、装置、网络设备及*** | |
CN112311672B (zh) | 一种路由表项获得方法、装置及设备 | |
WO2023213216A1 (zh) | 一种报文处理的方法及相关设备 | |
CN113765809A (zh) | Bier组播流量的统计方法、设备以及*** | |
WO2022166465A1 (zh) | 一种报文处理方法及相关装置 | |
CN111865805B (zh) | 一种组播gre报文处理方法及*** | |
CN115242713A (zh) | 基于ipv6的分段路由报文的转发方法、配置方法及设备 | |
Lim et al. | Design and implementation of hardware accelerated VTEP in datacenter networks | |
CN110958185B (zh) | 基于业务的QoS配置方法及装置 | |
CN115118544B (zh) | 通信方法及设备、通信*** | |
WO2023169364A1 (zh) | 路由生成方法、数据报文的转发方法及装置 | |
WO2023231438A1 (zh) | 报文发送的方法、网络设备及*** | |
CN113630809A (zh) | 一种业务转发方法、装置及计算机可读存储介质 | |
CN115442304A (zh) | 一种资源确定方法、转发设备、控制器、***及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |