一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

扩展BGP保护以用于SR路径入口保护的制作方法

2022-02-20 20:03:48 来源:中国专利 TAG:

扩展bgp保护以用于sr路径入口保护
1.相关申请交叉引用
2.本专利申请要求huaimo chen于2019年6月5日提交的申请号为62/857,684、发明名称为“扩展bgp保护以用于sr路径入口保护(extending bgp protection for sr path ingress protection)”的美国临时专利申请的权益,其内容通过引用结合在本技术中。
技术领域
3.本发明涉及分段路由(segment routing,sr)的技术领域,尤其涉及sr路径入口保护。


背景技术:

4.数据以数据报文的形式在网络上传输。数据报文通常包括报头,报头包括用于将数据报文从信源路由到目的地的信息。分段路由(segment routing,sr)是一种用于发送数据报文的源路由。当使用sr时,数据源选择一条路径(有时称为隧道)并将该路径编码到数据报文的报头中。该路径包括多个节点和这些节点之间的链路。这些节点包括路由器、交换机或其它能够在网络中路由数据报文的设备。链路可以被标识为从一个节点到另一个节点的分段。数据报文在从信源到目的地的传输过程中会经过的分段的列表包括在每个数据报文的报头中。分段在数据报文的报头中通过分段标识符(segment identifier,sid)来标识。


技术实现要素:

5.第一方面涉及一种网络节点。所述网络节点包括存储器和与存储器耦合的处理器。所述处理器用于从所述存储器接收指令,当所述处理器执行所述指令时,使得所述网络节点接收路径路由计算请求;计算从第一入节点到出节点的第一路径路由;计算从第二入节点到所述出节点的第二路径路由;使用边界网关协议(border gateway protocol,bgp)向所述第一入节点发送包括第一路径路由的第一消息;使用bgp向所述第二入节点发送包括所述第二路径路由和入口保护指示符的第二消息。需要说明的是,路径严格来说是一个物理路径,而路径路由是描述所述路径的信息。一般而言,术语“路径”可以用于指实际路径和路径路由信息中的一个或两个。路径的使用上下文需要明确论述的内容。因此,下文提到的术语“路径”应该理解为包括两种可能性。
6.通过使用bgp向所述第二入节点发送所述包括第二路径和入口保护指示符的第二消息,使用bgp为入节点提供了保护。
7.根据所述第一方面,在所述网络节点的第一种实现方式中,所述第一消息包括所述第一路径的多个分段标识符,所述第二消息包括所述第二路径的其它多个分段标识符。
8.根据所述第一方面,在所述网络节点的第二种实现方式中,所述第二消息是bgp update消息,所述入口保护指示符包括分段路由(segment routing,sr)入口保护子类型长度值(sub-type-length-value,sub-tlv)。
9.根据所述第一方面,在所述网络节点的第三种实现方式中,所述sr入口保护子tlv包括指示所述第一入节点的地址的主入口地址子子tlv。
10.根据所述第一方面,在所述网络节点的第四种实现方式中,所述sr入口保护子tlv还包括业务子子tlv,所述业务子子tlv包括所述第一路径上承载的业务的业务标签或所述业务的业务标识符。
11.根据所述第一方面,在所述网络节点的第五种实现方式中,所述sr入口保护子tlv还包括流量子子tlv,所述流量子子tlv包括所述第一路径上承载的流量的描述。
12.根据所述第一方面,在所述网络节点的第六种实现方式中,所述第二消息包括标志,所述标志指示所述第二入节点将转发信息库(forwarding information base,fib)中对应于所述第二路径的表项设置为激活状态。
13.根据所述第一方面,在所述网络节点的第七种实现方式中,所述第一入节点和所述第二入节点连接到流量源。
14.第二方面涉及一种由边界网关协议(border gateway protocol,bgp)控制器实现的源路由入口保护的方法。所述方法包括:接收路径计算请求;计算从第一入节点到出节点的第一路径;计算从第二入节点到所述出节点的第二路径;使用bgp向所述第一入节点发送包括第一路径的第一消息;使用bgp向所述第二入节点发送包括所述第二路径和入口保护指示符的第二消息。
15.所述方法提供了使用bgp为入节点建立保护的技术。
16.根据所述第二方面,在所述方法的第一种实现方式中,所述第一消息包括所述第一路径的多个分段标识符,所述第二消息包括所述第二路径的其它多个分段标识符。
17.根据所述第二方面,在所述方法的第二种实现方式中,所述第二消息是bgp update消息,所述入口保护指示符包括分段路由(segment routing,sr)入口保护子类型长度值(sub-type-length-value,sub-tlv)。
18.根据所述第二方面,在所述方法的第三种实现方式中,所述sr入口保护子tlv包括指示所述第一入节点的地址的主入口地址子子tlv。
19.根据所述第二方面,在所述方法的第四种实现方式中,所述sr入口保护子tlv还包括业务子子tlv,所述业务子子tlv包括所述第一路径上承载的业务的业务标签或所述业务的业务标识符。
20.根据所述第二方面,在所述方法的第五种实现方式中,所述sr入口保护子tlv还包括流量子子tlv,所述流量子子tlv包括所述第一路径上承载的流量的描述。
21.根据所述第二方面,在所述方法的第六种实现方式中,所述第二消息包括标志,所述标志指示所述第二入节点将转发信息库(forwarding information base,fib)中对应于所述第二路径的表项设置为激活状态。
22.根据所述第二方面,在所述方法的第七种实现方式中,所述第一入节点和所述第二入节点连接到流量源。
23.第三方面涉及一种非瞬时性计算机可读介质。所述非瞬时性计算机可读介质包括指令,当处理器执行所述指令时,使得所述处理器:接收路径计算请求;计算从第一入节点到出节点的第一路径;计算从第二入节点到所述出节点的第二路径;使用边界网关协议(border gateway protocol,bgp)向所述第一入节点发送包括所述第一路径的第一消息;
使用bgp向所述第二入节点发送包括所述第二路径和入口保护指示符的第二消息。
24.所述非瞬时性计算机可读介质包括使用bgp为入节点建立保护的计算机指令。
25.根据所述第三方面,在所述非瞬时性计算机可读介质的第一种实现方式中,所述第一消息包括所述第一路径的多个分段标识符,所述第二消息包括所述第二路径的其它多个分段标识符。
26.根据所述第三方面,在所述非瞬时性计算机可读介质的第二种实现方式中,所述第二消息是bgp update消息,所述入口保护指示符包括分段路由(segment routing,sr)入口保护子类型长度值(sub-type-length-value,sub-tlv)。
27.根据所述第三方面,在所述非瞬时性计算机可读介质的第三种实现方式中,所述sr入口保护子tlv包括指示所述第一入节点的地址的主入口地址子子tlv。
28.根据所述第三方面,在所述非瞬时性计算机可读介质的第四种实现方式中,所述sr入口保护子tlv还包括业务子子tlv,所述业务子子tlv包括所述第一路径上承载的业务的业务标签或所述业务的业务标识符。
29.根据所述第三方面,在所述非瞬时性计算机可读介质的第五种实现方式中,所述sr入口保护子tlv还包括流量子子tlv,所述流量子子tlv包括所述第一路径上承载的流量的描述。
30.根据所述第三方面,在所述非瞬时性计算机可读介质的第六种实现方式中,所述第二消息包括标志,所述标志指示所述第二入节点将转发信息库(forwarding information base,fib)中对应于所述第二路径的表项设置为激活状态。
31.根据所述第三方面,在所述非瞬时性计算机可读介质的第七种实现方式中,所述第一入节点和所述第二入节点连接到流量源。
32.第四方面涉及一种隧道入口保护装置。所述装置包括:接收模块,用于为接收路径计算请求;与所述接收模块耦合的处理模块,其中,所述处理模块用于:计算从第一入节点到出节点的第一路径;计算从第二入节点到目的地节点的第二路径;与所述处理模块耦合的发送模块,其中,所述发送模块用于:使用边界网关协议(border gateway protocol,bgp)向所述第一入节点发送包括所述第一路径的第一消息;使用bgp向所述第二入节点发送包括所述第二路径和入口保护指示符的第二消息。
33.第五方面涉及一种网络节点。所述网络节点包括:存储器;与所述存储器耦合的处理器,其中,所述处理器用于从所述存储器接收指令,当所述处理器执行所述指令时,使得所述网络节点:使用边界网关协议(border gateway protocol,bgp)接收包括路径和入口保护指示符的消息;根据所述消息在转发信息库(forwarding information base,fib)中创建表项;根据所述消息设置所述表项的状态,其中,所述状态包括激活状态或非激活状态。
34.通过使用bgp接收包括路径和入口保护指示符的消息,使用bgp为入节点提供了保护。
35.根据所述第五方面,在所述网络节点的第一种实现方式中,当所述状态被设置为激活状态时,所述指令还使得所述网络节点发送与所述路径相关联的流量。
36.根据所述第五方面,在所述网络节点的第二种实现方式中,当所述状态被设置为非激活状态时,所述指令还使得所述网络节点丢弃与所述路径相关联的流量。
37.根据所述第五方面,在所述网络节点的第三种实现方式中,所述指令还使得所述网络节点:检测主入节点故障;响应于所述主入节点故障,将所述状态设置为激活状态。
38.根据所述第五方面,在所述网络节点的第四种实现方式中,所述消息是bgp update消息,所述入口保护指示符包括分段路由(segment routing,sr)入口保护子类型长度值(sub-type-length-value,sub-tlv)。
39.第六方面涉及一种由网络节点实现的源路由入口保护的方法。所述方法包括:使用边界网关协议(border gateway protocol,bgp)接收包括路径和入口保护指示符的消息;根据所述消息在转发信息库(forwarding information base,fib)中创建表项;根据所述消息设置所述表项的状态,其中,所述状态包括激活状态或非激活状态。
40.所述方法提供了使用bgp为入节点建立保护的技术。
41.根据所述第六方面,在所述方法的第一种实现方式中,所述方法还包括:当所述状态被设置为激活状态时,发送与所述路径相关联的流量。
42.根据所述第六方面,在所述方法的第二种实现方式中,所述方法还包括:当所述状态设置被设置为非激活状态时,丢弃与所述路径相关联的流量。
43.根据所述第六方面,在所述方法的第三种实现方式中,所述方法还包括:检测主入节点故障;响应于所述主入节点故障,将所述状态设置为激活状态。
44.根据所述第六方面,在所述方法的第四种实现方式中,所述消息是bgp update消息,所述入口保护指示符包括分段路由(segment routing,sr)入口保护子类型长度值(sub-type-length-value,sub-tlv)。
45.第七方面涉及一种非瞬时性计算机可读介质。所述非瞬时性计算机可读介质包括指令,当处理器执行所述指令时,使得所述处理器:使用边界网关协议(border gateway protocol,bgp)接收包括路径和入口保护指示符的消息;根据所述消息在转发信息库(forwarding information base,fib)中创建表项;根据所述消息设置所述表项的状态,其中,所述状态包括激活状态或非激活状态。
46.所述非瞬时性计算机可读介质使用bgp为入节点建立保护。
47.根据所述第七方面,在所述非瞬时性计算机可读介质的第一实现方式中,当所述状态被设置为激活状态时,所述指令还使得所述处理器发送与所述路径相关联的流量。
48.根据所述第七方面,在所述非瞬时性计算机可读介质的第二实现方式中,当所述状态被设置为非激活状态时,所述指令还使得所述处理器丢弃与所述路径相关联的流量。
49.根据所述第七方面,在所述非瞬时性计算机可读介质的第三种实现方式中,所述指令还使得所述处理器:检测主入节点故障;响应于所述主入节点故障,将所述状态设置为激活状态。
50.根据所述第七方面,在所述非瞬时性计算机可读介质的第四种实现方式中,所述消息是bgp update消息,所述入口保护指示符包括分段路由(segment routing,sr)入口保护子类型长度值(sub-type-length-value,sub-tlv)。
51.第八方面涉及一种隧道入口保护装置。所述装置包括接收模块,用于使用边界网关协议(border gateway protocol,bgp)接收包括路径和入口保护指示符的消息;与所述接收模块耦合的处理模块,其中,所述处理模块用于:根据所述消息在转发信息库(forwarding information base,fib)中创建表项;根据所述消息设置所述表项的状态,其
中,所述状态包括激活状态或非激活状态。
附图说明
52.为了更全面地理解本发明,现在参考下文结合附图和详细说明进行的简要描述,其中,相似的附图标记表示相似的部件。
53.图1为网络图的一个实施例,示出了具有备份入节点的隧道中的节点和分段。
54.图2为nlri的一个实施例的示意图。
55.图3为隧道封装属性的一个实施例的示意图。
56.图4为隧道封装属性tlv的一个实施例的示意图。
57.图5为子tlv格式的一个实施例的示意图。
58.图6为sr隧道入口保护子tlv的一个实施例的示意图。
59.图7为第4版ip(ip version 4,ipv4)的主入口地址子子tlv的一个实施例的示意图。
60.图8为第6版ip(ip version 6,ipv6)的主入口地址子子tlv的一个实施例的示意图。
61.图9为业务标签子子tlv的一个实施例的示意图。
62.图10为32比特业务id子子tlv的一个实施例的示意图。
63.图11为128比特业务id子子tlv的一个实施例的示意图。
64.图12为fec子子tlv的一个实施例的示意图。
65.图13为接口索引子子tlv的一个实施例的示意图。
66.图14为接口ip地址子子tlv的一个实施例的示意图。
67.图15为由bgp控制器实现的bgp入口保护的方法的一个实施例的流程图。
68.图16为由备份入节点实现的bgp入口保护的方法的一个实施例的流程图。
69.图17为本发明一个实施例提供的电子设备的示意图。
70.图18为隧道入口保护装置的示意图。
具体实施方式
71.首先应理解,尽管下面提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任意数量的技术(不论是当前已知的还是现有的)来实现。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
72.入节点(ingress node)是sr隧道的关键组成部分,因为整个路径/隧道可能依靠入节点将源路由添加到通过隧道待传输的数据报文中。在一些方法中,入口保护(ingress protection)可以在基于路径计算单元(path computation element,pce)协议的网络中提供。但是,目前还没有机制来保护基于边界网关协议(border gateway protocol,bgp)的网络中的sr隧道的入节点(本文还称为入口)。基于bgp的网络目前使用不同的协议进行入口保护。本文公开的实施例为基于bgp的网络中的sr隧道的入节点提供保护。
73.图1为网络图100的一个实施例,示出了具有备份入节点的隧道中的节点和分段。边缘节点115和120被配置为使用bgp协议进行操作,并且可以被配置为入节点。边缘节点指
的是位于提供商网络边缘的节点。例如,提供商网络101包括边缘节点115、边缘节点120、边缘节点180、边缘节点185和边缘节点190。提供商网络101中的中间节点包括节点135、150、160、170、191和192。客户边缘节点110向提供商网络101提供数据,以便路由到接收方客户边缘节点195。链路112、114、125、130、140、145、155、165、175、182和187连接设备进行通信。链路112、114、125、130、140、145、155、165、175、182和187可以是有线的(例如,物理的),也可以是无线的,并且可以使用各种通信协议进行通信。在其它实施例中,网络中可以存在任意数量的边缘节点、中间节点和分段/链路。
74.一些边缘节点可以被配置为入节点或备份入节点。为了防止主入节点发生故障,备份入节点可以被选择并用于入口保护。在本示例中,边缘节点115被配置为主入节点,边缘节点120被配置为备份入节点。隧道的备份入节点可以位于隧道外,也可以位于隧道上。隧道外备份入节点指的是不位于sr隧道上的备份入节点(例如,边缘节点120相对于从边缘节点115到边缘节点180的sr隧道而言位于隧道外)。隧道上备份入节点指的是位于sr隧道上的备份入口(例如,节点160位于从边缘节点115到边缘节点180的sr隧道上)。术语“sr隧道”和“sr路径”在本文公开的实施例中可以互换。
75.bgp控制器105可以在通过网络创建主路径(例如,从边缘节点115通过节点150、节点160和节点170到达边缘节点180的sr路径)之后计算备份路径。备份路径可以从边缘节点120通过边缘节点115的下游节点(例如,节点150或节点160)到达边缘节点180。下游节点是主sr隧道的一部分(例如,从边缘节点115通过节点150、节点160和节点170到达边缘节点180的sr隧道)。如果给定服务质量(quality of service,qos)、跳数、最短路径等任何约束条件,则备份路径可以满足给定约束条件。
76.bgp控制器105可以创建从备份入节点(例如,边缘节点120)通过下游节点(例如,节点150、节点160或节点170)到达出节点(边缘节点180)的备份sr隧道,方式是沿备份路径为备份sr隧道中的分段分配一列分段标识符(segment identifier,sid)或标签。bgp控制器105还可以存储备份sr隧道的列表,并将该列表与主sr隧道的主入口(边缘节点115)相关联。
77.在一个实施例中,节点150、160、170和边缘节点180分别具有节点sid 100、200、300和500,链路145、125、130、140、155、165和175分别具有邻接sid 1005、1006、1007、1031、1010、1015和1020。上述sid仅仅是可能sid的举例,可以使用任何其它类型或长度的标识符。隧道可以由一列sid定义。可以使用节点sid和/或链路sid的任意组合。在一个示例中,主sr隧道中从边缘节点115通过节点150、节点160和节点170到达边缘节点180的路径是满足一组约束条件的显式路径,但不是从边缘节点115到边缘节点180的最短路径。在一个实施例中,主sr隧道的sid列表{1005,1010,1015,1020}可以由bgp控制器105分配并向边缘节点115发送。对于引入(import)到主sr隧道的数据报文,边缘节点115可以将{1010,1015,1020}添加到数据报文报头中,并通过链路145向节点150发送数据报文。在一个实施例中,bgp控制器105计算从边缘节点120通过节点150、节点160和节点170到达边缘节点180的满足约束条件的备份路径。bgp控制器105向边缘节点120发送具有分段列表{1006,1010,1015,1020}的备份路径。在另一个实施例中,bgp控制器105计算从边缘节点120通过节点150、节点160和节点170到达边缘节点180的满足约束条件的备份路径。bgp控制器105向边缘节点120发送具有分段列表{1006,1010,1015,1020}的备份路径。
78.在从bgp控制器105接收到分段列表之后,边缘节点120可以创建转发表项,当主入节点发生故障时,该转发表项将{1010,1015,1020}添加到将由主sr隧道承载的数据报文的报头中。当边缘节点115发生故障时,边缘节点120可以通过链路125向节点150发送数据报文。bgp控制器105可以计算从备份入节点(边缘节点120)开始的满足约束条件的备选备份路径(边缘节点120通过节点135、节点160和节点170到达边缘节点180)。这个备份路径具有分段列表{1007,1031,1015,1020},并可以向备份入节点(边缘节点120)发送。在从bgp控制器105接收到分段列表之后,边缘节点120可以创建转发表项,该转发表项将{1031,1015,1020}添加到将由主sr隧道承载的数据报文的报头中。然后,当边缘节点115发生故障时,边缘节点120可以通过链路130向节点135发送数据报文。
79.在另一个实施例中,主sr隧道的路径是从主入口(边缘节点115)到节点160的最短路径加上从节点160到出节点(边缘节点180)的最短路径。在需要最短路径的情况下,可以在路径列表中使用节点的sid,而不是使用链路的sid。在这种情况下,主sr隧道的sid列表{200,500}由bgp控制器105向边缘节点115发送。在一个实施例中,在接收到列表之后,边缘节点115创建转发表项,该转发表项将{200,500}添加到将通过sr隧道传输的数据报文中。由于转发表项中没有标识链路,因此可以选择边缘节点115与节点160(sid 200)之间的最短路径和节点160与边缘节点180(sid 500)之间的最短路径。
80.为了计算备份sr隧道,bgp控制器105计算从备份入节点(边缘节点120)到下游节点160的最短路径,不经过主入口(边缘节点115)。在一个实施例中,沿sr隧道的每个链路的成本为2,而任何其它链路的成本可能为1,而且存在从边缘节点120到节点160且不经过边缘节点115的最短路径(例如,边缘节点120通过节点135到达节点160的路径是最短路径)。这个最短路径可以具有相同的分段列表{200,500},并且bgp控制器105可以向备份入节点(边缘节点120)发送该列表。在从bgp控制器105接收到列表之后,边缘节点120可以创建转发表项,当边缘节点115发生故障时,该转发表项将{200,500}添加到将通过sr隧道传输的数据报文中。然后,当边缘节点115发生故障时,边缘节点120可以沿最短路径通过节点135向节点160发送数据报文。
81.在一些实施例中,bgp控制器105可以向备份入节点(例如,边缘节点120)发送以下内容的组合:(1)主入节点的互联网协议(internet protocol,ip)地址或其它标识符;(2)流量描述,描述主sr隧道承载的流量;(3)业务sid/标签(如果有),指示主sr隧道传输的虚拟专用网(virtual private network,vpn)业务等;和/或(4)创建备份sr隧道所需的信息,其中,备份sr隧道包括从备份入节点到主sr隧道的出节点的备份sr隧道的分段列表。在一个实施例中,创建备份sr隧道所需的信息是从备份入节点到主出节点的备份路径和备份路径的分段列表。
82.在一些实施例中,备份入节点(例如,边缘节点120)在接收到上述信息之后在转发信息库(forwarding information base,fib)中创建转发表项。转发表项可以用于:(1)根据主sr隧道的流量描述,将数据报文/流量引入到备用sr隧道中;(2)将业务sid/标签(如果有)添加(push)到待引入到备用sr隧道的每个数据报文中;(3)将备份sr隧道的sid/标签列表添加到待引入到备份sr隧道的每个数据报文中;和/或(4)沿备份sr隧道向备份入节点的直接下游节点发送数据报文。
83.备份入节点(例如,边缘节点120)可以向bgp控制器105发送报告,以确认在转发表
项成功创建之后,对主入节点(例如,边缘节点115)的保护可用。bgp控制器105可以根据从备份入节点(例如,边缘节点120)接收到的确认,记录主sr隧道的主入节点(例如,边缘节点115)关于入口保护的状态。
84.在另一个示例中,主入节点与主出节点之间存在通过一个或多个下游传输节点的主sr隧道。可以计算或配置备份入节点来防止主入节点发生故障。源节点(流量的来源,例如,客户边缘节点110)可以连接到主入节点(例如,边缘节点115)和备份入节点(例如,边缘节点120)。
85.在一个实施例中,源节点(例如,客户边缘节点110)在正常操作中向主sr隧道的主入节点发送流量。主入节点将流量引入到隧道中,从而将流量传输到其目的地。如果主入节点发生故障,则源节点在检测到故障之后将流量切换到备份入节点(例如,边缘节点120)。备份入节点上的fib中的转发表项将流量引入到备份sr隧道中,从而将流量传输到其目的地。
86.在另一个实施例中,源节点向主sr隧道的主入节点发送流量。主入节点将流量引入到隧道中,从而将流量传输到目的地。源节点还向备份入节点发送流量,备份入节点通过将fib中的对应转发表项设置为非激活状态,在正常操作中丢弃流量。如果主入节点发生故障,则备份入节点将fib中的对应转发表项设置为激活状态,并开始将流量引入到备份sr隧道中。备份入节点上的fib中的激活转发表项将流量引入到备份sr隧道中。
87.bgp控制器105可以使用bgp update消息向备份入节点发送入口保护信息。update消息包括网络层可达信息(network layer reachability information,nlri)部分,其隧道封装属性类型被设置为23,其中,属性类型23包括隧道封装属性类型长度值(type-length-value,tlv)。隧道封装属性tlv被设置为隧道类型15,指示包括多个子tlv的sr策略tlv。sr策略子tlv中存在sr路径入口保护子tlv。sr路径入口保护子tlv可以包括几个子子tlv。子子tlv可以包括主入口子子tlv、业务标识符(identifier,id)子子tlv或流量描述子子tlv中的一个或多个。
88.图2为nlri 200的一个实施例的示意图。nlri 200包括8比特nlri长度字段、32比特标识字段、32比特颜色字段,以及端点字段,其中,ipv4地址的端点字段为4个字节,或者端点的ipv6地址的端点字段为16个字节。
89.图3为隧道封装属性300的一个实施例的示意图。隧道封装属性包括8比特属性标志字段、8比特属性类型字段、16比特长度字段,以及tlv字段。属性标志可以设置如下。比特0是可选比特(optional bit)。如果可选比特被设置为1或0,则指示属性是可选的或已知的。比特1是转发比特(transitive bit)。如果转发比特被设置为1或0,则指示属性是可转发的或不可转发的。比特2是部分比特(partial bit)。如果部分比特被设置为1或0,则指示属性是部分的或完整的。比特3是扩展长度比特(extended length bit)。如果扩展长度比特被设置为0或1,则长度为8或16比特(即1个或2个八位字节)。
90.在本示例中,属性类型被设置为23,指示隧道封装属性。图4为在隧道封装属性300的tlv字段中找到的隧道封装属性tlv 400的一个实施例的示意图。隧道封装属性tlv 400包括16比特隧道类型字段、16比特长度字段,以及子tlv字段。图5为子tlv 500格式的一个实施例的示意图。子tlv 500包括8比特子tlv类型字段、8比特或16比特长度字段,以及大小由长度字段确定的可变字段。
91.图6为sr隧道入口保护子tlv 600的一个实施例的示意图。sr隧道入口保护子tlv500可以是隧道封装属性tlv 400的一部分。sr隧道入口保护子tlv 600包括8比特类型字段、可变长度的长度字段、8比特标志字段和可变长度的子子tlv字段。标志字段可以包括1比特的

a’标志。虽然这里使用了

a’,但该标志可以通过其它方式命名或标识。当a标志被设置为1时,表示请求备份入节点在转发信息库(forwarding information base,fib)或bgp表中将对应于备份sr路径的转发表项设置为激活状态。当a标志被设置为0时,表示请求备份入节点最初将对应于备份sr路径的转发表项设置为非激活状态,并在检测到主sr路径的主入节点发生故障之后将该表项设置为激活状态。子子tlv字段可以包括多个子子tlv,例如,业务子子tlv、主入口子子tlv中和/或流量描述子子tlv的一个或多个。
92.图7为第4版ip(ip version 4,ipv4)700的主入口地址子子tlv的一个实施例的示意图。ipv4 700的主入口地址子子tlv包括主入节点(例如,边缘节点115)的ipv4地址的8比特类型字段、8比特长度字段和32比特(4字节)主入口地址字段。
93.图8为第6版ip(ip version 6,ipv6)800的主入口地址子子tlv的一个实施例的示意图。ipv6 800的主入口地址子子tlv包括主入节点(例如,边缘节点115)的ipv6地址的8比特类型字段、8比特长度字段和128比特(16字节)主入口地址字段。
94.业务子子tlv可以包括待添加到将由sr路径/隧道承载的数据报文中的业务id或标签,例如,vpn标签。业务子子tlv可以具有两种格式,一种是业务由标签标识,另一种是业务由32比特或128比特的业务id标识。图9为业务标签子子tlv 900的一个实施例的示意图。业务标签子子tlv 900包括8比特类型字段、8比特长度字段、12比特零填充和20比特业务标签字段。图10为32比特业务id子子tlv 1000的一个实施例的示意图。32比特业务id子子tlv 1000包括8比特类型字段、8比特长度字段和32比特(4字节)业务id字段。图11为128比特业务id子子tlv 1100的一个实施例的示意图。128比特业务id子子tlv 1100包括8比特类型字段、8比特长度字段和128比特(16字节)业务id字段。当sr路径入口保护子tlv中存在业务子子tlv时,业务子子tlv中的id或标签会包括在将通过备份路径发送的数据的转发表项中。当数据报文使用转发表项引入到备份路径中时,首先添加业务id或标签,然后添加在分段列表子tlv中表示的分段序列。
95.图12为转发等价类(forward equivalent class,fec)子子tlv 1200的一个实施例的示意图。fec子子tlv 1200描述了待引入到备份sr隧道中的流量且是一个ip前缀。fec子子tlv 1200包括8比特类型字段、8比特长度字段、8比特ip前缀长度字段和可变长度的ip前缀字段。
96.图13为接口索引子子tlv 1300的一个实施例的示意图。接口索引子子tlv 1300指示流量接收并引入到备份sr隧道中的接口。接口索引子子tlv 1300包括8比特类型字段、8比特长度字段和32比特(4字节)接口索引字段。图14为接口ip地址子子tlv 1400的一个实施例的示意图。接口ip地址子子tlv 1400指示流量接收并引入到备份sr隧道中的接口的ip地址。接口ip地址子子tlv 1400包括8比特类型字段、8比特长度字段以及ipv4地址或ipv6地址的32比特或128比特ip地址字段。
97.图15为通过bgp控制器实现的bgp入口保护的方法1500的一个实施例的流程图。当bgp控制器接收路径计算请求时,方法1500开始于步骤1510。所述路径计算请求可以从提供数据流量的应用,系统操作员或其它实体接收。
98.当所述bgp控制器计算从第一入节点到出节点的第一路径时,方法1500继续步骤1520。所述第一路径可以经过所述第一入节点和所述出节点为边缘节点的网络。除所述第一入节点和所述出节点之外,所述第一路径还可以包括任意数量的其它节点,这些节点可以称为下游节点,例如,所述第一入节点的下游节点。所述第一入节点可以从客户边缘节点或其它数据流量源接收数据流量,以便通过所述第一路径发送。
99.在步骤1530中,所述bgp控制器可以确定第二入节点来充当备份入节点。所述第二入节点用于从与所述第一入节点相同的信源接收数据流量。在这种配置中,所述第一入节点和所述第二入节点都可以从同一信源接收数据流量,以便向所述出节点发送。在一些情况下,所述信源可以基本上同时向所述第一入节点和所述第二入节点发送数据流量,或者可以只向所述第一入节点发送,然后在所述第一入节点发生故障时,只向所述第二入节点发送。
100.在步骤1540中,所述bgp控制器可以计算从所述第二入节点到所述出节点的第二路径。所述第二入节点是所述网络的边缘节点。所述第二路径可以包括所述第一路径的至少一部分。例如,所述第二路径可以从所述第二入节点到所述第一路径的其中一个下游节点。从所述下游节点开始,所述第二路径沿着所述第一路径。
101.在步骤1550中,所述bgp控制器可以向所述第一入节点发送包括所述第一路径的第一消息。所述第一消息可以是包括所述第一路径的bgp update消息。所述第一消息中的所述第一路径可以由数据流量为了到达所述出节点而需要经过的链路的列表来标识。在另一种情况下,所述第一路径可以由数据流量为了到达所述出节点而需要经过的节点的列表来标识。所述列表可以是分段列表,其中的节点和分段由sid标识。
102.在步骤1560中,所述bgp控制器可以向所述第二入节点发送包括所述第二路径和入口保护指示符的第二消息。所述第二消息可以是包括所述第二路径和sr隧道入口保护子tlv(例如,sr隧道入口保护子tlv 600)的bgp update消息。所述第二消息中的所述第二路径可以由数据流量为了到达所述出节点而需要经过的链路的列表来标识。在另一种情况下,所述第二路径可以由数据流量为了到达所述出节点而需要经过的节点的列表来标识。所述列表可以是分段列表,其中的节点和分段由sid标识。所述入口保护指示符可以是所述sr隧道入口保护子tlv或指示所述第二路径用于入口保护的其它指示符。
103.图16为通过备份入节点实现的bgp入口保护的方法1600的一个实施例的流程图。当边缘节点接收包括路径和入口保护指示符的消息时,方法1600开始于步骤1610。所述路径可以指示备份入节点和出节点之间的隧道使用的路径。所述消息可以是包括所述路径和sr隧道入口保护子tlv(例如,sr隧道入口保护子tlv 600)的bgp update消息。所述消息中的所述路径可以由数据流量为了到达所述出节点而需要经过的链路的列表来标识。在另一种情况下,所述路径可以由数据流量为了到达所述出节点而需要经过的节点的列表来标识。所述列表可以是分段列表,其中的节点和分段由sid标识。所述入口保护指示符可以是所述sr隧道入口保护子tlv或指示所述路径用于入口保护的其它指示符。
104.在步骤1620中,所述边缘节点可以在转发信息库(forwarding information base,fib)中创建表项。根据在步骤1610中接收的所述消息中的标志或其它指示符,所述表项可以被设置为激活状态或非激活状态。步骤1630是当所述表项处于激活状态时或当所述表项不处于激活状态时要采取的步骤的决策点。如果所述表项被设置为激活状态,则在步
骤1650中,所述边缘节点将沿着所述消息中标识的所述路径发送与所述路径相关联的任何流量。所述边缘节点可以根据与所述消息中包括的所述路径相关联的流量类型的描述,确定流量与所述路径相关联。当提供数据沿所述路径发送的流量源或客户边缘节点(例如,客户边缘节点110)用于检测主入节点(例如,入节点115)上的故障时,所述表项可以被设置为激活状态。在这种情况下,当检测到所述主入节点发生故障时,所述流量源或客户边缘节点开始向所述备份入节点(例如,边缘节点120)发送流量。
105.如果所述表项未被设置为激活状态,则在步骤1640中,所述边缘节点丢弃与所述消息中标识的所述路径相关联的任何流量。在决策点步骤1660中,所述边缘节点可以检测到所述主入节点已经发生故障。所述边缘节点可以接收链路状态消息。链路状态消息可以指示所述主入节点已经发生故障。在另一种情况下,所述边缘节点可以接收指示所述主入节点已经发生故障的其它消息。如果所述边缘节点确定所述主边缘节点已经发生故障,则所述边缘节点可以在步骤1670中将所述fib中的所述表项设置为激活状态,并在步骤1650中开始沿所述消息中标识的所述路径发送与所述路径相关联的任何流量。在这些情况下,所述流量源或客户边缘节点可以基本上同时向所述主入节点和所述备份入节点发送数据;或者,当检测到所述主入节点发生故障时,所述流量源或客户边缘节点开始向所述备份入节点发送流量。
106.图17为本发明一个实施例提供的电子设备1700的示意图。电子设备1700适合于实现本文描述的公开实施例。电子设备1700包括:入端口1710和接收单元(rx)1720,用于接收数据;处理器、逻辑单元或中央处理单元(central processing unit,cpu)1730,用于处理所述数据;发送单元(tx)1740和出端口1750,用于发送所述数据;存储器1760,用于存储所述数据。电子设备1700还可以包括与入端口1710、接收单元1720、发送单元1740和出端口1750耦合的光电(optical-to-electrical,oe)组件和电光(electrical-to-optical,eo)组件,用于光信号或电信号的出口或入口。
107.处理器1730通过硬件和软件来实现。处理器1730可以实现为一个或多个cpu芯片、一个或多个核(例如,多核处理器)、一个或多个现场可编程门阵列(field-programmable gate array,fpga)、一个或多个专用集成电路(application specific integrated circuit,asic)以及一个或多个数字信号处理器(digital signal processor,dsp)。处理器1730与入端口1710、接收单元1720、发送单元1740、出端口1750和存储器1760通信。处理器1730包括路径路由模块1770。路径路由模块1770实现上文描述的公开实施例。例如,路径路由模块1770执行、处理、解析、准备或提供各种路径路由操作。因此,将路径路由模块1770包括在内为电子设备1700的功能提供了实质性的改进,并且影响了电子设备1700到不同状态的转换。或者,以存储在存储器1760中并由处理器1730执行的指令来实现路径路由模块1770。
108.存储器1760包括一个或多个磁盘、一个或多个磁带机以及一个或多个固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序,并且存储在执行程序过程中读取的指令和数据。存储器1760可以是易失性和/或非易失性,并且可以是只读存储器(read-only memory,rom)、随机存取存储器(random-access memory,ram)、三态内容寻址存储器(ternary content-addressable memory,tcam)和/或静态随机存取存储器(static random-access memory,sram)。
109.图18为隧道入口保护装置1800的示意图。隧道入口保护装置1800可以是包括bgp控制器的网络节点或网络中的边缘节点等。隧道入口保护装置1800包括:接收模块1810,例如,接收单元1720;发送模块1820,例如,发送单元1740;处理模块1830,例如,处理器1730。接收模块1810可以用于接收路径计算请求。处理模块1830可以与接收模块1810耦合。处理模块1830可以用于:计算从第一入节点到出节点的第一路径;为所述第一路径分配第一sid列表;确定第二入节点;计算从所述第二入节点到所述出节点的第二路径;为所述第二路径分配第二sid列表。发送模块1820可以与处理模块1830耦合。发送模块1820可以用于:向所述第一入节点发送包括所述第一路径和所述第一sid列表的第一消息;向所述第二入节点发送包括所述第二路径和所述第二sid列表的第二消息。
110.虽然本发明提供了若干个实施例,但应当理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可能通过其它多种具体形式体现。本发明示例应当被视为说明性而非限制性的,且本发明并不限于本文所给出的详细内容。例如,各种元件或组件可以组合或集成在另一系统中,或者一些特征可以省略或不实施。
111.另外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。展示或描述为彼此耦合或直接耦合或相互通信的其它项可以采用电方式、机械方式或其它方式通过某种接口、设备或中间组件间接地耦合或通信。变化、替换、变更的其它示例可由本领域技术人员确定,并可以在不脱离本文公开的精神和范围的情况下举例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献