MPLS系列(一)
MPLS:(Multiprotocol Label Switching,多协议标签交换),可以提高转发速率
1)传统的ip转发原理:
三层网络设备产生路由表,收到ip报文后查询路由表,根据路由表进行转发
2)MPLS转发原理:
在三层报头插入MPLS报文,可以插入多个MPLS报头。(MPLS报文结构较ip报文结构简单,可以以线速进行转发)
下面是MPLS报文结构
- 标准的ip报文20字节,mpls报文4字节,而且可以嵌套
- MPLS标签的作用域是同一广播域(同一网段)
1.相关术语
- FEC(Forwording Equivalence calss)转发等价类
转发过程中以等价的方式处理一组数据分组(一条路由对应一个FEC,在一台设备上,一个FEC分配相同的标签),FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型或VPN等为划分依据的任意组合,这里可以看出FEC具有更强大的转发能力
- LER(Label Switching Edge Router)边界标签交换路由器
进入MPLS网络的流量由LER分为不同的FEC,然后为这些FEC请求相应的标签,提供流量分类和标签映射以及标签移除功能
- LSR(Label Edge Router)标签交换路由器
MPLS的核心路由器,具有标签交换和标签分发功能
- LSP(Label Switching Path)标签交换路径
一个FEC的数据流 ,在不同的节点被赋予确定的标签,数据转发按照这些标签进行,数据流所走的路径就是LSP(数据转发所经过的路径)
2.MPLS工作原理
- 1)为每条路由产生一个标签(FEC)
- 2)将标签传递给MPLS邻居
- 3)LDP协议(Label Distribution Protocol)需要IGP支持
- 4)插入MPLS报头(push)
- 5)根据本地的PLS表替换MPLS报头(swap)
- 6)将最顶层的MPLS报头移除(pop)
- 7)将所有的MPLS报头弹出(untag)
PHP机制:
在LER的前一个路由器就将MPLS报头弹出,避免LER既查询MPLS表又查询路由表
相关表简介:
RIB:路由表
FIB:转发信息库(CEF),其核心是提前索引,收到ip报文后直接转发,类似于缓存
LIB:标签信息库
LFIB:标签转发信息库
收到MPLS报文查询LFIB表,IP报文查FIB表
3.分析
实验拓扑图:
过程:
R1发出ip报文,R2收到后查询FIB表,压入标签,然后将FEC转发给R3,R3收到MPLS报文后查询LFIB表中的in标签,将原有的标签替换为out对应的标签,到达R4后查询in标签,得到out标签是pop则弹出最顶层的标签,还原成IP报文,转发给R5,R5收到IP报文,查询FIB表,最后将IP报文转发给R6.
IP报文和MPLS报文区别:
IP报文:每一个IP报文都会查询路由然后进行路由转发
MPLS报文:只需要进行标签的替换和转发即可,可以提高转发速度
配置命令:
mpls ldp router-id l0
int e0/1
mpls ip