MPLS:多协议标签交换---ISP应用
包交换:基于数据包中的IP地址进行路由;
标签交换:基于2.5层的标签进行数据转发; 多协议:无论网络层运行什么协议;
当下的主要应用:
- 解决BGP路由黑洞 2)MPLS VPN 3)MPLS TE(流量工程)
使用MPLS首先需要开启CEF:
- 启动CEF可以被ASIC(硬件芯片)直接调用转发
- CEF解决了递归问题,对应MPLS的标签生成非常重要
- CEF生成FIB表,而TDP/LDP只能基于该表进行标签的分发;
- 普通的路由表中不允许存在其他协议的参数,只有CEF可以提供MPLS的标签保存
控制层面:交换路由信息;标签的分发(MPLS不为BGP的路由进行标签分发)
数据层面:根据路由转发用户数据;标签的压入和弹出,基于标签号进行数据的转发
MPLS的数据包封装于2层和3层之间,称为2.5层
MPLS工作原理:
在控制层面传递路由条目的同时,MPLS的TDP/LDP将基于每条条目进行标签号的分发,然后传递给邻居;上游设备传输流量时,压入下游设备分发的标签号。
MPLS的配置
1、IP可达--- 使用路由协议全网可达
2、配置MPLS – LDP
[r2]mpls lsr-id 2.2.2.2 必须先定义mpls的router-id,要为本地设备的真实ip地址,且邻居可达,因为
该地址将用于建立TCP会话,建议使用环回地址
[r2]mpls 再开启mpls协议
[r2-mpls]mpls ldp 再激活LDP协议
[r2-mpls-ldp]q
之后需要在所有标签经过的接口上开启协议
[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]mpls 先开启MPLS
[r2-GigabitEthernet0/0/1]mpls ldp 再激活LDP协议
开启隧道递归[r2]route recursive-lookup tunnel
普通的MPLS解决BGP的路由黑洞问题:
MPLS将不为通过BGP学习到的路由条目分发标签号;
但是在访问BGP学习的目标时,封装该目标BGP下一跳地址所在网段的标签号;
使中间未运行BGP协议的路由器,基于标签号将流量转发到BGP的下一跳处,来避免路由黑洞;
下面开始小实验:
实验拓扑图:
实验要求:全网可达
使用MPLS技术来解决bgp路由黑洞问题,会用到bgp,ospf,rip,双向重发布,静态
首先配置IP地址,r2 - r6跑bgp,as号100,使用非直连建邻
基于上面的配置命令,我完成本次实验
跑完ospf1 可见r6路由表:
然后跑BGP:
r2与 r5,r6建立邻居关系
使用MPLS 技术来解决路由黑洞问题
查看LFIB表:
查看FIB表:
查看LIB表,装载本地和邻居为各条路由分配的标签号:
之后跑ospf2 ,rip,双向重发布:
我们可以看到r8上路由表:
全网可达,实验圆满完成