MPLS简述

MPLS-VPN与IPsec VPN有很大的区别,前者通过VPN来传输数据,后者通过隧道加密来传输数据。

首先说MPLS的概念。

传统的网络都是基于IP地址查找,但是网络发展迅速,IP地址规模不断增大,普通的设备很难承受这么大的数据量,因此出现了MPLS标签。

MPLS准确来说属于2.5层,标签位于第二层与第三层的中间,总共32位,20位的标签值,标签从16-10W左右,3位的扩展位,可以用于部署QoS,1位的栈底标识符,8位的TTL

标签的动作有三种,压入标签push(impose) 交换标签(swap) 弹出标签(pop)

mpls控制平面和数据平面
IP中的控制平面 路由协议和路由表 ARP协议 需要消耗CPU
IP中的数据平面 FIB(转发信息库)--每一个目标前缀和出接口/下一跳关联信息

ldp协议是标签发现协议,启用了这协议的路由器都会为精确的路由分发标签

LDP的整个工作机制---
当把一个接口加进了MPLS的LDP后 接口就会周期性向组播地址224.0.0.2(所有路由器)发送discover报文(hello 5s holdtime 15s) 使用的是UDP的646端口 报文中携带了版本信息 标签空间LSR-ID 等等----需要对相关参数进行协商 还包含了传输地址(默认情况下为router-id) 协商成功后 会使用传输地址进行TCP的会话(默认情况下是由router-id一端发送TCP会话建立) 并且一样进行协商 完成后 就开始发送标签的映射
映射完成后 就发送keepalive来维持邻居(60S 180S)

都启用了LDP协议的路由器,会给下游的路由器分配标签,转发的时候通过标签转发,查找的是FIB表,速率比查找路由表更快

PHP,倒数第二跳弹出,标签会在倒数第二跳的过程中弹出,如果在最后一跳中弹出,弹出标签之后还会查找一次路由表,而如果在倒数第二跳弹出,发送最后一跳路由器,最后一跳路由器只需要查找路由表就可以了,效率更快。

原文地址:https://www.cnblogs.com/chenrjfight/p/10470673.html