CN111510387B - 数据转发方法及相关装置 - Google Patents
数据转发方法及相关装置 Download PDFInfo
- Publication number
- CN111510387B CN111510387B CN201910094301.8A CN201910094301A CN111510387B CN 111510387 B CN111510387 B CN 111510387B CN 201910094301 A CN201910094301 A CN 201910094301A CN 111510387 B CN111510387 B CN 111510387B
- Authority
- CN
- China
- Prior art keywords
- node
- forwarded
- sid
- sid sequence
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 167
- 238000012545 processing Methods 0.000 claims description 47
- 238000004220 aggregation Methods 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 47
- 230000006870 function Effects 0.000 description 63
- 238000005516 engineering process Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 21
- 230000003993 interaction Effects 0.000 description 11
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 6
- 101000840469 Arabidopsis thaliana Isochorismate synthase 1, chloroplastic Proteins 0.000 description 6
- 101150026676 SID1 gene Proteins 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 208000035032 Multiple sulfatase deficiency Diseases 0.000 description 5
- 201000006033 mucosulfatidosis Diseases 0.000 description 5
- 230000005641 tunneling Effects 0.000 description 5
- 101100256918 Caenorhabditis elegans sid-2 gene Proteins 0.000 description 4
- 101100256922 Caenorhabditis elegans sid-3 gene Proteins 0.000 description 4
- 101100365745 Ajellomyces capsulatus SID5 gene Proteins 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000004808 supercritical fluid chromatography Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 101100256921 Ajellomyces capsulatus SID3 gene Proteins 0.000 description 1
- 101100365746 Caenorhabditis elegans sid-5 gene Proteins 0.000 description 1
- 101100366400 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spg1 gene Proteins 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 101150096768 sid4 gene Proteins 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/02—Topology update or discovery
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/42—Centralised 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/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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据转发方法及相关装置,所述方法包括:头节点获取待转发数据;获取待转发数据对应的第一段标识SID序列,第一SID序列为根据目标转发路径中的部分节点的SID生成的;将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文;根据第一SID序列,发送待转发报文;其中,目标转发路径包括M个节点,第一SID序列为根据M个节点中的前N个节点生成的,第一SID序列在中间节点被替换为第二SID序列,第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。本申请提供的技术方案能够解决由于目标转发路径过长导致数据信息在数据传输网络中无法正常传输的问题。
Description
技术领域
本申请涉及数据通信技术领域,特别涉及数据转发方法及相关装置。
背景技术
随着数据通信技术的飞速发展,越来越多的用户通过连接到数据传输网络实现海量数据信息的交互。
数据信息由用户的终端设备发送至数据传输网络的接入设备,再经由接入设备传输到数据传输网络的骨干网络。在数据信息转发的过程中,数据传输网络需要根据数据信息的业务需求,确定数据信息的目标转发路径。数据传输网络为了控制数据信息按照目标转发路径转发,需要在控制的起始节点,可称为头节点,为数据信息封装报文头,其中携带目标转发路径。
由于业务需求的飞速发展,目标转发路径的长度可能大于数据传输网络中的设备支持的最大路径,进而可能导致数据信息在数据传输网络中无法正常传输。
发明内容
本申请提供了一种数据转发方法及相关装置,用于解决由于目标转发路径过长导致数据信息在数据传输网络中无法正常传输的问题。
第一方面,本申请提供一种数据转发方法,所述方法包括:
头节点获取待转发数据;
头节点获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;
头节点将包含所述第一SID序列的报文头封装在所述待转发数据的前端,得到待转发报文;
头节点根据所述第一SID序列,发送所述待转发报文;
其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
在本申请提供的技术方案中,通过将目标转发路径涉及的M个节点划分为至少两段子路径,头节点添加到待转发数据中的前端的SID序列为根据M个节点中的部分节点生成的,第一段子路径包含前N个节点。从而可以缩短数据传输网络中的设备传输需要支持的最大SID个数,进而能够确保目标转发路径较长时数据的正常传输。
在一种可能的实现方式中,在获取所述待转发数据对应的第一SID序列之前,所述方法包括:所述头节点接收控制器发送的SR policy,所述SR policy包括所述第一SID序列;
所述获取所述待转发数据对应的第一SID序列,包括:所述头节点根据所述待转发数据的业务属性,获取所述待转发数据对应的SR policy;并将所述SR policy中包含的SID序列,确定为所述待转发数据对应的所述第一SID序列。
在一种可能的实现方式中,所述获取所述待转发数据对应的第一SID序列,包括:所述头节点获取所述头节点自身的SID,读取其中的功能function字段和参数Argument字段,所述function字段用于指示将包含第一SID序列的报文头封装在待转发数据的前端,所述Argument字段用于指示所述第一SID序列。
在一种可能的实现方式中,所述头节点与DCN的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中的至少一个SF和所述DCN的出口边缘节点生成的;所述第一SID序列用于在所述DCN的入口边缘节点替换为所述第二SID序列;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述基础转发网络向所述DCN的入口边缘节点发送所述待转发报文。
在本申请中,通过将分段SID序列中的第一SID序列中仅包含DCN中的边缘节点的方式,能够避免DCN网络内部节点的SID暴露于基础转发网络中,从而可以将本申请提供的数据转发方法应用于电信云网络等场景。
在一种可能的实现方式中所述头节点与DCN中的第一DCN子网的入口边缘节点通过基础转发网络中的第一基础转发网络连接;所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过所述基础转发网络中的第二基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网的入口边缘节点的SID生成的;所述第一SID序列在所述第一DCN子网的入口边缘节点被替换为所述第二SID序列,所述第二SID序列为根据所述第一DCN子网中的至少一个SF和所述第一DCN子网的出口边缘节点生成的;所述第二SID序列用于在所述第一DCN子网的出口边缘节点替换为第三SID序列,所述第三SID序列为根据所述第二DCN子网的入口边缘节点生成的;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述第一基础转发网络向所述第一DCN子网的入口边缘节点发送所述待转发报文。
在一种可能的实现方式中所述头节点为PRE-AGG,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW;示例性地,所述EDC网络的入口边缘节点的SID和出口边缘节点的SID分别为PE-AGG的SID1和SID2,所述RDC网络的入口边缘节点的SID和出口边缘节点的SID分别为DCGW的SID1和SID2。
在一种可能的实现方式中所述第一DCN子网中的至少一个SF节点和所述第二DCN子网中的至少一个SF节点为电信云网络中的SF节点;
所述第一基础转发网络为Metro网络,所述第二基础转发网络为Core网络。
在一种可能的实现方式中所述目标转发路径中的第M个节点为所述待转发数据对应的VPN业务的目标节点;
所述将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,包括:
将包含所述目标节点的SID的内层报文头,封装在所述待转发数据的前端;
将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;
将具有所述外层报文头和所述内层报文头的待转发数据作为所述待转发报文;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
在一种可能的实现方式中,所述待转发报文为SRv6报文。
第二方面,本申请提供一种数据转发方法,所述方法包括:
中间节点接收待转发报文,所述待转发报文的报文头包含第一SID序列;
中间节点获取所述待转发报文对应的第二SID序列;
中间节点将所述报文头中的所述第一SID序列替换为所述第二SID序列;
中间节点根据所述第二SID序列,发送所述待转发报文;
其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
在一种可能的实现方式中,所述待转发报文为SRv6报文。
在一种可能的实现方式中,所述中间节点为所述M个节点中的第Y个节点。
在一种可能的实现方式中,在获取所述待转发报文对应的第二SID序列之前,所述方法包括:所述中间节点接收控制器发送的SR policy,所述SR policy包括所述第二SID序列;
所述获取所述待转发报文对应的第二SID序列,包括:在所述第一SID序列中的ActiveSID为所述中间节点的SID时,所述中间节点获取操作指令,所述操作指令用于指示所述中间节点将所述待转发报文中的所述第一SID序列替换为所述SR policy中包含的所述第二SID序列;所述中间节点将所述操作指令对应的所述SR policy中包含的所述第二SID序列确定为所述待转发报文对应的所述第二SID序列;
所述将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:根据所述操作指令的指示,将所述报文头中的所述第一SID序列替换为所述第二SID序列。
在一种可能的实现方式中,所述获取所述待转发数据对应的第二SID序列,包括:所述中间节点获取所述中间节点自身的SID,读取其中的功能function字段和参数Argument字段,所述function字段用于指示将所述第一SID序列替换为第二SID序列,所述Argument字段用于指示所述第二SID序列。
在一种可能的实现方式中,所述中间节点为DCN的入口边缘节点,所述中间节点与基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中至少一个SF节点和所述DCN的出口边缘节点的SID生成的;
所述中间节点接收待转发报文,包括:所述中间节点通过基础转发网络接收头节点发送的所述待转发报文;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所述DCN的内部节点向所述DCN的至少一个SF节点中的第一个SF节点发送所述待转发报文。
在一种可能的实现方式中,所述中间节点为DCN中的第一DCN子网的出口边缘节点,所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点生成的;
所述第二SID序列为根据所述第二DCN子网的入口边缘节点生成的;或者,所述第二SID序列为根据所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点生成的;
所述中间节点接收待转发报文,包括:所述中间节点通过所述第一DCN子网的内部节点,接收所述第一DCN子网中所述至少一个SF节点中的最后一个SF节点发送的所述待转发报文;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所述基础转发网络向所述第二DCN子网的入口边缘节点发送所述待转发报文。
在一种可能的实现方式中,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW;所述EDC网络的入口边缘节点的SID和出口边缘节点的SID分别为PE-AGG的SID1和SID2,所述RDC网络的入口边缘节点的SID和出口边缘节点的SID分别为DCGW的SID1和SID2。
在一种可能的实现方式中,所述EDC网络中的至少一个SF节点和所述RDC网络中的至少一个SF节点为电信云网络中的SF节点。
在一种可能的实现方式中,所述Z小于M;
所述目标转发路径中的第M个节点为所述待转发报文对应的VPN业务的目标节点的SID;
所述待转发报文具有外层报文头和内层报文头,其中,
所述外层报文头封装在所述内层报文头的前端;
所述外层报文头包含所述第一SID序列,所述内层报文头包含所述VPN业务的目标节点;
所述将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:将所述外层报文头中的所述第一SID序列替换为所述第二SID序列;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第二SID序列,发送所述待转发报文。
第三方面,本申请提供一种数据转发方法,所述方法包括:
尾节点接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
尾节点去除所述待转发报文的报文头,得到待转发数据;
尾节点根据所述待转发数据的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
第四方面,本申请提供一种数据转发方法,其特征在于,所述方法包括:
尾节点接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
尾节点去除所述待转发报文的外层报文头,得到待转发报文;
尾节点向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
第五方面,本申请提供一种数据转发方法,所述方法包括:
控制器获取目标转发路径,所述目标转发路径包括M个节点;
控制器根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;
控制器根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
控制器向头节点发送所述第一SID序列;
控制器向中间节点发送所述第二SID序列;
其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或N+1,Y小于或者等于M;
所述头节点用于将包含所述第一SID序列的报文头封装在待转发数据的前端,生成待转发报文,并根据所述第一SID序列向所述中间节点发送所述待转发报文;
所述中间节点用于将所述待转发报文的报文头中的所述第一SID序列替换为所述第二SID序列,并根据第二SID序列转发所述待转发报文。
在一种可能的实现方式中,所述向头节点发送所述第一SID序列,包括:向所述头节点发送SR policy1,所述SR policy1包含所述第一SID序列;
所述向中间节点发送所述第二SID序列,包括:向所述中间节点发送SR policy2,所述SR policy2包含所述第二SID序列。
在一种可能的实现方式中,所述Y小于M,第M个节点为VPN业务的目标节点;所述方法还包括:
将所述VPN业务的目标节点发送给所述头节点;所述头节点还用于将包含所述VPN业务的目标节点的内层报文头封装在所述待转发数据的前端,以及,将包含所述第一SID序列的外层报文头封装在所述内层报文头的前端,生成待转发报文,并根据所述外层报文头中的第一SID序列向所述中间节点发送所述待转发报文。
在一种可能的实现方式中,所述控制器为DCN中的DCN controller。
第六方面,本申请提供一种数据转发系统,所述系统包括:
头节点,所述头节点用于执行第一方面所述的数据转发方法;
至少一个中间节点,所述中间节点用于执行权利要求第二方面所述的数据转发方法。
在一种可能的实现方式中,所述系统还包括尾节点,所述尾节点用于执行第三方面或第四方面所述的数据转发方法。其中,所述头节点可以为PE-AGG,所述中间节点可以为PRE-AGG或者DCGW,所述尾节点可以为DCGW。
在一种可能的实现方式中,所述系统还包括控制器,所述控制器用于执行第五方面所述的数据转发方法。其中,控制器可以为DCN controller。
第七方面,本申请提供一种数据转发装置,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于头节点,包括:
接收模块,用于接收待转发数据;
处理模块,用于获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;以及将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文;
发送模块,用于根据所述第一SID序列,发送所述待转发报文;其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
第八方面,本申请提供一种数据转发装置,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于中间节点,包括:
接收模块,用于接收待转发报文,所述待转发报文的报文头包含第一SID序列;
处理模块,用于获取所述待转发报文对应的第二SID序列;以及,将所述报文头中的所述第一SID序列替换为所述第二SID序列;
发送模块,用于根据所述第二SID序列,发送所述待转发报文;其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
第九方面,本申请提供一种数据转发装置,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于尾节点,包括:
接收模块,用于接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
处理模块,用于去除所述待转发报文的报文头,得到待转发数据;
发送模块,用于根据所述待转发数据自身的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
第十方面,本申请提供一种数据转发装置,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于尾节点,包括:
接收模块,用于接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
处理模块,用于去除所述待转发报文的外层报文头,得到待转发报文;
发送模块,用于向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
第十一方面,本申请提供一种数据转发装置,应用于网络系统,所述网络系统包括头节点、中间节点、尾节点和控制器,所述装置位于控制器,包括:
接收模块,用于获取目标转发路径,所述目标转发路径包括M个节点;
处理模块,用于根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;以及,根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
发送模块,用于向头节点发送所述第一SID序列;以及,向中间节点发送所述第二SID序列;其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或者N+1,Y小于或者等于M;
在一种可能的实现方式中,所述头节点用于将所述第一SID序列作为报文头中的目的地址,将所述报文头封装在待转发数据的前端,生成待转发报文,并根据所述目的地址向所述中间节点发送所述待转发报文;所述中间节点用于将所述待转发报文的报文头中的所述第一SID序列替换为所述第二SID序列,并根据替换后的报文头中的目的地址转发所述待转发报文。
示例性地,该数据转发装置可以位于控制器侧。
第十二方面,本申请提供一种节点设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中的数据转发方法,或者,如上述第二方面中的数据转发方法,或者,如上述第三方面中的数据转发方法,或者,如上述第四方面中的数据转发方法。
在一种可能的实现方式中,节点设备可以为PRE-AGG,该节点设备可以执行上述第一方面中的数据转发方法。
在一种可能的实现方式中,节点设备可以为PE-AGG,该节点设备可以执行上述第二方面中的数据转发方法,或者,第一方面中的数据转发方法。
在一种可能的实现方式中,节点设备可以为DCGW,该节点设备可以执行上述第二方面中的数据转发方法,和/或,第三方面中的数据转发方法,或者,该节点设备可以执行上述第一方面中的数据转发方法和第三方面中的数据转发方法。
第十三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令在计算机上运行时,用于执行上述第一方面至第四方面中任一方面中的数据转发方法。
第十四方面,本申请提供一种计算机程序,当计算机程序被计算机执行时,用于执行上述第一方面至第四方面中任一方面中的数据转发方法。
附图说明
图1为一种网络架构的示意图一;
图2为本申请实施例提供的数据转发方法的交互流程的示意图一;
图3为本申请实施例提供的数据转发方法的交互流程的示意图二;
图4为一种网络架构的示意图二;
图5为一种网络架构的示意图三;
图6为本申请实施例提供的数据转发方法的交互流程的示意图三;
图7为一种网络架构的示意图四;
图8为本申请实施例提供的数据转发方法的交互流程的示意图四;
图9为本申请实施例提供的数据转发方法应用于一种业务场景的网络架构的示意图;
图10为本申请实施例提供的数据转发方法应用于一种业务场景的处理流程的总体框架示意图;
图11为本申请实施例提供的数据转发方法应用于业务场景的处理流程图一;
图12为本申请实施例提供的数据转发方法应用于业务场景的处理流程图二;
图13为本申请实施例提供的数据转发装置的结构示意图;
图14为本申请实施例提供的节点设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请提供的技术方案用于实现在数据传输网络中按照预设的目标转发路径传输待转发数据的控制过程。在本申请中,数据传输网络可以由若干节点组成,目标转发路径可以定义为由至少两个节点的节点标识组成的节点标识的序列。
本申请提供的数据转发方法可以应用于多种网络架构,下面分别结合各种网络架构对本申请提供的数据转发方法的技术方案和技术效果进行说明。
图1为一种网络架构的示意图一。如图1所示,在该网络架构中,数据传输网络可包括头节点、尾节点、中间节点和其他节点。其中,头节点可以为控制待转发数据按照目标转发路径转发过程的起始节点,尾节点可以为控制过程的结束节点,中间节点可以为目标转发路径中的节点,其他节点可以位于传输网络中的其他位置,例如,其他节点可以位于头节点之前、尾节点之后、中间节点之间等。目标转发路径可以包括至少一个中间节点,目标转发路径中的各个中间节点可以相邻也可以通过其他节点连接。目标转发路径还可以包括一个或多个其他节点。在本申请实施例中,目标转发路径可以不包含头节点,也可以包含头节点。
基于图1所示的网络架构,为了实现控制待转发数据按目标转发路径转发,在一种控制方式中,当待转发数据到达头节点时,头节点可对待转发数据进行预处理,将包含目标转发路径的报文头封装在待转发数据的前端,得到待转发报文,该目标转发路径可用于指示数据传输网络中的节点按照报文头中的目标转发路径对应的节点序列将待转发数据转发至尾节点,在尾节点中可以对报文进行解除控制的处理,将包含目标转发路径的报文头从待转发报文中去除,得到待转发数据。之后,待转发数据可以按照待转发数据自身中原有的目的地址在网络中继续传输。示例性地,待转发数据可以为数据帧,如以太帧,则待转发数据自身的目的地址可以为以太帧中的目的MAC地址,又如,待转发数据可以为网络层报文,如IP报文,则待转发数据自身的目的地址可以为IP报文中的目的IP地址。
在实际应用中,国际互联网工程任务组(The Internet Engineering TaskForce,IETF)中的网络中的源包路由(Source Packet Routing in Networking,SPRING)工作组(WorkGroup,WG)定义的段路由(Segment Routing,SR)技术可用于实现上述控制方式。
SR本身是一种基于源路由转发模式的隧道技术。对于传输网络中的一条SR隧道来说,SR隧道的入口节点和出口节点可以分别视为上述控制方式中的头节点和尾节点。SR隧道可以对应上述控制方式中由至少两个节点组成的目标转发路径,SR的一个基本设计思想是:只需要在头节点维护每流(per-flow)状态,不需在中间节点和尾节点维护per-flow状态。每流状态用于SR隧道对每个业务流进行资源预留,如预留一定的带宽。
在SR技术中,节点的标识可以用段标识(Segment Identifier,SID)表示。SID可以是一种具有拓扑或者业务语义的指令。SR隧道对应的目标转发路径可以根据至少两个节点的SID生成,例如,目标转发路径可以为至少两个节点的SID按照预设的转发顺序依次排列组成。举例来说,图1所示的数据传输网络中的头节点、中间节点1、中间节点2、中间节点3、尾节点的标识可以分别为SID1、SID2、SID3、SID4、SID5,在一示例中,若待转发数据必须经过中间节点1、中间节点2、中间节点3传输至尾节点,则对应的目标转发路径可表示为{SID2;SID3;SID4;SID5},在另一示例中,若待转发数据必须经过中间节点1、中间节点3传输至尾节点,则对应的目标转发路径可以表示为{SID2;SID3;SID4;SID5}。
在SR技术中,SR的数据面可以基于多协议标签交换(Multi-Protocol LabelSwitching,MPLS),也可以基于IPv6,分别称为使用MPLS作为数据面的段路由(SR MPLS)和使用IPv6作为数据面的段路由(Segment Routing based IPv6data plane,SRv6)。在采用SRv6技术实现上述控制方式时,可以将目标转发路径中的节点的SID按照业务需求组成SID序列(SIDlist),用以指示采用SRv6作为数据面的方式定义的SRv6隧道的转发路径。每个SID序列可以包括至少一个SID。对于SRv6而言,SID在形式上是16-bits的IPv6地址,SID包括寻址(Locator)、功能(Function)、操作参数(Argument)三部分。表1为SRv6报文中的SID的结构的一种示意。
表1
其中,Locator可用于寻址,即与路由相关,Function可用于指定与SID相关的功能,如拓扑功能或者业务功能,Argument为可选参数,可用于指定执行Function相关操作的参数。Function和Argument可以为用于实现SRv6的网络编程功能的网络编程参数。在后面将对网络编程功能进行说明。
需要说明的是,对采用SRv6方式定义的SRv6隧道可以使用常规IPv6中的traceroute功能对SRv6隧道进行路径检测,也就是说,SID需要支持在除了转发路径中的中间节点之外的普通节点被按照普通IPv6地址进行路由转发,在一示例中,SID中的Locator部分可以在普通节点的路由表中匹配到一个网段地址,则普通节点可以按照网络地址对应的下一跳地址转发该报文。此外,SRv6的报文头中的SID list在SRv6中的某些特殊节点需要支持报文头的修改操作。
在SR技术中,对于SRv6类型的报文(以下简称SRv6报文),IETF 6man WG定义可以使用IPv6段路由头(Segment Routing Header,SRH)携带SID list,用来指定IPv6报文的转发路径。SRH可以为Routing Type=4的IPv6的路由头(Routing Header),示例性的,SRH对应的IE的名称可以为draft-ietf-6man-segment-routing-header-14。SRH可以采用宽松源路由模式,即不要求转发路径上的每一跳都支持和解析SRH,也不要求SRH中的SID list包含转发路径上的每一跳节点,在一示例中,SRH中的SID list可以只包含一个节点。在一些场景中,SRv6的隧道报文中甚至可以不包含SRH字段,示例性地,当需要添加的SID list只包含一个节点的SID时,可以将该节点的SID添加至待转发报文的目的地址字段。
在SR技术中,在利用SR隧道实现按照目标转发路径转发数据之前,需要先建立SR隧道,即分配各个节点的SID以及确定目标转发路径对应的SID list。SR隧道的建立SIDlist可以通过显示候选路径(Explicit candidate path)、动态候选路径(Dynamiccandidate path)两种方式指定。在一示例中,可以由数据传输网络的控制器为各个节点分配SID。在另一示例中,可以为到达头节点的各种待转发数据,规划目标转发路径。
在SR技术中,在按照SRv6方式定义的SRv6隧道转发数据的过程中,SRv6报文在数据传输网络中可能经过的节点可以被划分成以下几种设备角色(device role)的类型。
非SRv6节点(Non-SRv6node):不支持或未使能SRv6功能的节点,这类节点只能进行普通IPv6报文的转发。例如,该类型的节点不支持按照报文头的SRH字段中携带的SIDlist转发报文,又如,该类型的节点仅支持对待转发的报文的目的地址中的IP地址为本地(Native)IPv6报文的转发。
转发节点(Transit node):已使能SRv6功能的节点,该类节点上的我的本地SID表(MyLocal SID table)中未安装SRv6报文的活跃SID(Active SID)。需要说明的是,一个节点上的My Local SID Table中配置的SID为该节点所具有的SID。一个SRv6报文的ActiveSID为SRv6报文携带的SID list中的一个SID,Active SID用于表示SRv6报文当前期望到达的目的节点。若某个节点接收到SRv6报文时,SRv6报文的报文头中携带的SID list中的Active SID不是本节点所具有的SID(即未安装SRv6报文的Active SID)时,该节点需要按照Active SID指示的目的节点继续转发该SRv6报文,此时,该节点所起的作用仅仅是转发该报文,而不进行特殊的处理,则该节点的角色就是转发节点。
绑定段标识节点(Binding Segment Identifier node,BSID node):已使能SRv6功能的节点,同时,通过BSID机制(draft-ietf-spring-segment-routing-policy-01),将流量引入一个新的SR策略(SR policy)的节点。也就是说,BSID节点可以是配置了SRpolicy的节点。
端点节点(Endpoint node):已使能SRv6功能的节点,且该节点上的My Local SIDtable中已安装SRv6报文的Active SID。需要说明的是,若某个节点接收到SRv6报文时,SRv6报文的报文头中携带的SID list中的Active SID是本节点所具有的SID(即该节点上已安装SRv6报文的Active SID)时,该节点需要将SRv6报文携带的SID list中当前被标识为Active SID的下一个SID标识为新的Active SID,之后,当前节点按照新的Active SID指示的目的节点继续转发该SRv6报文,此时,该节点的角色就是端点节点。也就是说,端点节点可以是目标转发路径对应的SID list中的节点。
需要说明的是,My Local SID Table用于实现SRv6的网络编程功能,这张表维护Endpointnode的本节点所具有的所有local SID(由该节点分配和解释的SID)。根据draft-filsfils-spring-srv6-network-programming-05的说明,My Local SID table中的SID必须显式配置生成。
可以看出,上述这几种设备角色(device role)是基于转发流程中Active SID与My LocalSID table的匹配情况划分的。
待转发数据在SRv6隧道中的转发过程可以包括:
头节点(可视为BSID节点)将流量引流至SR policy,其中,头节点根据SR policy的当前激活候选路径(active Candidate path),获得所指定路径对应的SID list,然后,头节点将包含SID list的报文头封装在待转发数据的前端,得到封装好的待转发报文,其中,SID list中的第一个SID被指示为Active SID,然后将Active SID作为目的地址(Destination Address,DA),向下游设备转发该待转发报文。在SRv6隧道中转发SRv6报文的任意时刻,SRv6报文的SID list中只有一个活跃SID(Active SID),Active SID用于标识下一跳节点的SID。中间节点在接收到SRv6报文时,根据Active SID(即IPv6DA),查询MyLocal SID table,如果存在匹配表项(即Active SID为中间节点自身所具有的SID),根据所命中的local SID表项所关联的功能(Function)进行相关处理。在完成相关处理后,中间节点更新SID list中的Active SID(例如,将SID list中当前Active SID后的下一个SID指示为新的Active SID),之后,中间节点按照更新的Active SID所指示的目的节点,向下游节点转发该SRv6报文,当SRv6报文被转发至尾节点(尾节点的SID与Active SID相同,且是SID list中的最后一个SID)时,尾节点可以去除封装在待转发数据前端的报文头。头节点与尾节点之间可以经过一个或多个中间节点(每个中间节点可视为端点节点),头节点与中间节点之间可以经过一个或多个其他节点(可以视为非SRv6节点或者转发节点),中间节点和尾节点之间也可以经过一个或多个其他节点(可以视为非SRv6节点或者转发节点)。
需要说明的是,在SR技术中,采用SRv6方式定义的SR隧道技术除了具备SR的通用特点之外,采用SRv6方式定义的SR隧道技术与采用MPLS方式定义的SR隧道技术的不同之处在于,采用SRv6方式定义的隧道技术支持网络编程。利用网络编程,采用SRv6方式定义的隧道技术具有非常强大的可扩展能力。
在SR技术中,SID中的Function和Argument可以作为支持网络编程功能的网络编程参数。网络编程参数可以用于指示采用SRv6方式定义的隧道中的节点按照网络编程参数对应的功能(function)对报文进行处理。SR技术支持定义多种类型的Function。
举例来说,End功能(End Function)可以用于实现端点节点更新Active SID以及指示端点节点根据更新后的Active SID转发SRv6报文的处理步骤。示例性地,EndFunction中可以包含以下处理逻辑:
1.IF NH=SRH and SL>0
2.decrement SL
3.update the IPv6 DA with SRH[SL]//更新IPv6目的地址(DestinationAddress,DA)
4.FIB lookup on the update DA//根据更新后的DA转发
5.forward accordingly to the matched entry
6.ELSE
7.drop the packet
从逻辑上讲,其他Function都可以是End Function的变种。需要说明的是,SRv6的网络编程的优势在于Function允许多种扩展形式,举例来说,SRv6的网络编程功能允许符合逻辑的“任意”形式的扩展。
又如,在上述待转发数据在SRv6隧道中的转发过程中,传输网络中的头节点可以为BSID节点,SRv6报文中携带的网络编程参数可用于指示BSID节点根据SRv6报文对应的SR策略(SR policy)对SRv6进行预处理,如,可以根据SR policy对应的SID list生成包含SIDlist的报文头,并封装在待转发数据的前端,得到待转发的SRv6报文。
此外,支持网络编程的SRv6技术还可以适用于多种应用场景,例如,可实现边界网关协议(Border Gateway Protocol,BGP)或者基于SR的三层VPN业务(SR L3VPN)或者基于以太网VPN业务的二层VPN业务(EVPN L2VPN)或者基于以太网VPN业务的三层VPN业务(EVPNL3VPN)或者业务链(Service Function Chain,SFC)等报文转发的控制方式。在一示例中,可以将报文按照SR L3VPN定义转发时所对应的转发路径,作为SID list,在SRv6隧道的头节点添加到报文头中。
在本申请其他实施例中,网络编程对应的IE名称可以为draft-filsfils-spring-srv6-network-programming-05。
还需要说明的是,在SR技术中,为了屏蔽部分网络的拓扑细节、以及规避硬件芯片MSD规格不足的问题,可以利用BSID技术来将流量引流(steer)至SR policy。BSID节点被定义为SR隧道中具有特殊功能的节点。BSID节点中可以预先设置了一个或多个SR policy,每个SR policy可以对应一个SID list。结合上述转发流程来说,头节点被赋予BSID节点的角色,头节点可以预先接收一个SR policy,其中包含一个目标转发路径,该SR policy可以是网络中控制器设备下发的。BSID节点可以将包含该SID list的报文头封装在待转发数据的前端,生成待转发报文。示例性地,SID list可以位于SRH字段或者目的地址字段。
在采用前面所述的控制方式中,头节点封装在待转发数据前端的SID list为根据完整目标转发路径中必须经过的所有节点的SID生成,在必须经过的节点的数量较多时,SID list的长度将非常长。例如,完整的目标转发路径可以包括中间节点1、中间节点2、中间节点3、……中间节点19、尾节点,各个节点的SID组成的SID list可以为{SID2;SID3;SID4;……SID20;SID21;},这就要求数据传输网络中的BSID节点和端点节点需要支持SIDlist的长度为20。可见,上述控制方式的实现对数据传输网络中的设备需要支持的SID的最大深度(Maximum SID Depth,MSD)提出了较高的要求。在一些场景中,由于数据传输网络中的一些低端设备自身支持的MSD小于一些业务场景所需的SID list的长度时,将导致无法沿着完整的目标转发路径转发数据。
为解决上述问题,本申请实施例提供下面的数据转发方法。
图2为本申请实施例提供的数据转发方法的交互流程的示意图一。本申请实施例涉及头节点、中间节点、尾节点等。
下面以图1所示数据传输网络为例进行说明,目标转发路径可以包括中间节点1、中间节点2、中间节点3和尾节点,由这些节点组成的目标转发路径对应的SID list为{SID2;SID3;SID4;SID5;}。
为了使得需要添加到待转发数据或者待转发报文中的SID序列的长度较短,在一示例中,在头节点收到待转发数据之前,在控制层面,网络中的控制器可以将目标转发路径划分为若干段。以划分为2段为例,目标转发路径对应的SID list可以划分为第一SID序列和第二SID序列。之后,控制器可以将第一SID序列下发给头节点,并将第二SID序列下发给第一SID序列中的最后一个节点。在图2所示交互流程中的中间节点可以为第一SID序列中的最后一个节点。之后,在转发层(也可称为数据层),头节点、中间节点和尾节点可以按照下面的步骤实施。如图2所示,本申请实施例的步骤包括:
S201,头节点接收待转发数据。
其中,待转发数据可以为数据帧或者IP报文。示例性地,数据帧可以是以太(Ethernet)帧。待转发数据可以携带所请求的业务的类型信息、与业务相关的参数信息等业务属性。如,请求访问服务器上的视频文件以及文件名称等。在一示例中,头节点可以从其他节点接收待转发数据。
S202,头节点获取待转发数据对应的第一SID序列,第一SID序列为根据目标转发路径中的M个节点中的前N个节点的SID生成的,N小于M,N大于或者等于1。
其中,头节点可以根据待转发数据的业务属性,获取待转发数据对应的SR policy1;并将SR policy 1中包含的SID序列,确定为待转发数据对应的所述第一SID序列。需要说明的是,从业务的角度来说,不同的业务属性可以对应不同的目标转发路径,控制器可以预先规划各种业务属性对应的目标转发路径,并对长度较长的目标转发路径进行分段,然后将一个目标转发路径分段后的SID序列分别通过不同的SR policy下发至头节点以及对应的其他中间节点上。头节点可以存储SR policy与业务属性的对应关系,并在接收到待转发数据时,根据待转发数据中携带的业务属性获取对应的SR policy。
在本申请中,若N等于1,第一SID序列为根据目标转发路径中的第1个节点的SID生成,即第一SID序列可以包括目标转发路径中的第一个节点的SID;若N大于1,第一SID序列为根据目标转发路径中的第1个至第N个节点的SID生成,即第一SID序列可以包括第1个至第N个节点的SID。
S203,头节点将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文。
其中,封装后的待转发报文可以包括报文头和待转发数据两个部分。其中,报文头中包含第一SID序列。需要说明的是,将报文头封装在待转发数据的前端是指封装在待转发数据的外侧,而非待转发数据的内部。表2为封装后的待转发报文的一种示意。
表2
在本申请的一种实施方式中,当第一SID序列仅包含一个SID时,可以直接将该SID作为报文头中的目的地址,并将报文头封装在待转发数据的前端,在另一种实施方式中,当第一SID序列包括两个及以上SID时,可以将该SID序列添加到报文头中的SRH字段,并将封装有SRH字段的报文头封装在待转发数据的前端。在本申请中,头节点将包含任一SID序列的报文头封装在待转发数据的前端时,以及中间节点替换SID序列时均可以采用上述两个实施方式。S204,头节点根据第一SID序列,向中间节点发送待转发报文,其中,中间节点为第N个节点。
在本申请中,当报文头中的SID序列仅包含一个SID时,该SID可以位于报文头中的目的地址,则头节点可以根据报文头中的目的地址,向中间节点发送待转发数据。当报文头中的SID序列包含至少两个SID时,SID序列被添加至报文头中的SRH字段,头节点需要设置SID序列中的尚未到达的第一个SID为Active SID,并将该Active SID设置为报文头中的目的地址,用于指示待转发报文的下一跳地址。
S205,中间节点获取待转发报文对应的第二SID序列,第二SID序列为根据目标转发路径中的M个节点中的第N+1个节点至第M个节点生成的。
其中,中间节点接收到待转发报文时,待转发报文中的第一SID序列中的ActiveSID为中间节点的SID,中间节点可以获取Active SID匹配的操作指令,该操作指令用于指示中间节点将待转发报文中的第一SID序列替换为SR policy2中包含的第二SID序列;中间节点将操作指令对应的SR policy2中包含的第二SID序列确定为待转发报文对应的第二SID序列。
需要说明的是,操作指令可以是Active SID在My Local SID Table中匹配到的处理步骤,如SID对应的operation,也可以是Active SID的Function字段、Argument字段所指示的处理步骤。
S206,中间节点将报文头中的第一SID序列替换为第二SID序列。
在本申请中,中间节点将报文头中的第一SID序列替换为第二SID序列可以包括两种方式。
在一种实施方式中,中间节点可以将接收到的待转发数据的报文头完整地替换为新的报文头,例如,可以先对原有报文头进行剥离,再封装新的报文头,其中,新的报文头中的包含第二SID序列,若第二SID序列仅包含一个SID,新的报文头中的第二SID序列可以位于新的报文头中的目的地址,若第二SID序列包含两个及以上SID,新的报文头中的第二SID序列可以位于新的报文头中的SRH字段中,并将下一跳节点的SID设置为ActiveSID,同时将Active SID设置为报文头中的目的地址,新的报文头中的其他字段可以根据原有报文头中的字段的值填充或者根据业务实际的转发场景的需求生成。示例性地,报文头中还可以包括源地址、流标签等字段,可以根据DCGW的实际情况,按照DCGW的本地策略拷贝或设置为新的值。
在另一种实施方式中,中间节点也可以只替换待转发报文中的SID序列,当头节点中的第一SID序列位于报文头中的目的地址时,中间节点将第二SID序列添加到待转发报文的报文头中的SRH字段中,并将下一跳节点的SID设置为Active SID,并将ActiveSID设置为报文头中的目的地址,当头节点中的第一SID序列位于报文头中的SRH字段时,中间节点可以将原有报文头中的SRH字段中的第一SID序列替换为第二SID序列,并将下一跳节点的SID设置为Active SID,并将Active SID设置为报文头中的目的地址。
S207,中间节点根据第二SID序列,向尾节点转发待转发报文,其中,尾节点为第M个节点。
其中,中间节点按照第二SID序列指示的节点序列转发报文,并最终转发至尾节点。需要说明的是,在本申请各个实施例中,中间节点为ActiveSID时,需要将下一个未到达的SID设置为Active SID,并将Active SID设置为报文头中的目的地址,以指示待转发报文的下一跳地址。
S208,尾节点去除待转发报文的报文头,得到待转发数据。
在一示例中,头节点、中间节点均可以为SRv6隧道中的BSID节点。中间节点可以是SRv6隧道中的端点节点。尾节点可以是目标转发路径中的最后一个节点。
在本申请中,通过将目标转发路径涉及的M个节点划分为两段子路径,第一段子路径包含前N个节点,第二段子路径包含第N+1个节点至第M个节点。使得数据传输网络中的设备传输的待转发报文中的SID序列中的SID个数可以不超过单个设备的支持的MSD的个数。从而能够在目标转发路径较长时保证数据的正常传输。
在本申请实施例中,如图2所示,在S208之后,还可以包括S209:
S209,尾节点根据待转发数据自身的目的地址转发待转发数据。
其中,示例性的,待转发数据可以为数据帧或者IP报文,待转发数据的目的地址可以为数据帧中的目的MAC地址或者IP报文中的目的IP地址,尾节点可以根据数据帧的目的MAC地址或者IP报文中的目的IP地址继续转发待转发数据。
在本申请实施例中,示例性地,如图2所示,在S201之前,数据传输网络中的控制器预先划分和下发各个分段的SID序列,可以包括以下步骤:
S210,控制器获取目标转发路径,该目标转发路径包括M个节点。
其中,控制器可以根据到达头节点的各种类型的待转发数据预先规划目标转发路径。示例性地,控制器可以为请求各种业务的待转发数据规划不同的目标转发路径,并分别对各个目标转发路径进行分段,并将分段后的目标转发路径下发至相应的头节点、中间节点。举例来说,对于请求访问互联网(Internet)的待转发数据,可以规划一条经过电信云网络的若干核心网SF功能节点的目标转发路径。待转发数据中可以携带标识所请求的业务为访问互联网的相关业务属性。
S211,控制器根据M个节点中的第1个至第N个节点的SID,生成第一SID序列。
其中,在一示例中,控制器可以将中间节点1和中间节点2的SID作为第一SID序列,将中间节点3和尾节点的SID作为第二SID序列,在另一示例中,控制器可以将中间节点1的SID作为第一SID序列,将中间节点2、中间节点3和尾节点的SID作为第二SID序列。在本申请其他实施例中,目标转发路径中的M个节点还可以分为三段。
S212,控制器根据M个节点中的第X个至第Y个节点的SID,生成第二SID序列,其中,X等于N+1。
S213,控制器向头节点发送所述第一SID序列。
其中,向头节点发送第一SID序列,可以包括:向头节点发送SR policy1,SRpolicy1包含第一SID序列。
S214,控制器向中间节点发送第二SID序列,中间节点为M个节点中的第N个节点,N大于或者等于1。
其中,向中间节点发送所述第二SID序列,可以包括:向中间节点发送SR policy2,SR policy2包含第二SID序列。
在本申请中,对于控制器来说,第一SID序列的接收方应为头节点,头节点用于将包含第一SID序列的报文头封装在待转发数据的前端(可参看表2所示),生成待转发报文,并根据待转发报文的中的第一SID序列向中间节点发送待转发报文;第二SID序列的接收方应为中间节点,中间节点用于将待转发报文的报文头中的第一SID序列替换为第二SID序列,并根据替换后的报文头中的目的地址转发待转发报文。
在本申请其他实施例中,若划分为3段,即第一SID序列、第二SID序列和第三SID序列,则第一SID序列可以下发给头节点,第二SID序列下发给第一SID序列中的最后一个节点,第三SID序列下发给第二SID序列中的最后一个节点,则第二SID序列中的最后一个节点和第三SID序列中的最后一个节点可以分别为中间节点1和中间节点2。
在本申请实施例中,目标转发路径还可以被划分为两段以上子路径。举例来说,数据传输网络中的中间节点可以是多个,示例性地,中间节点可以为3个。图3为本申请实施例提供的数据转发方法的交互流程的示意图二。本申请实施例涉及头节点、中间节点1、中间节点2、中间节点3、尾节点等。在一种可能的场景中,中间节点1和中间节点2之间,以及,中间节点3和尾节点之间可以包含目标转发路径中的其他节点;头节点和中间节点1之间,以及,中间节点2和中间节点3之间可以包含非目标转发路径中的其他节点。如图3所示,本申请实施例的步骤包括:
S301,头节点接收待转发数据。
S302,头节点获取待转发数据对应的第一SID序列,第一SID序列为根据目标转发路径中的M个节点中的前N个节点的SID生成的,N小于M,N大于或者等于1。
S303,头节点将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文。
S304,头节点根据第一SID序列,向中间节点1发送待转发报文,其中,中间节点1为第N个节点。
S305,中间节点1获取待转发报文对应的第二SID序列,第二SID序列为根据M个节点中的第N+1个节点至第X-1个节点生成的。
S306,中间节点1将报文头中的第一SID序列替换为第二SID序列。
S307,中间节点1根据第二SID序列,向中间节点2转发待转发报文,其中,中间节点2为第X-1个节点。
S308,中间节点2获取待转发报文对应的第三SID序列,第三SID序列为根据M个节点中的第X个节点至第Y个节点生成的。
S309,中间节点2将报文头中的第二SID序列替换为第三SID序列。
S310,中间节点2根据第三SID序列,向中间节点3转发待转发报文,其中,中间节点3为第Y个节点。
S311,中间节点3获取待转发报文对应的第四SID序列,第四SID序列为根据M个节点中的第Y+1个节点至第Z个节点生成的。
S312,中间节点3将报文头中的第三SID序列替换为第四SID序列。
S313,中间节点3根据第四SID序列,向尾节点转发待转发报文,其中,尾节点为第Z个节点。
S314,尾节点去除待转发报文的报文头,得到待转发数据。
S315,尾节点根据待转发数据自身的目的地址转发待转发数据。
本申请实施例中头节点、中间节点、尾节点执行的步骤可以采用图2所示实施例中实施方式实施,具体可参考图2所示实施例中的详细描述。
采用图2至图3任一所示的数据传输方法,能够将目标转发路径所包含的SID节点划分为至少两个部分,这使得在转发数据时,数据传输网络中的设备支持传输的最大SID数能够满足报文头中包含的SID节点的数量。
本申请提供的数据转发方法还可以应用于一种网络架构。图4为一种网络架构的示意图二。如图4所示,在该网络架构中,图1所示的传输网络可以包括:基础传输网络和目标传输网络。在一示例中,目标传输网络可以通过位于目标传输网络边缘的边缘设备与基础传输网络进行数据传输。在另一示例中,目标传输网络可以包括若干个目标传输子网,每个目标传输子网中的边缘设备可以通过基础传输网络中的设备进行数据传输,报文在目标传输子网传输时需要经由目标传输子网的边缘设备传入目标传输子网内的节点,因此,边缘设备也可以成为各个目标传输子网的网关设备。在本申请中,报文在目标传输网络中传输时需要遵循预设的转发路径。
在实际应用中,图4中的目标传输网络可以为数据中心网络(Data CenterNetwork,DCN)。在一种作为示例的应用中,DCN可用于承载电信云网络中的各种业务单元。需要说明的是,电信云网络也可以称为电信云,是一种基于NFV技术架构的网络。NFV技术被提出用以解决电信网络硬件繁多、部署运维复杂、业务创新困难等问题,NFV技术的目标是以分布式云数据中心为基础进行网络架构的规划和建设,采用NFV技术和SDN技术,实现软硬件分层解耦、功能虚拟化、自动化部署以及资源弹性调度。电信云网络即是基于上述思路建设的NFV网络。在另一种作为示例的应用中,基础传输网络可以包括城域(Metro)网和骨干(Core)网。Metro网和Core网可以包括一种或多种路由设备,如用户边缘(Custom Edge,CE)设备、运营商边缘(Provider Edge,PE)设备、运营商路由/骨干路由设备(ProvierRouter,简称P)设备等。
图5为一种网络架构的示意图三。如图5所示,DCN可以采用具有多级分层架构。示例性地,DCN可以包括:接入数据中心(Access Data Center,ADC)网络、边缘数据中心(EdgeData Center,EDC)网络、大区数据中心(Region Data Center,RDC)网络、中央数据中心(Central Data Center,CDC)网络和DCN控制器(DCN Controller)。其中,ADC网络、EDC网络、RDC网络、CDC网络为DCN中的多个DCN子网。ADC网络可以包括二级汇聚设备,可称为前置汇聚(prefix aggregation,PRE-AGG)设备,EDC网络可以包括位于EDC网络边缘的一级汇聚设备,可称为(PE aggregation,PE-AGG)设备、若干虚拟网络功能(Virtual NetworkFunction,VNF)节点以及拓扑节点,一级汇聚设备相较于二级汇聚设备通常用于连接更高级别的基础转发网络,RDC网络可以包括位于RDC网络边缘的数据网关(Data CenterGateway,DCGW)、若干VNF节点以及拓扑节点。示例性的,EDC网络中的VNF节点可以为vIPS和vFW等VNF节点,RDC网络中的VNF节点可以包括广域网优化控制器(WAN OptimizationController,vWOC)等,EDC网络和RDC网络中的拓扑节点可为叶子(leaf)节点、脊(spine)节点和虚拟交换(vSwitch)节点等。此外,在一示例中,EDC网络与RDC网络可以通过PE设备互联。在一示例中,DCGW设备可以与PE设备合设或分设。
在本申请其他实施例中,DCN Controller用于对DCN进行统一的规划和管理。
在图5所示的网络架构中,光线路终端(optical line terminal,OLT)为接入网设备,OLT可以为电信云中的业务流的发起方,业务流的目标是访问远端的网络,示例性地,远端的网络可以为互联网(Internet),互联网可以通过互联网网关(Internet GateWay,IGW)连接到基础传输网络或者DCN的边缘节点。
基于图5所示的网络架构,在业务流到达远端的网络之前,需要按照业务流的业务属性,依次流经多个DCN子网中的若干个VNF节点,以实现电信网络中对业务流的访问控制,如鉴权、计费等控制需求。业务流在DCN中需要经过的VNF节点的序列可以称为业务链(Service Function Chain,SFC),随着电信网络的SDN化和NFV化的程度越来越高,各种业务流在不同条件下需要经过的SFC需要进行灵活的配置和管理,灵活编排SFC也逐渐成为电信云的关键技术之一。在NFV网络架构中,可以包括SF节点、SFF节点、分类节点、代理节点。示例性地,IETF SFC WG定义了SFC的架构(RFC7498/RFC7665)与基于NSH的实现方案(RFC8300)。
需要说明的是,与Metro网络和Core网络不同的是,DCN通常被认为是企业的私有网络,尤其是DCN中的服务承载网(Underlay Network)部分通常不希望直接暴露给Metro网络和Core网络。因此,在控制业务流按照配置的SFC转发的基础上,在实现SFC时,还需要考虑数据转发的隐私性需求。隐私性要求可以概况为如下约束条件:DCN内部的拓扑结构和SF节点的SID不能暴露于基础转发网络。
此外,在将图2至图3所示的数据转发方法应用于图4至图5所示的DCN及基于DCN部署的电信云网络时,还需要满足转发数据对网络架构的拓展需求。网络架构的拓展需求可以概况为如下约束条件:数据转发方法需要支持任意数量分层的DCN,以及,SID序列的长度不能超过数据传输网络中的设备支持的最大SID长度。
基于图2至图3所示的数据转发方法可以看出,本申请提供的数据转发方法能够满足SID序列的长度不超过设备支持的最大SID长度的这一约束条件。为了满足隐私性需求约束条件,本申请提供如下的数据转发方法,其中,头节点添加的第一SID序列仅包含DCN中的边缘节点的SID而不包括DCN内部节点的SID。
图6为本申请实施例提供的数据转发方法的交互流程的示意图三。本申请实施例涉及头节点、中间节点、尾节点,其中,示例性地,中间节点可以为DCN的入口边缘节点,尾节点可以为DCN的出口边缘节点。中间节点和尾节点之间还可以包括DCN的内部节点。在一示例中,本申请实施例中的入口边缘节点和出口边缘节点可以为同一节点设备,可称为DCN的边缘节点,需要说明的是,该边缘节点在作为入口边缘节点时和出口边缘节点时的SID分别为SID1和SID2。
在本申请的一些场景中,头节点与DCN的入口边缘节点可以通过基础转发网络连接。
如图6所示,本申请实施例的步骤可以包括:
S601,头节点接收待转发数据。
其中,头节点可以为PRE-AGG。在本申请其他实施例中,头节点也可以是PE-AGG。
S602,头节点获取待转发数据对应的第一SID序列,第一SID序列为根据目标转发路径中的M个节点中的前N个节点的SID生成的,N等于1。
其中,头节点可以根据待转发数据的业务属性,获取待转发数据对应的SR policy1;并将SR policy 1中包含的SID序列,确定为待转发数据对应的所述第一SID序列。
S603,头节点将包含第一SID序列的报文头封装在待转发数据的前端,得到待转发报文。
S604,头节点根据第一SID序列,向中间节点发送待转发报文,其中,中间节点为DCN的入口边缘节点。
其中,示例性地,DCN的入口边缘节点可以为PRE-AGG或者DCGW。
S605,中间节点获取待转发报文对应的第二SID序列,第二SID序列为根据目标转发路径中的M个节点中的第N+1个节点至第M个节点生成的,第二SID序列中的节点属于DCN。
其中,在第一SID序列中的Active SID为中间节点的SID时,中间节点可以获取ActiveSID匹配的function,该function用于指示所述中间节点将待转发报文中的第一SID序列替换为SR policy2中包含的第二SID序列;中间节点将function对应的SR policy2中包含的第二SID序列确定为待转发报文对应的第二SID序列。
S606,中间节点将报文头中的第一SID序列替换为第二SID序列。
S607,中间节点根据第二SID序列,向尾节点转发待转发报文,其中,尾节点为第M个节点。
其中,中间节点按照报文头中的目的地址指示的节点序列转发报文,并最终转发至尾节点。
S608,尾节点去除待转发报文的报文头,得到待转发数据。
S609,尾节点根据待转发数据自身的目的地址转发待转发数据。
在本申请其他实施例中,DCN还可以包括第一DCN子网和第二DCN子网,其中,第一DCN子网可以包括第一DCN子网的入口边缘节点、出口边缘节点、第一DCN子网中的至少一个SF节点,第二DCN子网可以包括第二DCN子网的入口边缘节点、出口边缘节点、第二DCN子网中的至少一个SF节点。
举例来说,数据在分级DCN中的转发过程与图3所示数据转发方法中的交互流程类似。示例性地,图3所示方法中的中间节点1可以是第一DCN子网的入口边缘节点,中间节点2可以是第一DCN子网的出口边缘节点,中间节点3可以是第二DCN子网的入口边缘节点,尾节点可以是第二DCN子网的出口边缘节点。
需要说明的是,头节点匹配到的SR policy1对应的SID序列1仅包含第一个DCN子网的入口边缘节点的SID,该入口边缘节点可以为目标转发路径中属于第一DCN子网中的第一个节点。第一个DCN子网的入口边缘节点(即中间节点)匹配到的SR policy2对应的SID序列2包含第一个DCN子网的内部节点(即目标转发路径中的SF节点)的SID以及第一个DCN子网的出口边缘节点(即中间节点)的SID。第一个DCN子网的出口边缘节点(即中间节点)匹配到SR policy3对应的SID序列3包含尾节点的SID或者第二个DCN子网的入口边缘节点(即中间节点)的SID。采用这种方式,可以确保每个分级的DCN子网的内部节点的SID不会暴露于基础转发网络中,从而可以确保满足将SRv6技术应用于DCN及电信云网络时对数据转发的隐私性需求。
本申请实施例中头节点、中间节点1、中间节点2、中间节点3、尾节点执行的步骤可以采用图2所示实施例中实施方式实施,具体可参考图2所示实施例中的详细描述。本申请实施例的其他技术方案细节及技术效果可参看本申请前述实施例中的描述,此处不再赘述。
在前述数据转发方法的基础上,本申请还提供一种数据转发方法,可以应用于SRv6隧道承载VPN业务的场景。
图7为一种网络架构的示意图。如图7所示,VPN业务通常用于控制数据在数据传输网络中的指定的设备之间传输,示例性地,PE1至PE2(即VPN业务的目标PE)之间,PE1从CE1接收待转发数据,待转发数据经过PE1至PE2之间的支持VPN业务的SRv6隧道(VPN overSRv6)后,PE2向CE2发送待转发数据,PE之间还可以包括P设备。此时,VPN业务对应的目标PE的SID可以作为VPN业务的SID。在一种控制方式中,当待转发数据进入SRv6隧道,头节点判断该待转发数据需要传输至VPN业务指定的目标节点,此时,头节点添加到报文头中的SID序列将包括完整的目标转发路径的SID和VPN业务的SID,VPN业务的SID位于SID序列的最后一位。尾节点去除报文头时,该报文头包含完整的目标转发路径的SID和VPN业务的SID。在这种控制方式中,由于SRv6技术仅允许在一节点上替换报文头中的SID序列,而不允许替换报文头中的SID序列中的部分SID,例如,若SRv6隧道对应的节点序列为ABCD,VPN业务的目的节点的SID为E,在一示例中,头节点添加的SID序列可以为ABCDE,即完整的SRv6隧道节点的SID以及VPN业务的SID。在一些场景中,由于只允许整体替换SID序列,如ABE整体替换为CDE,而不允许只将ABE中的AB替换为CD,因此,当头节点添加的SID序列中的最后一个SID是VPN业务的SID时,如ABCDE中的E时,若头节点添加的是分段的SID序列,如ABE时,中间节点不被允许将其整体替换为CDE。因此,若SRv6隧道用于承载VPN业务,将无法采用前述实施例中涉及路径分段下发的数据转发方法。
为解决上述问题,本申请提供的数据转发方法,将头节点添加到待转发数据的前端的报文头分拆为两个部分,分别为内层报文头和外层报文头,其中,内层报文头可用于携带VPN业务的SID,可称为业务报文头,外层报文头可用于携带与目标转发路径相关的SID序列,可称为传输报文头。中间节点在替换SID序列时,只需要替换外层报文头中包含的SID序列。尾节点在去除报文头时,可以去除外层报文头和内层报文头。从而可以在实现路径分段下发的基础上支持SRv6隧道承载VPN业务的数据转发场景。
图8为本申请实施例提供的数据转发方法的交互流程的示意图四。本申请实施例涉及VPN业务的起点节点、头节点、中间节点、尾节点、VPN业务的目标节点。在本申请一示例中,头节点可以与VPN业务的起点节点相连,尾节点可以与VPN业务的目标节点相连,头节点可以在接收待转发数据的接口为预设的VPN业务的接口时,确定待转发数据需要在SRv6隧道中转发至VPN业务的目标节点。下面以PE1和PE2分别作为VPN业务的起点节点和目标节点为例进行说明。如图8所示,本申请实施例的步骤可以包括:
S801,PE1向头节点发送待转发数据。
其中,示例性地,待转发数据为以太帧。
S802,头节点确定待转发数据对应的VPN业务的SID为PE2的SID。
其中,头节点可以根据接收到待转发数据的入端口确定是否按照VPN业务传输带转发数据,头节点可以预先从控制器获取VPN业务的SID。
S803,头节点获取待转发数据对应的第一SID序列。
其中,第一SID序列为根据目标转发路径中的M个节点中的前N个节点生成的。
S804,头节点将包含PE2的SID的内层报文头封装在待转发数据的前端。
其中,PE2的SID可以位于内存报文头中的目的地址或者SRH字段中。
S805,头节点将包含第一SID序列的外层报文头封装在内层报文头的前端。
S806,头节点将具有外层报文头和内层报文头的待转发数据作为待转发报文。
表3为添加了外层报文头和内层报文头后的待转发报文的一种示意。
表3
S807,根据待转发报文的外层报文头中的第一SID序列,向中间节点发送待转发报文。
S808,中间节点获取待转发报文对应的第二SID序列。
其中,第二SID序列为根据目标转发路径中的M个节点中的第N+1个节点至第M个节点生成的。
S809,中间节点将外层报文头中的第一SID序列替换为第二SID序列。
S810,中间节点根据外层报文头中的第二SID序列,向尾节点转发待转发报文,其中,尾节点为第M个节点。
其中,步骤S808至S810与S205至S207类似。
S811,尾节点去除待转发报文的外层报文头,得到待转发报文,得到的待转发报文的报文头包含VPN业务的SID。
S812,尾节点根据待转发报文中的VPN业务的SID,向PE2转发待转发报文。
S813,PE2去除待转发报文中包含VPN业务的SID的报文头,得到待转发数据。
S814,PE2根据待转发数据自身的目的地址,转发待转发数据。
在本申请其他实施例中,也可以由尾节点去除外层报文头和内层报文头,并将去除外层报文头和内层报文头后得到的待转发数据发送至PE2。
在本申请实施例中,上述实施例中中间节点的数量可以为多个,中间节点也可以是多个DCN子网中的边缘节点。
在本申请其他实施例中,预先规划的目标转发路径也可以包含VPN业务的目标节点,示例性地,示例性地,目标转发路径中的第M个节点的SID可以为VPN业务的SID。则第二SID序列可以为根据目标转发路径中的M个节点中的第N+1个节点至第Z个节点生成的,其中,Z可以等于M-1。
本申请实施例中头节点、中间节点、尾节点执行的步骤可以采用图2所示实施例中实施方式实施,具体可参考前述所示实施例中的详细描述。本申请实施例的其他技术方案细节及技术效果可参看本申请前述实施例中的描述,此处不再赘述。
下面针对在分级DCN中部署的电信云网络中实现支持VPN业务的业务流控制的场景,对本申请提供的数据转发方法进行举例说明。
图9为本申请实施例提供的数据转发方法应用于一种业务场景的网络架构的示意图。如图9所示,为待转发数据的按照业务链预设的转发路径转发的流向的一种示意。其中,OLT设备向PRE-AGG发送的待转发数据可以用于请求Internet。其中,Metro、Core(Core中的P)、PE为基础转发网络中的设备,PRE-AGG为第一分级的DCN中的设备,PE-AGG、EDC网络中的Leaf为第二分级的DCN中的设备,DCGW、RDC中的spine、Leaf为第三分级的DCN中的设备,其中DCGW和与DCGW相邻的PE可以为合设的设备或分设的设备。
图10为本申请实施例提供的数据转发方法应用于一种业务场景的处理流程的总体框架示意图。如图10所示为待转发数据在转发过程中执行被添加报文头、替换报文头中的SID序列、以及去除报文头的处理过程。
图11为本申请实施例提供的数据转发方法应用于业务场景的处理流程图一。
图12为本申请实施例提供的数据转发方法应用于业务场景的处理流程图二。
下面结合上述图9至图10进行详细描述。
基于图9所示的网络架构,本申请提供一种数据传输方法。在执行图12所示的交互流程之前,还可以预先执行图11所示如下控制流程。
Step 1.1:DCN Controller自动发现分布在电信云网络中的SF相关信息,并为这些SF分配和下发对应的SRv6 SID。
其中,电信云网络中部署的SF可以采用广播的方式向DCN Controller告知自身的SF的标识信息,并请求DCN Controller为其分配SID。
Step 1.2:WAN Controller为Metro网络和Core网络中的设备分配对应的SRv6SID。
其中,WAN Controller可以为基础转发网络的控制器。示例性地,基础转发网络中的设备可以向WAN Controller发送自身的设备标识信息,并请求WAN Controller为其分配SID。
Step 1.3:协调器(Orchestrator)对DCN Controller和WAN Controller的相关信息进行协同,根据业务需要,对Topo SID和Service SID进行统一编排,生成若干SRpolicy,分别下发给EVPN SRv6的Ingress PE(PRE-AGG)和分级DC的网关设备(PE-AGG/DC-GW)。
在本申请实施例中,需要说明的是,DCN Controller与WAN Controller进行协同时,DCN Controller可以根据DCN子网被基础转发网络的多个基础转发子网隔开的情况确定目标转发路径对应的划分后的分段的转发路径。
举例来说,Orchestrator可以首先根据电信云网络中各种业务规划业务链,即各种待转发数据需要在DCN中流经的SF节点的SID的序列,这些业务链可视为SRv6隧道对应的目标转发路径。然后,将分级DCN的级数作为目标转发路径对应的SID序列需要被分段的数量,将各个分级DCN的入口边缘节点作为每个分段的最后一个节点,尾节点作为最后一个分段的最后一个节点,将目标转发路径对应的SID序列分段,如三个分级可以对应三段。
此外,将VPN业务的SID单独通知PRE-AGG(可视为头节点)。
之后,可以由WAN controller和DCN Controller将分配好的SID和分段后的SID序列下发下去。
在执行上述控制流程后,各个节点的SID已经分配并下发完成,各个BSID节点上的SR policy也已经下发完成。
示例性地,表3为SRv6隧道中各个节点的SID规划的一种示意。
表3
表3所示为数据传输网络中的各个节点设备的名称、节点设备对应的SID标识、节点设备的SID标识对应的SID类型、SID标识对应的操作指令、设备描述、节点设备的SID标识对应的SR policy。
其中,PRE-AGG、PE-AGG、DCGW的SID标识对应的SID类型均为BSID节点(BSID node)的设备。Leaf(EDC)和Leaf(RDC)分别表示位于EDC网络内核位于RDC网络内的叶子(leaf)节点。Leaf(EDC网络)为在EDC网络中用于部署SF功能的节点设备,示例性地,其上部署有vIPS和vFW两个SF,SF功能的SID分别以vIPS和vFW表示。AC1为PRE-AGG的入接口的SID,AC2为连接IGW的PE设备的出接口的SID。
可参考图10,在本申请实施例中,PRE-AGG可以作为头节点,PE-AGG可作为中间节点,DCGW可作为中间节点和尾节点。其中,PRE-AGG的SID为AC1,当PE1向PRE-AGG的AC1接口发送业务流中的以太帧时,PRE-AGG按照AC1确定以太帧需要匹配VPN业务,可以获取到VPN业务对应的SID,如AC2。同时,根据业务流的业务属性可以获取到对应的function和SRpolicy对报文进行处理。PE-AGG具有B1和B2两个SID,当报文被转发至B1时(即报文中Active SID为B1时),PE-AGG按照B1对应的SR policy对报文进行处理,当报文被转发至B2时(即报文中的Active SID为B2时),PE-AGG按照B2对应的SR Policy对报文进行处理。类似地,DCGW具有B3和B4两个SID,当报文被转发至B3时(即报文中Active SID为B3时),DCGW按照B3对应的SR policy对报文进行处理,当报文被转发至B4时(即报文中的Active SID为B4时),DCGW按照B4对应的SR Policy对报文进行处理。
在本申请中,各个DCN子网中的SID只允许发布给本DCN子网内的设备和本DCN子网的边缘设备或DCN子网的网关设备。对于EDC网络来说,PE-AGG为EDC网络的边缘设备,vIPS和vFW为EDC网络中的leaf节点上部署的SF的SID,由于PE-AGG知晓EDC网络中的内部拓扑结构,根据报文中携带的各个SF的SID可以控制报文按照报文头中的SID list指示的SFC,控制报文依次经过SFC中的SF;类似地,对于RDC网络来说,DCGW为RDC网络的网关设备,vWOC为RDC网络中的leaf节点上部署的SF的SID,由于DCGW知晓RDC网络中的内部拓扑结构,根据报文中携带的各个SF的SID可以控制报文按照报文头中的SID list指示的SFC,控制报文依次经过SFC中的SF。在本申请其他实施例中,DCN子网也可以是应用于除电信云之外的其他业务的DCN子网,上述vIPS、vFW和vWOC也可以是电信云网络中的其他业务需要访问的SF。
需要说明的是,上述SID规划为针对EVPN SRv6 VPWS业务。如果需要采用SRv6隧道的方式部署其他业务类型,如BGP SRv6 L3VPN、EVPN SRv6 VPLS、EVPN SRv6 L3VPN等,需要对PRE-AGG(VPN业务的Ingress PE)和PE(VPN业务的Egress PE)上SID的进行差异化规划,在一示例中,可以按照其他业务类型的需要规划目标转发路径的首节点的SID和尾节点的SID。本申请的技术方案主要针对DCN子网中的边缘设备或网关设备中,分级DC网关(PE-AGG和DCGW)上的处理,因此,SRv6隧道所承载的业务类型对中间节点实施本申请实施例提供的方法没有差异。
在本申请实施例中,可以预先配置各个SID对应的SR policy,其中,AC1对应的SRpolicy可以为SR policy1,B1对应的SR policy可以为SR policy2,B2对应的SR policy可以为SRpolicy3,B3对应的SR policy可以为SR policy4。
表4为SR policy的一种示例。表4所示为SR policy1~SR policy4。
表4
在本申请中,外层报文头可以称为传输报文头(Transport header),内层报文头可以称为(Service header)。
如图12所示,本申请实施例提供的数据转发方法的处理流程包括以下步骤:
Step 2.1:PRE-AGG从AC口接收到Ethernet帧时,将其引流到对应的SR policy1中,在Ethernet帧外,封装两层IPv6报文头(IPv6 header),其中,内层IPv6报文头(InnerIPv6 header)携带的SID为AC2,外层IPv6报文头(Outer IPv6 header)携带SID为B1。完成封装后的SRv6隧道报文将被发送给PE-AGG。
其中,PRE-AGG根据Ethernet帧中请求的业务是访问Internet,确定Ethernet帧的业务属性对应的SR policy为SR policy1,获取第一个分段的SID序列,即B1。此外,根据DCNcontroller的指示或者是PRE-AGG自身的VPN业务配置,确定按照基于SRv6的EVPN业务的方式实现VPWS,获取VPN业务的目的节点的SID为AC2,即PE的出端口的SID。在一示例中,PRE-AGG可以根据接收到Ethernet帧的入端口为AC1时,确定待转发报文需要按照VPN业务转发以及该VPN业务对应的目的节点的SID。
Step 2.2:PE-AGG在接收到SRv6隧道报文后,确定Active SID为B1以及B1对应的SRpolicy为SR policy2,使用B1引流到SR policy2。由于B1配置的Function为End.DB6,因此,剥掉Outer IPv6 header后,又封装一个与SR policy2对应的Outer IPv6 header,即替换外层IPv6报文头。然后,重新封装后的SRv6隧道报文被转发至EDC网络内。
Step 2.3:在EDC网络内,将SRv6隧道报文先后转发给vIPS和vFW处理。在此过程中,有可能需要Leaf实现SFC proxy处理流程。在完成EDC网络内的处理后,SRv6隧道报文中的Active SID变为B2,SRv6隧道报文会根据B2回送给PE-AGG。
Step 2.4:PE-AGG确定Active SID为B2以及B2对应的SR policy为SR policy3,使用B2配置的function(End.DB6)将SRv6隧道报文引流到SR policy3,并对报文进行处理,剥掉Outer IPv6 header后,又封装一个与SR policy3对应的Outer IPv6 header。然后,重新封装后的SRv6隧道报文中的Outer IPv6 header中的第一个SID为DCGW的入口SID,即B3,根据B3,SRv6隧道报文被转发至DCGW。
Step 2.5:DCGW确定Active SID为B3以及B3对应的SR policy为SR policy4。使用B3配置的function(End.DB6)将SRv6隧道报文引流到SR policy4,并对报文进行处理,剥掉Outer IPv6 header后,又封装一个与SR policy4对应的Outer IPv6 header。然后,重新封装后的SRv6隧道报文被转发至RDC网络内。
Step 2.6:在RDC网络内的处理与EDC网络内的处理类似(Step 2.3),例如,SRv6隧道报文可转发给vWOC处理,在完成RDC网络内的处理后,SRv6隧道报文中的Active SID变为B4,SRv6隧道报文会根据B4回送给DCGW。
Step 2.7:DCGW在接收到RDC回送的SRv6隧道报文时,确定Active SID为B4,由于B4的Function为End.DT6,因此,在剥掉Outer IPv6 header后,使用Inner IPv6 header的DA(即AC2)查询My Local SID table,然后,再将包含Inner IPv6 header的报文转发给PE。
Step 2.8:PE在接收到上述IPv6报文时,确定报文头中作为目的地址的SID为AC2,使用AC2配置的function(End.DX2)关联到对应的AC口,对报文进行处理,剥掉Inner IPv6header后,使用这个AC口发送Ethernet帧。
本申请实施例中上述步骤Step2.2至Step2.8的技术细节可参看本申请前述实施例中的描述。
从上述实施例可知,在应用于基于SRv6的L2VPN/L3VPN时,通过在业务报文(Ethernet/IPv4/IPv6)的前面封装两层IPv6 header(可以携带SRH,也可以不携带SRH),实现了Transport layer与Service layer的分离,从而降低了对SRv6MSD的需求。
通过本申请定义的新的SRv6Function(End.DB6),并且将该Function部署在分级DC(ADC/EDC/RDC/CDC)的网关设备上,结合SR BSID机制,对外(Metro/Core Network)屏蔽了分级DC内部的拓扑与业务信息,从而有效地实现了SRv6SFC。
此外,由于可以满足前述实施例中描述的约束条件,从而可以高效地应用于电信云的SRSFC场景。并且,由于只需要入口Ingress PE(PRE-AGG)和分级DC的网关设备(PE-AGG/DCGW)上进行少量改动,实现简单。借助SDN Controller,可以自动生成和下发相关的SR policy,部署便利。另外,同时支持SR最短路径(Best Effort,BE)模式(指IGP使用最短路径算法计算得到的最优SR LSP)和SR流程工程(Traffic Engineering,TE)模式,同时适用于各种类型的SRv6 VPN(包括:BGP SRv6 L3VPN、EVPN SRv6 L2VPN/L3VPN等),上述技术方案的适用范围广泛。
图13为本申请提供的数据转发装置的结构示意图,如图13所示,本申请实施例提供的数据转发装置1300可以包括接收模块1310,处理模块1320,发送模块1330。
在本申请实施例的一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤。其中,
接收模块1310,可用于获取待转发数据;
处理模块1320,可用于获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;以及将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文;
发送模块1330,可用于根据所述第一SID序列,发送所述待转发报文;其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M。
在本实施方式的一种可能的实现方式中,接收模块1310,还可以用于在获取所述待转发数据对应的第一SID序列之前,接收控制器发送的SR policy,所述SR policy包括所述第一SID序列;
处理模块1320,可以具体用于根据所述待转发数据的业务属性,获取所述待转发数据对应的SR policy;并将所述SR policy中包含的SID序列,确定为所述待转发数据对应的所述第一SID序列。
在本实施方式的一种可能的实现方式中,所述头节点与DCN的入口边缘节点通过基础转发网络连接;
所述目标转发路径可以包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列根据所述DCN的入口边缘节点的SID生成;
发送模块1330可以具体用于根据所述第一SID序列,通过所述基础转发网络向所述DCN的入口边缘节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述头节点与DCN中的第一DCN子网的入口边缘节点通过基础转发网络中的第一基础转发网络连接;所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过所述基础转发网络中的第二基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列根据所述第一DCN子网的入口边缘节点的SID生成;
发送模块1330,可以具体用于根据所述第一SID序列,通过所述第一基础转发网络向所述第一DCN子网的入口边缘节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述头节点为PRE-AGG,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW。
在本实施方式的一种可能的实现方式中,所述第一DCN子网中的至少一个SF节点和所述第二DCN子网中的至少一个SF节点为电信云网络中的SF节点;
所述第一基础转发网络为Metro网络,所述第二基础转发网络为Core网络。
在本实施方式的一种可能的实现方式中,所述目标转发路径中的第M个节点为所述待转发数据对应的VPN业务的目标节点;
处理模块1320,可以具体用于将包含所述目标节点的SID的内层报文头,封装在所述待转发数据的前端;将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;将具有所述外层报文头和所述内层报文头的待转发数据作为所述待转发报文;
发送模块1330,可以具体用于根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述待转发报文为SRv6报文。
在本申请实施例的另一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中中间节点执行的步骤。其中,
接收模块1310,可用于接收待转发报文,所述待转发报文的报文头包含第一SID序列;
处理模块1320,可用于获取所述待转发报文对应的第二SID序列;以及,将所述报文头中的所述第一SID序列替换为所述第二SID序列;
发送模块1330,可用于根据所述第二SID序列,发送所述待转发报文;其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
在本实施方式的一种可能的实现方式中,所述待转发报文可以为SRv6报文。
在本实施方式的一种可能的实现方式中,所述中间节点可以为所述M个节点中的第Y个节点。
在本实施方式的一种可能的实现方式中,接收模块1310,可具体用于在获取所述待转发报文对应的第二SID序列之前,接收控制器发送的SR policy,所述SR policy包括所述第二SID序列;
处理模块1320,可以具体用于在所述第一SID序列中的Active SID为所述中间节点的SID时,获取function,所述function用于指示所述中间节点将所述待转发报文中的所述第一SID序列替换为所述SR policy中包含的所述第二SID序列;将所述function对应的所述SR policy中包含的所述第二SID序列确定为所述待转发报文对应的所述第二SID序列;根据所述function的指示,将所述报文头中的所述第一SID序列替换为所述第二SID序列。
在本实施方式的一种可能的实现方式中,所述中间节点为DCN的入口边缘节点,所述中间节点与基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中至少一个SF节点和所述DCN的出口边缘节点的SID生成的;
接收模块1310,可以具体用于通过基础转发网络接收头节点发送的所述待转发报文;
发送模块1330,可以具体用于根据所述第二SID序列,通过所述DCN的内部节点向所述DCN的至少一个SF节点中的第一个SF节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述中间节点为DCN中的第一DCN子网的出口边缘节点,所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点生成的;
所述第二SID序列为根据所述第二DCN子网的入口边缘节点生成的;
接收模块1310,可具体用于通过所述第一DCN子网的内部节点,接收所述第一DCN子网中所述至少一个SF节点中的最后一个SF节点发送的所述待转发报文;
发送模块1330,可具体用于根据所述第二SID序列,通过所述基础转发网络向所述第二DCN子网的入口边缘节点发送所述待转发报文。
在本实施方式的一种可能的实现方式中,所述第一DCN子网为EDC网络,所述第二DCN子网为RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW。
在本实施方式的一种可能的实现方式中,所述EDC网络中的至少一个SF节点和所述RDC网络中的至少一个SF节点为电信云网络中的SF节点。
在本实施方式的一种可能的实现方式中,所述Z小于M;所述目标转发路径中的第M个节点为所述待转发报文对应的VPN业务的目标节点;所述待转发报文具有外层报文头和内层报文头,其中,所述外层报文头封装在所述内层报文头的前端;所述外层报文头包含所述第一SID序列,所述内层报文头包含所述VPN业务的目标节点;
处理模块1320,可具体用于将所述外层报文头中的所述第一SID序列替换为所述第二SID序列;
发送模块1330,可具体用于根据所述外层报文头中的搜书第二SID序列,发送所述待转发报文。
在本申请实施例的再一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中尾节点执行的步骤。其中,
接收模块1310,可用于接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;
处理模块1320,可用于去除所述待转发报文的报文头,得到待转发数据;
发送模块1330,可用于根据所述待转发数据自身的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
在本申请实施例的又一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中尾节点执行的步骤。其中,
接收模块1310,可用于接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID;
处理模块1320,可用于去除所述待转发报文的外层报文头,得到待转发报文;
发送模块1330,可用于向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
在本申请实施例的又一种实施方式中,数据转发装置1300可用于执行前述任一实施例中所示数据转发方法中控制器执行的步骤。其中,
接收模块1310,可用于获取目标转发路径,所述目标转发路径包括M个节点;
处理模块1320,可用于根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;以及,根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
发送模块1330,可用于向头节点发送所述第一SID序列;以及,向中间节点发送所述第二SID序列;其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或者N+1,Y小于或者等于M;
所述第一SID序列被所述头节点用于发送所述头节点接收的待转发数据;
所述第二SID序列被所述中间节点用于发送所述中间节点接收的待转发报文。
在本实施方式的一种可能的实现方式中,所述头节点用于将所述第一SID序列作为报文头中的目的地址,将所述报文头封装在待转发数据的前端,生成待转发报文,并根据所述目的地址向所述中间节点发送所述待转发报文;所述中间节点用于将所述待转发报文的报文头中的所述第一SID序列替换为所述第二SID序列,并根据替换后的报文头中的目的地址转发所述待转发报文。
在本实施方式的一种可能的实现方式中,发送模块1330,可具体用于向所述头节点发送SR policy1,所述SR policy1包含所述第一SID序列;
发送模块1330,可具体用于向所述中间节点发送SR policy2,所述SR policy2包含所述第二SID序列。
在本实施方式的一种可能的实现方式中,所述控制器为DCN中的DCN controller。
本申请实施例提供的节点设备中,可以在不同场景中作为不同的角色,举例来说,同一节点设备可以在不同的SRv6隧道中充当头节点、中间节点、尾节点中任意一种或者多种角色,例如,节点设备1在场景1中为头节点,在场景2中为中间节点。此外,在一个场景中,同一节点设备也可以作为不同的角色,在一示例中,头节点和中间节点可以是同一节点设备,在另一示例中,中间节点和尾节点可以是同一节点设备。在这种情况下,上述用于执行头节点的功能的数据传输装置中的接收模块还可以具有用于执行中间节点的功能的数据传输装置中的接收模块的功能,类似地,上述用于执行头节点的功能的数据传输装置中的处理模块还可以具有用于执行中间节点的功能的数据传输装置中的处理模块的功能,上述用于执行头节点的功能的数据传输装置中的发送模块还可以具有用于执行中间节点的功能的数据传输装置中的发送模块的功能。
本申请实施例,上述数据传输装置中各个模块的处理的详细实现过程可以参考上述图2、图2、3、6、8中所对应的实施例中的处理步骤,此处不再予以赘述。
图14为本申请提供的节点设备的结构示意图。如图14所示,本申请还提供一种节点设备1400,包括:
一个或多个处理器1410;
存储装置1420,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述实施例中所示数据转发方法中头节点执行的步骤,或者,上述实施例中所示数据转发方法中中间节点执行的步骤,或者,上述实施例中所示数据转发方法中尾节点执行的步骤,或者,上述实施例中所示数据转发方法中控制器执行的步骤。
在本申请实施例中,上述节点设备还可以包括接口1430,接口可以用于接收其他节点设备发送待转发数据或者待转发报文,或者,用于向其他节点设备发送经过本节点设备处理后的待转发数据或者带转发报文。
在本申请实施例中,上述节点设备中的处理器、存储装置、接口可以通过总线1460连接。
在本申请实施例的一种实施方式中,上述节点设备可以为DCN中的边缘设备。
在本申请实施例的一种实施方式中,上述节点设备可以为PRE-AGG设备,可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤。
在本申请实施例的一种实施方式中,上述节点设备可以为PE-AGG设备,可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤,或者,可用于执行前述任一实施例中所示数据转发方法中中间节点执行的步骤。
在本申请实施例的一种实施方式中,上述节点设备可以为DCGW设备,可用于执行前述任一实施例中所示数据转发方法中的头节点执行的步骤,或者,可用于执行前述任一实施例中所示数据转发方法中中间节点执行的步骤。
在本申请实施例的一种实施方式中,上述节点设备可以为DCN控制器设备,可用于执行前述任一实施例中所示数据转发方法中的控制器执行的步骤。
本申请还提供一种数据转发系统,其中可以包括:头节点、至少一个中间节点。
在一种可能的实现方式中,所述系统还可以包括尾节点。
在一种可能的实现方式中,所述系统还可以包括控制器。
其中,头节点、中间节点、尾节点可以相互配合,执行前述任一实施例中所示数据转发方法中各个节点执行的步骤。在一示例中,头节点可以为PE-AGG,中间节点可以为PRE-AGG和/或DCGW,尾节点可以为DCGW。在一示例中,所述控制器为数据中心网络的控制器DCNController。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,当该指令在计算机上运行时,用于执行上述各个附图任一所示的方法实施例中涉及头节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及中间节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及尾节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及控制器的步骤。在一种可能的实现方式中,所述计算机存储介质还可以同时用于执行上述头节点、中间节点、尾节点中至少一种节点涉及的步骤。
本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行上述各个附图任一所示的方法实施例中涉及头节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及中间节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及尾节点的步骤,或者,用于执行上述各个附图任一所示的方法实施例中涉及控制器的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
Claims (34)
1.一种数据转发方法,其特征在于,所述方法包括:
头节点获取待转发数据;
所述头节点获取所述待转发数据对应的第一段标识SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;
所述头节点将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文,所述待转发报文为SRv6报文;
所述头节点根据所述第一SID序列,发送所述待转发报文;
其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M;
所述将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,包括:将包含所述目标转发路径中的第M个节点的SID的内层报文头,封装在所述待转发数据的前端;将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;将具有所述外层报文头和所述内层报文头的待转发数据作为所述待转发报文。
2.根据权利要求1所述的方法,其特征在于,在获取所述待转发数据对应的第一SID序列之前,所述方法包括:所述头节点接收控制器发送的段路由策略SR policy,所述SRpolicy包括所述第一SID序列;
所述获取所述待转发数据对应的第一SID序列,包括:所述头节点根据所述待转发数据的业务属性,获取所述待转发数据对应的SR policy;并将所述SR policy中包含的SID序列,确定为所述待转发数据对应的所述第一SID序列。
3.根据权利要求1或2所述的方法,其特征在于,所述头节点与数据中心网络DCN的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个业务功能SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中的至少一个SF和所述DCN的出口边缘节点生成的;所述第一SID序列在所述DCN的入口边缘节点被替换为所述第二SID序列;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述基础转发网络向所述DCN的入口边缘节点发送所述待转发报文。
4.根据权利要求1或2所述的方法,其特征在于,所述头节点与数据中心网络DCN中的第一DCN子网的入口边缘节点通过基础转发网络中的第一基础转发网络连接;所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过所述基础转发网络中的第二基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网的入口边缘节点的SID生成的;所述第一SID序列在所述第一DCN子网的入口边缘节点被替换为所述第二SID序列,所述第二SID序列为根据所述第一DCN子网中的至少一个SF和所述第一DCN子网的出口边缘节点生成的;所述第二SID序列在所述第一DCN子网的出口边缘节点被替换为第三SID序列,所述第三SID序列为根据所述第二DCN子网的入口边缘节点生成的;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述第一SID序列,通过所述第一基础转发网络向所述第一DCN子网的入口边缘节点发送所述待转发报文。
5.根据权利要求4所述的方法,其特征在于,所述头节点为二级汇聚设备PRE-AGG,所述第一DCN子网为边缘数据中心EDC网络,所述第二DCN子网为大区数据中心RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为一级汇聚设备PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为数据网关DCGW。
6.根据权利要求4所述的方法,其特征在于,所述第一DCN子网中的至少一个SF节点和所述第二DCN子网中的至少一个SF节点为电信云网络中的SF节点;
所述第一基础转发网络为城域网络,所述第二基础转发网络为骨干网络。
7.根据权利要求1-2,5-6任一所述的方法,其特征在于,所述目标转发路径中的第M个节点为所述待转发数据对应的虚拟专用网络VPN业务的目标节点;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
8.根据权利要求3所述的方法,其特征在于,所述目标转发路径中的第M个节点为所述待转发数据对应的虚拟专用网络VPN业务的目标节点;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
9.根据权利要求4所述的方法,其特征在于,所述目标转发路径中的第M个节点为所述待转发数据对应的虚拟专用网络VPN业务的目标节点;
所述根据所述第一SID序列,发送所述待转发报文,包括:根据所述外层报文头中的所述第一SID序列,发送所述待转发报文。
10.一种数据转发方法,其特征在于,所述方法包括:
中间节点接收待转发报文,所述待转发报文的报文头包含第一段标识SID序列,所述待转发报文为SRv6报文;
所述中间节点获取所述待转发报文对应的第二SID序列;
所述中间节点将所述报文头中的所述第一SID序列替换为所述第二SID序列;
所述中间节点根据所述第二SID序列,发送所述待转发报文;
其中,所述第一SID序列和所述第二SID序列分别为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M;
所述中间节点接收到的待转发报文具有外层报文头和内层报文头,其中,所述外层报文头封装在所述内层报文头的前端;所述外层报文头包含所述第一SID序列,所述内层报文头包含目标转发路径中的第M个节点的SID;
所述中间节点将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:所述中间节点将所述外层报文头中的第一SID序列替换为所述第二SID序列。
11.根据权利要求10所述的方法,其特征在于,所述中间节点为所述M个节点中的第Y个节点。
12.根据权利要求11所述的方法,其特征在于,在获取所述待转发报文对应的第二SID序列之前,所述方法包括:所述中间节点接收控制器发送的SR policy,所述SR policy包括所述第二SID序列;
所述获取所述待转发报文对应的第二SID序列,包括:在所述第一SID序列中的ActiveSID为所述中间节点的SID时,所述中间节点获取操作指令,所述操作指令用于指示所述中间节点将所述待转发报文中的所述第一SID序列替换为所述SR policy中包含的所述第二SID序列;所述中间节点将所述操作指令对应的所述SR policy中包含的所述第二SID序列确定为所述待转发报文对应的所述第二SID序列;
所述将所述报文头中的所述第一SID序列替换为所述第二SID序列,包括:根据所述操作指令的指示,将所述报文头中的所述第一SID序列替换为所述第二SID序列。
13.根据权利要求10-12任一所述的方法,其特征在于,所述中间节点为数据中心网络DCN的入口边缘节点,所述中间节点与基础转发网络连接;
所述目标转发路径包括:所述DCN的入口边缘节点、所述DCN中的至少一个SF节点和所述DCN的出口边缘节点;
所述第一SID序列为根据所述DCN的入口边缘节点的SID生成的;所述第二SID序列为根据所述DCN中至少一个SF节点和所述DCN的出口边缘节点的SID生成的;
所述中间节点接收待转发报文,包括:所述中间节点通过基础转发网络接收头节点发送的所述待转发报文;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所述DCN的内部节点向所述DCN的至少一个业务功能SF节点中的第一个SF节点发送所述待转发报文。
14.根据权利要求10-12任一所述的方法,其特征在于,所述中间节点为DCN中的第一DCN子网的出口边缘节点,所述第一DCN子网的出口边缘节点与所述DCN中的第二DCN子网的入口边缘节点通过基础转发网络连接;
所述目标转发路径包括:所述第一DCN子网的入口边缘节点、所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点、所述第二DCN子网的入口边缘节点、所述第二DCN子网中的至少一个SF节点和所述第二DCN子网的出口边缘节点;
所述第一SID序列为根据所述第一DCN子网中的至少一个SF节点、所述第一DCN子网的出口边缘节点生成的;
所述第二SID序列为根据所述第二DCN子网的入口边缘节点生成的;
所述中间节点接收待转发报文,包括:所述中间节点通过所述第一DCN子网的内部节点,接收所述第一DCN子网中所述至少一个SF节点中的最后一个SF节点发送的所述待转发报文;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述第二SID序列,通过所述基础转发网络向所述第二DCN子网的入口边缘节点发送所述待转发报文。
15.根据权利要求14所述的方法,其特征在于,所述第一DCN子网为边缘数据中心EDC网络,所述第二DCN子网为大区数据中心RDC网络,所述EDC网络的入口边缘节点和出口边缘节点均为PE-AGG,所述RDC网络的入口边缘节点和出口边缘节点均为DCGW。
16.根据权利要求15所述的方法,其特征在于,所述EDC网络中的至少一个SF节点和所述RDC网络中的至少一个SF节点为电信云网络中的SF节点。
17.根据权利要求10-12,15-16任一所述的方法,其特征在于,所述Z小于M;
所述目标转发路径中的第M个节点为所述待转发报文对应的虚拟专用网络VPN业务的目标节点;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述外层报文头中的搜书第二SID序列,发送所述待转发报文。
18.根据权利要求13所述的方法,其特征在于,所述Z小于M;
所述目标转发路径中的第M个节点为所述待转发报文对应的虚拟专用网络VPN业务的目标节点;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述外层报文头中的搜书第二SID序列,发送所述待转发报文。
19.根据权利要求14所述的方法,其特征在于,所述Z小于M;
所述目标转发路径中的第M个节点为所述待转发报文对应的虚拟专用网络VPN业务的目标节点;
所述根据所述第二SID序列,发送所述待转发报文,包括:根据所述外层报文头中的搜书第二SID序列,发送所述待转发报文。
20.一种数据转发方法,其特征在于,所述方法包括:
尾节点接收待转发报文,所述待转发报文的报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述待转发报文为SRv6报文;
去除所述待转发报文的报文头,得到待转发数据;
根据所述待转发数据的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID;
所述尾节点接收到的待转发报文具有外层报文头和内层报文头,其中,所述外层报文头封装在所述内层报文头的前端;所述外层报文头包含所述第二SID序列,所述内层报文头包含目标转发路径中的第M个节点的SID。
21.一种数据转发方法,其特征在于,所述方法包括:
尾节点接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID,所述待转发报文为SRv6报文;
去除所述待转发报文的外层报文头,得到待转发报文;
向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
22.一种数据转发方法,其特征在于,所述方法包括:
控制器获取目标转发路径,所述目标转发路径包括M个节点;
根据所述M个节点中的前N个节点的SID,生成第一SID序列;
根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
向头节点发送所述第一SID序列;
向中间节点发送所述第二SID序列;
其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或N+1,Y小于或者等于M;
所述头节点用于将包含所述目标转发路径中的第M个节点的SID的内层报文头,封装在待转发数据的前端;将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;将具有所述外层报文头和所述内层报文头的待转发数据作为待转发报文,并根据所述第一SID序列向所述中间节点发送所述待转发报文,所述待转发报文为SRv6报文;
所述中间节点用于将所述待转发报文的外层报文头中的所述第一SID序列替换为所述第二SID序列,并根据替换后的外层报文头中的第二SID序列转发所述待转发报文。
23.根据权利要求22所述的方法,其特征在于,所述向头节点发送所述第一SID序列,包括:向所述头节点发送SR policy1,所述SR policy1包含所述第一SID序列;
所述向中间节点发送所述第二SID序列,包括:向所述中间节点发送SR policy2,所述SR policy2包含所述第二SID序列。
24.根据权利要求23所述的方法,其特征在于,所述控制器为DCN中的DCN controller。
25.一种数据转发装置,其特征在于,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于头节点,所述装置包括:
接收模块,用于获取待转发数据;
处理模块,用于获取所述待转发数据对应的第一SID序列,所述第一SID序列为根据目标转发路径中的部分节点的SID生成的;以及将包含所述第一SID序列的报文头,封装在所述待转发数据的前端,得到待转发报文,所述待转发报文为SRv6报文;
发送模块,用于根据所述第一SID序列,发送所述待转发报文;其中,所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的前N个节点生成的,所述第一SID序列在中间节点被替换为第二SID序列,所述第二SID序列为根据所述M个节点中的第X个至第Y个节点生成的,其中,M大于N,N大于或者等于1,X大于或者等于N,Y小于或者等于M;
其中,所述处理模块具体用于,将包含所述目标转发路径中的第M个节点的SID的内层报文头,封装在所述待转发数据的前端;将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端;将具有所述外层报文头和所述内层报文头的待转发数据作为所述待转发报文。
26.一种数据转发装置,其特征在于,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于中间节点,所述装置包括:
接收模块,用于接收待转发报文,其中,所述中间节点接收到的待转发报文具有外层报文头和内层报文头,其中,所述外层报文头封装在所述内层报文头的前端;所述外层报文头包含第一SID序列,所述内层报文头包含目标转发路径中的第M个节点的SID,所述待转发报文为SRv6报文;
处理模块,用于获取所述待转发报文对应的第二SID序列;以及,将所述外层报文头中的所述第一SID序列替换为所述第二SID序列;
发送模块,用于根据所述第二SID序列,发送所述待转发报文;其中,所述第一SID序列和所述第二SID序列为根据目标转发路径中的部分节点的SID生成的;所述目标转发路径包括M个节点,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点的SID生成,所述第二SID序列为根据所述M个节点中的第Y+1个节点至第Z个节点的SID生成,所述X大于或者等于1,所述Y大于或者等于X,所述Z小于或者等于M。
27.一种数据转发装置,其特征在于,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于尾节点,所述装置包括:
接收模块,用于接收待转发报文,所述尾节点接收到的待转发报文具有外层报文头和内层报文头,其中,所述外层报文头封装在所述内层报文头的前端;所述外层报文头包含第二SID序列,所述内层报文头包含目标转发路径中的第M个节点的SID;所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述待转发报文为SRv6报文;
处理模块,用于去除所述待转发报文的报文头,得到待转发数据;
发送模块,用于根据所述待转发数据自身的目的地址转发所述待转发数据;
其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第Z个节点至第M个节点的SID生成的;所述第二SID序列为在中间节点替换第一SID序列得到的,所述第一SID序列为根据所述M个节点中的第X个节点至第Y个节点生成的,所述Z大于1且小于或等于M,所述X大于或者等于1,所述Y小于或者等于Z,所述尾节点的SID为所述第二SID序列中的最后一个SID。
28.一种数据转发装置,其特征在于,应用于网络系统,所述网络系统包括头节点、中间节点和尾节点,所述装置位于尾节点,所述装置包括:
接收模块,用于接收待转发报文,所述待转发报文包括外层报文头和内层报文头,所述外层报文头包含第二SID序列,所述第二SID序列为根据目标转发路径中的部分节点的SID生成的,所述内层报文头包含所述待转发报文对应的VPN业务的目标节点的SID,所述待转发报文为SRv6报文;
处理模块,用于去除所述待转发报文的外层报文头,得到待转发报文;
发送模块,用于向所述待转发报文对应的VPN业务的目标节点转发所述去除外层报文头后的待转发报文;其中,所述目标转发路径包括M个节点,所述第二SID序列为根据所述M个节点中的第X个节点至第M-1个节点的SID生成的;所述X大于1,所述尾节点的SID为所述第二SID序列中的最后一个SID;所述VPN业务的目标节点为所述第M个节点。
29.一种数据转发装置,其特征在于,应用于网络系统,所述网络系统包括头节点、中间节点、尾节点和控制器,所述装置位于控制器,所述装置包括:
接收模块,用于获取目标转发路径,所述目标转发路径包括M个节点;
处理模块,用于根据所述M个节点中的第1个至第N个节点的SID,生成第一SID序列;以及,根据所述M个节点中的第X个至第Y个节点的SID,生成第二SID序列;
发送模块,用于向头节点发送所述第一SID序列;以及,向中间节点发送所述第二SID序列;其中,所述中间节点为所述M个节点中的第N个节点,N大于或者等于1,X等于N或者N+1,Y小于或者等于M;其中,所述头节点用于将包含所述目标转发路径中的第M个节点的SID的内层报文头,封装在待转发数据的前端,将包含所述第一SID序列的外层报文头,封装在所述内层报文头的前端,将具有所述外层报文头和所述内层报文头的待转发数据作为待转发报文,并根据所述第一SID序列向所述中间节点发送所述待转发报文,所述待转发报文为SRv6报文;所述中间节点用于将所述待转发报文的外层报文头中的所述第一SID序列替换为所述第二SID序列,并根据替换后的外层报文头中的第二SID序列转发所述待转发报文。
30.一种数据转发系统,其特征在于,所述系统包括:
头节点,所述头节点用于执行权利要求1至7任一所述的数据转发方法;
至少一个中间节点,所述中间节点用于执行权利要求8至15任一所述的数据转发方法。
31.根据权利要求30所述的系统,其特征在于,所述系统还包括:
尾节点,所述尾节点用于执行权利要求16或17所述的数据转发方法。
32.根据权利要求30所述的系统,其特征在于,所述系统还包括:
控制器,所述控制器用于执行权利要求18-19任一所述的数据转发方法。
33.根据权利要求31所述的系统,其特征在于,所述头节点为一级汇聚设备PE-AGG,所述中间节点为二级汇聚设备PRE-AGG或者数据网关DCGW,所述尾节点为DCGW。
34.根据权利要求32所述的系统,其特征在于,所述控制器为数据中心网络的控制器DCN Controller。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910094301.8A CN111510387B (zh) | 2019-01-30 | 2019-01-30 | 数据转发方法及相关装置 |
PCT/CN2020/071570 WO2020156105A1 (zh) | 2019-01-30 | 2020-01-11 | 数据转发方法及相关装置 |
JP2021544358A JP7290732B2 (ja) | 2019-01-30 | 2020-01-11 | データ転送方法及び関連する装置 |
EP20749251.3A EP3907942B1 (en) | 2019-01-30 | 2020-01-11 | Data forwarding method and related device |
US17/386,954 US20210377173A1 (en) | 2019-01-30 | 2021-07-28 | Data forwarding method and related apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910094301.8A CN111510387B (zh) | 2019-01-30 | 2019-01-30 | 数据转发方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510387A CN111510387A (zh) | 2020-08-07 |
CN111510387B true CN111510387B (zh) | 2021-12-14 |
Family
ID=71840929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910094301.8A Active CN111510387B (zh) | 2019-01-30 | 2019-01-30 | 数据转发方法及相关装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210377173A1 (zh) |
EP (1) | EP3907942B1 (zh) |
JP (1) | JP7290732B2 (zh) |
CN (1) | CN111510387B (zh) |
WO (1) | WO2020156105A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11356361B2 (en) * | 2019-04-04 | 2022-06-07 | Cisco Technology, Inc. | Systems and methods for steering traffic into SR-TE policies |
US11411948B2 (en) | 2019-04-04 | 2022-08-09 | Cisco Technology, Inc. | Systems and methods for applying attestation tokens to LISP messages |
JP7056626B2 (ja) * | 2019-04-09 | 2022-04-19 | 日本電信電話株式会社 | 通信システム及び通信方法 |
US11777847B1 (en) * | 2020-02-12 | 2023-10-03 | Juniper Networks, Inc. | Point-to-multipoint transport chain |
CN111988395B (zh) * | 2020-08-18 | 2022-05-17 | 深圳信息职业技术学院 | 一种服务功能链构建系统及方法 |
CN114338495A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 业务处理方法以及相关设备 |
CN114374634A (zh) * | 2020-10-15 | 2022-04-19 | 华为技术有限公司 | 报文转发方法以及网络设备 |
CN112422426B (zh) * | 2020-10-28 | 2022-06-28 | 中盈优创资讯科技有限公司 | 基于sr的业务处理方法及装置 |
CN114629834B (zh) * | 2020-11-27 | 2023-06-27 | 华为技术有限公司 | 通信方法及装置 |
CN112422398B (zh) * | 2020-12-08 | 2022-04-15 | 中国联合网络通信集团有限公司 | 消息传输方法及通信装置 |
JP7527411B2 (ja) * | 2021-06-29 | 2024-08-02 | 新華三技術有限公司 | パケット転送方法、装置、ネットワークノードおよび記憶媒体 |
CN113726655B (zh) * | 2021-08-30 | 2022-09-20 | 新华三信息安全技术有限公司 | 一种报文引流方法、装置、头端设备及存储介质 |
CN116074243A (zh) * | 2021-11-03 | 2023-05-05 | 华为技术有限公司 | 一种报文传输方法、装置及设备 |
CN116264560B (zh) * | 2021-12-14 | 2024-07-26 | 中国移动通信有限公司研究院 | 路径规划方法及装置 |
CN114285781B (zh) * | 2021-12-17 | 2024-01-19 | 中国电信股份有限公司 | Srv6业务流量统计方法、装置、电子设备及介质 |
WO2023155068A1 (en) * | 2022-02-16 | 2023-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication device, sdn controller, and methods therein for facilitating path computation |
CN115277529A (zh) * | 2022-06-28 | 2022-11-01 | 新华三技术有限公司 | 通信方法及装置 |
CN115348203B (zh) * | 2022-10-12 | 2023-03-24 | 北京合众方达科技有限公司 | 一种基于TSN的IPv6网络方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436998A (zh) * | 2008-12-16 | 2009-05-20 | 华为技术有限公司 | 报文转发路径获取方法和报文转发装置 |
CN105337785A (zh) * | 2014-07-18 | 2016-02-17 | 华为技术有限公司 | 一种路径连通性检测方法及装置 |
CN107566272A (zh) * | 2017-10-17 | 2018-01-09 | 新华三技术有限公司 | 转发表建立方法及数据转发方法 |
CN108768848A (zh) * | 2018-09-04 | 2018-11-06 | 北京邮电大学 | 一种分段路由方法及装置 |
CN109067652A (zh) * | 2018-09-25 | 2018-12-21 | 盛科网络(苏州)有限公司 | 一种IPv6分段路由中节约段标识开销的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717950B2 (en) * | 2002-01-20 | 2004-04-06 | General Instrument Corporation | Method and apparatus for priority-based load balancing for use in an extended local area network |
US10270691B2 (en) * | 2016-02-29 | 2019-04-23 | Cisco Technology, Inc. | System and method for dataplane-signaled packet capture in a segment routing environment |
CN107666438B (zh) * | 2016-07-27 | 2021-10-22 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN107666436B (zh) * | 2016-07-27 | 2019-05-17 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
WO2018033769A1 (en) * | 2016-08-15 | 2018-02-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Segment routing based on maximum segment identifier depth |
US11134002B2 (en) * | 2018-10-22 | 2021-09-28 | Cisco Technology, Inc. | Packet network interworking including segment routing |
CN109218200B (zh) * | 2018-11-26 | 2021-05-28 | 新华三技术有限公司 | 一种报文处理方法及装置 |
-
2019
- 2019-01-30 CN CN201910094301.8A patent/CN111510387B/zh active Active
-
2020
- 2020-01-11 EP EP20749251.3A patent/EP3907942B1/en active Active
- 2020-01-11 JP JP2021544358A patent/JP7290732B2/ja active Active
- 2020-01-11 WO PCT/CN2020/071570 patent/WO2020156105A1/zh unknown
-
2021
- 2021-07-28 US US17/386,954 patent/US20210377173A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436998A (zh) * | 2008-12-16 | 2009-05-20 | 华为技术有限公司 | 报文转发路径获取方法和报文转发装置 |
CN105337785A (zh) * | 2014-07-18 | 2016-02-17 | 华为技术有限公司 | 一种路径连通性检测方法及装置 |
CN107566272A (zh) * | 2017-10-17 | 2018-01-09 | 新华三技术有限公司 | 转发表建立方法及数据转发方法 |
CN108768848A (zh) * | 2018-09-04 | 2018-11-06 | 北京邮电大学 | 一种分段路由方法及装置 |
CN109067652A (zh) * | 2018-09-25 | 2018-12-21 | 盛科网络(苏州)有限公司 | 一种IPv6分段路由中节约段标识开销的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3907942A1 (en) | 2021-11-10 |
EP3907942A4 (en) | 2022-03-02 |
CN111510387A (zh) | 2020-08-07 |
JP2022523087A (ja) | 2022-04-21 |
WO2020156105A1 (zh) | 2020-08-06 |
US20210377173A1 (en) | 2021-12-02 |
EP3907942B1 (en) | 2024-09-18 |
JP7290732B2 (ja) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111510387B (zh) | 数据转发方法及相关装置 | |
CN111541613B (zh) | 一种基于SRv6的数据处理方法及相关设备 | |
EP3836490B1 (en) | Vpn cross-domain implementation method, device, and border node | |
US10484203B2 (en) | Method for implementing communication between NVO3 network and MPLS network, and apparatus | |
JP6236221B2 (ja) | 管理プログラム、管理装置、およびネットワークシステム | |
CN112511444B (zh) | 一种组播流量传输方法、装置、通信节点及存储介质 | |
EP2945330B1 (en) | Route management method, route method, network controller and router | |
WO2016197344A1 (zh) | 实现业务链接的方法、设备及系统 | |
JP2018519763A (ja) | ネットワークサービスのパス計算要素集中コントローラ(pcecc) | |
CN106982157B (zh) | 流量工程隧道建立方法和装置 | |
EP3780514B1 (en) | Tunnel setup method, apparatus, and system | |
CN106453025A (zh) | 一种隧道创建方法及装置 | |
CN110611616A (zh) | 一种基于Radius服务器的流量调度方法、系统、设备和介质 | |
CN110417655B (zh) | 一种数据报文转发的方法及装置 | |
CN113904981B (zh) | 一种路由信息处理方法、装置、电子设备和存储介质 | |
EP3846392B1 (en) | Cross-domain bidirectional tunnel creation method, communication method and apparatus, and storage medium | |
CN110460507A (zh) | 业务承载方法、装置 | |
CN115695284A (zh) | 算力网络中的回程流量引流方法、装置、设备及存储介质 | |
WO2021115397A1 (zh) | 业务链转发控制方法及装置、业务组网 | |
WO2015149623A1 (zh) | 一种业务隧道建立方法及设备 | |
CN115766560A (zh) | 数据转发方法、装置、路由器及存储介质 | |
CN117411819A (zh) | 一种路由发布方法、通信方法及装置 | |
CN117640512A (zh) | 通信方法及装置 | |
CN115914094A (zh) | 一种路由发布方法、报文转发方法、设备及系统 | |
Jiang | Ethernet VPN Prototyping on Next Generation NPU: Comparison of VPLS and Ethernet VPN Technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |