MPLS VPNPE-CE之间OSPF网络的设计问题

更新时间:2024-04-27 04:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

【MPLS VPN】PE-CE之间OSPF网络的设计问题

(2013-02-14 13:21:11)

我们知道,在MPLS VPN的路由架构中,PE-CE之间通常会使用一个动态路由协议,可能是IGP或BGP,对于IGP而言,OSPF应该是一个使用得最为广泛的协议之一。当我们在PE-CE之间部署OSPF来交互VPN路由时。在本地PE上,将OSPF路由注入MP-BGP从而形成VPNv4路由,并传递给远端站点,远端站点的PE再将收到的VPN路由重发布到其本地的OSPF,从而传递给其本地的CE,而此时,重发布进来的OSPF已经变成了外部路由,路由的优先级也更低了,同时也丢失了OSPF网络设计的连续性。

MPLS VPN通过某种机制,保持了OSPF在MPLS VPN环境下部署的连续性。实际上,来自CE的OSPF内部路由(Type-1、Type-2、Type-3 LSA)在被重发布进MP-BGP变成vpnv4路由再被远端PE重发布进其本地的OSPF后,其实是以Type-3 LSA的形式注入到其本地OSPF的(当然还存在许多复杂的情况,这里说的是一般,一般情况),这样可以很好的保持OSPF的连续性。

1. OSPF VRF配置

routerospf 1 vrf ABC

network 10.1.12.2 0.0.0.0 area 0 redistributebgp ? routerbgp 2345

address-family ipv4 vrf ABC

redistributeospf 1 vrf ABC metric 10 match internal external 1 external 2

2. OSPF metric传递

在PE路由器上将OSPF内部和外部路由重发布进BGP的时候,PE路由将使用OSPF metric 来设置BGP MED。

3. 用于OSPF的BGP扩展community

要想让OSPF路由的特征能够穿越MPLS VPN骨干网络,需要额外定义一些BGP扩展community。

可以通过MP-BGP传递的OSPF特性包括:

? ? ? ? ?

路由类型 区域号

OSPF路由器ID 域ID

OSPF外部路由的度量值类型1或2

如下图:

如果OSPF路由类型为Type-1、Type-2、Type-3(且本地PE及远端PE OSPF进程号相同),则路由重发布进来后为LSA3。DomainID告诉远端PE路由器,通告的是否为一条外部OSPF路由。如果PE路由器所收到的路由的DomainID不能匹配特定VRF的OSPF进程ID的话,这条路由将会以一条OSPF外部路由也就是Type-5 LSA的形式通告,以提供对网络中不同OSPF进程之间重发布IP路由的支持。

如果DomainID能够匹配OSPF进程ID,该路由将以内部路由(Type-3 LSA)的形式通告。当然,如果两端PE的OSPF进程号相同,传递过来的路由又是内部路由,但是你又希望路由重发布到本地OSPF后以外部路由的形式注入,那么可以在PE路由器上修改DomainID。命令如下:

routerospf 1 vrf ABC domain-id ?

修改之后,可使用show ipospf 1来查看

4. OSPF网络设计

我们来考虑一下所有可能的情况:

我们分别来讨论这几个CASE:

?

OSPF网络设计 case1

?

OSPF网络设计 case2

?

OSPF网络设计 case3

这个实验就需要格外注意了。实验的结果是:

CE1这里过来的两条路由,1.1.1.0及1.1.2.0分别是内部及外部路由,这两条路由经过超级骨干到了PE2,PE2将OSPF路由重建,注入area2,那么CE2上能学习到1.1.1.0 的OIA路由及1.1.2.0的OE路由。实际上CE2的OSPF DATABASE里area2确实存在上述相关的LSA,但是CE2却不将这些LSA转进area0,虽然它是一台ABR。CE2此时的OSPF Database如下:

R5#show ipospf database

OSPF Router with ID (5.5.5.5) (Process ID 1) Router Link States (Area 0)

Link ID ADV Router Age Seq# Checksum Link count 5.5.5.5 5.5.5.5 268 0x80000001 0x00F801 1

Summary Net Link States (Area 0)

Link ID ADV Router Age Seq# Checksum

10.1.45.0 5.5.5.5 263 0x80000001 0x007D72 // 没有为area0注入关于1.1.1.0的三类LSA Summary ASB Link States (Area 0)

Link ID ADV Router Age Seq# Checksum 44.44.44.44 5.5.5.5 263 0x80000001 0x00FE77

Router Link States (Area 2)

Link ID ADV Router Age Seq# Checksum Link count 5.5.5.5 5.5.5.5 262 0x80000007 0x007E0C 1 44.44.44.44 44.44.44.44 281 0x80000005 0x00DA77 1

Net Link States (Area 2)

Link ID ADV Router Age Seq# Checksum 10.1.45.4 44.44.44.44 1427 0x80000002 0x00A1E5

Summary Net Link States (Area 2)

Link ID ADV Router Age Seq# Checksum 1.1.1.0 44.44.44.44 58 0x80000001 0x00C442 5.5.5.0 5.5.5.5 265 0x80000001 0x0048D0 10.1.12.0 44.44.44.44 58 0x80000001 0x00CB28

Type-5 AS External Link States

Link ID ADV Router Age Seq# Checksum Tag 1.1.2.0 44.44.44.44 58 0x80000001 0x004CE3 3489661162

另一方面,CE2的路由5.5.5.0,由于CE2是ABR,因此它将5.5.5.0的3类LSA注入area2,那么PE2就能学习到这个LSA,但是,却不装载进路由表,因为PE2认为自己是台ABR,OSPF要求3类LSA必须经过area0骨干区域来中转,然而这里PE2并没有与area0直连,因此5.5.5.0没有被装入路由表,自然CE1也就无法学习到。通过观察PE2的OSPF database可以一目了然:

PE2#sh ipos 1 da

OSPF Router with ID (44.44.44.44) (Process ID 1) Router Link States (Area 0)

Link ID ADV Router Age Seq# Checksum Link count 44.44.44.44 44.44.44.44 142 0x80000001 0x008955 0

Summary Net Link States (Area 0)

Link ID ADV Router Age Seq# Checksum 1.1.1.0 44.44.44.44 142 0x80000001 0x00C442 10.1.12.0 44.44.44.44 142 0x80000001 0x00CB28 10.1.45.0 44.44.44.44 138 0x80000001 0x00E66C

// 这里很关键,PE2并没有任何接口属于vrf OSPF进程,但是,database里却有area0,这是因为MPLS VPN中,PE充当ABR的角色,我们可以看到area0中有CE1发过来的路由的相关LSA,以及PE2与CE2直连网段LSA Router Link States (Area 2)

Link ID ADV Router Age Seq# Checksum Link count 5.5.5.5 5.5.5.5 143 0x80000008 0x008602 1 44.44.44.44 44.44.44.44 134 0x80000006 0x00E26D 1

Net Link States (Area 2)

Link ID ADV Router Age Seq# Checksum 10.1.45.5 5.5.5.5 143 0x80000001 0x00A281

Summary Net Link States (Area 2)

Link ID ADV Router Age Seq# Checksum 1.1.1.0 44.44.44.44 137 0x80000002 0x00C243

5.5.5.0 5.5.5.5 655 0x80000001 0x0048D0 //收到了3类LSA

10.1.12.0 44.44.44.44 137 0x80000002 0x00C929

Type-5 AS External Link States

Link ID ADV Router Age Seq# Checksum Tag

1.1.2.0 44.44.44.44 137 0x80000002 0x004AE4 3489661162

找到了问题的原因,那么我们在PE2与CE2之间,通过area2建立个virtual-link, 这样,路由就都能学习到了。 总结:

? MPLS VPN在OSPF长点之间存在一个超级骨干区域superbackbone,这当然不是一个OSPF区域,不过,它扮演了一个骨干区域的角色。

? 如果一个VRF的多个场点有一台PE在区域0中,那么这个area0被分割成了多块,通常来说被分割的骨干区域需要使用virtual-link来连接,但是在MPLS VPN中由于有iBGP来运载OSPF路由,因此不需要虚链路。OSPF路由会在PE路由器上重建。

? PE路由器扮演了ABR的角色。它将type3 LSA通告给CE路由器,CE路由器可以在area0中,也可以在其他区域,但是如果一个场点拥有多个区域,PE路由器就必须在area0中,因为他们是ABR,如果他们不在area0中,就需要在PE上创建virtual-link来确保PE和area0的连接。

? Routes from Area 0 at one site appear as interarea routes in Area 0 at another site

本文为原创博文,版权归属红茶三杯(http://blog.sina.com.cn/vinsoney),转载请注明出处。

本文来源:https://www.bwwdw.com/article/1qyg.html

Top