CN116566894A - 数据路由方法、装置、电子设备及存储介质 - Google Patents
数据路由方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116566894A CN116566894A CN202310537640.5A CN202310537640A CN116566894A CN 116566894 A CN116566894 A CN 116566894A CN 202310537640 A CN202310537640 A CN 202310537640A CN 116566894 A CN116566894 A CN 116566894A
- Authority
- CN
- China
- Prior art keywords
- data packet
- forwarding
- data
- label
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种数据路由方法、装置、电子设备及存储介质,应用于通信技术领域,所述方法包括:接收数据包,根据数据包中的标识信息,确定数据包的类型;如果数据包的类型为互联网协议数据包,根据数据包的目的互联网协议地址对数据包进行转发;如果数据包的类型为多协议标签交换数据包,在数据包中添加标签数据,并根据标签数据对数据包进行转发;如果数据包的类型为基于IPv6转发平面的段路由数据包,在数据包中添加包含数据转发路径的扩展头,并根据扩展头中的数据转发路径,对数据包进行转发。本申请可以提高数据转发的效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据路由方法、装置、电子设备及存储介质。
背景技术
SDN(Software Defined Networks,软件定义网络)将数据平面与控制平面解耦,从而将网络分为应用层、控制层、数据层三部分。应用层提供流量监测、访问控制等功能,通过北向接口与控制层进行交互。控制层接受应用层的需求,并转换为底层资源需求,使用南向接口(即控制数据平面接口)获取全局网络状态信息,计算并下发决策。数据层建立网元间的连接,并根据控制层下发的指令执行转发操作。
相关技术中,通过优化路径分配算法,来达到提升转发效率的目的,该优化方式直观,但随着路径分配算法的不断优化,其提升空间有限,达到了瓶颈。
发明内容
为了解决上述技术问题,本申请提供了一种数据路由方法、装置、电子设备及存储介质。
根据本申请的第一方面,提供了一种数据路由方法,包括:
接收数据包,根据所述数据包中的标识信息,确定所述数据包的类型;
如果所述数据包的类型为互联网协议数据包,根据所述数据包的目的互联网协议地址对所述数据包进行转发;
如果所述数据包的类型为多协议标签交换数据包,在所述数据包中添加标签数据,并根据所述标签数据对所述数据包进行转发;
如果所述数据包的类型为基于IPv6转发平面的段路由数据包,在所述数据包中添加包含数据转发路径的扩展头,并根据扩展头中的所述数据转发路径,对所述数据包进行转发。
可选地,所述在所述数据包中添加标签数据,并根据所述标签数据对所述数据包进行转发,包括:
根据预先建立的转发等价类与标签信息的映射关系,将所述数据包中的转发等价类映射为对应的目标标签信息,并将所述目标标签信息添加至所述数据包中;
根据所述目标标签信息,对将所述数据包进行转发。
可选地,所述根据所述目标标签信息,对将所述数据包进行转发,包括:
根据预先建立的标签信息与下一跳标签转发条目的映射关系,将所述目标标签信息映射至对应的下一跳标签转发条目,并根据所映射的下一跳标签转发条目对所述数据包进行转发;
在将所述目标标签信息映射至最后一跳标签转发条目时,将所述目标标签从所述数据包中删除,并根据所述最后一跳标签转发条目将所述数据包转发至目的节点。
可选地,所述在所述数据包中添加包含数据转发路径的扩展头,包括:
基于所述数据包中的源互联网协议地址和目的互联网协议地址,在流表中确定所述数据包的数据转发路径;
将所述数据转发路径封装至所述数据包的扩展头中。
可选地,所述数据转发路径包括:Segmentlist信息;
所述根据扩展头中的所述数据转发路径,对所述数据包进行转发,包括:
根据所述Segmentlist信息,对所述数据包进行转发。
可选地,所述根据所述数据包的目的互联网协议地址对所述数据包进行转发,包括:
根据所述数据包中的目的互联网协议地址,从流表中确定出下一跳信息;其中,所述下一跳信息包括出端口的信息和下一节点的地址信息;
根据所述出端口的信息和下一节点的地址信息,将所述数据包通过所述出端口转发至所述下一节点。
根据本申请的第二方面,提供了一种数据路由装置,包括:
数据包类型确定模块,用于接收数据包,根据所述数据包中的标识信息,确定所述数据包的类型;
第一转发模块,用于如果所述数据包的类型为互联网协议数据包,根据所述数据包的目的互联网协议地址对所述数据包进行转发;
第二转发模块,用于如果所述数据包的类型为多协议标签交换数据包,在所述数据包中添加标签数据,并根据所述标签数据对所述数据包进行转发;
第三转发模块,用于如果所述数据包的类型为基于IPv6转发平面的段路由数据包,在所述数据包中添加包含数据转发路径的扩展头,并根据扩展头中的所述数据转发路径,对所述数据包进行转发。
可选地,所述第二转发模块,具体用于如果所述数据包的类型为多协议标签交换数据包,根据预先建立的转发等价类与标签信息的映射关系,将所述数据包中的转发等价类映射为对应的目标标签信息,并将所述目标标签信息添加至所述数据包中;根据所述目标标签信息,对将所述数据包进行转发。
可选地,所述第二转发模块,具体用于通过下述步骤实现根据所述目标标签信息,对将所述数据包进行转发:
根据预先建立的标签信息与下一跳标签转发条目的映射关系,将所述目标标签信息映射至对应的下一跳标签转发条目,并根据所映射的下一跳标签转发条目对所述数据包进行转发;
在将所述目标标签信息映射至最后一跳标签转发条目时,将所述目标标签从所述数据包中删除,并根据所述最后一跳标签转发条目将所述数据包转发至目的节点。
可选地,所述第三转发模块,具体用于通过下述步骤实现在所述数据包中添加包含数据转发路径的扩展头:
基于所述数据包中的源互联网协议地址和目的互联网协议地址,在流表中确定所述数据包的数据转发路径;
将所述数据转发路径封装至所述数据包的扩展头中。
可选地,所述数据转发路径包括:Segmentlist信息;
所述第三转发模块,具体用于通过下述步骤实现根据扩展头中的所述数据转发路径,对所述数据包进行转发:
根据所述Segmentlist信息,对所述数据包进行转发。
可选地,所述第一转发模块,具体用于如果所述数据包的类型为互联网协议数据包,根据所述数据包中的目的互联网协议地址,从流表中确定出下一跳信息;其中,所述下一跳信息包括出端口的信息和下一节点的地址信息;根据所述出端口的信息和下一节点的地址信息,将所述数据包通过所述出端口转发至所述下一节点。
根据本申请的第三方面,提供了一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
根据本申请的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
根据本申请的第五方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面所述的方法。
本申请实施例提供的技术方案与现有技术相比具有如下优点:
可以同时兼容多种转发模态,即IP(互联网协议)转发模态、MPLS(Multi-ProtocolLabel Switching,多协议标签交换)转发模态和SRv6(Segment Routing IPv6,基于IPv6转发平面的段路由)转发模态。这样,在进行数据转发时,可以根据不同的场景选取相应的转发模态,从而降低时延和丢包率,提高吞吐量和带宽利用率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中数据路由方法的一种流程图;
图2为本申请实施例中根据MPLS模态进行数据转发的一种示意图;
图3为SRv6的报文结构示意图;
图4为本申请实施例中数据路由装置的一种结构示意图;
图5为本申请实施例中电子设备的一种结构示意图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面将对本申请的方案进行进一步描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但本申请还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本申请的一部分实施例,而不是全部的实施例。
在SDN网络中,交换机与控制器的交互依赖于南向接口协议,南向接口协议包括:Openflow协议和OF-Config协议等,本申请以Openflow协议为例进行说明。Openflow协议包括三种消息类型,分别为:
1)由控制器发起的,可能会要求交换机回复对应消息的Controller-to-Switch消息;
2)由交换机主动发起的,用于告知控制器新数据包的到达和交换机状态改变的Asynchronous(非共时的)消息;
3)由控制器和交换机任意一方发送,无需许可或请求的Symmtric消息。
其中最为重要的是从属于Controller-to-Switch消息的Packet_out消息和从属于Asynchronous消息的Packet_in消息。
Openflow头部格式包括:8位的版本号(version)、8位消息类型(type)、16位数据长度(length)和32位的数据包标识(xid)。
Packet_in消息格式是在Openflow头部格式的基础上增添部分信息得到的,增添的内容中包括buffer_id、total_len、in_por、reason、和pad字段。buffer_id表示OpenFlow交换机中保存的数据包的缓存id,total_len表示帧的长度,in_port表示接收帧的端口,reason表示发送Packet_in消息的原因,pad字段用于调整对其的填充,data的长度任意,包含以太网帧的数据所使用的字段。
当数据包到达网卡时,接收数据包并提取相应的匹配字段;根据匹配字段查找流表,匹配成功则执行匹配动作,匹配失败则通过packet_in消息发送给控制器,控制器通过packet_out消息下发流表。
参见图1,图1为本申请实施例中数据路由方法的一种流程图,可以包括以下步骤:
步骤S110,接收数据包,根据数据包中的标识信息,确定数据包的类型。
步骤S120,如果数据包的类型为互联网协议数据包,根据数据包的目的互联网协议地址对数据包进行转发。
步骤S130,如果数据包的类型为多协议标签交换数据包,在数据包中添加标签数据,并根据标签数据对数据包进行转发。
步骤S140,如果数据包的类型为基于IPv6转发平面的段路由数据包,在数据包中添加包含数据转发路径的扩展头,并根据扩展头中的数据转发路径,对数据包进行转发。
本申请实施例的数据路由方法,可以同时兼容多种转发模态,即IP转发模态、MPLS(Multi-Protocol Label Switching,多协议标签交换)转发模态和SRv6(Segment RoutingIPv6,基于IPv6转发平面的段路由)转发模态。这样,在进行数据转发时,可以根据不同的场景选取相应的转发模态,从而降低时延和丢包率,提高吞吐量和带宽利用率。
以下对本申请实施例的数据路由方法进行详细介绍。
在步骤S110中,接收数据包,根据数据包中的标识信息,确定数据包的类型。
数据包具有一定的报文结构,报文结构中的某些字段可以作为数据包的标识信息,用于指示数据包的类型。针对IP数据包、MPLS数据包和SRv6数据包,可以将三种不同类型的数据包中不同的字段作为数据包的标识信息。在接收到数据包后,可以查找数据包中的标识信息,进而确定数据包的类型。
在步骤S120中,如果数据包的类型为互联网协议数据包,根据数据包的目的互联网协议地址对数据包进行转发。
如果数据包的类型为互联网协议数据包,可以直接按照传统的IP转发模态进行数据转发。可以根据数据包中的目的互联网协议地址,从流表中确定出下一跳信息;其中,下一跳信息包括出端口的信息和下一节点的地址信息;根据出端口的信息和下一节点的地址信息,将数据包通过出端口转发至下一节点。
具体的,物理层从交换机的一个端口收到报文后,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议域上送给相应的网络层。网络层首先查看报文是否是送给本机的,如果是送给本机的,去掉网络层封装,上送给它的上层协议。如果不是送给本机的,则根据报文的目的IP地址在流表中进行查找,若查找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,将报文丢弃。
在流表中查找时,可以先使用hash值进行模糊匹配,查找到流表所在的hash桶后,再进行精确匹配。如果在内核态未查找到对应流表,则将查找范围扩大至用户态,进行全局查找。如果均匹配失败,则通过Packet_in消息将对应信息发送至控制器决策。控制器执行控制器内部的路由算法,生成流表并通过Packet_out消息下发。其中,最短路径算法是最常用的路由算法,可以包含Dijkstra算法、Floyd算法、Bellman-Ford算法、SPFA算法(Bellman-ford的队列优化)等。决策后生成的流表项被存储到流表哈希桶中。查找到对应流表后执行对应的actions字段,对数据包进行处理或直接通过端口转发出去。
IP模态的转发方式为逐跳转发,即数据报文经过每一台交换机,都要执行上述过程,所以速度缓慢。并且,所有的交换机需要知道全网的路由或者默认路由。另外,由于传统IP转发是面向无连接的,所以无法提供好的Qos(服务质量)保证。因此,本申请实施例在传统IP转发模态的基础上,同时兼容MPLS转发模态和SRv6转发模态,根据不同场景选取合适的转发模态进行数据转发。
在步骤S130中,如果数据包的类型为多协议标签交换数据包,在数据包中添加标签数据,并根据标签数据对数据包进行转发。
如果数据包的类型MPLS数据包,可以分析其IP头或者二层报文头,来决定其FEC(转发等价类)。在IP报文中,FEC通常为IP地址,在二层报文中通常为vlan-id或者vc-id。根据预先建立的转发等价类与标签信息的映射关系,将数据包中的转发等价类映射为对应的目标标签信息,并将目标标签信息添加至数据包中;根据目标标签信息,对将数据包进行转发。
MPLS模态利用标签信息进行数据转发,当数据包进入网络时,为数据包分配固定长度的标签信息,并将标签信息添加至数据包中。在整个数据转发过程中,交换节点可以根据标签信息进行数据转发。
在一些实施例中,可以预先建立标签信息与下一跳标签转发条目的映射关系,下一跳标签转发条目指MPLS数据包下一跳如何走的相关信息,可以包括:对标签的具体操作、报文的出标签、报文出接口等,每个节点上均包含该映射关系。这样,根据该映射关系,可以将目标标签信息映射至对应的下一跳标签转发条目,并根据所映射的下一跳标签转发条目对数据包进行转发;在将目标标签信息映射至最后一跳标签转发条目时,将目标标签从数据包中删除,并根据最后一跳标签转发条目将数据包转发至目的节点。
参见图2,图2为本申请实施例中根据MPLS模态进行数据转发的一种示意图。LER(标签边缘路由器)是位于网络边缘的路由器,例如,可以是数据包转发入口或出口的路由器。LSR(标签交换路由器)是根据数据包中的标签信息进行数据转发的路由器。
数据包从IP域转发至MPLS域后,第一个转发节点(即LER)为数据包添加标签信息,后续转发路径中的其他LSR根据该标签信息对数据包进行转发。最后一个转发节点(即LER)将标签信息从数据包中删除,之后再将数据包转发至目的节点。
IP模态的转发方式为逐跳转发,无法实现根据来源来控制流量转发。另外基于IP的流量工程是面向无连接的,不能实现显式路径。IP转发存在着当网络中流量过大,有可能导致最优路径拥塞,但次优路径空载没有被充分利用的问题,通过MPLS转发模态可以解决该问题。
在步骤S140中,如果数据包的类型为基于IPv6转发平面的段路由数据包,在数据包中添加包含数据转发路径的扩展头,并根据扩展头中的数据转发路径,对数据包进行转发。
如果数据包的类型为基于IPv6转发平面的段路由数据包,可以基于数据包中的源互联网协议地址和目的互联网协议地址,在流表中确定数据包的数据转发路径,并将数据转发路径封装至数据包的扩展头中。数据转发路径包括:Segmentlist信息,Segmentlist即对segment和网络节点进行有序排列得到的一条转发路径,可以根据Segmentlist信息,对数据包进行转发。
参加图3,图3为SRv6的报文结构示意图,包括IPv6报文头和SRH(Segment RoutingHeader,SRv6扩展头)。IPv6报文头中包括:FlowLabel(流标签)和NextHeader(下一个报文头)。
其中,FlowLabel为20bits,将属于同一条流但因长度太长只能放到不同报文的进行标记,执行统一的转发行为。流标签可用来标记特定流的报文,以便在网络层区分不同的报文。转发路径上的交换机可以根据流标签来区分流并进行处理。由于流标签在IPv6报文头中携带,转发交换机可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用IPSec(互联网安全协议)后仍然可以根据流标签进行QoS处理。
NextHeader(下一个报文头)为8bits,标识紧接着IPv6报文头的下一个报文头类型。Type=43表示下一个报文头为SRv6扩展头。
SRH包括RoutingType(路由类型)、Segmentlist[n]和OptionalTLV(type-length-value)objects(可变长TLV)。
RoutingType为8bits,标识扩展头类型,RoutingType=4表示该扩展头为一个SRH头。
Segmentlist[n]为128bits,IPv6地址格式,每一行都被称为一个SID,由locator、function和args组成,三部分字段长度可在128bit内灵活分配,Locator的作用是定位,配置该参数后系统会生成一条locator网段路由在SRv6域内通过IGP扩散,域内其他节点通过locator定位,因此该参数一般在域内要求唯一。function表示该节点应对报文所执行的转发操作。args是对function的补充参数,属于可选字段,表明指令在执行时对应的流、服务或者其他相关信息的参数。SRv6SID可以自由组合进行路径编程,根据业务需求,定义转发路径。
OptionalTLV(type-length-value)objects(可变长TLV):可选字段,可变长度,用于所有SID的全局参数,如NSH元数据(一种业务链实现的方式)或bit填充等。
规划SRv6 Policy的三元组唯一标识。
SRv6 Policy由<Headend,Color,Endpoint>三元组唯一标识,Headend和Endpoint对应头尾节点的IPv6地址,通过Color参数区分两者之间的不同SRv6 Policy。Color是概括SRv6 Policy服务能力的标签,用户通过设置自己的Color,就能自动关联到相同Color的SRv6Policy上,实现用户意图到底层网络的映射。
Candidate Path的确定。
Candidate Path由<protocol-origin,originator,discriminator>三元组唯一标识,protocol-origin为CP的发起协议,比如BGP SR Policy或手工配置等,originator为发起者的标识,格式为ASN:node-address,discriminator用于区分protocol-origin+originator下发的不同CP。CP携带Preference、B-SID、Segment-List等属性,含义如下:
Preference,标识CP的优先级,用于抉择同一SRv6 Policy下的不同CP,优先级最高的成为Active CP;
B-SID,标识CP或SRv6 Policy(Active CP)行为的SID,其他节点通过B-SID引用SRv6 Policy的功能;
Segmentlist,标识CP的Segment列表,由Weight和多个顺序排列的Segment子属性组成,一个CP可以有多个Segmentlist,根据Weight分担流量。
SRv6基于IPv6转发,可以完全兼容现有的IPv6技术,在转发的中间节点可以不支持SRv6,按照正常路由转发含有SRH的IPv6报文,即Rv6可以使IP承载网的协议简化、归一。SRv6具备Natice IPv6属性,SRv6报文和普通IPv6报文具有相同的报文头,使得SRv6紧紧依赖IPv6可达性即可实现网络节点的互通,打破运营商网络和数据中心之间的界限,促进云网融合。SRv6与存量IPv6网络兼容,业务开通只需在头尾节点进行部署,因此,可以缩短部署时间,提升部署效率。SRv6具有Native IPv6的特质,所以在跨域的场景中,只需要将一个域的IPv6路由通过BGP4+引到另外一个域,就可以开展跨域业务部署,由此降低了业务部署的复杂性。
本申请实施例中,可以采用四项性能评价指标(平均分组转发时延、流表匹配率、网络吞吐量以及丢包率)来评价数据转发效果。其中,平均分组转发时延是评价转发机制的关键指标;流表匹配率指交换机中完成流表匹配的分组占所有到达分组的比率;丢包率指交换机未能成功转发的分组数量占到达分组总量的比率,是衡量转发效率的指标;网络吞吐量是交换机保证不丢包的情况下,在单位时间能够转发的最大数据量。
在上述四项性能评价指标中,转发时延和丢包率越低,流表匹配率和网络吞吐量越高,数据转发性能越好。试验表明,在兼容多种转发模态的情况下,数据转发性能得到了提升。
相应于上述方法实施例,本申请实施例还提供了一种数据路由装置,参见图4,数据路由装置400包括:
数据包类型确定模块410,用于接收数据包,根据数据包中的标识信息,确定数据包的类型;
第一转发模块420,用于如果数据包的类型为互联网协议数据包,根据数据包的目的互联网协议地址对数据包进行转发;
第二转发模块430,用于如果数据包的类型为多协议标签交换数据包,在数据包中添加标签数据,并根据标签数据对数据包进行转发;
第三转发模块440,用于如果数据包的类型为基于IPv6转发平面的段路由数据包,在数据包中添加包含数据转发路径的扩展头,并根据扩展头中的数据转发路径,对数据包进行转发。
可选地,第二转发模块430,具体用于如果数据包的类型为多协议标签交换数据包,根据预先建立的转发等价类与标签信息的映射关系,将数据包中的转发等价类映射为对应的目标标签信息,并将目标标签信息添加至数据包中;根据目标标签信息,对将数据包进行转发。
可选地,第二转发模块430,具体用于通过下述步骤实现根据目标标签信息,对将数据包进行转发:
根据预先建立的标签信息与下一跳标签转发条目的映射关系,将目标标签信息映射至对应的下一跳标签转发条目,并根据所映射的下一跳标签转发条目对数据包进行转发;
在将目标标签信息映射至最后一跳标签转发条目时,将目标标签从数据包中删除,并根据最后一跳标签转发条目将数据包转发至目的节点。
可选地,第三转发模块440,具体用于通过下述步骤实现在数据包中添加包含数据转发路径的扩展头:
基于数据包中的源互联网协议地址和目的互联网协议地址,在流表中确定数据包的数据转发路径;
将数据转发路径封装至数据包的扩展头中。
可选地,数据转发路径包括:Segmentlist信息;
第三转发模块440,具体用于通过下述步骤实现根据扩展头中的数据转发路径,对数据包进行转发:
根据Segmentlist信息,对数据包进行转发。
可选地,第一转发模块420,具体用于如果数据包的类型为互联网协议数据包,根据数据包中的目的互联网协议地址,从流表中确定出下一跳信息;其中,下一跳信息包括出端口的信息和下一节点的地址信息;根据出端口的信息和下一节点的地址信息,将数据包通过出端口转发至下一节点。
上述装置中各模块或单元的具体细节已经在对应的方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本申请的示例性实施例中,还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行本示例实施方式中上述数据路由方法。
图5为本申请实施例中电子设备的一种结构示意图。需要说明的是,图5示出的电子设备500仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。中央处理单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如局域网(LAN)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元501执行时,执行本申请的装置中限定的各种功能。
本申请实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据路由方法。
需要说明的是,本申请所示的计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器、只读存储器、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
本申请实施例中,还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述数据路由方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据路由方法,其特征在于,包括:
接收数据包,根据所述数据包中的标识信息,确定所述数据包的类型;
如果所述数据包的类型为互联网协议数据包,根据所述数据包的目的互联网协议地址对所述数据包进行转发;
如果所述数据包的类型为多协议标签交换数据包,在所述数据包中添加标签数据,并根据所述标签数据对所述数据包进行转发;
如果所述数据包的类型为基于IPv6转发平面的段路由数据包,在所述数据包中添加包含数据转发路径的扩展头,并根据扩展头中的所述数据转发路径,对所述数据包进行转发。
2.根据权利要求1所述的方法,其特征在于,所述在所述数据包中添加标签数据,并根据所述标签数据对所述数据包进行转发,包括:
根据预先建立的转发等价类与标签信息的映射关系,将所述数据包中的转发等价类映射为对应的目标标签信息,并将所述目标标签信息添加至所述数据包中;
根据所述目标标签信息,对将所述数据包进行转发。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标标签信息,对将所述数据包进行转发,包括:
根据预先建立的标签信息与下一跳标签转发条目的映射关系,将所述目标标签信息映射至对应的下一跳标签转发条目,并根据所映射的下一跳标签转发条目对所述数据包进行转发;
在将所述目标标签信息映射至最后一跳标签转发条目时,将所述目标标签从所述数据包中删除,并根据所述最后一跳标签转发条目将所述数据包转发至目的节点。
4.根据权利要求1所述的方法,其特征在于,所述在所述数据包中添加包含数据转发路径的扩展头,包括:
基于所述数据包中的源互联网协议地址和目的互联网协议地址,在流表中确定所述数据包的数据转发路径;
将所述数据转发路径封装至所述数据包的扩展头中。
5.根据权利要求4所述的方法,其特征在于,所述数据转发路径包括:Segmentlist信息;
所述根据扩展头中的所述数据转发路径,对所述数据包进行转发,包括:
根据所述Segmentlist信息,对所述数据包进行转发。
6.根据权利要求1所述的方法,其特征在于,所述根据所述数据包的目的互联网协议地址对所述数据包进行转发,包括:
根据所述数据包中的目的互联网协议地址,从流表中确定出下一跳信息;其中,所述下一跳信息包括出端口的信息和下一节点的地址信息;
根据所述出端口的信息和下一节点的地址信息,将所述数据包通过所述出端口转发至所述下一节点。
7.一种数据路由装置,其特征在于,所述装置包括:
数据包类型确定模块,用于接收数据包,根据所述数据包中的标识信息,确定所述数据包的类型;
第一转发模块,用于如果所述数据包的类型为互联网协议数据包,根据所述数据包的目的互联网协议地址对所述数据包进行转发;
第二转发模块,用于如果所述数据包的类型为多协议标签交换数据包,在所述数据包中添加标签数据,并根据所述标签数据对所述数据包进行转发;
第三转发模块,用于如果所述数据包的类型为基于IPv6转发平面的段路由数据包,在所述数据包中添加包含数据转发路径的扩展头,并根据扩展头中的所述数据转发路径,对所述数据包进行转发。
8.根据权利要求7所述的装置,其特征在于,所述第二转发模块,具体用于如果所述数据包的类型为多协议标签交换数据包,根据预先建立的转发等价类与标签信息的映射关系,将所述数据包中的转发等价类映射为对应的目标标签信息,并将所述目标标签信息添加至所述数据包中;根据所述目标标签信息,对将所述数据包进行转发。
9.一种电子设备,其特征在于,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310537640.5A CN116566894A (zh) | 2023-05-12 | 2023-05-12 | 数据路由方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310537640.5A CN116566894A (zh) | 2023-05-12 | 2023-05-12 | 数据路由方法、装置、电子设备及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116566894A true CN116566894A (zh) | 2023-08-08 |
Family
ID=87487515
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310537640.5A Pending CN116566894A (zh) | 2023-05-12 | 2023-05-12 | 数据路由方法、装置、电子设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116566894A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119728811A (zh) * | 2024-09-19 | 2025-03-28 | 鹏城实验室 | 基于混合标签协议栈的数据包传输方法、网关设备及基于混合标签协议栈的数据包传输系统 |
| CN120358190A (zh) * | 2025-06-25 | 2025-07-22 | 武汉大学 | 多模态网络全局路由的优化方法、装置、电子设备及介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109962850A (zh) * | 2017-12-14 | 2019-07-02 | 中国电信股份有限公司 | 实现分段路由的方法和控制器及计算机可读存储介质 |
| CN111837368A (zh) * | 2018-02-23 | 2020-10-27 | 华为技术有限公司 | 使用内部网关协议通告和编程优选路径路由 |
| CN112822106A (zh) * | 2020-06-04 | 2021-05-18 | 中兴通讯股份有限公司 | 段路由业务处理方法、装置、源节点及存储介质 |
| WO2021155759A1 (zh) * | 2020-02-07 | 2021-08-12 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
| CN113691448A (zh) * | 2020-05-18 | 2021-11-23 | 华为技术有限公司 | SRv6业务链中转发报文的方法、SFF及SF设备 |
-
2023
- 2023-05-12 CN CN202310537640.5A patent/CN116566894A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109962850A (zh) * | 2017-12-14 | 2019-07-02 | 中国电信股份有限公司 | 实现分段路由的方法和控制器及计算机可读存储介质 |
| CN111837368A (zh) * | 2018-02-23 | 2020-10-27 | 华为技术有限公司 | 使用内部网关协议通告和编程优选路径路由 |
| WO2021155759A1 (zh) * | 2020-02-07 | 2021-08-12 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
| CN113691448A (zh) * | 2020-05-18 | 2021-11-23 | 华为技术有限公司 | SRv6业务链中转发报文的方法、SFF及SF设备 |
| CN112822106A (zh) * | 2020-06-04 | 2021-05-18 | 中兴通讯股份有限公司 | 段路由业务处理方法、装置、源节点及存储介质 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119728811A (zh) * | 2024-09-19 | 2025-03-28 | 鹏城实验室 | 基于混合标签协议栈的数据包传输方法、网关设备及基于混合标签协议栈的数据包传输系统 |
| CN120358190A (zh) * | 2025-06-25 | 2025-07-22 | 武汉大学 | 多模态网络全局路由的优化方法、装置、电子设备及介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11888651B2 (en) | Virtual private network VPN service optimization method and device | |
| JP7520170B2 (ja) | パケット処理方法および装置、デバイス、ならびにシステム | |
| US11438259B2 (en) | Flexible algorithm aware border gateway protocol (BGP) prefix segment routing identifiers (SIDs) | |
| CN112262553B (zh) | 在软件定义网络交换机的分组处理流水线中跟踪分组的装置和方法 | |
| CN111385206B (zh) | 报文转发的方法、网络系统、相关设备及计算机存储介质 | |
| US8077721B2 (en) | Methods and apparatus providing two stage tunneling | |
| JP2023521951A (ja) | SRv6サービス機能チェーンでパケットを転送する方法、SFF、およびSFデバイス | |
| WO2021170092A1 (zh) | 报文处理方法、装置、网络设备及存储介质 | |
| CN109314663B (zh) | Pcep扩展用于支持分布式计算、多项服务和域间路由的pcecc | |
| WO2022048418A1 (zh) | 一种转发报文的方法、设备和系统 | |
| EP3754914B1 (en) | Class-based traffic engineering in an ip network | |
| US11323371B1 (en) | Micro SID packet processing with operations, administration, and management | |
| US20180069780A1 (en) | Network routing using dynamic virtual paths in an overlay network | |
| WO2022194023A1 (zh) | 报文处理的方法、网络设备及控制器 | |
| WO2017198131A1 (zh) | 用于重定向数据流的方法和系统、网络设备和控制设备 | |
| WO2019052406A1 (en) | METHODS, NODES, AND COMPUTER-READABLE MEDIA FOR TRUNK TUNNEL ESTABLISHMENT | |
| CN110620726A (zh) | 通信系统、通信方法及网络装置 | |
| CN116566894A (zh) | 数据路由方法、装置、电子设备及存储介质 | |
| WO2022007550A1 (zh) | 一种负载均衡方法、装置、网络设备及系统 | |
| CN102355421A (zh) | 一种lsp网络拥塞处理的方法、装置及系统 | |
| WO2006131055A1 (en) | A method and network element for forwarding data | |
| WO2016119461A1 (zh) | 一种建立bgp lsp隧道的方法及网络设备 | |
| CN106416153A (zh) | 表示lsp切换阈值的ldp切换阈值tlv | |
| KR100428310B1 (ko) | 엠피엘에스 시스템에서 링크 상태 라우팅 정보를 이용한엘에스피 설정 장치 및 방법 | |
| WO2022112851A1 (en) | Smart local mesh networks |
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 |