
技术摘要:
本申请实施例公开了一种数据传输方法、节点和系统,用于根据接收到的数据报文中的Path‑ID确定目标标签/目标地址,进而确定对应的目标接口,并在目标接口转发数据报文。本申请实施例方法包括:转发节点接收数据报文,所述数据报文的标签栈包括Path‑ID,所述Path‑ID为 全部
背景技术:
段路由(segment routing,SR)是一种源路由技术,用于指示数据报文在网络中从 源节点传输到目标节点的转发路径。源节点可以在数据报文中按照一定顺序添加段 (segment),作为指示该数据报文在网络中的转发指令,这样的段称为段标识符(segment identifier,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按照预设规则从本地可用的标签块中确定目标标签,并查找与目标标签对应的出接口, 6 CN 111600797 A 说 明 书 2/27 页 并通过出接口转发数据报文,因此数据报文在网络传输的过程中,不需要各个转发节点具 有相同本地可用的标签,避免了各个转发节点没有共同的本地可用标签的情况。 在一些可能的实现方式中,该预设规则为:以该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地址块,该转发节点对应保存该目标标 签/目标地址和该目标接口包括: 7 CN 111600797 A 说 明 书 3/27 页 该转发节点在转发表(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为约 束路径的标识,该约束路径为按一定次序排列的至少两个节点组成的路径;确定自身为该 8 CN 111600797 A 说 明 书 4/27 页 约束路径中的一个节点;根据该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执行与 上一个转发节点相同的操作。 9 CN 111600797 A 说 明 书 5/27 页 在一些可能的实现方式中,该地址块为IP地址块,则该对应保存该目标标签/目标 地址和该目标接口包括:在转发表FIB的目标表项中对应保存该目标地址和该目标接口,其 中该目标标签存储在该目标表项的地址中,该目标接口存储在该目标表项的接口中。 在一些可能的实现方式中,该根据该下一跳节点确定该目标接口包括: 确定该下一跳节点为该转发节点的相邻节点;确定该下一跳节点对应的接口,作 为该目标接口。由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该 目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最小 化,而且满足转发节点仅转发数据,而不处理的数据的特点。 在一些可能的实现方式中,根据该下一跳节点确定该目标接口包括:确定该下一 跳节点为该转发节点的不相邻节点;从除了接收该数据报文的接口之外的接口中,选择该 目标接口;将该下一跳节点的地址存储在该目标表项的地址中。通过上述保存的方式,利用 了IPv6技术的转发的数据保存方式,使得最大限度地利用了现有的IPv6的协议,对协议本 身进行最少的改变。 本申请第四方面提出了一种数据传输方法,包括: 收发器、存储器和处理器;该处理器用于执行该存储器中的计算机可读指令从而 执行以下操作:接收数据报文;根据该数据报文的目的IP地址确定目标节点;根据该目标节 点确定Path-ID和对应的下一跳节点,该Path-ID为约束路径的标识,该约束路径为按一定 次序排列的至少两个节点组成的路径,该下一跳节点为该约束路径中该源节点的下一个节 点,该目标节点为该约束路径中的最后一个节点;在该数据报文的标签栈中压入该Path- ID;向该下一跳节点发送该数据报文。 当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path- ID按照预设规则从本地可用的标签块/地址块中确定目标标签/目标地址,并查找与目标标 签/目标地址对应的出接口,并通过出接口转发数据报文,因此数据报文在网络传输的过程 中,不需要各个转发节点具有相同本地可用的标签/地址,避免了各个转发节点没有共同的 本地可用标签的情况。 在一些可能的实现方式中,该处理器还用于: 接收路径信息数据报文,该路径信息数据报文包括该约束路径和该Path-ID,根据 该约束路径确定该下一跳节点和目标节点,根据该目标节点确定该目标CE,对应存储该目 标CE、该下一跳节点和该Path-ID。 由于对于约束路径的信息,只提取下一跳节点,以确定目标接口,并保存该目标标 签/目标地址和该目标接口,因此不需要保存整个约束路径的信息,对于存储的要求达到最 小化,而且满足转发节点仅转发数据,而不处理的数据的特点。 本申请第五方面提出了一种计算机可读存储介质,所述计算机可读存储介质中存 储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。 本申请第六方面提出了一种数据传输系统,包括第三方面所述的转发节点和第四 方面所述的源节点。 从以上技术方案可以看出,本申请实施例具有以下优点: 当转发节点接收到数据报文时,转发节点可以通过数据报文的标签栈中的Path- ID按照预设规则从本地可用的标签块/地址块中确定目标标签/目标地址,并查找与目标标 10 CN 111600797 A 说 明 书 6/27 页 签/目标地址对应的目标接口,并通过目标接口转发数据报文,因此数据报文在网络传输的 过程中,不需要各个转发节点具有相同本地可用的标签/地址,避免了各个转发节点没有共 同的本地可用标签的情况。 附图说明 图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为一种数据传输系统的实施例示意图。