实验名称: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