实验拓扑

R1配置
1、各接口及环回接口IP配置
2、配置IGP (OSPF)发布各节点接口所连网段和LSR ID的主机路由
3、在各LSR上使能全局的MPLS和MPLS LDP能力
4、在各LSR的接口上使能MPLS和MPLS LDP能力
5、验证配置结果
R1配置
sysname R1
mpls lsr-id 10.0.1.1 // LSR ID用来在网络中唯一标识一个LSR
mpls //开启全局MPLS
mpls ldp //开启全局MPLS LDP
ospf 1 router-id 10.0.1.1
area 0.0.0.0
network 10.0.1.1 0.0.0.0
network 10.0.12.0 0.0.0.255
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
mpls
mpls ldp
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
R2 配置
sysname R2
mpls lsr-id 10.0.2.2
mpls
mpls ldp
ospf 1 router-id 10.0.2.2
area 0.0.0.0
network 10.0.2.2 0.0.0.0
network 10.0.12.0 0.0.0.255
network 10.0.23.0 0.0.0.255
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
mpls
mpls ldp
interface GigabitEthernet0/0/1
ip address 10.0.23.2 255.255.255.0
mpls
mpls ldp
interface LoopBack0
ip address 10.0.2.2 255.255.255.255
R3配置
sysname R3
mpls lsr-id 10.0.3.3
mpls
mpls ldp
ospf 1 router-id 10.0.3.3
area 0.0.0.0
network 10.0.3.3 0.0.0.0
network 10.0.23.0 0.0.0.255
interface GigabitEthernet0/0/1
ip address 10.0.23.3 255.255.255.0
mpls
mpls ldp
interface LoopBack0
ip address 10.0.3.3 255.255.255.255
验证
查看启用了LDP 的接口

查看LDP 会话 会话状态为Operational 表示会话成功建立。

查看MPLS LSP 通道



查看R1去往10.0.3.3的MPLS 报文

可以看到R1 出发被打标签是1025 、到达 R2时被替换为3(PHP特殊标签)
查看R3去往10.0.1.1的MPLS报文

可以看出R3 出发被赋予标签1024、到达R2时被替换为3
思考 为什么标签转发比IP转发的效率更高?
转发知乎
路由器对IP包的转发使用的CPU处理,那么CPU处理每一个IP包就会使用最长掩码匹配原则,举个栗子,如果路由器收到了一个目的IP为192.168.1.1的数据包,此时在路由表中有192.168.0.0/16,192.168.1.0/24,192.168.1.1/32三条路由,那么路由器要经过三次查找,找到最精确的匹配192.168.1.1/32,才能将数据包转发出去。
首先MPLS将路由器的控制层面与转发层面进行了分离。在控制层面中,路由协议生成路由表,标签协议生成标签信息库(LIB)。在标签信息库中会为每一类路由条目分配一个标签,例如前例,对192.168.0.0/16,192.168.1.0/24,192.168.1.1/32三条路由只需要分配一个标签,例如标签20,这就叫转发等价类(FEC),而所有的FEC就构成了路由器的转发平面,我们叫做标签转发表(LIB)。这时路由器来说,原来是收到目的IP是192.168.1.1的数据包,要进行三次查路由表再转发;而现在是收到标签为20的标签包,所以路由器不会查路由表,而是一次查找标签转发表(LIB),找到其他路由器为192.168.0.0分配的标签,直接交换出去。加快了路由器的转发效率。
MPLS 的意义:
意义在于在于标签的加入将IP包这种无连接的转发方式变成了面向连接的转发方式,就是标签转发路径(LSP)的形成。那么一旦面向连接的转发形成以后,我们可以很方便的将MPLS扩展出多种应用,例如VPN,TE,VPLS,等等技术。