实验名称:MPLS ( ) Hub-Spoke组网实验
实验目的
1、 配置并验证MPLS( )Hub-Spoke组网
实验拓扑
实验步骤
1:基本的IP地址配置,ISP骨干网IGP采用OSPF,MPLS LDP(本步骤省略)
2:配置并验证MPLS( )Hub-Spoke组网
参数规划:
与Site1连接的VRF
Name:ccz
RD:100:1
RT:100:1 export,100:2 import
与Site2连接的VRF(配置同与Site1连接的VRF)
Name:ccz
RD: 100:1
RT:100:1 export,100:2 import
与Hub连接的VRF1
Name:ccz_in
RD: 100:1
RT:100:1 import
与Hub连接的VRF2
Name:ccz_out
RD: 100:2
RT:100:2 export
PE设备配置***-Instance,并与相应的接口绑定:
对于连接Hub点的PE设备,需要配置两个VRF,ccz_in和ccz_out。在控制层面,ccz_in用于接收各Spoke节点通告的路由,ccz_out用于将Spoke节点通告的路由转告给其他Spoke节点同时将Hub节点的路由信息通告给Spoke节点;在数据转发层面,Spoke互访或者Sopke访问Hub的流量通过ccz_out转发给Hub,通过Hub中转后通过ccz_in转发给目的Spoke节点。如果每个VRF都绑定一个物理接口与Hub-CE设备互联,将使用过多的物理接口,此处采用子接口与Hub-CE设备互联,将子接口绑定到VRF:
各Site节点与PE设备间运行OSPF:
由于HUB-PE设备通过两个子接口与HUB-CE设备互联,所以HUB-CE设备也需要配置两个子接口。同时需要配置两个OSPF进程,进程10和进程20,分别通过两个子接口与 HUB-PE建立邻居关系,进程10用于接收Spoke节点的路由,进程20用于向Spoke节点发布路由,并把HUB点需要发布的路由宣告进进程20,然后两个OSPF进程相互引入(至少把接收Spoke节点路由的进程引入到向Spoke节点发布路由的进程中,此处即将进程10进入进程20),在做引入时可以使用路由策略,从而起到在Hub点控制Spoke互访的作用:
配置完成后,在Hub-PE设备查看两个OSPF进程的邻居关系:
Spoke-PE和Hub-PE之间建立MP-BGP,并与VRF的OSPF进程相互引入路由:
查看Spoke节点和Hub节点的路由表信息:
由于在Hub点没有做路由控制或者数据层面的控制,所以Spoke节点可以访问Hub节点,也可以互访:
另外的一种实现方法:Hub-CE只配置一个OSPF进程,在Hub-PE的VRF的OSPF进程中配置关闭OSPF防环机制,从而使得从Site1学到的路由可以通过Hub节点再通告给Site2:
此处采用实验心得中的方法2破除OSPF的环路防环规则,使得Spoke节点直接可以相互学习到彼此的路由
查看各Site的路由表:
相互访问也没有问题:
在AR4的G0/0/0接口抓包:
数据包都转发了两次,原因是从一个子接口进入的数据,查找路由表后,通过另一个子接口转发出去了,从而可以在HUB接点控制Spoke互访。
至此MPLS ( )Hub-Spoke组网方式实验完成。
实验心得
1、MPLS ( ) Hub-Spoke组网方式可以使Spoke节点之间通过Hub节点之间互访,并可在Hub节点控制及监控Spoke节点之间的互访。这是同Extranet ***组网方式的根本区别,Extranet ( )组网不允许原端的Site之间互访。
2、MPLS ( ) Hub-Spoke组网方式的关键点在于Hub-PE设备需要配置两个VRF,一个用于接收Spoke的路由,一个用于向Spoke发布路由,在数据层面正好是逆向的。两个VRF就需要有两个路由进程服务于VRF并与Hub-CE分别建立邻居关系。Hub-CE虽然没有VRF,但也需要配置两个路由进程,一个用于接收Spoke节点的路由,一个用于向Spoke节点发布路由(包括Hub节点自己的路由信息),同时把接收Spoke节点路由的路由进程引入向Spoke节点发布路由的路由进程,从而使得Spoke节点之间能够相互学习到彼此的路由信息,可在路由引入时使用路由策略从而在控制层面控制Spoke节点之间的互访,由于Spoke节点之间的互访的业务数据也需要经过Hub节点进行中转,所以可以在Hub节点对Spoke节点之间的互访的业务数据进行控制或者执行审计。
3、第二种方法最开始没有实现的原因是忽略了OSPF的环路保护,OSPF的环路保护不仅在同一个Site有多个PE的拓扑结构中起作用,同样在单PE,但有多个VRF与CE互联场景(即MPLS ( ) Hub-Spoke场景 Hub-PE与Hub-CE互联的地方)也起作用。当Hub-PE的一个VRF的OSPF进程将Spoke的路由以Type3/Type5 LSA发布给Hub-CE的时候,会将DN-bit置位,Type5 LSA还会打上route-tag,Hub-CE收到该LSA计算路由,同时会将这些LSA同步给Hub-PE的另一个VRF的OSPF进程,该OSPF进程收到DN-bit置位的 Type3 LSA和route-tag与自己的route-tag一致的Type5 LSA只保存在LSDB,不计算路由,自然也不会通告给MP-BGP Peer,从而导致Spoke节点无法相互学习到彼此的路由信息。
由于Hub-PE有两个服务于VRF的OSPF进程(10和20),进程10用于接收Spoke的路由信息,进程20用于向Spoke发布路由信息。解决办法有以下几种:
实验心得:
1、MPLS *** Hub-Spoke组网方式可以使Spoke节点之间通过Hub节点之间互访,并可在Hub节点控制及监控Spoke节点之间的互访。这是同Extranet ***组网方式的根本区别,Extranet ***组网不允许原端的Site之间互访。
2、MPLS *** Hub-Spoke组网方式的关键点在于Hub-PE设备需要配置两个VRF,一个用于接收Spoke的路由,一个用于向Spoke发布路由,在数据层面正好是逆向的。两个VRF就需要有两个路由进程服务于VRF并与Hub-CE分别建立邻居关系。Hub-CE虽然没有VRF,但也需要配置两个路由进程,一个用于接收Spoke节点的路由,一个用于向Spoke节点发布路由(包括Hub节点自己的路由信息),同时把接收Spoke节点路由的路由进程引入向Spoke节点发布路由的路由进程,从而使得Spoke节点之间能够相互学习到彼此的路由信息,可在路由引入时使用路由策略从而在控制层面控制Spoke节点之间的互访,由于Spoke节点之间的互访的业务数据也需要经过Hub节点进行中转,所以可以在Hub节点对Spoke节点之间的互访的业务数据进行控制或者执行审计。
3、第二种方法最开始没有实现的原因是忽略了OSPF的环路保护,OSPF的环路保护不仅在同一个Site有多个PE的拓扑结构中起作用,同样在单PE,但有多个VRF与CE互联场景(即MPLS ( ) Hub-Spoke场景 Hub-PE与Hub-CE互联的地方)也起作用。当Hub-PE的一个VRF的OSPF进程将Spoke的路由以Type3/Type5 LSA发布给Hub-CE的时候,会将DN-bit置位,Type5 LSA还会打上route-tag,Hub-CE收到该LSA计算路由,同时会将这些LSA同步给Hub-PE的另一个VRF的OSPF进程,该OSPF进程收到DN-bit置位的 Type3 LSA和route-tag与自己的route-tag一致的Type5 LSA只保存在LSDB,不计算路由,自然也不会通告给MP-BGP Peer,从而导致Spoke节点无法相互学习到彼此的路由信息。
由于Hub-PE有两个服务于VRF的OSPF进程(10和20),进程10用于接收Spoke的路由信息,进程20用于向Spoke发布路由信息。解决办法有以下几种:
OSPF 10配置:dn-bit-set disable summary
dn-bit-set disable ase
route-tag XXX(区别于默认的Tag,两个VRF默认的tag一致)
OSPF 20配置:
dn-bit-check disable summary
route-tag XXX(区别于默认的Tag)
OSPF 20配置: ***-instance-capability simple
这三种配置也可以相互搭配使用。
由于OSPF 20所服务的VRF仅用于向Spoke发布路由,不用于接收Spoke的路由(RT值只配置了出向,入向没有,可以不用配置import-route bgp,需要进入BGP路由),所以此处可以使用 ( )-instance-capability simple。配置该条命令和对于Type3和Type5 LSA的防环策略都不再检查。
同样的,如果Hub-PE与Hub-CE之间采用BGP/RIP交互路由的时候,也需要考虑SoO(Site of Origin)防环引起的问题。
4、同一个Spoke节点的路由,在通过Hub节点返回又通过MP-BGP传给改该Spoke节点连接的PE设备时,PE设备的MP-BGP进程会进行BGP路由优选,由于直接从Spoke节点传递过来的路由是在本地Import进BGP进程的,而通过MP-BGP从Hub节点返回的路由是从MP-BGP学习来的,所以MP-BGP优选起源于本地的路由,从Hub节点返回的路由不被优选自然不会再被引入OSPF进程通告给Spoke节点的CE,从而也就避免了环路。以下是在PE AR2上分析的10.1.1.1这条路由信息:
5、由于Hub-PE与Hub-CE之间的链路总是通过固定的一条接收路由,另一条发布路由,所以业务数据在来回两个方向也是固定在某条链路上。如有问题请联系QQ2852378190