实验要求:

mpls mtu设置 mpls配置_IP

 实验过程:

1.IP地址的规划以及拓扑的搭建

AS1:

环回接口:1.1.1.1/24  骨干链路:12.1.1.0/24   15.1.1.0/24

AS3:

环回接口:8.8.8.8/24 骨干链路:78.1.1.0/24

AS2:

AS2总网段地址为172.16.0.0/16

环回(建邻):172.16.0.0/32

骨干:

R2和R3:172.16.1.0/30     R3和R4:172.16.1.4/30     R4和R7:172.16.1.8/30

R7和R6:172.16.1.12/30   R6和R5:172.16.1.16/30   R5和R2:172.16.1.20/30

R3和R6:172.16.1.24/30

剩下的环回:172.16.2.0/24   172.16.3.0/24   172.16.4.0/24  

                     172.16.5.0/24   172.16.6.0/24   172.16.7.0/24

mpls mtu设置 mpls配置_IP_02

 2.底层(各个路由器接口以及环回配置IP)

R1:

mpls mtu设置 mpls配置_路由表_03

R2:

mpls mtu设置 mpls配置_R3_04

R3:

mpls mtu设置 mpls配置_路由表_05

R4:

mpls mtu设置 mpls配置_路由表_06


R5:

mpls mtu设置 mpls配置_mpls mtu设置_07

R6:

mpls mtu设置 mpls配置_IP_08

R7:

mpls mtu设置 mpls配置_IP_09

R8:

mpls mtu设置 mpls配置_R3_10

3.在AS内部使用OSPF , 实现AS2内部互通

以R2为例:

mpls mtu设置 mpls配置_R3_11

路由表,并进行测试,保证AS2内部可以互通

 路由表:

mpls mtu设置 mpls配置_路由表_12

在实际工程中路由器会连接用户,路由会携带原有的掩码来进行传递,但在实验中,用户会用环回代替,导致在路由器中传的路由会以32为掩码传递(最后5条)。

解决办法:修改路由器用户接口的工作类型

 [r2]int l 1
[r2-LoopBack1]ospf network-type broadcast

 再次查看路由表发现以32位掩码传递的路由,会变成自己手写的24位掩码

mpls mtu设置 mpls配置_路由表_13

 测试:

mpls mtu设置 mpls配置_网络_14

mpls mtu设置 mpls配置_路由表_15

 4.建立邻居关系(毗邻),也称对等体的建立

 【1】EBGP之间建邻(采用直连接口建邻)

[r1]bgp 1   启动时需要定义真实的AS号,没有多进程概念

[r1-bgp]router-id 1.1.1.1  建议手工配置RID,--手工—环回最大值---物理接口最大值

[r1-bgp]peer 12.1.1.2 as-number 2   对端IP地址,及对端所在的AS号

mpls mtu设置 mpls配置_IP_16


 上图是R1和R2之间的建邻,同理完成R1和R5,R7和R8之间的建邻

 【2】IBGP之间建邻(采用环回接口建邻)

由于AS2中R3/4/6不得运行BGP协议,所以R2/5/7之间两两建邻

mpls mtu设置 mpls配置_路由表_17

mpls mtu设置 mpls配置_R3_18

 5.MPLS配置

在AS2内部配置MPLS,在MPLS中直连设备间将建立邻居关系

以R3为例:

[r3]mpls lsr-id 172.16.0.3    必须先定义mpls的router-id,要为本地设备的真实ip地址,且邻居可达,因为  该地址将用于建立TCP会话,建议使用环回地址

[r3]mpls             再开启mpls协议

[r3-mpls]mpls ldp      再激活LDP协议

[r3-mpls-ldp]q

之后需要在所有标签经过的接口上开启协议

[r3]interface GigabitEthernet 0/0/1

[r3-GigabitEthernet0/0/1]mpls    先开启MPLS

[r3-GigabitEthernet0/0/1]mpls ldp   再激活LDP协议

[r3-GigabitEthernet0/0/1]int g0/0/0
[r3-GigabitEthernet0/0/0]mpls
[r3-GigabitEthernet0/0/0]mpls ldp 

[r3-GigabitEthernet0/0/1]int g0/0/2
[r3-GigabitEthernet0/0/2]mpls
[r3-GigabitEthernet0/0/2]mpls ldp

[r3]mpls

[r3-mpls]lsp-trigger all   开启功能,将对fib表中所针有路由进行标签号的分配

同理完成R4和R6的配置,然后查看邻居表

R3:

mpls mtu设置 mpls配置_R3_19


6.使用MPLS来解决BGP 的路由黑洞

因为MPLS并不会为通过BGP协议学习到的路由条目分配标签号;而是在访问这些BGP路由目标网段时,在流量中压入到达这些网段的BGP下一跳设备地址的标签号。来穿越中间没有运行BGP协议的设备,实现打破路由黑洞

注:华为设备默认不为BGP协议执行下一跳标签机制,cisco默认执行;

华为设备需要开启  route recursive-lookup tunnel

所以在运行BGP 的路由器(R2/5/7)上写如上命令来开启“路由基于隧道进行递归查找”的功能

以R2为例:

[r2]route recursive-lookup tunnel   路由基于隧道进行递归查找

7.配置缺省路由 

由于AS2内部存在不使用BGP的路由器,因此这些路由器需要配置缺省路由(静态缺省,原因是稳定)指向AS2内部最近的BGP路由器

R3/4/6路由器上配置缺省路由

[r3]ip route-static 0.0.0.0 0.0.0.0 172.16.1.1

[r4]ip route-static 0.0.0.0 0.0.0.0 172.16.1.10

[r6]ip route-static 0.0.0.0 0.0.0.0 172.16.1.18

8.路由宣告

AS1和AS3在R1和R8上直接宣告

[r1]bgp 1
[r1-bgp]network 1.1.1.0 24

[r8]bgp 3
[r8-bgp]network 8.8.8.0 24

先逐条宣告客户端明细路由,再进行聚合配置

[r1-bgp]aggregate 20.1.0.0 22   配置完成后,本地自动生成空接口防环路由

此时明细和聚合条目同时发出

[r2]ip route-static 172.16.0.0 21 NULL 0
[r2]bgp 2
[r2-bgp]network 172.16.0.0 21

 同理完成R5和R7的配置,路由全部学过来了

mpls mtu设置 mpls配置_R3_20

9.路由策略

 BGP协议默认不存在cost;MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为为cost)

  BGP协议在特定条件下携带本地到达目标的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的ebgp邻居,将携带cost值;对于其他AS的设备学习到从同一个as传递过来的路由,优选MED最小的路径;

管理员可以在控制层面传递路由的过程中,手工修改MDE;最常用于干涉ebgp选路;

 R1到AS2中R2/3/4用户网段基于R5访问

[r1]ip ip-prefix 2 permit 172.16.2.0 24
[r1]ip ip-prefix 3 permit 172.16.3.0 24
[r1]ip ip-prefix 4 permit 172.16.4.0 24
[r1]route-policy med permit node 10
[r1-route-policy]if-match ip-prefix 2      
[r1-route-policy]apply cost 100 
[r1-route-policy]q
[r1]route-policy med permit node 20
[r1-route-policy]if-match ip-prefix 3
[r1-route-policy]apply cost 100
[r1-route-policy]q
[r1]route-policy med permit node 30
[r1-route-policy]if-match ip-prefix 4
[r1-route-policy]apply cost 100
[r1-route-policy]q
[r1]route-policy med permit node 40
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 route-policy med export

 R1到AS2中R5/6/7用户网段基于R2访问

[r1]ip ip-prefix 5 permit 172.16.5.0 24
[r1]ip ip-prefix 6 permit 172.16.6.0 24
[r1]ip ip-prefix 7 permit 172.16.7.0 24
[r1]route-policy med2 permit node 10
[r1-route-policy]if-match ip-prefix 5
[r1-route-policy]apply cost 100
[r1-route-policy]q
[r1]route-policy med2 permit node 20
[r1-route-policy]if-match ip-prefix 6
[r1-route-policy]apply cost 100
[r1-route-policy]q
[r1]route-policy med2 permit node 30
[r1-route-policy]if-match ip-prefix 7
[r1-route-policy]apply cost 100
[r1-route-policy]q
[r1]route-policy med2 permit node 40
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]peer 15.1.1.5 route-policy med2 import

 查看R1的BGP表

mpls mtu设置 mpls配置_网络_21

 可以发现,已经按照实验要求3的路线走了,同时保留流量备份路由,满足了实验要求4

10.测试

mpls mtu设置 mpls配置_R3_22

mpls mtu设置 mpls配置_IP_23

mpls mtu设置 mpls配置_路由表_24

至此满足实验所有的要求,实验结束。