跨域的OptionC配置和标签分配分析.docx
- 文档编号:25492767
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:21
- 大小:561.35KB
跨域的OptionC配置和标签分配分析.docx
《跨域的OptionC配置和标签分配分析.docx》由会员分享,可在线阅读,更多相关《跨域的OptionC配置和标签分配分析.docx(21页珍藏版)》请在冰豆网上搜索。
跨域的OptionC配置和标签分配分析
跨域的OptionC
配置和标签分配分析
华为技术有限公司
2004年11月
修订记录
日期
版本
说明
作者
2004-11-10
1.0
张延新吴高宇
1前言
1.1背景
在部署多跳的,跨域的MPLSVPN时,出于管理的需要和其它的考虑,可能需要在路由反射器间实现多跳的,跨域的MPLSVPN,本文从中抽象出一个网络模型,给大家讲解。
1.2跨域解决方案简介
跨域解决方案有三种:
VRFtoVRF、EBGP携带VPN路由和EBGP-MULTIHOP。
第一种方式要求两个域的ASBR能够完成PE功能,两个AS域各自运行自己的VPN。
对于每个需要跨域的VPN,必须在本端跨域的PE设备上配置对应于该VPN的VRF,将对端的PE设备做为本域VPN的CE,PE-CE之间运行EBGP协议,携带对端的VPN路由信息。
这个方法的优点在于ASBR之间不需要运行MPLS,但缺点是每个跨域的VPN需要与一个子接口绑定,子接口的数量至少要和跨域的VPN的数量相当且跨域的PE路由器需要维护跨域VPN的路由,因而存在扩展问题。
第二种方式,EBGP携带VPN路由,又称单跳MP-EBGP方式。
这种方式通过直连的ASBR传播VPN路由,ASBR在收到域内的VPN路由信息,再向外发布时,必须给这些VPN路由信息重新分配标签,在ASBR本地,新旧标签形成一个标签的交换操作。
其优点是不需要在ASBR处为每个VPN的用户站点分配一个子接口,缺点是需要在ASBR处维护VPN路由,ASBR之间需要互相信任。
第三种方式,通过LDP或MP-BGP+LDP方式建立LSP,然后不同AS域之间的PE通过EBGP方式传播VPN路由信息。
这种方式的可扩展性较好,不需要在ASBR上维护具体的VPN路由信息。
本文介绍的是第三种方式实现的一种,多跳的MP-EBGP邻居不是在两个AS的PE-PE间建立,而是在两个AS的RR-RR间建立,也可以不选择在RR-RR间建立多跳MP-EBGP,而选择域内其它的路由器,只要该路由器与PE是MP-IBGP,且该路由器和对端域中MP-EBGP对等体不改变下一跳,能够将VPNv4信息告知PE。
2网络描述
2.1网络结构
网络结构如下图所示,
2.2网络介绍
VPNA在不同的站点接入不同AS域。
如图,城市A的站点接入城市A的服务提供商的MPLS/VPN网络,自治域号为AS100;而城市B的站点接入城市B的服务提供商MPLS/VPN网络,自治域号为AS200。
服务商考虑到将来可能的跨域的VPN业务会增多,希望PE通过本自治域内的RR来做跨域的MPLSVPN,并且今后的跨域VPN都通过这种PE-RR方式来做。
VPNA在A市的网段为200.1.1.0/24,在B市的网段为201.1.1.0/24,RD和RT均为1:
1。
为了实现这个目的,非邻接的PE1和PE2之间必须有一条跨域的LSP。
RR1和RR2之间通过多跳的,多协议的EBGP来交互VPNv4路由信息,RR1可以把从ASBR1学到的IPv4路由和MPLS标签反射给PE1,ASBR1上需要使能交换IPv4路由和MPLS标签,RR1负责VPNv4路由的存储和转发,使得网络具有扩展能力。
当BGP(EBGP或IBGP)发布路由的时候,它也可以发布映射到该条路由上的MPLS标签。
该映射信息随该条路由的BGP更新报文被携带。
如果下一跳不改变,标签被保留着。
当采用命令label-route-capability时,当BGP邻居间都具备该能力(指携带MPLS标签的能力),它们间的BGP更新就会包含MPLS标签了。
通过Route-policy来控制MPLS标签在路由器间的发布,可以做到如下:
1)发布路由时指定通过那条路由来通过MPLS标签发布
2)接受带有MPLS标签的路由的时候,可以指定那条路由被接受,并安装到BGP路由表中
PE和RR相关联,RR和RR相关联跨域多跳的MPLSVPN在RR上建立MP-EBGPpeer,ASBR负责公网标签和BGP标签的交换、或者负责在BGP标签的基础上加上本AS的公网标签。
3路由器配置要点
3.1配置的大体步骤
配置ASBR使能交换IPv4路由和MPLS标签
配置路由反射器使之能够交换VPNv4路由
配置路由反射器能够反射路由到本AS内PE
配置路由策略(在ASBR上)
3.2ASBR配置的步骤
配置MPLSLSRID
配置MPLS,在相应接口启用MPLSLDP或启用MPLS
配置IGP路由
配置ASBR1到RR1的IBGP对等体
配置ASBR1到ASBR2的EBGP对等体
配置路由策略,并引用路由策略到IBGP和EBGP对等体上
3.3RR配置的步骤
配置MPLSLSRID
配置MPLS,在相应接口启用MPLSLDP
配置IGP路由
配置RR1到PE1的IBGP对等体,并配置PE为RR的反射器客户端
配置RR1到ASBR1的IBGP对等体
配置RR1到RR2的EBGP对等体
配置RR1到PE1的MP-IBGP对等体
配置RR1到RR2的MP-EBGP对等体
3.4PE配置的步骤
配置MPLSLSRID
配置MPLS,在相应接口启用MPLSLDP
配置VPN实例,配置RD,RT
配置IGP路由
配置PE1到RR1的IBGP对等体
配置PE1到RR1的MP-IBGP对等体
4路由器的配置
4.1A市ASBR1配置
#配置RouterID为loopback接口0的地址
routerid1.1.1.3
#配置MPLSLSRID为loopback接口0的地址
mplslsr-id1.1.1.3
#启用MPLSLDP
mplsldp
#启用ISIS为IGP路由协议,networkentity为47.0001
isis
network-entity47.0001.0000.0000.0003.00
#配置到ASBR2的接口,并在此接口启用MPLS
interfaceEthernet2/0/4
undoshutdown
negotiationauto
ipaddress10.0.0.26255.255.255.252
mpls
#配置到RR1的接口,并在此接口启用MPLSLDP
interfaceEthernet2/0/6
undoshutdown
negotiationauto
ipaddress10.0.0.21255.255.255.252
isisenable
mpls
mplsldp
#创建loopback接口0,在接口上运行ISIS
interfaceLoopBack0
ipaddress1.1.1.3255.255.255.255
isisenable
#创建访问列表2900,允许PE1的loopback接口0的主机地址通过
aclnumber2900
rule0permitsource1.1.1.100
#在ASBR1上运行BGP,AS号100,配置到RR1的IBGP对等体组,配置到ASBR2的EBGP对等体组,引用路由策略rr和asbr在EBGP对等体组和IBGP对等体组上
bgp100
network1.1.1.8255.255.255.255
network1.1.1.10255.255.255.255
undosynchronization
groupEXTexternal
peerEXTas-number200
peerEXTlabel-route-capability
peerEXTroute-policyrrexport
peer10.0.0.25groupEXT
groupRR1internal
peerRR1label-route-capability
peerRR1next-hop-local
peerRR1route-policyasbrexport
peerRR1connect-interfaceLoopBack0
peer1.1.1.8groupRR1
#配置路由策略rr和asbr
route-policyrrpermitnode0
if-matchacl2900
if-matchip-prefixpe
applympls-label
route-policyrrpermitnode1
route-policyasbrpermitnode0
if-matchmpls-label
applympls-label
route-policyasbrpermitnode1
#创建前缀列表pe,允许PE1的loopback接口0的主机地址通过
ipip-prefixpeindex10permit1.1.1.1032
4.2A市RR1配置
#配置RouterID为loopback接口0的地址
routerid1.1.1.8
#配置MPLSLSRID为loopback接口0的地址
mplslsr-id1.1.1.8
#启用MPLSLDP
mplsldp
#启用ISIS为IGP路由协议,networkentity为47.0001
isis
network-entity47.0001.0000.0000.0008.00
silent-interfaceLoopBack0
#配置到PE1的接口,并在此接口启用MPLSLDP
interfaceEthernet2/2/0
ipaddress10.0.0.201255.255.255.252
isisenable
mpls
mplsldp
#配置到ASBR1的接口,并在此接口启用MPLSLDP
interfaceEthernet4/2/0
ipaddress10.0.0.22255.255.255.252
isisenable
mpls
mplsldp
#创建loopback接口0,在接口上运行ISIS
interfaceLoopBack0
ipaddress1.1.1.8255.255.255.255
isisenable
#在RR1上运行BGP,AS号100,配置到PE1,ASBR1的IBGP对等体组,配置到RR2的EBGP对等体组
bgp100
undosynchronization
groupPE1internal
peerPE1advertise-community
peerPE1connect-interfaceLoopBack0
peerPE1label-route-capability
peer1.1.1.10groupPE1
groupASBR1internal
peerASBR1connect-interfaceLoopBack0
peerASBR1label-route-capability
peer1.1.1.3groupASBR1
groupRRexternal
peerRRebgp-max-hop
peerRRconnect-interfaceLoopBack0
peer1.1.1.1groupRRas-number200
#配置到PE1的VPNv4对等体组,配置到RR2的VPNv4对等体组
ipv4-familyvpnv4
peerRRenable
peerRRnext-hop-invariable
peer1.1.1.1groupRR
peerPE1enable
peerPE1reflect-client
peer1.1.1.10groupPE1
4.3A市PE1配置
#配置RouterID为loopback接口0的地址
routerid1.1.1.10
#配置MPLSLSRID为loopback接口0的地址
mplslsr-id1.1.1.10
#启用MPLSLDP
mplsldp
#启用ISIS为IGP路由协议,networkentity为47.0001
isis
network-entity47.0001.0000.0000.0010.00
silent-interfaceLoopBack0
#配置VPN实例,配置RD,RT
ipvpn-instancevpna
route-distinguisher1:
1
vpn-target1:
1export-extcommunity
vpn-target1:
1import-extcommunity
#配置到RR1的接口,并在此接口启用MPLSLDP
interfaceEthernet2/2/0
ipaddress10.0.0.202255.255.255.252
isisenable
mpls
mplsldp
#创建loopback接口0,在接口上运行ISIS
interfaceLoopBack0
ipaddress1.1.1.10255.255.255.255
isisenable
#创建loopback接口200,将接口加入VPN实例vpna
interfaceLoopBack200
ipbindingvpn-instancevpna
ipaddress200.1.1.1255.255.255.0
#在PE1上运行BGP,AS号100,配置到RR的IBGP对等体组RR1
bgp100
network100.1.1.1255.255.255.255
undosynchronization
groupRRinternal
peerRRlabel-route-capability
peerRRconnect-interfaceLoopBack0
peer1.1.1.8groupRR
#将直连端口loopback200引入vpna的路由表
ipv4-familyvpn-instancevpna
import-routedirect
undosynchronization
#配置到RR1的VPNv4对等体组
ipv4-familyvpnv4
peerRRenable
peer1.1.1.8groupRR
PE2,RR2,ASBR2的配置和PE1,RR1,ASBR1的配置类同,略。
等待所有bgp邻居连接建立以后,在PE1、PE2上可以看到对方的IPV4路由200.1.1.1、201.1.1.1,使用displaybgprouting-tablelabel、displaymplslsp,displaybgpvpnallrouting-tablelabel命令可以看到BGP+、私网VPNv4、公网MPLS的label,可以看到从对方学到的VPNV4路由。
隧道建立成功后,属于一个VPN的CE之间可以ping通。
5标签分配
5.1从AS100内VPNA发往AS200VPNA报文的标签分配图
5.2从AS200内VPNA发往AS100VPNA报文的标签分配图
5.3说明
见图5.1,报文从PE1转出时,需要压上三层标签,从内到外分别的VPN路由的标签,BGPLSP的标签,公网LSP的标签。
到ASBR1时,就只剩下两层标签了,分别是VPN的路由标签和BGPLSP的标签,进入ASBR1后,BGPLSP就终结掉了,就剩下VPN路由的标签和公网LSP的标签了,以后就是普通的MPLSVPN的转发流程了。
在RR上公网LSP标签下一跳弹出,最后PE2收到了只有私网标签的报文。
图5.2是图5.1的反方向过程,标签的分配原理一样。
6简单的互通测试
在PE1上的Ping测试:
[PE1]ping-vpn-instancevpna-a200.1.1.1201.1.1.1
PING201.1.1.1:
56databytes,pressCTRL_Ctobreak
Replyfrom201.1.1.1:
bytes=56Sequence=1ttl=251time=13ms
Replyfrom201.1.1.1:
bytes=56Sequence=2ttl=251time=7ms
Replyfrom201.1.1.1:
bytes=56Sequence=3ttl=251time=7ms
Replyfrom201.1.1.1:
bytes=56Sequence=4ttl=251time=6ms
Replyfrom201.1.1.1:
bytes=56Sequence=5ttl=251time=7ms
---201.1.1.1pingstatistics---
5packet(s)transmitted
5packet(s)received
0.00%packetloss
round-tripmin/avg/max=6/8/13ms
在PE2上的Ping测试:
PING200.1.1.1:
56databytes,pressCTRL_Ctobreak
Replyfrom200.1.1.1:
bytes=56Sequence=1ttl=251time=11ms
Replyfrom200.1.1.1:
bytes=56Sequence=2ttl=251time=6ms
Replyfrom200.1.1.1:
bytes=56Sequence=3ttl=251time=5ms
Replyfrom200.1.1.1:
bytes=56Sequence=4ttl=251time=6ms
Replyfrom200.1.1.1:
bytes=56Sequence=5ttl=251time=6ms
---200.1.1.1pingstatistics---
5packet(s)transmitted
5packet(s)received
0.00%packetloss
round-tripmin/avg/max=5/6/11ms
7报文转发过程中标签的作用
原则:
转发过程中路由器只分析报文中的最外层标签,不区分该标签是公网标签还是私网标签。
7.1域内
域内标签报文转发只用到公网LSP标签的交换,报文中的BGP标签、私网标签保持不变。
7.2域间
域间标签报文转发时报文有2层标签,从内到外为BGP标签、私网标签,到达对端ASBR时,BGP标签交换为对端AS内的公网LSP标签。
8配置中涉及的特殊命令
8.1peerlabel-route-capability
peerlabel-route-capability命令用来使能处理带标签的IPV4路由的能力,在ASBR、RR和PE上配置该命令,使PE能够通过RR的反射,获得BGP+路由(路由+标签),从而能够给去往对端PE的报文打上BGP标签。
该条命令的应用例:
bgp100
undosynchronization
groupPE1internal
peerPE1advertise-community
peerPE1connect-interfaceLoopBack0
peerPE1label-route-capability
peer1.1.1.10groupPE1
groupASBR1internal
peerASBR1connect-interfaceLoopBack0
peerASBR1label-route-capability
peer1.1.1.3groupASBR1
groupRRexternal
peerRRebgp-max-hop
peerRRconnect-interfaceLoopBack0
peer1.1.1.1groupRRas-number200
通过displaybgprouting-tablelabel命令,可以显示BGP+标签的分配情况
例:
[PE1]dispbgprl
Flags:
#-valid^-activeI-internal
D-dampedH-historyS-aggregatesuppressed
In/out
Dest/MaskNext-HopLabel
-------------------------------------------------------------------------------
#^I1.1.1.1/321.1.1.3-/-
#I1.1.1.8/321.1.1.3-/-
#^I1.1.1.9/321.1.1.3-/1025
#I1.1.1.10/321.1.1.3-/-
#^100.1.1.1/320.0.0.0-/-
Flags:
#-valid^-activeI-internal
D-dampedH-historyS-aggregatesuppressed
In/out
Dest/MaskNext-HopLabel
-------------------------------------------------------------------------------
#^1.1.1.1/3210.0.0.25-/-
#^1.1.1.8/320.0.0.0-/-
#^1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OptionC 配置 标签 分配 分析