前面简单介绍了什么是MPLS,今天针对MPLS基础知识再深入的做下分析。
MPLS:多协议标签交换
1、支持多种网络层协议(IPV4/6,IPX等)
对于三层所用的协议不关注,MPLS其实算是2.5层(在二层和IP中多加了一个MPLS)
2、使用标签交换代替传统IP数据交换
3、MPLS是数据层面的技术仅仅基于Lable交换转发数据
一、标签交换与传统数据转发对比
传统数据转发:1、与操作 2、最长匹配 3、递归查找
进程转发:每个数据包到来查找路由,基于数据包转发
快发转发:每个流量中的第一个数据包进行路由查找,后续数据基于第一个数据包的缓存转发(通过五元组来确定是否为同一个流量),基于缓存的转发
缺点:1、第一个包还需进行路由查找 2、若路由或拓扑发生改变将无法正常转发
CEF:Cisco快速交换,将所有数据包无需查看路由表转发,直接查看Cef(FIB)进行转发,该表是自动适应路由表,无需路由直接转发
1.标签交换转发效率优于传统数据包交换(现在不明显了)
2.MPLS支持MPLS VPN 支持MPLS TE
二、MPLS模式
Frame 帧模式 Cell 信元模式
三、MPLS数据层面和控制层面
控制层面:LDP/TDP(标签分发协议) MP-BGP(BGP中的团体属性) Rsvp(资源预留协议)
数据层面:使用LIB(cef)对路由表优化后的表,解决递归查找
四、MPLS术语
FEC:转发等价类,具有相同的转发处理方式的一类数据
LSR:标签交换路由器,标签的swap(交换)撕掉上一个标签贴入新标签发给下一个LSR
E-LSR:边界标签交换路由器,处于MPLS域的边界,给IP域转发过来的流量(impose)压入标签,出MPLS域的时候要POP(弹出)标签
LSP:标签交换路径
LIB:标签信息库,无法转发数据 基于本路由器中所有FEC所分配的标签。本地给某条路由信息分的标签及其他路由器给分配的标签的集合
FIB(cef):转发信息库,支持插入标签
LFIB:FIB+LIB 标签转发信息库
五、Lable
标签:20bite 范围16到220
EXP:3bite 用于在标签定义优先级为QOS提供服务
S:栈底位 因为可以在IP和二层中加入多个标签
S=1代表到达栈底 S=0未到达栈底
TTL:生存时间 8bite 用于MPLS 中防环
六、标签分发协议
1、MP-BGP
2、LDP和TDP
Lable distribution protocol 和Tag distribution protocol
TDP:cisco 私有 基于TCP或UDP封装 端口711 广播发送255.255.255.255
LDP:工业标准,基于UDP或TCP 端口646 组播 224.0.0.2 (所有支持组播功能的路由器都接收)
LDP邻居发现阶段(LDP hello建邻居,UDP方式发送,进行TCP三次握手)
LDP会话建立(进行LDP初始化报文的发送,发送keeplive,并发送LDP的标签分发信息)
LDP hello报文: hello 周期发送,周期时间5s,超时时间15s,包含了 LSR ID 、LSR space ID、transport address ;使用transport address 用于LDP 中TCP邻居关系建立;
七、优化机制
倒数第二跳弹出:减少E-LSR的压力,若有一个标签直接弹出,若有多个只弹出外层标签
倒数第一跳向倒数第二条发送一个3标签(空标签)、
标签只具有本地意义 异步分发
启动五个路由器 在R2 R3 R5上启用MPLS
R1 R2 R3 R4 R5启用EIGRP协议
底层配置只贴出一个
interface Loopback0
ip address 4.4.4.4 255.255.255.0 配置环回口
interface Ethernet0/0
ip address 34.1.1.2 255.255.255.0 配置IP
no shutdown
interface Ethernet0/1
ip address 45.1.1.1 255.255.255.0
no shutdown
router eigrp 100 启动EIGRP
no auto-summary 关闭自动汇总
network 4.0.0.0 宣告路由
network 34.0.0.0
network 45.0.0.0
int e0/0 接口上启动MPLS
mpls ip
如果你对MPLS技术感兴趣,欢迎与我们交流。