MPLS基础实验

MPLS Basic Config

拓扑如上图所示,中间的网云是运营商骨干网络,R2、R4路由器是运营商边缘路由器,R1、R5是客户边缘路由器。为了达到快速转发客户数据流,运营商在骨干网中部署了MPLS,并使用OSPF来交换路由信息。
实验步骤:
1. 先按图中的信息,将各接口的IP地址配置好,检验相连端口是否可达;
2. 在R2、R3、R4上运行OSPF协议,使相应的接口处于Area0,宣告处于area0的本地网络。完成后,检查相应的网络地址是否出现在路由表中,并检查处于area0中的端口是否全部可达;
3. 在R2、R3、R4上开启CEF,并在全局下配置MPLS,使用LDP作为标签交换协议,指定LDP的router-id。为了便于检查,为各个运行MPLS的路由器指定相应的标签分发范围;
4. 在R2、R3、R4相应的接口上激活MPLS(使用ip mpls命令)并启用标签转发(tag-switching ip);
5. 验证MPLS的运行状况,使用Traceroute命令检查去往某个网络粘贴的标签,查看MPLS路由器上运行MPLS的接口、LDP邻居信息、MPLS转发表、Mpls与IP的绑定情况等

CEF对BGP负载均衡的影响

前几天做了几个实验,想研究一下BGP的负载均衡。本来BGP的负载均衡实现起来也不难,在特定点环境下,多条到达同一目的地的路由符合选路原则的前八条,并且修改BGP maximum-paths,基本上就可以实现BGP的负载均衡了,下面写一写我做这个实验的一点点心得吧
这是一个:Dual-Homed to one internet service的环境
AS 65001中的R1通过两条串行链路连接连接到ISP AS 65023中的两个路由器R2、R3上。其中R1,R3上的LoopBack口代表了两个AS的内部网络,而我们的目的就是让从来自AS 65001的数据流分别通过两个出接口到达ISP内部的网络。
底层配置我就不写了,写一下关键的R1上的配置吧
R1:
router bgp 65001
no synchronization
bgp router-id 1.1.1.1
bgp log-neighbor-changes
network 1.1.1.1 mask 255.255.255.255
neighbor 12.0.0.2 remote-as 65013
neighbor 13.0.0.3 remote-as 65013
maximum-paths 2
no auto-summary

双点双向重分发进阶实验(附详解分析)

昨天老师给我们做了一个小测试,现在写上来和分享一下心得,也是我第一次写实验指南,希望大家可以多多支持,另外如果其中有什么纰漏请大家给小弟指出,不胜感激
题目要求是这样的:
为了方便理解,我特意弄了一个拓扑图

第一次弄拓扑图,还可以把?
实验要求:

R1、R2、R4上要运行Eigrp,AS号为10,R2、R3、R4上要运行OSPF,此外R1上还要运行Eigrp 100
R2、R4、R3上的Lo0口要加入到OSPF进程中,R1的lo0口加入到Eigrp 10中,而lo100口加入到Eigrp 100中;
在R2、R4上进行双向重分发
全网可达
R3—->R1的LoopBack 100接口要实现负载均衡;
R3—->R1的LoopBack 0 口首选R2作为它的下一跳(但R2出现问题时应该有备用路由)

实验过程、需求分析及注意事项:

首先,为各路由器接口配好地址,然后分别在R1、R2、R4上跑Eigrp并将上面要求中的接口加入到路由进程中,在R2、R3、R4上跑OSPF并将要求的接口加入到路由进程中,做完以上工作后,查看各路由表是否正常。在R2、R4上应该可以ping通除100.100.100.100以外的所有接口。
确保各路由器正常获得路由之后,我们先在R1上将Eigrp100 重分布到Eigrp 10中,让其他路由器获得100.100.100.100路由,完成后可以在R2、R4上看到标记为D EX的外部路由(注意其AD为170)
下面就要在R2、R4上对Eigrp和OSPF进行双向重分布了。我们先在R2上做,先将eigrp 10重分布到OSPF10中(redistribute Eigrp 10 subnets),此时将可以在R3的路由表上看到四条由Eigrp重分发进来的O E2路由,再来看看R4上面的路由表,请注意去往100.100.100.100的路由,其标记已经由D EX变为O E2了!这条Eigrp的外部路由被AD值更低的OSPF路由取代了!这明显不是到达100.100.100.100的最优路由,先不管,完成单点双向重分布先。在Eigrp进程中将OSPF10重分布,查看R1路由表,四条标记为D EX的路由成功学习到了,全网可达。
为了让R4上去往100.100.100.100的路由最优,我们需要在R4上使用分发列表(distribute-List)将从F0/0口进入的100.100.100.100路由过滤掉。这里我们需要结合access-list来做:access-list 40 deny   100.100.100.0 0.0.0.255 用来过滤掉该路由,但不要忘记在后面加上一条:access-list 40 permit any。然后在OSPF进程中:distribute-list 40 in FastEthernet0/0 是用分发列表将F0/0口进来的匹配ACL 40的路由过滤掉,再查看R4上路由表,去往100.100.100.100的最优了!
现在我们再来在R4上将Eigrp重分发到OSPF,完成后回过头来看看R3的路由表,去往100.100.100.100的下一跳变成了R4了!没有达到负载均衡的效果,再来看看R2上的路由表,奇怪的事情再次发生了,R2去往100.100.100.100的下一跳又变成R3了,因为从OSPF通告过来的相同的路由具有更低的AD!而我们要做的就是重复步骤3中的工作,使用distribute-list来过滤该路由,完成后查看R2上路由表,去往100.100.100.100路由最优,而且R3上也实现了该路由的负载均衡了!继续完成双向重分发。
现在前面5个要求都实现了,接下实现第6个要求。我们查看R3上的路由表,可以看到从它去往R1上的lo0口正在负载均衡,我们需要它只有一个下一跳,而且需要有备用路由,所以修改该路由的Cost值是较好的方法,使用Route-map可以实现该效果,修改Cost值之后该路由将会被Cost更低的来自R2的路由替代,而如果当R2走不通时,该路由将成为唯一选择,自动进入路由表,实现冗余,请结合下面贴出的配置理解

详细配置如下:(其中颜色字体处为关键配置)

简单实验:OSPF中DR和BDR的选举的疑问..

今天在看OSPF路由选择协议时突然对DR和BDR的选举过程有点好奇,于是做了个实验去了解一下
实验是在Dynamips模拟器中进行的,拓扑如下图:

将R1~R4上的F0/0接口打开,地址段用10.0.0.0,所有Router配置在area0中
4个路由器形成一个典型的多路访问广播网络.在这种网络中开启ospf是会引起DR和BDR的选举的.
在R1~R4上开启ospf进程,宣告10.0.0.0网络,为方便起见,在所有路由器上配上loopback地址(R1上为1.1.1.1,依次类推)并将他们都宣告到ospf进程中.如无意外4个路由器都会以各自的loopback口地址为RID,在全局配置模式下用show ip ospf nei查看DR和BDR的选举状况.或许你会见到DB不是我们希望见到的R4(因为R4的RID是最大的4.4.4.4)因为DR和BDR是非抢占试的,所以可能在你设置R4的loopback口时DR和BDR都已经选好了.R4就只能做DROther了,为了使R4成为DR,R3成为BDR,我需要使用clear ip ospf process命令去重置OSPF进程.在这之后ospf的邻居关系和链路状态数据库等将会重新建立
稍等片刻后,再次查看邻居表,R4已经成为了DR,R3也顺利成为BDR.
为了更加清晰了解DR的选举.我尝试将R2(DRother)的F0/0链路断开,并开启debug ip ospf adj查看邻居的建立过程
得出的信息如下(内容有删减):
Router(config-if)#no shut     //——-关闭F0/0链路 06:03:15: OSPF: Interface FastEthernet0/0 going Up   06:03:15: OSPF: Build router LSA for area 0, router ID 10.0.0.2, seq 0×8000000B
06:03:17: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up 06:03:17: OSPF: 2 Way Communication to 10.0.0.3 on FastEthernet0/0, state 2WAY(与R3建立双向关系) [...]