07-公网IP over SRv6配置
本章节下载: 07-公网IP over SRv6配置 (283.40 KB)
公网IP over SRv6是指通过SRv6隧道承载公网IP业务,通过IPv6网络透明传输用户三层数据,实现位于不同地理位置的用户互通。
如图1-1所示,通过BGP协议在IPv6骨干网上发布用户站点的IPv6公网路由,使用PE间的SRv6隧道承载公网报文,从而实现通过IPv6骨干网连接位于不同地理位置的用户。
图1-1 公网IP over SRv6组网示意图
(1) CE 1使用IPv6静态路由、RIPng、OSPFv3、IPv6 IS-IS、EBGP或IBGP,将本站点的路由发布给PE 1。
(2) PE 1从CE 1学习到路由信息后,PE 1将公网路由存放到公网路由表中。PE 1为公网路由分配End.DT6 SID/End.DT46 SID(即为所有公网路由分配相同的End.DT6 SID),PE 1将携带End.DT6 SID/End.DT46 SID的IPv6单播路由发布给PE 2。
(3) PE 2收到PE 1发布的IPv6单播路由后,将路由加入到公网路由表中,记录End.DT6 SID/End.DT46 SID信息,并将去掉End.DT6 SID/End.DT46 SID的IPv6单播路由发布给CE 2。
(4) CE 2收到路由后,学习到路由表中,即CE 2学习到CE 1的路由。
公网IP over SRv6支持SRv6 BE、SRv6 TE和SRv6 TE/SRv6 BE混合三种路由迭代方式。采用不同的路由迭代方式时,报文转发过程有所不同。
又称为基于SID的转发方式。该方式根据封装的SRv6 SID查找IPv6路由表进行转发。
完成路由发布后,报文从CE 2到CE 1的转发过程为:
(1) CE 2发送IPv6报文给PE 2。
(2) PE 2收到报文后,在公网路由表中查找匹配IPv6目的地址的路由,找到对应的End.DT6 SID、End.DT46 SID。然后为报文封装IPv6报文头,在IPv6报文头中End.DT6 SID、End.DT46 SID作为其目的地址。
(3) PE 2根据End.DT6 SID、End.DT46 SID查找IPv6路由表,通过最优IGP路由将报文转发给P。
(4) P根据End.DT6 SID、End.DT46 SID查找IPv6路由表,通过最优IGP路由将报文转发给PE 1。
(5) PE 1接收到报文后,PE 1根据End.DT6 SID查找Local SID表,执行End.DT6 SID或End.DT46 SID对应的转发动作,即解封装报文去掉IPv6报文头,并根据End.DT6 SID或End.DT46 SID匹配公网实例,在公网路由表中,查表转发,将报文发送给CE 1。
又称为基于SRv6 TE Policy的转发方式。该方式根据报文属性查找匹配的SRv6 TE Policy,为报文添加携带SRv6 SID和SRv6 TE Policy SID列表的SRH头后,通过SRv6 TE Policy转发该报文。
可以通过如下方式将报文引入到SRv6 TE Policy进行转发(即SRv6 TE Policy引流):
· 基于Color引流:查找是否存在Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址完全相同的SRv6 TE Policy。若存在,则将该BGP路由迭代到SRv6 TE Policy。当设备收到匹配该BGP路由的报文时,会通过SRv6 TE Policy转发该报文。
· 基于隧道策略引流:根据路由下一跳地址在隧道策略中查找匹配的SRv6 TE policy。通过首选隧道策略或负载分担隧道策略,可以实现用指定SRv6 TE Policy的路径作为承载SRv6 PW的公网隧道来转发私网报文。
隧道策略的详细介绍,请参见“MPLS配置指导”中的“隧道策略”;SRv6 TE Policy的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。
该方式优先通过SRv6 TE方式选择转发路径;如果SRv6 TE方式未找到可用的SRv6 TE Policy,则通过SRv6 BE方式选择转发路径。
公网IP over SRv6配置任务如下:
(1) 配置PE-CE间的路由交换
在PE-CE间IPv6路由协议(包括IPv6静态路由、RIPng、OSPFv3、IPv6 IS-IS、EBGP或IBGP)
CE使用IPv6路由协议,将本站点的路由发布给PE。关于各个路由协议的具体配置,请参见“三层技术-IP路由配置指导”。
(2) 配置PE-PE间的路由交换
a. 配置SRv6 SID
本功能用来静态配置End.DT6 SID、End.DT46 SID。
通过BGP IPv6单播路由通告Locator段内的SRv6 SID。
只有配置本功能后,PE设备之间交换IPv6单播路由时才可以携带End.DT6 SID/End.DT46 SID。
e. (可选)配置BGP IPv6单播路由
BGP IPv6单播路由的属性请根据实际情况配置,具体内容请参见“三层技术-IP路由配置指导”中的“BGP”。
(3) 配置路由迭代方式
(4) 配置封装的IPv6报文头的源地址
本功能用来指定公网IP over SRv6骨干网中报文封装的IPv6报文头的源地址。
(1) 进入系统视图。
system-view
(2) 开启SRv6功能,并进入SRv6视图。
segment-routing ipv6
(3) 配置Locator段,并进入SRv6 Locator视图。
locator locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]
(4) 配置Opcode段。
¡ 配置End.DT6 SID。
opcode { opcode | hex hex-opcode } end-dt6
¡ 配置End.DT46 SID。
opcode { opcode | hex hex-opcode } end-dt46
在公网IP over SRv6组网场景中,在BGP IPv6单播地址族视图下配置本功能后,PE设备将为IPv6路由在引用的Locator段内申请SRv6 SID。
使用End.DT6 SID/End.DT46 SID时,都需要执行本配置。
配置本功能前,指定的Locator必须存在。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
(4) 配置BGP引用Locator段。
segment-routing ipv6 locator locator-name [ auto-sid-disable ]
缺省情况下,未引用Locator段。
本节所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 将对端PE配置为IPv6对等体。
peer { group-name | ipv6-address [ prefix-length ] } as-number as-number
(4) 指定与IPv6对等体/对等体组创建BGP会话时建立TCP连接使用的源接口。
peer { group-name | ipv6-address [ prefix-length ] } connect-interface interface-type interface-number
缺省情况下,BGP使用到达BGP对等体的最佳路由的出接口作为与对等体/对等体组创建BGP会话时建立TCP连接的源接口。
(5) 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
(6) 使能本地路由器与指定IPv6对等体交换IPv6单播路由信息的能力。
peer { group-name | ipv6-address [ prefix-length ] } enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
配置本功能后,IPv6对等体之间可以通过IPv6单播路由交换SRv6 SID信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
(4) 配置与指定IPv6对等体之间交换SRv6 SID信息。
peer { group-name | ipv6-address [ prefix-length ] } prefix-sid
缺省情况下,IPv6对等体之间不能交换SRv6 SID信息。
公网IP over SRv6网络中,设备为用户流量封装SRv6 SID后,可以根据如下路由迭代方式为封装后的报文查找转发路径:
· SRv6 BE方式:又称为基于SID的转发方式。该方式根据封装的End.DT6 SID/End.DT46 SID查找IPv6路由表进行转发。
· SRv6 TE方式:又称为基于SRv6 TE Policy的转发方式。该方式根据报文属性查找匹配的SRv6 TE Policy,为报文添加携带End.DT6 SID/End.DT46 SID和SRv6 TE Policy SID列表的SRH头后,通过SRv6 TE Policy转发该报文。有关基于SRv6 TE Policy的转发方式的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。
· SRv6 TE/SRv6 BE混合方式:优先通过SRv6 TE方式选择转发路径;如果SRv6 TE方式未找到可用的SRv6 TE Policy,则通过SR-BE方式选择转发路径。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
(4) 配置路由迭代方式。
segment-routing ipv6 { best-effort | traffic-engineering | traffic-engineering best-effort }
缺省情况下,根据路由的下一跳地址查找IPv6路由表进行转发。
在公网IPv6 over SRv6组网环境中,必须指定封装的IPv6报文头的源地址。否则,无法通过SRv6转发数据流量。
配置源地址时,不能为环回地址、链路本地地址、组播地址和未指定地址。指定的源地址必须为本机地址,且已经由路由协议发布,建议指定本设备的Loopback接口地址。
(1) 进入系统视图。
system-view
(2) 进入SRv6视图。
segment-routing ipv6
(3) 配置封装的IPv6报文头的源地址。
encapsulation source-address ipv6-address [ ip-ttl ttl-value ]
缺省情况下,未指定封装的IPv6报文头的源地址。
当BGP配置变化后,可以通过复位BGP会话使新的配置生效。复位BGP会话是指断开并重新建立BGP邻居关系的情况下,更新BGP路由信息。
请在用户视图下进行下列操作。下表中各命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
表1-1 复位BGP会话
操作 |
命令 |
复位IPv6单播地址族下的BGP会话 |
reset bgp [ instance instance-name ] { as-number | ipv6-address [ prefix-length ] | all | external | group group-name | internal } ipv6 [ unicast ] |
在完成上述配置后,在任意视图下执行display命令可以显示配置后公网IP over SRv6的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行reset命令来清除公网IP over SRv6的相关信息。
display bgp routing-table、reset bgp flap-info命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP”。
表1-2 显示和维护公网IP over SRv6的运行状态
操作 |
命令 |
显示BGP IPv6单播路由信息 |
display bgp [ instance instance-name ] routing-table ipv6 [ unicast ] [ ipv6-address prefix-length [ advertise-info ] | as-path-acl as-path-acl-number | community-list { { basic-community-list-number | comm-list-name } [ whole-match ] | adv-community-list-number } | peer ipv6-address { advertised-routes | received-routes } [ ipv6-address prefix-length | statistics ] | statistics ] |
清除BGP IPv6单播路由的震荡统计信息 |
reset bgp [ instance instance-name ] flap-info ipv6 [ unicast ] [ ipv6-address prefix-length | as-path-acl as-path-acl-number | peer ipv6-address [ prefix-length ] ] |
如图1-2所示,核心网为IPv6网络,在IPv6网络中PE设备之间部署公网IPv6 over SRv6 BE,通过SRv6隧道传递IPv6数据。
· CE与PE之间配置EBGP交换路由信息。
· 同一自治系统内的PE设备之间运行IS-IS实现IPv6网络互通,配置IBGP交换IPv6路由信息。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
GE1/0 |
111::1/96 |
PE 2 |
Loop0 |
3::3/128 |
PE 1 |
Loop0 |
1::1/128 |
|
GE1/0 |
222::2/96 |
|
GE1/0 |
111::2/96 |
|
GE2/0 |
2002::1/96 |
|
GE2/0 |
2001::1/96 |
CE 2 |
GE1/0 |
222::1/96 |
P |
Loop0 |
2::2/128 |
|
|
|
|
GE1/0 |
2001::2/96 |
|
|
|
|
GE2/0 |
2002::2/96 |
|
|
|
按照图1-2配置各接口IP地址和掩码,包括Loopback接口,具体配置过程略。
(1) 在PE和P设备上配置IPv6 IS-IS,实现骨干网PE和P的互通
# 配置PE 1。
<PE1> system-view
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] network-entity 10.1111.1111.1111.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
[PE1] interface loopback 0
[PE1-LoopBack0] isis ipv6 enable 1
[PE1-LoopBack0] quit
[PE1] interface gigabitethernet 2/0
[PE1-GigabitEthernet2/0] isis ipv6 enable
[PE1-GigabitEthernet2/0] quit
# 配置P。
<P> system-view
[P] isis
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] network-entity 10.2222.2222.2222.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] quit
[P-isis-1] quit
[P] interface loopback 0
[P-LoopBack0] isis ipv6 enable
[P-LoopBack0] quit
[P] interface gigabitethernet 1/0
[P-GigabitEthernet1/0] isis ipv6 enable
[P-GigabitEthernet1/0] quit
[P] interface gigabitethernet 2/0
[P-GigabitEthernet2/0] isis ipv6 enable
[P-GigabitEthernet2/0] quit
# 配置PE 2。
<PE2> system-view
[PE2] isis
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] network-entity 10.3333.3333.3333.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
[PE2] interface loopback 0
[PE2-LoopBack0] isis ipv6 enable
[PE2-LoopBack0] quit
[PE2] interface gigabitethernet 2/0
[PE2-GigabitEthernet2/0] isis ipv6 enable
[PE2-GigabitEthernet2/0] quit
(2) 在PE与CE之间建立EBGP对等体,引入CE路由
# 配置CE 1。
<CE1> system-view
[CE1] bgp 65410
[CE1-bgp-default] peer 111::2 as-number 100
[CE1-bgp-default] address-family ipv6 unicast
[CE1-bgp-default-ipv6] peer 111::2 enable
[CE1-bgp-default-ipv6] import-route direct
[CE1-bgp-default-ipv6] quit
[CE1-bgp-default] quit
# CE 2配置与CE 1设备配置类似,配置过程省略。
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp-default] router-id 1.1.1.1
[PE1-bgp-default] peer 111::1 as-number 65410
[PE1-bgp-default] address-family ipv6 unicast
[PE1-bgp-default-ipv6] peer 111::1 enable
[PE1-bgp-default-ipv6] import-route direct
[PE1-bgp-default-ipv6] quit
[PE1-bgp-default] quit
# PE 2配置与PE 1设备配置类似,配置过程省略。
(3) 在PE之间建立IBGP对等体
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp-default] peer 3::3 as-number 100
[PE1-bgp-default] peer 3::3 connect-interface loopback 0
[PE1-bgp-default] address-family ipv6 unicast
[PE1-bgp-default-ipv6] peer 3::3 enable
[PE1-bgp-default-ipv6] quit
[PE1-bgp-default] quit
# 配置PE 2。
[PE2] bgp 100
[PE2-bgp-default] peer 1::1 as-number 100
[PE2-bgp-default] peer 1::1 connect-interface loopback 0
[PE2-bgp-default] address-family ipv6 unicast
[PE2-bgp-default-ipv6] peer 1::1 enable
[PE2-bgp-default-ipv6] quit
[PE2-bgp-default] quit
(4) 在PE设备上配置IPv6报文头的源地址
# 配置PE 1。
[PE1] segment-routing ipv6
[PE1-segment-routing-ipv6] encapsulation source-address 1::1
# 配置PE 2。
[PE2] segment-routing ipv6
[PE2-segment-routing-ipv6] encapsulation source-address 3::3
(5) 在PE设备上配置IPv6报文头的目的地址End.DT6 SID
# 配置PE 1。
[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8
[PE1-segment-routing-ipv6-locator-aaa] quit
[PE1-segment-routing-ipv6] quit
[PE1] isis 1
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
# 配置PE 2。
[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8
[PE2-segment-routing-ipv6-locator-bbb] quit
[PE2-segment-routing-ipv6] quit
[PE2] isis 1
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator bbb
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
(6) 在PE设备上配置为私网路由添加End.DT6 SID
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp-default] address-family ipv6 unicast
[PE1-bgp-default-ipv6] segment-routing ipv6 locator aaa
[PE1-bgp-default-ipv6] quit
[PE1-bgp-default] quit
# 配置PE 2。
[PE2] bgp 100
[PE2-bgp-default] address-family ipv6 unicast
[PE2-bgp-default-ipv6] segment-routing ipv6 locator bbb
[PE2-bgp-default-ipv6] quit
[PE2-bgp-default] quit
(7) 在PE设备上配置IPv6对等体之间交换End.DT6 SID,同时允许将私网路由迭代到End.DT6 SID的路由条目上
# 配置PE 1。
[PE1] bgp 100
[PE1-bgp-default] address-family ipv6 unicast
[PE1-bgp-default-ipv6] peer 3::3 prefix-sid
[PE1-bgp-default-ipv6] segment-routing ipv6 best-effort
[PE1-bgp-default-ipv6] quit
[PE1-bgp-default] quit
# 配置PE 2。
[PE2] bgp 100
[PE2-bgp-default] address-family ipv6 unicast
[PE2-bgp-default-ipv6] peer 1::1 prefix-sid
[PE2-bgp-default-ipv6] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv6] quit
[PE2-bgp-default] quit
# 在PE设备上执行display ipv6 routing-table命令,可以看到去往对端CE的路由,并且路由下一跳值为路由携带的End.DT6 SID。
以PE 1为例:
[PE1] display ipv6 routing-table 222::1 96
Summary count : 1
Destination: 222::/96 Protocol : BGP4+
NextHop : 6:5:: Preference: 255
Interface : GE2/0 Cost : 0
CE 1和CE 2之间能够ping通。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!