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

广义SRv6全路径压缩方法及装置与流程

2021-10-24 10:36:00 来源:中国专利 TAG:广义 路径 装置 压缩 方法

广义srv6全路径压缩方法及装置
技术领域
1.本技术涉及通信技术领域,尤其涉及一种广义srv6全路径压缩方法及装置。


背景技术:

2.段路由(英文:segment routing,简称:sr)采用源节点路径选择机制,预先在源节点封装路径所要经过段的段标识(英文:segment identifier,简称:sid),当业务报文经过sr节点时,该节点根据sid对业务报文进行转发。ipv6 sr(srv6)是指在ipv6网络中使用sr机制,将ipv6地址作为sid对业务报文进行转发。
3.在srv6中,源节点接收控制器根据算路约束计算出的srv6转发路径信息。源节点在对业务报文进行转发时,在业务报文的外层封装srv6扩展头,srv6扩展头包括ipv6头部以及ipv6 sr头部(英文:segment routing header,简称:srh头部)。其中,srh头部内封装sid列表,该sid列表存储转发路径所要经过的每个sr节点的sid。如此,srv6扩展头的封装长度为:40bit(ipv6基本头部) 8bit(srh固定头部) 16*nbit(sid列表)。随着sid数量的增加,srv6扩展头的开销也逐渐增大。
4.为了解决上述问题,可通过支持srv6和压缩srv6等多种网络混合编程的广义srv6(英文:generalized srv6,简称:g

srv6)方案对srv6扩展头进行优化。
5.g

srv6定义32bit的压缩g

sid格式,该g

sid由128bit sid中的节点标识(node id)和功能标识(function id)组成。如图1所示,图1为支持压缩的srv6 sid格式示意图。
6.其中,128bit的sid格式称为完整sid,其定义沿用srv6 sid;32bit的sid格式称为g

sid,其是完整sid的变化部分。完整sid与通用sid的转换关系如下公式:
7.完整sid=b(block,即公用前缀(common prefix))字段 n(节点标识)字段 f(功能标识)字段 a(args)字段 padding字段,其中,a字段、padding字段为可选字段;g

sid=n字段 f字段。
8.当128bit srv6 sid与32bit g

sid在g

srh中混编时,其编码示例如图2所示,图2为g

srh sid列表示意图。其中,压缩路径1的sid列表中包括128bit可压缩srv6 sid与多个32bit g

sid的混编状态。
9.在实际应用中,某个vpn的多个site可能会连接与属于不同自治系统(英文:autonomous system,简称:as)的多个服务提供商连接,或者接入一个服务提供商的多个as。如图3所示,图3为端到端跨域vpn组网示意图。
10.网络侧边缘设备(英文:provider edge,简称:pe)之间建立跨as的srv6策略公网隧道。自治系统边界路由器(英文:autonomous system boundary router,简称:asbr)之间通过部署bgp出口对等体工程(英文:bgp egress peer engineering,简称:bgp epe),为对端的bgp对等体分配对端(peer)sid,通过将as域内srv6 sid和域间peer sid合理组合,在源节点下发srv6策略。
11.如图3所示,客户侧边缘设备(英文:customer edge,简称:ce)1向pe1发送业务报文。pe1从绑定了指定vpn实例的接口处接收到业务报文后,在该vpn实例内的路由表中查找
匹配的路由,且该路由指示的下一跳为srv6策略。pe1对业务报文封装srv6扩展头,之后按照公网地址转发业务报文。各中间节点根据sid列表执行转发,并对g

srh头部进行相应处理。
12.pe2接收到业务报文后,使用目的地址查找本地sid表,执行目的地址对应的转发动作,并将业务报文转发至ce2。
13.但是,现有的g

srh应用在跨域场景下,各as的common prefix不同,域间sid无法进行压缩,srv6策略包括的sid列表仅能对as域内的路径分别进行压缩,影响压缩效率,无法实现端到端跨域vpn组网中整体路径的压缩方案。


技术实现要素:

14.有鉴于此,本技术提供了一种广义srv6全路径压缩方法及装置,用以解决现有g

srh无法实现端到端跨域vpn组网中整体路径压缩的问题。
15.第一方面,本技术提供了一种广义srv6全路径压缩方法,所述方法应用于自治系统边界路由器asbr,所述方法包括:
16.接收第一网络设备发送的第一业务报文,所述第一业务报文包括第一目的地址以及sid列表,所述第一目的地址包括第一公用前缀以及第一广义sid,所述sid列表包括至少一个第二广义sid;
17.从所述至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid,所述第二网络设备为所述asbr的下一跳网络设备;
18.当所述第二网络设备与所述第一网络设备处于不同as内时,根据所述第一公用前缀,获取与所述第一公用前缀匹配的公用前缀静态映射关系;
19.根据获取的所述公用前缀静态映射关系,得到第二目的地址,所述第二目的地址包括用于替换所述第一公用前缀的第二公用前缀以及用于替换所述第一广义sid的所述第三广义sid;
20.向所述第二网络设备发送第二业务报文,所述第二业务报文包括所述第二目的地址以及所述sid列表。
21.第二方面,本技术提供了一种广义srv6全路径压缩装置,所述装置应用于自治系统边界路由器asbr,所述装置包括:
22.接收单元,用于接收第一网络设备发送的第一业务报文,所述第一业务报文包括第一目的地址以及sid列表,所述第一目的地址包括第一公用前缀以及第一广义sid,所述sid列表包括至少一个第二广义sid;
23.第一获取单元,用于从所述至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid,所述第二网络设备为所述asbr的下一跳网络设备;
24.第二获取单元,用于当所述第二网络设备与所述第一网络设备处于不同as内时,根据所述第一公用前缀,获取与所述第一公用前缀匹配的公用前缀静态映射关系;
25.处理单元,用于根据获取的所述公用前缀静态映射关系,得到第二目的地址,所述第二目的地址包括用于替换所述第一公用前缀的第二公用前缀以及用于替换所述第一广义sid的所述第三广义sid;
26.发送单元,用于向所述第二网络设备发送第二业务报文,所述第二业务报文包括
所述第二目的地址以及所述sid列表。
27.第三方面,本技术提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本技术第一方面所提供的方法。
28.因此,通过应用本技术提供的广义srv6全路径压缩方法及装置,asbr接收第一网络设备发送的第一业务报文,该第一业务报文包括第一目的地址以及sid列表,其中,第一目的地址包括第一公用前缀以及第一广义sid,sid列表包括至少一个第二广义sid;从至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid;当第二网络设备与第一网络设备处于不同as内时,根据第一公用前缀,asbr获取与第一公用前缀匹配的公用前缀静态映射关系;根据获取的公用前缀静态映射关系,asbr得到第二目的地址,该第二目的地址包括用于替换第一公用前缀的第二公用前缀以及用于替换第一广义sid的第三广义sid;asbr向第二网络设备发送第二业务报文,该第二业务报文包括第二目的地址以及sid列表。
29.如此,解决现有g

srh无法实现端到端跨域vpn组网中整体路径压缩的问题。实现了g

srv6在端到端跨域vpn组网中可支持端到端的跨域全路径连续压缩,支持在不同的as内独立规划ip地址,并支持跨域压缩互通,提高了压缩效率,减少srv6报文头部的开销。
附图说明
30.图1为支持压缩的srv6 sid格式示意图;
31.图2为g

srh sid列表示意图;
32.图3为端到端跨域vpn组网示意图;
33.图4为本技术实施例提供的广义srv6全路径压缩方法的流程图;
34.图5为本技术实施例提供的一种广义srv6全路径压缩组网示意图;
35.图6为本技术实施例提供的evpn下不同组网对接的实现装置结构图;
36.图7为本技术实施例提供的网络设备硬件结构体。
具体实施方式
37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本技术相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
38.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
39.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
40.下面对本技术实施例提供的广义srv6全路径压缩方法进行详细地说明。参见图4,图4为本技术实施例提供的广义srv6全路径压缩方法的流程图。该方法应用于自治系统边界路由器(英文:autonomous system boundary router,简称:asbr),本技术实施例提供的广义srv6全路径压缩方法可包括如下所示步骤。
41.步骤410、接收第一网络设备发送的第一业务报文,所述第一业务报文包括第一目的地址以及sid列表,所述第一目的地址包括第一公用前缀以及第一广义sid,所述sid列表包括至少一个第二广义sid。
42.具体地,asbr处于ipv4 l3vpn over srv6 te policy组网内或处于ipv4 l3vpn over srv6 be组网,上述组网包括多个as,例如,第一as、第二as。不同as通过asbr建立连接,每个as内包括pe设备、多个p设备以及asbr,其中,pe设备用于与ce设备连接,pe设备与asbr之间通过多个p设备连接。处于不同as内的pe之间建立段路由流量工程策略(英文:segment routing traffic engineering policy,简称:srv6 te policy)隧道或者srv6 be隧道。
43.在本技术实施例中,asbr处于第一as边界区域,该第一as内包括第一网络设备,第一网络设备可具体为asbr的上一跳网络设备。asbr与处于第二as边界区域的asbr建立连接,该处于第二as边界区域的asbr可称之为第二网络设备,第二网络设备可具体为asbr的下一跳网络设备。
44.当第一网络设备接收到或者生成第一业务报文后,其向asbr转发第一业务报文,该第一业务报文包括第一目的地址以及sid列表,该第一目的地址包括第一公用前缀(common prefix)以及第一广义sid(g

sid),该sid列表处于广义srh(英文:generalized segment routing header,简称:g

srh)头部内,sid列表包括至少一个第二广义sid。
45.其中,至少一个第二广义sid用于标识处于不同as内的网络设备,且每个第二广义sid均依照每个第二广义sid标识的网络设备在转发路径中的转发逆顺序依次存储在sid列表中。
46.在本技术实施例中,每个广义sid(包括第一sid、第二sid)均包括一路径压缩标识,该路径压缩标识用以表示该sid是否具有继续压缩(英文:continue of compression,简称:coc)标记。例如,第一类路径压缩标识为“1”,表示该sid具有coc标记;第二类路径压缩标识为“2”,标识该sid未具有coc标记。
47.可以理解的是,128位srv6 sid和32位广义sid混合封装在g

srh中时,通过coc标记表示sid列表中广义sid的起始和结束,即128位srv6 sid和32位广义sid之间的边界。其中,128位srv6 sid具有coc标记时,标识下一个sid为广义sid,即广义sid的起始。32位广义sid未具有coc标记时,标识下一个sid为128位srv6 sid,即广义sid的结束。
48.在本技术实施例中,coc标记除了标识广义sid的起始和结束之外,还可用以标识不同as内路径压缩的结束。若某一广义sid包括第一类路径压缩标识,则表示该广义sid表征的网络设备与当前处理业务报文的网络设备处于同一as内,该as域内压缩路径还未结束;若某一广义sid包括第二类路径压缩标识,则表示该广义sid表征的网络设备与当前处理业务报文的网络设备处于不同as内,即当前处理业务报文的网络设备将跨域转发业务报文。
49.asbr接收第一网络设备发送的第一业务报文。在本技术实施例中,第一业务报文
具体为广义srv6报文(g

srv6)。
50.在本技术实施例中,sid列表中包括两个128位可压缩srv6 sid,分别处于sid列表中的尾部以及首部。处于首部的sid用于标识源网络设备的下一跳网络设备,处于尾部的sid用于标识转发路径中的最后一跳网络设备。其中,处于首部的sid具有第一类路径压缩标识,以表示下一个sid为广义sid,即广义sid的起始;处于次尾部的sid具有第二类路径压缩标识,以标识下一个sid128位srv6 sid,即广义sid的结束。
51.可以理解的是,第一网络设备可为源网络设备,即与ce设备连接的pe设备;或者,第一网络设备可为中间转发网络设备,即与pe设备连接或者与asbr连接的网络设备。无论第一网络设备为源网络设备或者中间转发网络设备,其可按照现有srv6协议执行对ce设备发送的私网报文进行ipv6头部、g

srh头部的封装,并将封装后得到的业务报文向下一跳网络设备转发、以及在转发过程中,更新ipv6头部、g

srh头部的步骤,在此不再复述。
52.步骤420、从所述至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid,所述第二网络设备为所述asbr的下一跳网络设备。
53.具体地,根据步骤410的描述,asbr接收到第一业务报文后,从中获取第一目的地址以及sid列表。
54.asbr从sid列表包括的至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid。
55.进一步地,在本技术实施例中,第一目的地址还包括广义sid索引(英文:g

sid index,简称:si)。asbr获取第三广义sid的过程具体为:
56.asbr获取si并判断si的值是否大于0,若si的值大于0,则asbr将si的值与1相减,并从至少一个第二广义sid中,查找差值对应的广义sid。asbr将查找到的广义sid作为第三广义sid。
57.若si等于0,则asbr获取g

srh头部中包括的段剩余(英文:segments left,简称:sl)。asbr将sl的值与1相减,并从至少一个第二广义sid中,查找差值对应的广义sid。asbr将查找到的广义sid作为第三广义sid。
58.可以理解的是,asbr在获取第三广义sid的过程与现有网络设备更新g

srh头部的过程相同,在此仅简单描述。
59.步骤430、当所述第二网络设备与所述asbr处于不同as内时,根据所述第一公用前缀,获取与所述第一公用前缀匹配的公用前缀静态映射关系。
60.具体地,根据步骤420的描述,asbr获取到第三广义sid后,根据第一广义sid包括的第一类路径压缩标识、第三广义sid包括的第二类路径压缩标识,判断第二网络设备是否与自身处于同一as内。可以理解的是,asbr可根据第一广义sid包括的第一类路径压缩标识确定自身当前处于的as内压缩路径已结束。asbr可根据第三广义sid包括的第二类路径压缩标识,确定自身与下一跳网络设备之间为跨域转发。
61.若第二网络设备未与自身处于同一as内,则asbr根据第一公用前缀,从控制面(control plane)处,获取与第一公用前缀匹配的公用前缀静态映射关系。
62.可以理解的是,若第二网络设备与第一网络设备处于不同as内时,asbr确定第二网络设备的目的地址所包括的公用前缀与自身目的地址所包括的公用前缀不同,则此时,在转发第一业务报文的过程中,需替换自身目的地址所包括的公用前缀。
63.进一步地,公用前缀静态映射关系可由控制器下发至asbr中,或者,由用户通过命令行的方式配置至asbr中。
64.在一种实现方式中,控制器计算出处于不同as内的pe设备之间的srv6路径后,生成公用前缀静态映射关系,该公用前缀静态映射关系包括第一公用前缀以及第二公用前缀。其中,第一公用前缀与第二公用前缀表示不同网段。
65.控制器生成第一配置指令,该第一配置指令包括公用前缀静态映射关系。
66.控制器根据手机到的网络拓扑,向需要进行跨域转发业务报文的asbr下发第一配置指令。
67.在另一种实现方式中,用户根据网络拓扑,通过命令行的方式,向asbr输入第二配置指令,第二配置指令包括公用前缀静态映射关系。
68.asbr接收到第一配置指令或第二配置指令后,从中获取公用前缀静态映射关系,并将公用前缀静态映射关系存储至控制面。
69.步骤440、根据获取的所述公用前缀静态映射关系,得到第二目的地址,所述第二目的地址包括用于替换所述第一公用前缀的第二公用前缀以及用于替换所述第一广义sid的所述第三广义sid。
70.具体地,根据步骤430的描述,asbr获取到公用前缀静态映射关系后,从公用前缀静态映射关系中获取第二公用前缀。
71.asbr利用第二公用前缀以及第三广义sid,生成第二目的地址,该第二目的地址包括第二公用前缀以及第三广义sid。
72.进一步地,asbr利用第二公用前缀替换第一公用前缀,并利用第三广义sid替换第一广义sid。
73.同时,asbr重置si的值,若第一目的地址包括的si的值不等于0,则asbr将si的值与1相减,并将差值存储至第二目的地址包括的si处。若第一目的地址包括的si的值等于0,则asbr将sl的值与1相减,并将差值存储至第二目的地址包括的sl处,第二目的地址包括的si的值为0。
74.asbr生成第二目的地址后,将第二目的地址替换第一目的地址,得到第二业务报文,该第二业务报文包括的源地址、sid列表与第一业务报文包括的源地址、sid列表相同。
75.在本技术实施例中,第二业务报文具体为广义srv6报文(g

srv6)。
76.步骤450、向所述第二网络设备发送第二业务报文,所述第二业务报文包括所述第二目的地址以及所述sid列表。
77.具体地,根据步骤440的描述,asbr生成第二业务报文后,asbr向第二网络设备发送第二业务报文。
78.第二网络设备接收到第二业务报文后,从中获取第二目的地址以及sid列表。
79.在一种实现方式中,当第二网络设备为目的网络设备时,识别sl的值。若sl的值为0,则根据第二目的地址查找本地sid表,并识别第二目的地址的sid类型。根据第二目的地址的sid类型,执行该sid类型对应的转发动作。例如,第二目的地址的sid类型为end.dt4 sid,则第二网络设备执行的转发动作为:对第二业务报文进行解封装处理,去掉ipv6头部以及g

srh头部。根据end.dt4sid匹配本地vpn实例,查找对应vpn实例下的路由表。通过路由表将解封装后的第二业务报文转发至ce设备。
80.在另一种实现方式中,当第二网络设备仍为中间转发网络设备,且第二网络设备与下一跳网络设备处于相同as内时,第二网络设备可依照现有广义srv6方式转发业务报文的过程对第二业务报文进行转发处理,在此不再复述。
81.在另一种实现方式中,当第二网络设备仍为中间转发网络设备,且第二网络设备与下一跳网络设备处于不同as内时,第二网络设备可参照前述asbr执行步骤410

步骤450的描述对第二业务报文进行转发处理,在此不再复述。
82.因此,通过应用本技术提供的广义srv6全路径压缩方法,asbr接收第一网络设备发送的第一业务报文,该第一业务报文包括第一目的地址以及sid列表,其中,第一目的地址包括第一公用前缀以及第一广义sid,sid列表包括至少一个第二广义sid;从至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid;当第二网络设备与第一网络设备处于不同as内时,根据第一公用前缀,asbr获取与第一公用前缀匹配的公用前缀静态映射关系;根据获取的公用前缀静态映射关系,asbr得到第二目的地址,该第二目的地址包括用于替换第一公用前缀的第二公用前缀以及用于替换第一广义sid的第三广义sid;asbr向第二网络设备发送第二业务报文,该第二业务报文包括第二目的地址以及sid列表。
83.如此,解决现有g

srh无法实现端到端跨域vpn组网中整体路径压缩的问题。实现了g

srv6在端到端跨域vpn组网中可支持端到端的跨域全路径连续压缩,支持在不同的as内独立规划ip地址,并支持跨域压缩互通,提高了压缩效率,减少srv6报文头部的开销。
84.下面对本技术实施例提供的广义srv6全路径压缩方法进行详细地说明。参见图5,图5为本技术实施例提供的一种广义srv6全路径压缩组网示意图。
85.在图5中,pe1、核心设备(英文:provider,简称:p)1、p2、asbr1处于as1内,pe2、p3、p4、asbr2处于as2内。pe1与ce1连接,pe2与ce2连接。asbr1与asbr2建立跨域连接,asbr部署bgp epe。每个as均构建为srv6组网,pe1与pe2之间建立mp

ebgp并建立srv6 te policy隧道或者srv6 be隧道。
86.控制面工作流程如下:
87.通过建立的mp

ebgp,pe之间发布私网路由。组网内的pe、p、asbr分配自身的sid,并通过bgp链路状态(英文:bgp link state,简称:bgp

ls)向控制器发布分配的sid。其中,由于各asbr内步骤bgp epe,各asbr为对端分配对端(peer)sid,且通过bgp

ls向控制器发布为对端分配的对端sid。
88.用户根据当前的网络拓扑,确定pe之间的srv6路径,并可通过命令行的方式在源网络设备,即pe1中下发srv6策略(srv6 policy);或者,控制器通过bgp

ls收集网络拓扑以及各网络设备的sid后,计算出pe之间的srv6路径,控制器生成srv6策略,通过bgp报文向pe1发送srv6策略。
89.同时,控制器根据网络拓扑以及各网络设备的sid,生成公用前缀静态映射关系,并将公用前缀静态映射关系通过配置指令下发至处于跨域区域的asbr中,该公用前缀静态映射关系用于指定需要替换的公用前缀。
90.在本技术实施例中,以ce1与ce2之间相互转发私网报文为例进行说明。若在实际应用组网中,存在多ce之间相互转发私网报文情况,控制器还可通过在srv6策略中携带指定标记的方式,通知asbr如何在公用前缀静态映射关系中选择需要替换的公用前缀。
91.例如,在srv6策略中某一条srv6路径中携带指定标记,asbr可根据指定标记在公
用前缀静态映射关系中选择具有相同指定标记的公用前缀。
92.在本技术实施例中,ce1与ce2之间的转发路径为一条srv6路径,且在该条srv6路径中需进行跨域转发,则公用前缀静态映射关系中仅包括一条需要替换的公用前缀记录。例如,as1的公用前缀为a:0:0:0,as2的公用前缀为b:0:0:0,则公用前缀静态映射关系中记录:a:0:0:0

b:0:0:0。
93.下面对各网络设备的sid进行简要说明。as1内包括的pe1、p1、p2以及asbr1具有相同的64位公用前缀,即a:0:0:0。每个网络设备具有各自分配的32位广义sid,广义sid包括16位节点标识以及16位功能标识。其中,a:0:0:0:x:1::,表示具有coc标记的end.x的sid;a:0:0:0:x:2::,表示不具有coc标记的end.x的sid。
94.例如,pe1的sid为a:0:0:0:10:1::123、p1的sid为a:0:0:0:1:1::、p2的sid为a:0:0:0:2:1::、asbr1的sid为a:0:0:0:20:2::。
95.as2内包括的pe2、p3、p4以及asbr2具有相同的64位公用前缀,即b:0:0:0。每个网络设备具有各自分配的32位广义sid,广义sid包括16位节点标识以及16位功能标识。其中,b:0:0:0:x:1::,表示具有coc标记的end.x的sid;b:0:0:0:x:2::,表示不具有coc标记的end.x的sid。
96.例如,pe2的sid为b:0:0:0:40:1::2、p3的sid为b:0:0:0:3:1::、p4的sid为b:0:0:0:4:2::、asbr2的sid为b:0:0:0:30:1::。
97.在本技术实施例中,每个广义sid(包括第一sid、第二sid)均包括一路径压缩标识,该路径压缩标识用以表示该sid是否具有coc标记。例如,第一类路径压缩标识为“1”,表示该sid具有coc标记;第二类路径压缩标识为“2”,标识该sid未具有coc标记。
98.可以理解的是,128位srv6 sid和32位广义sid混合封装在g

srh中时,通过coc标记表示sid列表中广义sid的起始和结束,即128位srv6 sid和32位广义sid之间的边界。其中,128位srv6 sid具有coc标记时,标识下一个sid为广义sid,即广义sid的起始。32位广义sid未具有coc标记时,标识下一个sid为128位srv6 sid,即广义sid的结束。
99.在本技术实施例中,coc标记除了标识广义sid的起始和结束之外,还可用以标识不同as内路径压缩的结束。若某一广义sid包括第一类路径压缩标识,则表示该广义sid表征的网络设备与当前处理业务报文的网络设备处于同一as内,该as域内压缩路径还未结束;若某一广义sid包括第二类路径压缩标识,则表示该广义sid表征的网络设备与当前处理业务报文的网络设备处于不同as内,即当前处理业务报文的网络设备将跨域转发业务报文。
100.具体转发过程为:
101.ce1向pe1发送私网报文,pe1从绑定了指定vpn实例的接口上接收到私网报文后,在该vpn实例的路由表中查找匹配的路由表项。根据查找的路由表项,确定下一跳为srv6策略,则如图5所示对私网报文进行封装处理,即pe1在私网报文的外层封装ipv6头部以及g

srh头部。
102.如图5中所示pe1生成的第一业务报文,该第一业务报文包括ipv6头部、g

srh头部以及负载(payload)。ipv6头部包括源地址(即pe1的sid a:0:0:0:10:1::123)、目的地址(即p1的sid a:0:0:0:1:1::,该目的地址由公用前缀以及广义sid组成)。g

srh头部包括sl、sid列表。其中,sdi列表中存储了多个sid,该多个sid包括128位srv6 sid以及广义sid,
且多个sid依照每个sid标识的网络设备在转发路径中的转发逆顺序依次存储。
103.例如,pe2作为转发路径中的最后一跳,其128位srv6 sid排列在sid列表中的首部,p1作为pe1的下一跳,其128位srv6 sid排列在sid列表中的尾部,且sid列表中pe2、p1的sid均具有coc标记,以表示sid列表中广义sid的起始和结束,同时也标识as1内压缩路径是否结束。
104.sid列表中存储的多个广义sid也依照每个广义sid标识的网络设备在转发路径中的转发逆顺序依次存储。
105.例如,p1的下一跳为p2,则将p2的sid中的广义sid排列在sid列表中的次尾部。
106.可以理解的是,目前在sid列表中可存储最多8个广义sid,在本技术实施例中,中间转发设备包括5个,因此,未存储广义sid的位置置0。
107.在本技术实施例中,sid列表中包括两个128位可压缩srv6 sid,分别处于sid列表中的尾部以及首部。处于首部的sid用于标识源网络设备的下一跳网络设备,处于尾部的sid用于标识转发路径中的最后一跳网络设备。其中,处于首部的sid具有第一类路径压缩标识,以表示下一个sid为广义sid,即广义sid的起始;处于次尾部的sid具有第二类路径压缩标识,以标识下一个sid128位srv6 sid,即广义sid的结束。
108.p1、p2作为中间转发设备,其接收到第一业务报文后,依照现有srv6协议执行对第一业务报文更新ipv6头部、g

srh头部的步骤,在此简单说明。
109.以p1为例说明,p1接收到pe1发送的第一业务报文后,根据si或sl的值,从sid列表中确定下一跳的广义sid。由于下一跳与自身处于同一as内,因此,p1仅将下一跳的广义sid替换原有目的地址中的广义sid,而公用前缀保持不变,得到一新的目的地址,且该目的地址为p2的sid。
110.同时,p1更新si或sl的值,生成第二业务报文(图中未示出)。p1向p2发送第二业务报文。
111.p2接收到p1发送的第二业务报文后,根据si或sl的值,从sid列表中确定下一跳的广义sid。由于下一跳与自身处于同一as内,因此,p2仅将下一跳的广义sid替换原有目的地址中的广义sid,而公用前缀保持不变,得到一新的目的地址,且该目的地址为asbr1的sid。
112.同时,p2更新si或sl的值,生成第三业务报文。p2向asbr1发送第三业务报文。
113.如图5中所示p2生成的第三业务报文,该第三业务报文包括ipv6头部、g

srh头部以及负载。ipv6头部包括源地址(即pe1的sid a:0:0:0:10:1::123)、目的地址(即asbr1的sid a:0:0:0:20:2::)。g

srh头部包括sl、sid列表。
114.asbr1接收到p2发送的第三业务报文后,根据si或sl的值,从sid列表中确定下一跳的广义sid。由于下一跳与自身处于不同as内,因此,asbr1根据as1内的公用前缀,从控制面处,获取与as1内的公用前缀匹配的公用前缀静态映射关系,即a:0:0:0

b:0:0:0。
115.asbr1将公用前缀静态映射关系中指定的公用前缀替换原有目的地址中的公用前缀,并将下一跳的广义sid替换原有目的地址中的广义sid,得到一新的目的地址,且该目的地址为asbr2的sid。
116.同时,asbr1更新si或sl的值,生成第四业务报文。asbr1向asbr2发送第四业务报文。
117.asbr2接收到第四业务报文后,可根据前述p1、p2的处理过程对第四业务报文进行
转发处理,在此不在复述。asbr2生成的第五业务报文如图5所示。
118.p3、p4对业务报文的处理过程与前述p1、p2对业务报文的处理过程类似,在此不再复述。p4生成的第六业务报文如图5所示。
119.p4向pe2发送第六业务报文。pe2接收到第六报文后,识别sl的值。若sl的值为0,则根据目的地址查找本地sid表,并识别目的地址的sid类型。根据目的地址的sid类型,执行该sid类型对应的转发动作。例如,目的地址的sid类型为end.dt4 sid,则pe2执行的转发动作为:对第六业务报文进行解封装处理,去掉ipv6头部以及g

srh头部。根据end.dt4 sid匹配本地vpn实例,查找对应vpn实例下的路由表。通过路由表将解封装后的第六业务报文转发至ce2。
120.基于同一发明构思,本技术实施例还提供了与广义srv6全路径压缩方法对应的广义srv6全路径压缩装置。参见图6,图6为本技术实施例提供的广义srv6全路径压缩装置结构图。所述装置应用于自治系统边界路由器asbr,所述装置包括:
121.接收单元610,用于接收第一网络设备发送的第一业务报文,所述第一业务报文包括第一目的地址以及sid列表,所述第一目的地址包括第一公用前缀以及第一广义sid,所述sid列表包括至少一个第二广义sid;
122.第一获取单元620,用于从所述至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid,所述第二网络设备为所述asbr的下一跳网络设备;
123.第二获取单元630,用于当所述第二网络设备与所述第一网络设备处于不同as内时,根据所述第一公用前缀,获取与所述第一公用前缀匹配的公用前缀静态映射关系;
124.处理单元640,用于根据获取的所述公用前缀静态映射关系,得到第二目的地址,所述第二目的地址包括用于替换所述第一公用前缀的第二公用前缀以及用于替换所述第一广义sid的所述第三广义sid;
125.发送单元650,用于向所述第二网络设备发送第二业务报文,所述第二业务报文包括所述第二目的地址以及所述sid列表。
126.可选地,所述接收单元610还用于,接收控制器发送的第一配置指令,所述第一配置指令包括所述公用前缀静态映射关系,所述公用前缀静态映射关系包括所述第一公用前缀以及所述第二公用前缀。
127.可选地,所述接收单元610还用于,接收用户输入的第二配置指令,所述第二配置指令包括所述公用前缀静态映射关系,所述公用前缀静态映射关系包括所述第一公用前缀以及所述第二公用前缀。
128.可选地,所述第一广义sid包括第一类路径压缩标识,所述第三广义sid包括第二类路径压缩标识;
129.所述装置还包括:判断单元(图中未示出),用于根据所述第一类路径压缩标识以及所述第二类路径压缩标识,判断所述第二网络设备是否与所述asbr处于同一as内;
130.所述第二获取单元630还用于,若所述第二网络设备未与所述asbr处于同一as内,则根据所述第一公用前缀,获取与所述第一公用前缀匹配的公用前缀静态映射关系。
131.可选地,所述至少一个第二广义sid用于标识处于不同as内的网络设备,且每个所述第二广义sid均依照每个所述第二广义sid标识的网络设备在转发路径中的转发逆顺序依次存储在所述sid列表中。
132.因此,通过应用本技术提供的广义srv6全路径压缩装置,asbr接收第一网络设备发送的第一业务报文,该第一业务报文包括第一目的地址以及sid列表,其中,第一目的地址包括第一公用前缀以及第一广义sid,sid列表包括至少一个第二广义sid;从至少一个第二广义sid中,获取用于指示第二网络设备的第三广义sid;当第二网络设备与第一网络设备处于不同as内时,根据第一公用前缀,asbr获取与第一公用前缀匹配的公用前缀静态映射关系;根据获取的公用前缀静态映射关系,asbr得到第二目的地址,该第二目的地址包括用于替换第一公用前缀的第二公用前缀以及用于替换第一广义sid的第三广义sid;asbr向第二网络设备发送第二业务报文,该第二业务报文包括第二目的地址以及sid列表。
133.如此,解决现有g

srh无法实现端到端跨域vpn组网中整体路径压缩的问题。实现了g

srv6在端到端跨域vpn组网中可支持端到端的跨域全路径连续压缩,支持在不同的as内独立规划ip地址,并支持跨域压缩互通,提高了压缩效率,减少srv6报文头部的开销。
134.基于同一发明构思,本技术实施例还提供了一种网络设备,如图7所示,包括处理器710、收发器720和机器可读存储介质730,机器可读存储介质730存储有能够被处理器710执行的机器可执行指令,处理器710被机器可执行指令促使执行本技术实施例所提供的广义srv6全路径压缩方法。前述图6所示的广义srv6全路径压缩装置,可采用如图7所示的网络设备硬件结构实现。
135.上述计算机可读存储介质730可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non

volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,计算机可读存储介质730还可以是至少一个位于远离前述处理器710的存储装置。
136.上述处理器710可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field

programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
137.本技术实施例中,处理器710通过读取机器可读存储介质730中存储的机器可执行指令,被机器可执行指令促使能够实现处理器710自身以及调用收发器720执行前述本技术实施例描述的广义srv6全路径压缩方法。
138.另外,本技术实施例提供了一种机器可读存储介质730,机器可读存储介质730存储有机器可执行指令,在被处理器710调用和执行时,机器可执行指令促使处理器710自身以及调用收发器720执行前述本技术实施例描述的广义srv6全路径压缩方法。
139.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
140.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付
出创造性劳动的情况下,即可以理解并实施。
141.对于广义srv6全路径压缩装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
142.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜