CN111600797B - 一种数据传输方法、节点以及系统 - Google Patents

一种数据传输方法、节点以及系统 Download PDF

Info

Publication number
CN111600797B
CN111600797B CN201910129842.XA CN201910129842A CN111600797B CN 111600797 B CN111600797 B CN 111600797B CN 201910129842 A CN201910129842 A CN 201910129842A CN 111600797 B CN111600797 B CN 111600797B
Authority
CN
China
Prior art keywords
target
node
path
label
address
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
Application number
CN201910129842.XA
Other languages
English (en)
Other versions
CN111600797A (zh
Inventor
李泰新
谭佳瑶
窦宗新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910129842.XA priority Critical patent/CN111600797B/zh
Priority to PCT/CN2020/074260 priority patent/WO2020168905A1/zh
Priority to EP20734642.0A priority patent/EP3723329A4/en
Priority to US16/928,899 priority patent/US11570093B2/en
Publication of CN111600797A publication Critical patent/CN111600797A/zh
Application granted granted Critical
Publication of CN111600797B publication Critical patent/CN111600797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

本申请实施例公开了一种数据传输方法、节点和系统,用于根据接收到的数据报文中的Path‑ID确定目标标签/目标地址,进而确定对应的目标接口,并在目标接口转发数据报文。本申请实施例方法包括:转发节点接收数据报文,所述数据报文的标签栈包括Path‑ID,所述Path‑ID为约束路径的标识,所述约束路径为按一定次序排列的至少两个节点组成的路径;所述转发节点确定自身为所述约束路径中的一个节点;所述转发节点根据所述Path‑ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址,所述标签块/地址块包括至少一个标签/地址;所述转发节点根据所述目标标签/目标地址查找对应的目标接口;所述转发节点通过所述目标接口转发所述数据报文。

Description

一种数据传输方法、节点以及系统
技术领域
本申请涉及通信领域,尤其涉及一种数据传输方法、节点以及系统。
背景技术
段路由(segment routing,SR)是一种源路由技术,用于指示数据报文在网络中从源节点传输到目标节点的转发路径。源节点可以在数据报文中按照一定顺序添加段(segment),作为指示该数据报文在网络中的转发指令,这样的段称为段标识符(segmentidentifier,SID)。其中,一个SID用于指示一个节点,多个SID按一定顺序排列,得到SID列表,被编码到数据报文的标签栈中,使得当数据报文到达一个节点时,该节点根据该数据报文携带的SID列表,确定下一跳的节点,并将该数据报文发送到该下一跳的节点。但是若数据报文需要经过的节点非常多,那么这个SID列表就会非常长,那么该数据报文的标签栈的数据量占比会非常大,则该数据报文的负载的比例就会降低,使得传输效率低下。
当前,为了解决上述问题,源节点可以为约束路径确定一个多协议标签交换(multi-protocol label switching,MPLS)标签,并预先通知约束路径中的各个节点,以使得约束路径中的各个节点预先确定该MPLS标签和对应的接口,该对应的接口用于指示该约束路径中的下一跳节点。使得源节点在发送数据报文时,可以仅携带该MPLS标签,而不需要携带整个约束路径的SID列表。当约束路径中的节点接收到该数据报文时,可以根据该预先确定的MPLS标签查找相应的接口,并通过该接口转发该数据报文。
上述方法要求同一个约束路径的各个节点必须使用的MPLS标签,由于其他业务也在使用MPLS标签,不同节点的MPLS标签的使用情况不相同,无法保证不同的节点具有相同的MPLS标签,即使各个节点有相同的可用的MPLS标签,互相之间需要进行协商,执行难度较大。
发明内容
本申请实施例提供了一种数据传输方法、节点以及系统,用于根据接收到的数据报文中的Path-ID确定目标标签/目标地址,进而确定对应的目标接口,并在目标接口转发数据报文。
本申请第一方面提出了一种数据传输方法,包括:
转发节点接收数据报文,该数据报文的标签栈包括路径标识Path-ID,该Path-ID为约束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径;该转发节点确定自身为该约束路径中的一个节点;该转发节点根据该Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址,该标签块/地址块包括至少一个标签/地址;该转发节点根据该目标标签/目标地址查找对应的目标接口;该转发节点通过该目标接口转发该数据报文。
当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的标签块中确定目标标签,并查找与目标标签对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的标签,避免了各个转发节点没有共同的本地可用标签的情况。
在一些可能的实现方式中,该预设规则为:以该Path-ID的值为偏移量X,从该标签块/地址块中按照预设顺序选取第X个标签,作为该目标标签。通过相同的预设规则和相同的Path-ID,可以计算得到相同的目标标签,因此不需要各个节点使用相同的目标标签以表示约束路径。
在一些可能的实现方式中,该预设顺序为其数值从小到大的顺序,可行性更高,执行难度更小。
在一些可能的实现方式中,该转发节点接收数据报文之前,还包括:
该转发节点接收路径信息数据报文,该路径信息数据报文包括该约束路径和该Path-ID;该转发节点根据该约束路径确定下一跳节点,该下一跳节点为该约束路径中该转发节点的下一个节点;该转发节点根据该下一跳节点确定该目标接口;该转发节点根据该Path-ID按照该预设规则从该标签块/地址块中选择该目标标签/目标地址;该转发节点对应保存该目标标签/目标地址和该目标接口。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,该标签块为多协议标签交换MPLS标签块,则该转发节点对应保存该目标标签/目标地址和该目标接口包括:
该转发节点在标签转发表(label forwarding information base,LFIB)的目标表项中对应保存该目标标签和该目标接口,其中该目标标签存储在该目标表项的入标签,该目标接口存储在该目标表项的出接口。
在一些可能的实现方式中,该转发节点根据该下一跳节点确定该目标接口包括:
该转发节点确定该下一跳节点为该转发节点的不相邻节点;该转发节点从除了接收该数据报文的接口之外的接口中,选择该目标接口;该转发节点将该下一跳节点的标识存储在该目标表项的出标签中;该转发节点通过该目标接口转发该数据报文之前,还包括:该转发节点在该数据报文的标签栈压入该下一跳节点的标识。
通过上述保存的方式,利用了MPLS技术的转发的数据保存方式,使得最大限度地利用了现有的MPLS的协议,对协议本身进行最少的改变。
在一些可能的实现方式中,该转发节点根据该下一跳节点确定该目标接口包括:
该转发节点确定该下一跳节点为该转发节点的相邻节点;该转发节点确定该下一跳节点对应的接口,作为该目标接口;该转发节点将该Path-ID存储在该目标表项的出标签中。
当该转发节点转发数据报文时,可以将出标签中的Path-ID替换掉数据报文中栈顶的标签,由于数据报文的栈顶的标签也是Path-ID,则相当于保持同样的Path-ID在数据报文中进行转发,使得下一个接收到数据报文的转发节点可以根据相同的Path-ID执行与上一个转发节点相同的操作。
在一些可能的实现方式中,该地址块为IP地址块,该转发节点对应保存该目标标签/目标地址和该目标接口包括:
该转发节点在转发表(forwarding information base,FIB)的目标表项中对应保存该目标地址和该目标接口,其中该目标标签存储在该目标表项的地址中,该目标接口存储在该目标表项的接口中。
通过上述保存的方式,利用了互联网协议第6版(internet protocol version 6,IPv6)技术的转发的数据保存方式,使得最大限度地利用了现有的IPv6的协议,对协议本身进行最少的改变。
在一些可能的实现方式中,该转发节点根据该下一跳节点确定该目标接口包括:
该转发节点确定该下一跳节点为该转发节点的相邻节点;该转发节点确定该下一跳节点对应的接口,作为该目标接口。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,转发节点根据该下一跳节点确定该目标接口包括:该转发节点确定该下一跳节点为该转发节点的不相邻节点;该转发节点从除了接收该数据报文的接口之外的接口中,选择该目标接口;该转发节点将该下一跳节点的地址存储在该目标表项的地址中。通过上述保存的方式,利用了IPv6技术的转发的数据保存方式,使得最大限度地利用了现有的IPv6的协议,对协议本身进行最少的改变。
本申请第二方面提出了一种数据传输方法,包括:
源节点接收数据报文;该源节点根据该数据报文的目的IP地址确定目标节点;该源节点根据该目标节点确定Path-ID和对应的下一跳节点,该Path-ID为约束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径,该下一跳节点为该约束路径中该源节点的下一个节点,该目标节点为该约束路径中的最后一个节点;该源节点在该数据报文的标签栈中压入该Path-ID;该源节点向该下一跳节点发送该数据报文。
当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的地址块中确定目标地址,并查找与目标地址对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的地址,避免了各个转发节点没有共同的本地可用标签的情况。
在一些可能的实现方式中,该源节点根据数据报文的目标节点确定下一跳节点和对应的Path-ID之前,还包括:
该源节点接收路径信息数据报文,该路径信息数据报文包括该约束路径和该Path-ID,该源节点根据该约束路径确定该下一跳节点和目标节点,该源节点根据该目标节点确定该目标CE,该源节点对应存储该目标CE、该下一跳节点和该Path-ID。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
本申请第三方面提出了一种数据传输方法,包括:
收发器、存储器和处理器;该处理器用于执行该存储器中的计算机可读指令从而执行以下操作:接收数据报文,该数据报文的标签栈包括路径标识Path-ID,该Path-ID为约束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径;确定自身为该约束路径中的一个节点;根据该Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址,该标签块/地址块包括至少一个标签/地址;根据该目标标签/目标地址查找对应的目标接口;通过该目标接口转发该数据报文。
当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的标签块/地址块中确定目标标签/目标地址,并查找与目标标签/目标地址对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的标签/地址,避免了各个转发节点没有共同的本地可用标签的情况。
在一些可能的实现方式中,该预设规则为:以该Path-ID的值为偏移量X,从该标签块/地址块中按照预设顺序选取第X个标签/地址,作为该目标标签/目标地址。由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,该预设顺序为其数值从小到大的顺序,可行性更高,执行难度更小。
在一些可能的实现方式中,该处理器还用于:
接收路径信息数据报文,该路径信息数据报文包括该约束路径和该Path-ID;根据该约束路径确定下一跳节点,该下一跳节点为该约束路径中该转发节点的下一个节点;根据该下一跳节点确定该目标接口;根据该Path-ID按照该预设规则从该标签块/地址块中选择该目标标签/目标地址;对应保存该目标标签/目标地址和该目标接口。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,该标签块为多协议标签交换MPLS标签块,则该对应保存该目标标签/目标地址和该目标接口包括:在标签转发表LFIB的目标表项中对应保存该目标标签和该目标接口,其中该目标标签存储在该目标表项的入标签,该目标接口存储在该目标表项的出接口。在一些可能的实现方式中,该根据该下一跳节点确定该目标接口包括:确定该下一跳节点为该转发节点的不相邻节点;从除了接收该数据报文的接口之外的接口中,选择该目标接口;将该下一跳节点的标识存储在该目标表项的出标签中;通过该目标接口转发该数据报文之前,还包括:在该数据报文的标签栈压入该下一跳节点的标识。
通过上述保存的方式,利用了MPLS技术的转发的数据保存方式,使得最大限度地利用了现有的MPLS的协议,对协议本身进行最少的改变。
在一些可能的实现方式中,该根据该下一跳节点确定该目标接口包括:
确定该下一跳节点为该转发节点的相邻节点;确定该下一跳节点对应的接口,作为该目标接口;将该Path-ID存储在该目标表项的出标签中。
当该转发节点转发数据报文时,可以将出标签中的Path-ID替换掉数据报文中栈顶的标签,由于数据报文的栈顶的标签也是Path-ID,则相当于保持同样的Path-ID在数据报文中进行转发,使得下一个接收到数据报文的转发节点可以根据相同的Path-ID执行与上一个转发节点相同的操作。
在一些可能的实现方式中,该地址块为IP地址块,则该对应保存该目标标签/目标地址和该目标接口包括:在转发表FIB的目标表项中对应保存该目标地址和该目标接口,其中该目标标签存储在该目标表项的地址中,该目标接口存储在该目标表项的接口中。
在一些可能的实现方式中,该根据该下一跳节点确定该目标接口包括:
确定该下一跳节点为该转发节点的相邻节点;确定该下一跳节点对应的接口,作为该目标接口。由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,根据该下一跳节点确定该目标接口包括:确定该下一跳节点为该转发节点的不相邻节点;从除了接收该数据报文的接口之外的接口中,选择该目标接口;将该下一跳节点的地址存储在该目标表项的地址中。通过上述保存的方式,利用了IPv6技术的转发的数据保存方式,使得最大限度地利用了现有的IPv6的协议,对协议本身进行最少的改变。
本申请第四方面提出了一种数据传输方法,包括:
收发器、存储器和处理器;该处理器用于执行该存储器中的计算机可读指令从而执行以下操作:接收数据报文;根据该数据报文的目的IP地址确定目标节点;根据该目标节点确定Path-ID和对应的下一跳节点,该Path-ID为约束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径,该下一跳节点为该约束路径中该源节点的下一个节点,该目标节点为该约束路径中的最后一个节点;在该数据报文的标签栈中压入该Path-ID;向该下一跳节点发送该数据报文。
当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的标签块/地址块中确定目标标签/目标地址,并查找与目标标签/目标地址对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的标签/地址,避免了各个转发节点没有共同的本地可用标签的情况。
在一些可能的实现方式中,该处理器还用于:
接收路径信息数据报文,该路径信息数据报文包括该约束路径和该Path-ID,根据该约束路径确定该下一跳节点和目标节点,根据该目标节点确定该目标CE,对应存储该目标CE、该下一跳节点和该Path-ID。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
本申请第五方面提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请第六方面提出了一种数据传输系统,包括第三方面所述的转发节点和第四方面所述的源节点。
从以上技术方案可以看出,本申请实施例具有以下优点:
当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的标签块/地址块中确定目标标签/目标地址,并查找与目标标签/目标地址对应的目标接口,并通过目标接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的标签/地址,避免了各个转发节点没有共同的本地可用标签的情况。
附图说明
图1-1为数据传输系统的示意图;
图1-2为一种数据传输方法的实施例示意图;
图2-1为对网络中的各个节点的设置方法的示意图;
图2-2为一种数据传输方法的实施例示意图;
图2-3为各节点确定所属的约束路径的示意图;
图2-4为各节点的可用MPLS标签的示意图;
图2-5为P3的可用MPLS标签的示意图;
图2-6为各节点确定下一跳节点的示意图;
图2-7为各节点确定下一跳节点的另一示意图;
图3-1为一种数据传输方法的另一实施例示意图;
图3-2为数据报文的传输过程的示意图;
图4-1为一种数据传输方法的另一实施例示意图;
图4-2为数据报文的传输过程的另一示意图;
图5-1为对网络中的各个节点的设置方法;
图5-2为数据报文的传输过程的另一示意图;
图5-3为P3的可用的地址的示意图;
图6为一种数据传输方法的另一实施例示意图;
图7-1为一种数据传输方法的另一实施例示意图;
图7-2为数据报文的传输过程的示意图;
图8为一种转发节点的实施例示意图;
图9为一种源节点的实施例示意图;
图10为一种数据传输系统的实施例示意图。
具体实施方式
本申请实施例提供了一种数据传输方法、节点以及系统,用于根据接收到的数据报文中的Path-ID确定目标标签/目标地址,进而确定对应的目标接口,并在目标接口转发数据报文。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1-1(为数据传输系统的示意图)所示,本申请应用于数据传输系统100,该数据传输系统100包括骨干网边缘节点(provider edge,PE)、转发节点和用户边缘设备(customer edge,CE)。
其中,CE是服务提供商所连接的用户端路由器。CE通过连接一个或多个PE,为用户提供服务接入。CE通常是一台IP路由器,它与连接的PE建立邻接关系。PE是服务提供商骨干网的边缘路由器,是最重要的网络节点,主要用于连接CE和转发节点,使得用户的流量通过PE流入网络。转发节点是骨干网设备,包括P路由器(图1-1中以P指示转发节点),负责对数据报文的转发。
如图1-1所示,数据传输系统100包括P1/P2/P3/P4、PE1/PE2和CE1/CE2,当CE1和CE2需要进行通信时,可以通过P1/P2/P3/P4、PE1/PE2进行通信,具体的,CE1可以通过向PE1发送信息,以使得PE1通过P1/P2/P3/P4将信息发送到PE2,PE2再将信息发送给CE2。例如,用户在家里使用手机上网,当用户通过聊天软件向另一个用户的手机发送信息时,可以连接家庭路由器(CE1),家庭路由器(CE1)通过连接PE1以接入骨干网。手机将信息以数据报文的形式发给该家庭路由器(CE1),家庭路由器(CE1)根据数据报文中显示的目的IP地址,将数据报文发送给PE1,PE1根据目的IP地址将数据报文转发到转发节点(P3),转发节点(P3)将数据报文转发到另一个转发节点(P1),转发节点(P1)将数据报文转发到另一个转发节点(P2),转发节点(P2)将数据报文转发到另一个转发节点(PE2),PE2转发到对端的家庭路由器(CE2),最后由对端的家庭路由器(CE2)将数据报文发送给对端用户的手机。则可知,上述的数据报文的转发过程中,在网络中的路径为:PE1->P3->P1->P2->PE2。
需要说明的是,每个节点(CE/PE/转发节点)都有至少一个接口,不同的接口用于对应不同的相邻节点。如图1-1所示,PE1具有至少三个接口,分别是接口1、接口2和接口3,其中,接口1用于与CE1收发信息,接口2用于与P3收发信息,接口3用于与P1收发信息。如P3具有至少三个接口,分别是接口1、接口2和接口3,其中,接口1用于与PE1收发信息,接口2用于与P1收发信息,接口3用于与P4收发信息。如图1-1所示,PE1通过接口3向P3发送数据报文,P3通过接口1接收该数据报文,并通过接口2向P1转发该数据报文。需要说明的是,在骨干网中,若两个节点(PE或转发节点)能通过接口直接收发信息,则称该两个节点是相邻节点,一个节点是另一个节点的相邻节点。如图1-1所示,PE1的相邻节点包括P1和P3,反过来,PE1也是P1和P3的相邻节点。
在一些可能的实现方式中,数据传输系统100中的节点之间可以通过MPLS技术实现通信,也可以通过IPv6技术实现通信,此处不做限定。
在数据报文的传输过程中,为了提高传输效率,会以传输路径最短(经过的节点最少)为原则进行传输。如图1-1所示,当PE1接收到数据报文后,可以选择传输路径最短的路径,如PE1->P3->P4->PE2,或PE1->P1->P2->PE2。在一些情况下,为了负载均衡,转发节点在选择转发给哪个相邻节点时,会考虑比较“清闲”的节点。比如P1转发数据报文时,可以均衡地传输给P3或P2,即若P3比较“忙碌”,P2比较“清闲”,则会将数据报文优先传输给P2。
在一些情况下,为了满足某种需要,如计费、信息安全、防火墙等,需要对数据报文的路径进行约束,以限定该数据报文必须经过某些节点,这样的形成的路径,称为约束路径,约束路径是按一定次序排列的多个节点组成的路径。比如,当PE1要传输数据报文给PE2时,数据报文必须经过P3和P2,则PE1将数据报文发送给P3后,P3可以发送给P1或P4,然后让P1或P4将数据报文转发给P2,最后P2再转发给PE2。则约束路径为:PE1->P3->P2->PE2。
需要说明的是,约束路径主要包括两种,一种是严格约束路径,一种是松散约束路径。若该约束路径中的存在至少两个相邻的节点,在网络中不相邻,则称这样的约束路径为松散约束路径。如上所述的约束路径PE1->P3->P2->PE2,由于P2和P3是不相邻的,则该约束路径为松散约束路径。若在该约束路径中的任意两个相邻的节点,在网络中均相邻,则称这样的约束路径为严格约束路径。比如,约束路径PE1->P3->P1->P2->PE2为严格约束路径。需要说明的是,约束路径可以由系统或控制节点预先设置,也可以由源节点设置,此处不做限定。当设置了一条约束路径之后,如PE1->P3->P2->PE2,约束路径中的某个节点的下一个节点,称为下一跳节点,如PE1的下一跳节点为P3,P3的下一跳节点为P2。
需要说明的是,在一条约束路径中,将起点称为源节点,终点称为目标节点,将过程中用于转发数据报文的节点称为转发节点,则一条约束路径至少包括源节点、目标节点和至少一个转发节点。源节点可以为PE也可以为转发节点,此处不做限定。源节点接收到数据报文后,将数据报文通过该约束路径传输给目标节点。转发节点为网络中的节点,用于接收源节点或上一个转发节点发送的数据报文,并将数据报文转发给下一个转发节点或者目标节点。当前,为了实现数据报文沿着约束路径进行传输,可以通过SR技术。SR是一种源路由技术,用于指示数据报文在网络中从源节点传输到目标节点的转发路径。具体的,源节点可以在数据报文中按照一定顺序添加段,作为指示该数据报文在网络中的转发指令,这样的段称为SID。其中,一个SID用于指示一个节点,多个SID按一定顺序排列,得到SID列表,被编码到数据报文的标签栈中,使得当数据报文到达一个节点时,该节点根据该数据报文携带的SID列表,确定下一跳节点,并将该数据报文发送到该下一跳节点。
例如,若如图1-1所示的PE1需要沿着严格约束路径(PE1->P3->P1->P2->PE2)将数据报文传输到PE2,则该PE1需要在数据报文的标签栈上,分别依次压入PE2、P2、P1、P3的标识。如果PE2、P2、P1、P3的标识分别是16004、16005、16006、16605,那么PE1的标签栈中的SID列表中表项分别为16004、16005、16006、16605,得到如下表1所示的数据报文的结构:
16004
16005
16006
16605
负载
表1
PE1根据该标签栈中的栈顶的标识,识别到为P3,即将该数据报文转发给P3,P3接收到该数据报文后,P3将自己的标识“16004”进行“弹出”处理,即删除栈顶的标识“16004”,使得该数据报文的结构为:
16005
16006
16605
负载
表2
接着,P3识别到下一跳节点为标识为“16005”的P1,则将如表2所示的数据报文发送给P1。接着P1进行与P3相同的操作,将“16005”弹出,并将处理后的数据报文发送给P2,如此类推,一直转发到PE2未知。则PE2将数据报文转发给CE2,CE2在发给用户设备。需要说明的是,下一跳节点为在P3在约束路径中该节点的下一个节点。
在一些可能的实现方式中,若如图1-1所示的PE1需要沿着松散约束路径(PE1->P3->P2->PE2)将数据报文传输到PE2,由图1-1可知,P3和P2并不相邻,则当P3接收到数据报文后,识别得到P2的标识,可以根据路径最短的原则或者负载均衡的原则将数据报文转发给P1或者P4,以使得P1或P4将数据报文转发给P2。
但是若数据报文需要经过的节点非常多,那么标签栈中的SID列表就会非常长,那么该数据报文的标签栈的数据量占比会非常大,则该数据报文的负载的比例就会降低,使得传输效率低下。为了解决这个问题,源节点可以为约束路径确定一个标签,如在MPLS技术中的MPLS标签,并通知约束路径中的各个节点,以使得约束路径中的各个节点预先获得该约束路径的该MPLS标签,则节点会为该约束路径确定一个对应的接口,该对应的接口用于指示该约束路径中的下一跳节点。
以下举例说明,若约束路径为严格约束路径(PE1->P3->P1->P2->PE2),PE1可以预先为该约束路径在本地分配一个MPLS标签,如16005(以下以SID1指代),并全网通告,以使得约束路径上的P3、P1、P2、PE2均为该约束路径分配MPLS标签,均为SID1。以P3为例,P3获得该约束路径以及对应的MPLS标签后,可以在本地为该约束路径分配MPLS标签,同样为SID1。P3可以根据该约束路径确定下一跳节点P1,并确定该下一跳节点P1对应的接口2。需要说明的是,MPLS标签是一个32位的二进制数值。以下以SID标识进行标记,如SID1/SID2/SID3,如下表3所示:
SID1
负载
表3
则PE1可以将该数据报文发送给转发节点P3,且该数据报文的标签栈中具有SID1,由于P3预先为约束路径确定了为SID1的MPLS标签,P3可以识别SID1为约束路径的标识,并根据该SID1确定对应的接口2,然后将数据报文通过接口2转发给P1,P1进行类似的操作,将该数据报文一直转发到PE2。
这样,可以使得源节点在发送数据报文以及转发节点在转发数据报文时,可以在数据报文的标签栈中仅压入该约束路径的MPLS标签,而不需要压入整个约束路径的SID列表中的各个标识,使得标签栈在数据报文的占比下降,负载的占比提高,提高了数据的传输效率。
但是这个方法要求同一个约束路径的各个节点必须使用的MPLS标签,但是由于MPLS标签的数量有限,约束路径中的各个节点未必有相同的可用的MPLS标签。即使SID列表中所指示的各个节点有相同的可用的MPLS标签,互相之间需要进行协商,执行难度较大。
因此,在本申请提供了一种数据传输方法,请参考图1-2,该方法包括如下步骤:
S1、转发节点接收数据报文,该数据报文的标签栈包括路径标识Path-ID,该Path-ID为约束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径。
S2、该转发节点确定自身为该约束路径中的一个节点。
S3、该转发节点根据该Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址,该标签块/地址块包括至少一个标签/地址。
S4、该转发节点根据该目标标签/目标地址查找对应的目标接口。
S5、该转发节点通过该目标接口转发该数据报文。
通过上述步骤,数据报文在转发节点之间的转发过程中,转发节点通过识别数据报文的标签栈中的Path-ID,通过Path-ID按照预设规则从至少一个本地可用的MPLS标签中确定一个MPLS标签,作为目标标签,并在转发表中查找与目标标签对应的目标接口,并通过出接口转发数据报文,因此数据报文的标签栈中不需要具有各个转发节点相同的本地可用的MPLS标签,避免了各个转发节点没有共同的本地可用的MPLS标签的情况,因此也不需要各个转发节点进行协商以确定共同的本地可用标签,降低了执行难度。
有鉴于此,本申请提供了一种数据传输方法、节点以及系统,用于根据接收到的数据报文中的Path-ID确定目标标签/目标地址,进而确定对应的目标接口,并在目标接口转发数据报文。约束路径包括严格约束路径或者松散约束路径,节点对严格约束路径和松散约束路径中的信息提取和存储的方法不尽相同,而且当使用MPLS技术或者非MPLS技术(如IPv6技术)时,处理的过程也不尽相同,以下分别通过不同的实施例进行描述。
实施例一,MPLS技术。
本申请实施例分为两个部分,第一部分用于描述网络中的各个节点进行设置,第二部分用于描述数据报文在进行设置后的网络中的各个节点之间的传输和接收。
第一部分:请参考图2-1,为对网络中的各个节点的设置方法,包括:
201、控制节点向节点发送路径信息数据报文。
在本申请实施例中,网络中的各个节点首先接收路径信息数据报文。该路径信息数据报文可以由控制节点在网络中泛洪。控制节点用于泛洪路径信息数据报文,该控制节点可以是网络中的一个独立的节点,也可以是用于转发数据报文的节点之一,此处不做限定。在一些可能的实现方式中,网络管理员可以通过在控制节点中手动设置不同的约束路径,也可以通过输入生成不同约束路径的策略,以使得控制节点根据策略生成不同的约束路径。在一些可能的实现方式中,也可以由节点向控制节点发送请求消息,以请求约束路径,此处不做限定。
需要说明的是,该路径信息数据报文包括约束路径列表,该约束路径列表包括至少一个表项,每个表项存储着一条约束路径以及对应的Path-ID。结合图1-1的数据传输系统,约束路径列表可以包括2个表项,分别为Path-ID=2和Path-ID=3的约束路径,其约束路径分别是PE1->P3->P1->P2->PE2和PE1->P3->P2->PE2,如表4所示:
Path-ID 约束路径
2 PE1->P3->P1->P2->PE2
3 PE1->P3->P2->PE2
表4
202、节点识别自身所在的约束路径。
接收到该路径信息数据报文的节点通过在表4所示的约束路径列表中进行查找,确定自身所在的约束路径。如PE1查找到自身所在的约束路径为Path-ID=2和Path-ID=3的约束路径,而P3查找到自身所在的约束路径为Path-ID=2的约束路径。
当节点确定了自身所在的约束路径后,节点可以根据所在的约束路径中的信息进行提取,存储在转发表FIB或标签转发表LFIB中,以便在发送或转发数据报文的时候使用。需要说明的是,如果节点发现整个路径约束列表中均没有发现自己的所在的约束路径,则可以丢弃该路径信息数据报文。如P2没有发现自己处于如表4所示的约束路径列表的任何约束路径中,则P2可以丢弃该路径信息数据报文。
如表4所示,结合图1-1可知,Path-ID=2的约束路径为严格约束路径,Path-ID=3的约束路径为松散约束路径。
在本申请实施例中,如图2-2(为一种数据传输方法的实施例示意图)所示,Path-ID=2的约束路径中各个节点(PE1、P3、P1、P2、PE2)接收路径信息数据报文后,通过查询约束路径中的节点的信息,确定自身在Path-ID=2的约束路径中,其中,PE1为源节点,P3、P1、P2为转发节点,PE2为目标节点。如图2-3(为各节点确定所属的约束路径的示意图)所示,Path-ID=3的约束路径中各个节点(PE1、P3、P2、PE2)接收路径信息数据报文后,通过查询约束路径中的节点的信息,确定自身在Path-ID=3的约束路径中,其中,PE1为源节点,P3、P2为转发节点,PE2为目标节点。
在本申请实施例中,若节点确定自身为源节点,则根据所在的约束路径提取需要的信息,存储在FIB中,若节点确定自身为转发节点或目标节点,则根据所在的约束路径提前需要的信息,存储在LFIB中。
203、节点确定Path-ID对应的目标标签。
需要说明的是,MPLS标签是一个二进制的32位的数值,其可以标识的MPLS标签的总数量有限,每个转发节点可以按照预设规则从至少一个本地的可用MPLS标签中选取一个作为约束路径的目标标签。需要说明的是,“至少一个本地的可用MPLS标签”亦可称为标签块。
在一些可能的实现方式中,该预设规则可以为:以Path-ID的值为偏移量X,从至少一个本地可用的MPLS标签中按照预设顺序选取第X个MPLS标签,作为目标标签。具体的,该预设顺序为其数值从小到大的顺序。在一些可能的实现方式中,也可以为从大到小,或者其他顺序,此处不做限定。在本申请实施例中,偏移量X=2,则该预设规则可以为:从至少一个本地可用的MPLS标签中按照从小到大的顺序选取第2个MPLS标签,作为目标标签。偏移量X=3,则该预设规则可以为:从至少一个本地可用的MPLS标签中按照从小到大的顺序选取第3个MPLS标签,作为目标标签。
如图2-4(为各节点的可用MPLS标签的示意图)所示,假设PE1的本地可用的MPLS标签从小到大排列为10001、10002、10003、……,P3的本地可用的MPLS标签从小到大排列为20005、20006、20007、……,P1的本地可用的MPLS标签从小到大排列为30006、30007、30008、……,P2的本地可用的MPLS标签从小到大排列为40008、40009、40010、……,PE2的本地可用的MPLS标签从小到大排列为50020、50021、50022、……,则第2个MPLS标签为40009,则根据Path-ID=2,即偏移量X=2,P2的第2个MPLS标签为20006,P1的第2个MPLS标签为30007,P2的第2个MPLS标签为40009;根据Path-ID=3,即偏移量X=3,P2的第3个MPLS标签为20007,P1的第3个MPLS标签为30008,P2的第3个MPLS标签为40010。
需要说明的是,本地可用的MPLS标签是动态的,随时可能会更新。如P3的本地的MPLS标签中,标识19001本来是不可用的,在P3为Path-ID=2的约束路径分配了MPLS标签20006之后,标识19001可能空闲出来了,成了可用的MPLS标签。如图2-5(为P3的可用MPLS标签的示意图)所示,则P3可以重新为该Path-ID=2的约束路径分配MPLS标签。P3通过同样的预设规则,即从至少一个本地可用的MPLS标签中按照从小到大的顺序选取第2个MPLS标签,即20005。
204、节点根据约束路径确定下一跳节点,下一跳节点为该节点在约束路径中的下一个节点。
在本申请实施例中,如图2-6(为各节点确定下一跳节点的示意图)所示,PE1、P3、P1、P2、PE2分别根据Path-ID=2的约束路径确定下一跳节点。其中,PE1的下一跳节点为P3,P3的下一跳节点为P1,P1的下一跳节点为P2,P2的下一跳节点为PE2,由于PE2是目标节点,如图1-1所示,PE2的下一跳节点为CE2。
在本申请实施例中,如图2-7(为各节点确定下一跳节点的另一示意图)所示,PE1、P3、P2、PE2分别根据Path-ID=3的约束路径确定下一跳节点。其中,PE1的下一跳节点为P3,P3的下一跳节点为P2,P2的下一跳节点为PE2,由于PE2是目标节点,如图1-1所示,PE2的下一跳节点为CE2。
205、源节点根据约束路径的目标节点确定目标CE。
在本申请实施例中,作为源节点的PE1根据约束路径确定下一跳节点后,可以根据约束路径的目标节点确定对应的CE,作为目标CE。如图1-1所示的数据传输系统,PE2所对应的目标CE为CE2。需要说明的是,一个PE可以对应多个CE,也可以对应一个CE,此处不做限定。
206、源节点在FIB中存储目标CE、下一跳节点和Path-ID。
在本申请实施例中,PE1可以在FIB的一个表项中存储对应的目标CE、下一跳节点和Path-ID。需要说明的是,在本申请实施例中,PE1可以得到两个表项,分别是CE2,Path-ID=2,下一跳节点为P3,以及CE2,Path-ID=3,下一跳节点为P3。若Path-ID=4的约束路径为PE1->P1->P2->PE2,则PE1的的目标CE为CE2,下一跳节点为P1,对应的标签为4。
则可以得到PE1的FIB为:
Figure GDA0003798090700000131
表5
其中,FIB中的标签存储的是Path-ID的值。
在一些可能的实现方式中,PE1还可以在目标节点上保存五元组,根据该五元组确定下一跳节点。该五元组包括源IP地址,源端口,目的IP地址,目的端口和传输层协议。在一些可能的实现方式中,目标节点上还可以保存其他数据,只要可以对应下一跳节点,此处不做限定。
207、转发节点根据下一跳节点确定出接口。
在本申请实施例中,转发节点确定了下一跳节点后,可以根据下一跳节点确定出接口。如图1-1所示,在Path-ID=2的约束路径中,P3的接口1对应P1,P1的接口3对应P2,P2的接口3对应PE2,则P3的出接口为接口1,P1的出接口为接口3,P2的出接口为接口3。
在Path-ID=3的约束路径中,由于Path-ID=3的约束路径是松散约束路径,节点的下一跳节点未必是其相邻节点,如P3的下一跳节点是P2,但是P2并非P3的相邻节点,而P2的下一跳节点是PE2,PE2是P2的相邻节点。对于转发节点P3或P2,若其下一跳节点为相邻节点,确定该相邻节点对应的接口,作为出接口,即P2确定的接口为接口3;若其下一跳节点为不相邻节点,如P2对于P3,则P3根据下一跳节点(P2)从多个接口中选择一个,作为出接口。即P3从接口2(对应P1)或接口3(对应P4)中选择一个,作为出接口。在一些可能的实现方式中,P3可以以路径最短的原则选择出接口,即P3判断从P1通往P2和从P4通往P2之间,判断哪个路径比较短,选择较短的一个。在本申请实施例中,二者路径一样短,则可以以负载均衡的原则选择出接口。即P3可以选择比较“清闲”的节点,如P1比较繁忙,则选择P4,若P4比较繁忙,则选择P1。
208、转发节点在标签转发表LFIB中保存目标标签、出接口和Path-ID。
在本申请实施例中,转发节点P3、P1和P2可以在LFIB中保存目标标签、出接口和Path-ID,其中,目标标签保存在入标签中,Path-ID保存在出标签中,出接口保存在出接口中,则得到P3的LFIB:
Figure GDA0003798090700000141
表6
需要说明的是,Path-ID=3的约束路径中,P3的出接口可以为接口2也可以为接口3,在本申请实施例中,以接口3为例进行说明。需要说明的是,在转发节点的LFIB中,入标签和出标签是一一对应的,即可以通过一个入标签唯一确定一个出标签,也可以通过一个出标签唯一确定一个入标签,两个不同的入标签,必然对应不同的出标签,不同的出标签必然对应不同的入标签。而出接口并非与入标签或出标签对应的,即不同的入标签/出标签可以对应相同的出接口,也可以对应不同的出接口。P1的LFIB:
Figure GDA0003798090700000142
表7
需要说明的是,在本申请实施例中,P1在Path-ID=2的约束路径中,而不在Path-ID=3的约束路径中,因此这里仅显示一条表项。P2的LFIB:
Figure GDA0003798090700000143
表8
209、目标节点在LFIB中保存目标标签、弹出操作和Path-ID。
需要说明的是,在约束路径中的目标节点需要将接收到的数据报文发送给CE2,因此作为Path-ID=2以及Path-ID=3的约束路径的目标节点的PE2可以在LFIB的表项中存储Path-ID和对应的目标标签和弹出操作(POP),弹出操作用于对接收到的数据报文的标签栈中,移除其栈顶的SID。假设PE2的本地可用的MPLS标签块从小到大排列为50020、50021、50022、……,则根据Path-ID=2以及Path-ID=3,确定第2个MPLS标签为50021,第3个MPLS标签为50022。则得到下表:
Figure GDA0003798090700000144
表9
通过以上第一部分的步骤201-209,约束路径的各个节点对路径信息数据报文中的约束路径列表进行了信息提取和存储,以下通过第二部分的步骤301-310和步骤401-416,以Path-ID=2的约束路径(PE1->P3->P1->P2->PE2)和Path-ID=3的约束路径(PE1->P3->P2->PE2)为例分别进行描述。
第二部分:请参考图3-1,为一种数据传输方法,包括:
一、严格约束路径。
301、PE1接收CE1发送的数据报文。
在本申请实施例中,PE1可以接收CE1发送的数据报文。在一些可能的实现方式中,该数据报文由终端(如手机)发送给CE1,CE1根据数据报文的目的IP地址将数据报文转发给PE1。
302、PE1根据数据报文的目的IP地址确定目标CE。
该数据报文具有目的IP地址,该目的IP地址具有网络标识和主机标识,PE1可以根据网络标识确定目标CE。例如,在图1-1所示的数据传输系统中,PE1接收CE1的数据报文,其目标CE为CE2。
303、PE1根据目标CE从FIB中查找下一跳节点和标签。
在本申请实施例中,PE1可以根据PE2查询FIB中的表项,得到如表5所示的表项,则PE1可以根据该表项确定下一跳节点为P3和标签为2。
304、PE1根据下一跳节点确定对应的接口。
在本申请实施例中,PE1可以根据下一跳节点P3确定要发送数据报文的接口。如图1-1所示,P3为PE1的相邻节点,且P3对应PE1的接口3,则PE1可以确定P3的对应的接口为接口3。
305、PE1在数据报文的标签栈中压入Path-ID=2。
在本申请实施例中,PE1在发送数据报文之前,如图3-2(为数据报文的传输过程的示意图)所示,PE1在数据报文的标签栈中压入Path-ID=2,得到如下表所示的数据报文的结构:
Path-ID=2
负载
表10
306、PE1通过接口3发送数据报文。
在本申请实施例中,PE1压入Path-ID=2后,可以通过接口3向P3发送数据报文。
307、P3根据Path-ID=2按照预设规则从本地可用的标签块中确定MPLS标签,作为目标标签。
在本申请实施例中,如图3-2所示,P3通过查看数据报文的标签栈中栈底,识别得到Path-ID=2,然后按照预设规则从本地可用的标签块中确定MPLS标签,作为目标标签。在一些可能的实现方式中,该预设规则为:以Path-ID的值作为偏移量X,即X=2,从至少一个本地可用的MPLS标签中按照预设顺序选取第2个MPLS标签,作为目标标签,如从小到大的顺序。假设P3的本地可用的MPLS标签为20005,20006,20007、……,则第从小到大的第2个MPLS标签为20006,即目标标签为20006。在一些可能的实现方式中,假设P3的本地可用的MPLS标签为19001,20005,20006,……,则第从小到大的第2个MPLS标签为20005,即目标标签为20005。在一些可能的实现方式中,预设顺序也可以为从大到小,此处不做限定。在本申请实施例中,以P3的目标标签为20006为例进行说明。
由于P3确定目标标签的方式与上述PE1的相同,通过相同的方式,可以确定相同的目标标签,因此以Path-ID=2作为约束路径的标识,可以使得数据报文仅需要携带Path-ID的值,各个转发节点不需要具有相同的本地可用的MPLS标签,避免了各个转发节点没有共同的本地可用的MPLS标签的情况。
308、P3从LFIB中查找与标识20006对应的出接口和出标签。
当P3确定了目标标签20006之后,可以根据标识20006在如表6所示的LFIB中查找对应的出接口,得到出接口为接口2,出标签为2。需要说明的是,出接口为数据报文对数据报文进行发送的接口,确定了出接口为接口2,接口2对应P1,P3可以通过接口2向P1发送数据报文。出标签中的值用于压入数据报文中,用于指示接收到数据报文的节点确定Path-ID。
309、P3通过接口2向P1转发数据报文。
当确定了出接口为接口2之后,如图3-2所示,P3可以在接口2向P1转发该数据报文。需要说明的是,该数据报文仍然保留如表10所示的结构。
在本申请实施例中,当P1接收到数据报文后,如图3-2所示,P1可以通过与上述步骤306-308的步骤将数据报文转发给P2,P2可以通过与上述步骤306-308的步骤将数据报文转发给PE2,此处不做赘述。
310、PE2向CE2发送数据报文。
PE2接收到数据报文后,如表9所示的LFIB,通过弹出操作(POP),将数据报文的标签栈中的Path-ID=2弹出,使得数据报文的结构如下表:
负载
表11
PE2将进行弹出操作后,根据表9确定出接口为接口1,并将数据报文从接口1发送给CE2,以使得CE2将数据报文发送给用户终端。
一、松散约束路径。
需要说明的是,严格约束路径可以看作为松散约束路径的一种特例。
请参考图4-1,为一种数据传输方法,包括:
401、PE1接收CE1发送的数据报文。
402、PE1根据数据报文的目的IP地址确定目标CE。
本步骤401-402与上述步骤301-302相同,此处不做赘述。
403、PE1根据目标CE从FIB中查找下一跳节点和标签。
在本申请实施例中,PE1可以根据CE2查询FIB中的表项,得到如表5所示的表项,则PE1可以根据该表项确定下一跳节点为P3和标签为3。
404、PE1根据下一跳节点确定对应的接口。
本步骤404与上述步骤304相同,此处不做赘述。
405、PE1在数据报文的标签栈中压入Path-ID=3。
在本申请实施例中,PE1在发送数据报文之前,PE1在数据报文的标签栈中压入Path-ID=3,得到如下表所示的数据报文的结构:
Path-ID=3
负载
表12
406、PE1通过接口3向P3发送数据报文。
在本申请实施例中,PE1压入Path-ID=3后,可以接口3向P3发送数据报文。
407、P3根据Path-ID=3按照预设规则从本地可用的标签块中确定MPLS标签,作为目标标签。
在本申请实施例中,P3通过查看数据报文的标签栈中栈底,识别得到Path-ID=3,然后按照预设规则从本地可用的标签块中确定MPLS标签,作为目标标签。在一些可能的实现方式中,该预设规则为:以Path-ID的值作为偏移量X,即X=3,从至少一个本地可用的MPLS标签中按照预设顺序选取第3个MPLS标签,作为目标标签,如从小到大的顺序。假设P3的本地可用的MPLS标签为20005,20006,20007、……,则第从小到大的第3个MPLS标签为20007,即目标标签为20007。在一些可能的实现方式中,假设P3的本地可用的MPLS标签为19001,20005,20006,……,则第从小到大的第3个MPLS标签为20006,即目标标签为20006。在一些可能的实现方式中,预设顺序也可以为从大到小,此处不做限定。在本申请实施例中,以P3的目标标签为20007为例进行说明。
由于P3确定目标标签的方式与上述PE1的相同,通过相同的方式,可以确定相同的目标标签,因此以Path-ID=3作为约束路径的标识,可以使得数据报文仅需要携带Path-ID的值,各个转发节点不需要具有相同的本地可用的MPLS标签,避免了各个转发节点没有共同的本地可用的MPLS标签的情况。
408、P3在数据报文中压入P2的标识。
当P3确定了目标标签20007之后,可以根据标识20007在如表6所示的LFIB中查找对应的出接口,得到出接口为接口3,出标签为3。需要说明的是,出接口为数据报文对数据报文进行发送的接口,确定了出接口为接口3,接口3对应P4,则P3可以通过接口3向P4发送数据报文。由于P3的下一跳节点P2是不相邻节点,则P3需要再压入其中P2的标识18003,得到下表:
18003
Path-ID=3
负载
表13
409、P3从LFIB中查找与Path-ID=3对应的出接口和出标签。
在本申请实施例中,转发节点P3可以根据下一跳节点P2确定对应的接口,由于P3的下一跳节点为P2,但是P2不是P3的相邻节点,则P3可以选择一个从P3到P2的路径,即P3->P1->P2或P3->P4->P2,若是第一条路径,则对应接口2,若是第二条路径,则对应接口3。在一些可能的实现方式中,也可以选择接口1和接口2之间比较“清闲”的接口,作为出接口,此处不做限定。在一些可能的实现方式中,P3也可以不进行选择,而是根据上述步骤207中表6所示的接口3,作为与目标标签对应的出接口,此处不做限定。
410、P3通过接口3向P4转发数据报文。
当P3在数据报文中压入P2的标识之后,P3可以在接口2向P1转发该数据报文。需要说明的是,该数据报文仍然保留如表10所示的结构。
411、P4向P2发送数据报文。
在本申请实施例中,当P1接收到如表13所示的数据报文后,可以获取Path-ID=3,并判断自身是否在该Path-ID=3的约束路径上。由于P4并不在Path-ID=3的约束路径上,因此P4只需要按照数据报文的栈顶的标识18003对数据报文进行转发。则P4确定18003为P2的标识,且P2为P1的相邻节点,则P4根据P2确定接口2,则P4通过接口2向P2转发数据报文。在一些可能的实现方式中,若P2为P4的不相邻节点,则P4可以根据路径最短原则或者负载均衡原则从多个接口中选择一个接口,以P2为目标节点将数据报文发送出去,此处不做赘述。
412、P2根据Path-ID=3按照预设规则从本地可用的标签块中确定MPLS标签,作为目标标签。
在本申请实施例中,当P2接收到数据报文后,获取数据报文中的Path-ID=3,识别自身是该Path-ID=3的约束路径中的转发节点,若是,则P2根据Path-ID=3按照预设规则从本地可用的标签块中确定MPLS标签。在本申请实施例中,P2通过查看数据报文的标签栈中栈底,识别得到Path-ID=3,然后按照预设规则从本地可用的标签块中确定MPLS标签,作为目标标签。在一些可能的实现方式中,该预设规则为:以Path-ID的值作为偏移量X,即X=3,从至少一个本地可用的MPLS标签中按照预设顺序选取第3个MPLS标签,作为目标标签,如从小到大的顺序。假设P3的本地可用的MPLS标签为40008,40009,40010、……,则第从小到大的第3个MPLS标签为40010,即目标标签为40010。
由于P3确定目标标签的方式与上述PE1的相同,通过相同的方式,可以确定相同的目标标签,因此以Path-ID=3作为约束路径的标识,可以使得数据报文仅需要携带Path-ID的值,各个转发节点不需要具有相同的本地可用的MPLS标签,避免了各个转发节点没有共同的本地可用的MPLS标签的情况。
413、P2对数据报文的标签栈进行弹出操作。
在本申请实施例中,如图4-2所示(为数据报文的传输过程的另一示意图),P2可以将数据报文的标签栈中的18003弹出,或者将得到如表12的数据报文的结构。
414、P2从LFIB中查找与Path-ID=3对应的出接口和出标签。
如图4-2所示,其第3个可用的MPLS标签为40010,作为目标标签,然后从LFIB中查找与Path-ID=3对应的出接口和出标签,如表8所示,得到出接口为接口3,出标签为Path-ID=3。
415、P2通过出接口向PE2发送数据报文。
当确定了出接口后,P2可以通过出接口将数据报文发送给PE2。
416、PE2向CE2发送数据报文。
PE2接收到数据报文后,如表9所示的LFIB,通过弹出操作(POP),将数据报文的标签栈中的Path-ID=3弹出,使得数据报文的结构如下表11所示的结构,并将数据报文从如表9所示的接口1发送给CE2,以使得CE2将数据报文发送给用户终端。
在一些可行的实施例中,网络中的节点未必使用MPLS技术,也可能使用非MPLS技,术如IPv6技术,以下以IPv6技术为例对本申请进行描述。
实施例二,IPv6技术。
本申请实施例分为两个部分,第一部分用于描述网络中的各个节点进行设置,第二部分用于描述数据报文在进行设置后的网络中的各个节点之间的传输和接收。
第一部分:请参考图5-1,为对网络中的各个节点的设置方法,包括:
501、控制节点向节点发送路径信息数据报文。
502、节点识别自身所在的约束路径。
本步骤501-502与上述步骤201-202相同,此处不做赘述。
503、节点确定Path-ID对应的目标地址。
需要说明的是,本申请实施例所述的地址是本地的存储地址,是一个二进制的32位的数值,每个节点可以按照预设规则从地址块中选取一个作为约束路径的目标地址。
在一些可能的实现方式中,该预设规则可以为:以Path-ID的值为偏移量X,从至少一个本地可用的地址中按照预设顺序选取第X个地址,作为目标地址。具体的,该预设顺序为其数值从小到大的顺序。在一些可能的实现方式中,也可以为从大到小,或者其他顺序,此处不做限定。在本申请实施例中,偏移量X=2,则该预设规则可以为:从地址块中中按照从小到大的顺序选取第2个地址,作为目标地址。偏移量X=3,则该预设规则可以为:从地址块中按照从小到大的顺序选取第3个地址,作为目标地址。
如图5-2(为数据报文的另一示意图)所示,假设P3的地址块中的至少一个地址从小到大排列为IP1-1、IP1-2、IP1-3、……,P1的本地可用的地址从小到大排列为IP2-1、IP2-2、IP2-3、……,P2的本地可用的地址从小到大排列为IP3-1、IP3-2、IP3-3、……,PE2的本地可用的地址块从小到大排列为IP4-1、IP4-2、IP4-3、……,则第2个地址为IP3-2,则根据Path-ID=2,即偏移量X=2,P2的第2个地址为IP1-2,P1的第2个地址为IP2-2,P2的第2个地址为IP3-2,PE2的第2个地址为IP4-2;根据Path-ID=3,即偏移量X=3,P2的第3个地址为IP1-3,P1的第3个地址为IP2-3,P2的第3个地址为IP3-3,PE2的第3个地址为IP4-3。
需要说明的是,本地可用的地址是动态的,随时可能会更新。如P3的本地的地址中,标识IP1-0本来是不可用的,在P3为Path-ID=2的约束路径分配了地址IP1-2之后,标识IP1-0可能空闲出来了,成了可用的地址。如图5-3(为P3的可用的地址的示意图)所示,则P3可以重新为该Path-ID=2的约束路径分配地址。P3通过同样的预设规则,即从至少一个本地可用的地址中按照从小到大的顺序选取第2个地址,即IP1-1。
504、节点根据约束路径确定下一跳节点,下一跳节点为该节点在约束路径中的下一个节点。
505、源节点根据约束路径的目标节点确定目标CE。
506、源节点在FIB中存储约束路径的目标CE、下一跳节点和Path-ID。
507、转发节点根据下一跳节点确定对应的接口。
本步骤504-507与上述步骤204-207相同,此处不做赘述。
508、转发节点在FIB中保存目标地址和对应的接口。
在本申请实施例中,转发节点P3、P1和P2可以在FIB中保存目标地址和对应的接口,则得到P3的FIB:
Figure GDA0003798090700000201
表14
需要说明的是,Path-ID=3的约束路径中,P3的接口可以为接口2也可以为接口3,在本申请实施例中,以接口3为例进行说明。P1的FIB:
Figure GDA0003798090700000202
表15
需要说明的是,在本申请实施例中,P1在Path-ID=2的约束路径中,而不在Path-ID=3的约束路径中,因此这里仅显示一条表项。P2的FIB:
Figure GDA0003798090700000203
表16
PE2的FIB:
Figure GDA0003798090700000204
表17
通过以上第一部分的步骤501-508,约束路径的各个节点对路径信息数据报文中的约束路径列表进行了信息提取和存储,以下通过第二部分的步骤601-610和步骤701-715,以Path-ID=2的约束路径(PE1->P3->P1->P2->PE2)和Path-ID=3的约束路径(PE1->P3->P2->PE2)为例分别进行描述。
第二部分:请参考图6,为一种数据传输方法,包括:
一、严格约束路径。
601、PE1接收数据报文。
602、PE1根据数据报文的目的IP地址确定目标CE。
603、PE1根据目标CE从FIB中查找下一跳节点和地址。
604、PE1根据下一跳节点P3确定对应的接口。
605、PE1在数据报文的标签栈中压入Path-ID=2。
606、PE1通过接口3向P3发送数据报文。
本步骤601-606与上述步骤301-306相同,此处不做赘述。
607、P3根据Path-ID=2按照预设规则从本地可用的地址块中确定地址,作为目标地址。
在本申请实施例中,P3通过查看数据报文的标签栈中栈底,识别得到Path-ID=2,然后按照预设规则从本地可用的地址块中确定地址,作为目标地址。在一些可能的实现方式中,该预设规则为:以Path-ID的值作为偏移量X,即X=2,从至少一个本地可用的地址中按照预设顺序选取第2个地址,作为目标地址,如从小到大的顺序。假设P3的本地可用的地址为IP1-1,IP1-2,IP1-3、……,则第从小到大的第2个地址为IP1-2,即目标地址为IP1-2。在一些可能的实现方式中,假设P3的本地可用的地址为19001,IP1-1,IP1-2,……,则第从小到大的第2个地址为IP1-1,即目标地址为IP1-1。在一些可能的实现方式中,预设顺序也可以为从大到小,此处不做限定。在本申请实施例中,以P3的目标地址为IP1-2为例进行说明。
由于P3确定目标地址的方式与上述PE1的相同,通过相同的方式,可以确定相同的目标地址,因此以Path-ID=2作为约束路径的标识,可以使得数据报文仅需要携带Path-ID的值,各个转发节点不需要具有相同的本地可用的地址,避免了各个转发节点没有共同的本地可用的地址的情况。
608、P3从FIB中查找与标识IP1-2对应的接口。
当P3确定了目标地址IP1-2之后,可以根据标识IP1-2在如表6所示的FIB中查找对应的接口,得到对应的接口为接口2。需要说明的是,对应的接口为数据报文对数据报文进行发送的接口,确定了对应的接口为接口2,接口2对应P1,P3可以通过接口2向P1发送数据报文。
609、P3通过接口2转发数据报文。
本步骤609与上述步骤309相同,此处不做赘述。
610、PE2向CE2发送数据报文。
PE2接收到数据报文后,如表9所示的FIB,获取数据报文中的负载,并将进行弹出操作后的数据报文发送给CE2,以使得CE2将数据报文发送给用户终端。
一、松散约束路径。
需要说明的是,严格约束路径可以看作为松散约束路径的一种特例。
请参考图7-1,为一种数据传输方法,包括:
701、CE1向PE1发送数据报文。
702、PE1根据数据报文的目的IP地址确定目标CE。
703、PE1根据目标CE从FIB中查找下一跳节点和地址。
704、PE1根据下一跳节点P3确定对应的接口。
705、PE1在数据报文的标签栈中压入Path-ID=3。
706、PE1通过接口3向P3发送数据报文。
本步骤701-706与上述步骤401-406相同,此处不做赘述。
707、P3根据Path-ID=3按照预设规则从本地可用的地址块中确定地址,作为目标地址。
在本申请实施例中,P3通过查看数据报文的标签栈中栈底,识别得到Path-ID=3,然后按照预设规则从本地可用的地址块中确定地址,作为目标地址。在一些可能的实现方式中,该预设规则为:以Path-ID的值作为偏移量X,即X=3,从至少一个本地可用的地址中按照预设顺序选取第3个地址,作为目标地址,如从小到大的顺序。假设P3的本地可用的地址为IP1-1,IP1-2,IP1-3、……,则第从小到大的第3个地址为IP1-3,即目标地址为IP1-3。在一些可能的实现方式中,假设P3的本地可用的地址为19001,IP1-1,IP1-2,……,则第从小到大的第3个地址为IP1-2,即目标地址为IP1-2。在一些可能的实现方式中,预设顺序也可以为从大到小,此处不做限定。在本申请实施例中,以P3的目标地址为IP1-3为例进行说明。
由于P3确定目标地址的方式与上述PE1的相同,通过相同的方式,可以确定相同的目标地址,因此以Path-ID=3作为约束路径的标识,可以使得数据报文仅需要携带Path-ID的值,各个转发节点不需要具有相同的本地可用的地址,避免了各个转发节点没有共同的本地可用的地址的情况。
708、P3在数据报文中压入P2的标识。
当P3确定了目标地址IP1-3之后,可以根据标识IP1-3在如表6所示的FIB中查找对应的接口,得到接口为接口3,出地址为3。需要说明的是,接口为数据报文对数据报文进行发送的接口,确定了接口为接口3,接口3对应P4,则P3可以通过接口3向P4发送数据报文。由于P3的下一跳节点P2是不相邻节点,则P3需要再压入其中P2的节点标识P2,得到下表:
IP-P2
Path-ID=3
负载
表18
709、P3从LFIB中查找与Path-ID=3对应的接口。
在本申请实施例中,转发节点P3可以根据下一跳节点P2确定对应的接口,由于P3的下一跳节点为P2,但是P2不是P3的相邻节点,则P3可以选择一个从P3到P2的路径,即P3->P1->P2或P3->P4->P2,若是第一条路径,则对应接口2,若是第二条路径,则对应接口3。在一些可能的实现方式中,也可以选择接口1和接口2之间比较“清闲”的接口,此处不做限定。在一些可能的实现方式中,P3也可以不进行选择,而是根据上述步骤607中确定好的接口3,作为与目标标签对应的接口,此处不做限定。
710、P3通过接口3向P4转发数据报文。
711、P4向P2发送数据报文。
步骤709-711与上述步骤409-411相同,此处不做赘述。
712、P2根据Path-ID=3按照预设规则从本地可用的地址块中确定目标地址。
在本申请实施例中,当P2接收到数据报文后,获取数据报文中的Path-ID=3,识别自身是该Path-ID=3的约束路径中的转发节点,若是,则P2根据Path-ID=3按照预设规则从本地可用的标签块中确定目标地址。在本申请实施例中,P2通过查看数据报文的标签栈中栈底,识别得到Path-ID=3,然后按照预设规则从本地可用的标签块中确定目标地址。在一些可能的实现方式中,该预设规则为:以Path-ID的值作为偏移量X,即X=3,从至少一个本地可用的目标地址中按照预设顺序选取第3个地址,作为目标地址,如从小到大的顺序。图7-2所示(为数据报文的传输过程的示意图),假设P3的本地可用的地址为IP3-1,IP3-2,IP3-3、……,则第从小到大的第3个地址为IP3-3,即目标标签为IP3-3。
由于P3确定目标标签的方式与上述PE1的相同,通过相同的方式,可以确定相同的目标标签,因此以Path-ID=3作为约束路径的标识,可以使得数据报文仅需要携带Path-ID的值,各个转发节点不需要具有相同的本地可用的地址,避免了各个转发节点没有共同的本地可用的地址的情况。
713、P2对数据报文的标签栈进行弹出操作。
在本申请实施例中,如图7-2所示,P2可以将数据报文的标签栈中的18003弹出,或者将得到如表12的数据报文的结构。
714、P2从FIB中查找与Path-ID=3对应的接口。
如图7-2所示,其第3个可用的MPLS标签为IP3-3,作为目标标签,然后从FIB中查找与Path-ID=3对应的接口,如表8所示,得到接口为接口3。
715、P2通过对应的接口向PE2发送数据报文。
716、P2通过对应的接口向PE2发送数据报文。
PE2接收到数据报文后,查询如表17所示的FIB,将数据报文从接口1发送给CE2,以使得CE2将数据报文发送给用户终端。
通过以上方法步骤,当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的地址块中确定目标地址,并查找与目标地址对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的地址,避免了各个转发节点没有共同的本地可用地址的情况。
以上从方法的角度对本申请进行描述,以下从设备的角度进行描述,请参考图8,本申请提供了一种转发节点800,包括:
收发器801、存储器802和处理器803;
该处理器803用于执行该存储器802中的计算机可读指令从而执行以下操作:
接收数据报文,该数据报文的标签栈包括路径标识Path-ID,该Path-ID为约束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径;确定自身为该约束路径中的一个节点;根据该Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址,该标签块/地址块包括至少一个标签/地址;根据该目标标签/目标地址查找对应的目标接口;通过该目标接口转发该数据报文。
在一些可能的实现方式中,该预设规则为:以该Path-ID的值为偏移量X,从该标签块/地址块中按照预设顺序选取第X个标签/地址,作为该目标标签/目标地址。通过相同的预设规则和相同的Path-ID,可以计算得到相同的目标标签/目标地址,因此不需要各个节点使用相同的目标标签/目标地址以表示约束路径。
在一些可能的实现方式中,该预设顺序为其数值从小到大的顺序,可行性更高,执行难度更小。
在一些可能的实现方式中,该处理器803还用于:接收路径信息数据报文,该路径信息数据报文包括该约束路径和该Path-ID;根据该约束路径确定下一跳节点,该下一跳节点为该约束路径中该转发节点的下一个节点;根据该下一跳节点确定该目标接口;根据该Path-ID按照该预设规则从该标签块/地址块中选择该目标标签/目标地址;对应保存该目标标签/目标地址和该目标接口。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,该标签块为MPLS标签块。
在一些可能的实现方式中,该对应保存该目标标签/目标地址和该目标接口包括:在标签转发表LFIB的目标表项中对应保存该目标标签和该目标接口,其中该目标标签存储在该目标表项的入标签,该目标接口存储在该目标表项的出接口。
在一些可能的实现方式中,该转发节点根据该下一跳节点确定该目标接口包括:
该转发节点确定该下一跳节点为该转发节点的不相邻节点;该转发节点从除了接收该数据报文的接口之外的接口中,选择该目标接口;该转发节点将该下一跳节点的标识存储在该目标表项的出标签中;该转发节点通过该目标接口转发该数据报文之前,还包括:该转发节点在该数据报文的标签栈压入该下一跳节点的标识。
通过上述保存的方式,利用了MPLS技术的转发的数据保存方式,使得最大限度地利用了现有的MPLS的协议,对协议本身进行最少的改变。
在一些可能的实现方式中,该根据该下一跳节点确定该目标接口包括:确定该下一跳节点为该转发节点的相邻节点;确定该下一跳节点对应的接口,作为该目标接口;将该Path-ID存储在该目标表项的出标签中。
当该转发节点转发数据报文时,可以将出标签中的Path-ID替换掉数据报文中栈顶的标签,由于数据报文的栈顶的标签也是Path-ID,则相当于保持同样的Path-ID在数据报文中进行转发,使得下一个接收到数据报文的转发节点可以根据相同的Path-ID执行与上一个转发节点相同的操作。
在一些可能的实现方式中,该地址块为IP地址块,该对应保存该目标标签/目标地址和该目标接口包括:在转发表FIB的目标表项中对应保存该目标地址和该目标接口,其中该目标标签存储在该目标表项的地址中,该目标接口存储在该目标表项的接口中。
通过上述保存的方式,利用了IPv6技术的转发的数据保存方式,使得最大限度地利用了现有的IPv6的协议,对协议本身进行最少的改变。
在一些可能的实现方式中,该根据该下一跳节点确定该目标接口包括:确定该下一跳节点为该转发节点的相邻节点;确定该下一跳节点对应的接口,作为该目标接口。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,转发节点根据该下一跳节点确定该目标接口包括:该转发节点确定该下一跳节点为该转发节点的不相邻节点;该转发节点从除了接收该数据报文的接口之外的接口中,选择该目标接口;该转发节点将该下一跳节点的地址存储在该目标表项的地址中。通过上述保存的方式,利用了IPv6技术的转发的数据保存方式,使得最大限度地利用了现有的IPv6的协议,对协议本身进行最少的改变。
需要说明的是,处理器803可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器803还可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器803可以是指一个处理器,也可以包括多个处理器。收发器801用于接收来自第二网络设备的BGP路由信息,并将所述报文发送给处理器803,以便用于后续的操作处理。所述BGP路由信息包括目的地址、去往所述目的地址的下一跳地址和属性信息。所述属性信息指示所述第一网络设备对所述下一跳地址进行路由迭代处理的方式。存储器802可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。存储器802中存储有计算机可读指令,所述计算机可读指令包括至少一个软件模块。处理器803执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。
请参考图9,本申请提供了一种源节点900,包括:
收发器901、存储器902和处理器903;
该处理器903用于执行该存储器902中的计算机可读指令从而执行以下操作:
接收数据报文;根据该数据报文的目的IP地址确定目标节点;根据该目标节点确定Path-ID和对应的下一跳节点,该Path-ID为约束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径,该下一跳节点为该约束路径中该源节点的下一个节点,该目标节点为该约束路径中的最后一个节点;在该数据报文的标签栈中压入该Path-ID;向该下一跳节点发送该数据报文。
当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的地址块中确定目标地址,并查找与目标地址对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的地址,避免了各个转发节点没有共同的本地可用标签的情况。
在一些可能的实现方式中,该处理器还用于:该源节点接收路径信息数据报文,该路径信息数据报文包括该约束路径和该Path-ID,该源节点根据该约束路径确定该下一跳节点和目标节点,该源节点根据该目标节点确定该目标CE,该源节点对应存储该目标CE、该下一跳节点和该Path-ID。
由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小化,而且满足转发节点仅转发数据,而不处理的数据的特点。
在一些可能的实现方式中,根据该下一跳节点确定该目标接口包括:确定该下一跳节点为该转发节点的不相邻节点;从除了接收该数据报文的接口之外的接口中,选择该目标接口;将该下一跳节点的地址存储在该目标表项的地址中。通过上述保存的方式,利用了IPv6技术的转发的数据保存方式,使得最大限度地利用了现有的IPv6的协议,对协议本身进行最少的改变。
需要说明的是,处理器903可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器903还可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器903可以是指一个处理器,也可以包括多个处理器。收发器901用于接收来自第二网络设备的BGP路由信息,并将所述报文发送给处理器903,以便用于后续的操作处理。所述BGP路由信息包括目的地址、去往所述目的地址的下一跳地址和属性信息。所述属性信息指示所述第一网络设备对所述下一跳地址进行路由迭代处理的方式。存储器902可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。存储器902中存储有计算机可读指令,所述计算机可读指令包括至少一个软件模块。处理器903执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。
请参考图10,本申请提供了一种数据传输系统1000,包括如上所述转发节点800和如上所述源节点900。
当转发节点800接收到来自源节点900的数据报文时,转发节点800可以通过数据报文的标签栈中的Path-ID按照预设规则从本地可用的地址块中确定目标地址,并查找与目标地址对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具有相同本地可用的地址,避免了各个转发节点没有共同的本地可用标签的情况。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (31)

1.一种数据传输方法,其特征在于,包括:
转发节点根据路径标识Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址;
所述转发节点接收数据报文,所述数据报文的标签栈包括所述Path-ID,所述Path-ID为约束路径的标识,所述约束路径为按一定次序排列的至少两个节点组成的路径;
所述转发节点确定自身为所述约束路径中的一个节点;
所述转发节点根据所述Path-ID按照所述预设规则从所述标签块/地址块中选择所述目标标签/目标地址,所述标签块/地址块包括至少一个标签/地址;
所述转发节点根据所述目标标签/目标地址查找对应的目标接口;
所述转发节点通过所述目标接口转发所述数据报文。
2.根据权利要求1所述方法,其特征在于,所述预设规则为:
以所述Path-ID的值为偏移量X,从所述标签块/地址块中按照预设顺序选取第X个标签/地址,作为所述目标标签/目标地址。
3.根据权利要求2所述方法,其特征在于,所述预设顺序为其数值从小到大的顺序。
4.根据权利要求1-3中任一项所述方法,其特征在于,所述转发节点根据Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址之前,还包括:
所述转发节点接收路径信息数据报文,所述路径信息数据报文包括所述约束路径和所述Path-ID;
所述转发节点根据所述约束路径确定下一跳节点,所述下一跳节点为所述约束路径中所述转发节点的下一个节点;
所述转发节点根据所述下一跳节点确定所述目标接口;
所述转发节点根据Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址之后,还包括:
所述转发节点对应保存所述目标标签/目标地址和所述目标接口。
5.根据权利要求4所述方法,其特征在于,所述标签块为多协议标签交换MPLS标签块。
6.根据权利要求5所述方法,其特征在于,所述转发节点对应保存所述目标标签/目标地址和所述目标接口包括:
所述转发节点在标签转发表LFIB的目标表项中对应保存所述目标标签和所述目标接口,其中所述目标标签存储在所述目标表项的入标签,所述目标接口存储在所述目标表项的出接口。
7.根据权利要求6所述方法,其特征在于,所述转发节点根据所述下一跳节点确定所述目标接口包括:
所述转发节点确定所述下一跳节点为所述转发节点的相邻节点;
所述转发节点确定所述下一跳节点对应的接口,作为所述目标接口;
所述转发节点将所述Path-ID存储在所述目标表项的出标签中。
8.根据权利要求6所述方法,其特征在于,所述转发节点根据所述下一跳节点确定所述目标接口包括:
所述转发节点确定所述下一跳节点为所述转发节点的不相邻节点;
所述转发节点从除了接收所述数据报文的接口之外的接口中,选择所述目标接口;
所述转发节点将所述下一跳节点的标识存储在所述目标表项的出标签中;
所述转发节点通过所述目标接口转发所述数据报文之前,还包括:
所述转发节点在所述数据报文的标签栈压入所述下一跳节点的标识。
9.根据权利要求4所述方法,其特征在于,所述地址块为IP地址块。
10.根据权利要求9所述方法,其特征在于,所述转发节点对应保存所述目标标签/目标地址和所述目标接口包括:
所述转发节点在转发表FIB的目标表项中对应保存所述目标地址和所述目标接口,其中所述目标标签存储在所述目标表项的地址中,所述目标接口存储在所述目标表项的接口中。
11.根据权利要求10所述方法,其特征在于,所述转发节点根据所述下一跳节点确定所述目标接口包括:
所述转发节点确定所述下一跳节点为所述转发节点的相邻节点;
所述转发节点确定所述下一跳节点对应的接口,作为所述目标接口。
12.根据权利要求10所述方法,其特征在于,所述转发节点根据所述下一跳节点确定所述目标接口包括:
所述转发节点确定所述下一跳节点为所述转发节点的不相邻节点;
所述转发节点从除了接收所述数据报文的接口之外的接口中,选择所述目标接口;
所述转发节点将所述下一跳节点的地址存储在所述目标表项的地址中。
13.一种数据传输方法,其特征在于,包括:
源节点根据路径标识Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址;
所述源节点接收数据报文;
所述源节点根据所述数据报文的目的IP地址确定目标用户边缘设备CE;
所述源节点根据所述目标CE确定所述Path-ID和对应的下一跳节点,所述Path-ID为约束路径的标识,所述约束路径为按一定次序排列的至少两个节点组成的路径,所述下一跳节点为所述约束路径中所述源节点的下一个节点;
所述源节点在所述数据报文的标签栈中压入所述Path-ID;
所述源节点向所述下一跳节点发送所述数据报文。
14.根据权利要求13所述方法,其特征在于,所述源节点根据所述目标CE确定所述Path-ID和对应的下一跳节点之前,还包括:
所述源节点接收路径信息数据报文,所述路径信息数据报文包括所述约束路径和所述Path-ID;
所述源节点根据所述约束路径确定所述下一跳节点和目标节点,所述目标节点为所述约束路径中的最后一个节点;
所述源节点根据所述目标节点确定所述目标CE;
所述源节点对应存储所述目标CE、所述下一跳节点和所述Path-ID。
15.一种转发节点,其特征在于,包括:
收发器、存储器和处理器;
所述处理器用于执行所述存储器中的计算机可读指令从而执行以下操作:
根据路径标识Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址;
接收数据报文,所述数据报文的标签栈包括所述Path-ID,所述Path-ID为约束路径的标识,所述约束路径为按一定次序排列的至少两个节点组成的路径;
确定自身为所述约束路径中的一个节点;
根据所述Path-ID按照所述预设规则从所述标签块/地址块中选择所述目标标签/目标地址,所述标签块/地址块包括至少一个标签/地址;
根据所述目标标签/目标地址查找对应的目标接口;
通过所述目标接口转发所述数据报文。
16.根据权利要求15所述转发节点,其特征在于,所述预设规则为:
以所述Path-ID的值为偏移量X,从所述标签块/地址块中按照预设顺序选取第X个标签/地址,作为所述目标标签/目标地址。
17.根据权利要求16所述转发节点,其特征在于,所述预设顺序为其数值从小到大的顺序。
18.根据权利要求15-17中任一项所述转发节点,其特征在于,所述处理器还用于:
接收路径信息数据报文,所述路径信息数据报文包括所述约束路径和所述Path-ID;
根据所述约束路径确定下一跳节点,所述下一跳节点为所述约束路径中所述转发节点的下一个节点;
根据所述下一跳节点确定所述目标接口;
所述处理器还用于:
对应保存所述目标标签/目标地址和所述目标接口。
19.根据权利要求18所述转发节点,其特征在于,所述标签块为多协议标签交换MPLS标签块。
20.根据权利要求19所述转发节点,其特征在于,所述对应保存所述目标标签/目标地址和所述目标接口包括:
在标签转发表LFIB的目标表项中对应保存所述目标标签和所述目标接口,其中所述目标标签存储在所述目标表项的入标签,所述目标接口存储在所述目标表项的出接口。
21.根据权利要求20所述转发节点,其特征在于,所述根据所述下一跳节点确定所述目标接口包括:
确定所述下一跳节点为所述转发节点的相邻节点;
确定所述下一跳节点对应的接口,作为所述目标接口;
将所述Path-ID存储在所述目标表项的出标签中。
22.根据权利要求20所述转发节点,其特征在于,所述根据所述下一跳节点确定所述目标接口包括:
确定所述下一跳节点为所述转发节点的不相邻节点;
从除了接收所述数据报文的接口之外的接口中,选择所述目标接口;
将所述下一跳节点的标识存储在所述目标表项的出标签中;
通过所述目标接口转发所述数据报文之前,还包括:
在所述数据报文的标签栈压入所述下一跳节点的标识。
23.根据权利要求18所述转发节点,其特征在于,所述地址块为IP地址块。
24.根据权利要求23所述转发节点,其特征在于,所述对应保存所述目标标签/目标地址和所述目标接口包括:
在转发表FIB的目标表项中对应保存所述目标地址和所述目标接口,其中所述目标标签存储在所述目标表项的地址中,所述目标接口存储在所述目标表项的接口中。
25.根据权利要求24所述转发节点,其特征在于,所述根据所述下一跳节点确定所述目标接口包括:
确定所述下一跳节点为所述转发节点的相邻节点;
确定所述下一跳节点对应的接口,作为所述目标接口。
26.根据权利要求24所述转发节点,其特征在于,所述根据所述下一跳节点确定所述目标接口包括:
确定所述下一跳节点为所述转发节点的不相邻节点;
从除了接收所述数据报文的接口之外的接口中,选择所述目标接口;
将所述下一跳节点的地址存储在所述目标表项的地址中。
27.一种源节点,其特征在于,包括:
收发器、存储器和处理器;
所述处理器用于执行所述存储器中的计算机可读指令从而执行以下操作:
根据路径标识Path-ID按照预设规则从本地可用的标签块/地址块中选择目标标签/目标地址;
接收数据报文;
根据所述数据报文的目的IP地址确定目标CE;
根据所述目标CE确定所述Path-ID和对应的下一跳节点,所述Path-ID为约束路径的标识,所述约束路径为按一定次序排列的至少两个节点组成的路径,所述下一跳节点为所述约束路径中所述源节点的下一个节点;
在所述数据报文的标签栈中压入所述Path-ID;
向所述下一跳节点发送所述数据报文。
28.根据权利要求27所述源节点,其特征在于,所述处理器还用于:
接收路径信息数据报文,所述路径信息数据报文包括所述约束路径和所述Path-ID;
根据所述约束路径确定所述下一跳节点和目标节点,所述目标节点为所述约束路径中的最后一个节点;
根据所述目标节点确定所述目标CE;
对应存储所述目标CE、所述下一跳节点和所述Path-ID。
29.一种计算机可读介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-12中任一项所述的方法。
30.一种计算机可读介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求13或14所述的方法。
31.一种数据传输系统,其特征在于,包括如权利要求15-24中任一项所述的转发节点和如权利要求27或28所述的源节点。
CN201910129842.XA 2019-02-21 2019-02-21 一种数据传输方法、节点以及系统 Active CN111600797B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910129842.XA CN111600797B (zh) 2019-02-21 2019-02-21 一种数据传输方法、节点以及系统
PCT/CN2020/074260 WO2020168905A1 (zh) 2019-02-21 2020-02-04 一种数据传输方法、节点以及系统
EP20734642.0A EP3723329A4 (en) 2019-02-21 2020-02-04 DATA TRANSMISSION PROCESS, N UD, AND SYSTEM
US16/928,899 US11570093B2 (en) 2019-02-21 2020-07-14 Data transmission method, node and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910129842.XA CN111600797B (zh) 2019-02-21 2019-02-21 一种数据传输方法、节点以及系统

Publications (2)

Publication Number Publication Date
CN111600797A CN111600797A (zh) 2020-08-28
CN111600797B true CN111600797B (zh) 2022-12-30

Family

ID=72143953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910129842.XA Active CN111600797B (zh) 2019-02-21 2019-02-21 一种数据传输方法、节点以及系统

Country Status (4)

Country Link
US (1) US11570093B2 (zh)
EP (1) EP3723329A4 (zh)
CN (1) CN111600797B (zh)
WO (1) WO2020168905A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187635B (zh) * 2019-07-01 2023-02-03 中兴通讯股份有限公司 报文转发方法及装置
CN112272144B (zh) * 2020-10-28 2022-11-25 北京轻网科技股份有限公司 报文转发方法及装置
CN112866350B (zh) * 2020-12-31 2022-08-23 广州技象科技有限公司 物联网数据采集方法及装置
CN112835655A (zh) * 2021-02-26 2021-05-25 深圳市晨北科技有限公司 数据透明传输方法、系统、传输终端和存储介质
CN114039905B (zh) * 2021-11-30 2023-03-31 烽火通信科技股份有限公司 节约保护资源的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105634942A (zh) * 2014-10-31 2016-06-01 华为技术有限公司 转发报文的方法和交换机
CN105871722A (zh) * 2015-01-19 2016-08-17 中兴通讯股份有限公司 标签构造以及标签报文转发方法及装置
WO2016198015A1 (zh) * 2015-11-02 2016-12-15 中兴通讯股份有限公司 一种报文传输的方法、装置和系统
CN108156077A (zh) * 2016-12-02 2018-06-12 中兴通讯股份有限公司 一种基于IPv6数据平面的分段路由转发方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697361B2 (en) * 1998-09-15 2004-02-24 Nortel Networks Limited Method and apparatus for stream aggregation in a multiprotocol label switching network environment
JP3937828B2 (ja) * 2001-12-12 2007-06-27 ソニー株式会社 データ伝送システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
US7852841B2 (en) * 2005-11-04 2010-12-14 Cisco Technology, Inc. In-band multicast signaling using LDP
US7835304B2 (en) * 2007-11-28 2010-11-16 Alcatel-Lucent Usa Inc. Method and apparatus for assigning IP addresses
US9100285B1 (en) * 2012-12-18 2015-08-04 Juniper Networks, Inc. Dynamic control channel establishment for software-defined networks having centralized control
US10212076B1 (en) * 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
CN103905307B (zh) * 2012-12-27 2017-12-22 中国移动通信集团公司 一种mpls多拓扑路径标签通告方法及设备
US10587505B1 (en) * 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US9319312B2 (en) * 2013-05-17 2016-04-19 Cisco Technology, Inc. Segment routing mapping server for LDP/SR interoperability
US9503358B2 (en) * 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
CN105471725B (zh) * 2014-08-05 2019-01-22 新华三技术有限公司 穿越自治系统的路由方法和装置
CN105991437B (zh) * 2015-02-16 2020-05-15 中兴通讯股份有限公司 报文转发处理方法、装置、控制器及路由转发设备
US10476797B2 (en) * 2015-04-13 2019-11-12 Dell Products L.P. Systems and methods to route over a link aggregation group to a true next hop
US10164875B2 (en) * 2016-02-22 2018-12-25 Cisco Technology, Inc. SR app-segment integration with service function chaining (SFC) header metadata
CN107370675B (zh) * 2016-05-13 2021-02-23 华为技术有限公司 路由散播的方法和节点
US10230623B2 (en) * 2016-07-22 2019-03-12 Cisco Technology, Inc. End point scaling on segment routing fabrics
US10389619B2 (en) * 2016-11-23 2019-08-20 Cisco Technology, Inc. Wireless bypass of next-hop device in source route path
US10447496B2 (en) * 2017-03-30 2019-10-15 Cisco Technology, Inc. Multicast traffic steering using tree identity in bit indexed explicit replication (BIER)
CN109361600B (zh) * 2018-04-20 2021-08-10 中国移动通信有限公司研究院 一种获取路径标识的方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105634942A (zh) * 2014-10-31 2016-06-01 华为技术有限公司 转发报文的方法和交换机
CN105871722A (zh) * 2015-01-19 2016-08-17 中兴通讯股份有限公司 标签构造以及标签报文转发方法及装置
WO2016198015A1 (zh) * 2015-11-02 2016-12-15 中兴通讯股份有限公司 一种报文传输的方法、装置和系统
CN108156077A (zh) * 2016-12-02 2018-06-12 中兴通讯股份有限公司 一种基于IPv6数据平面的分段路由转发方法及装置

Also Published As

Publication number Publication date
WO2020168905A1 (zh) 2020-08-27
EP3723329A4 (en) 2021-06-23
EP3723329A1 (en) 2020-10-14
CN111600797A (zh) 2020-08-28
US20200344161A1 (en) 2020-10-29
US11570093B2 (en) 2023-01-31

Similar Documents

Publication Publication Date Title
CN111600797B (zh) 一种数据传输方法、节点以及系统
JP7234384B2 (ja) パケット処理方法および装置、デバイス、ならびにシステム
US9923819B2 (en) Systems and methods for routing information in an information handling system using extended L3 lookup tables
US9590991B2 (en) Service processing method, device, and system
CN107547391B (zh) 一种报文传输方法和装置
EP3190754B1 (en) Method and apparatus for processing a modified packet
CN110798403B (zh) 通信方法、通信设备和通信系统
JP6618610B2 (ja) ルーティング管理
US20220345404A1 (en) Packet sending method, routing entry generation method, apparatus, and storage medium
WO2022048412A1 (zh) 一种生成表项的方法、发送报文的方法、设备及系统
CN108199947B (zh) 指定转发者df选举方法及装置
CN109067657B (zh) 一种报文处理方法和装置
CN113489646A (zh) 基于vxlan的分段路由传输方法、服务器、源节点及存储介质
CN114760165A (zh) 报文传输方法、设备及系统
US10142177B2 (en) Mechanisms to identify mismatches in layer 3 configuration in a network
US20220345400A1 (en) Packet sending method and apparatus, and storage medium
CN106034075B (zh) 一种为vpn路由分配标签的方法及装置
CN113364683B (zh) 一种路由发送方法及设备
CN115442289B (zh) 发送和接收消息的方法、装置和通信系统
CN108418709B (zh) 端口聚合方法及装置
US8208404B1 (en) Pseudowire establishment to sites across autonomous systems with overlapping customer site ID space
CN115118544B (zh) 通信方法及设备、通信系统
CN115643646A (zh) 数据传输方法、装置及电子设备
CN117596205A (zh) 报文处理方法、装置、电子设备及可读介质
CN114915582A (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
GR01 Patent grant
GR01 Patent grant