MPLS技术基础

一、MPLS的基本概述

1、MPLS【Multi-Protocol Label Switch|多协议标签交换】

2、MPLS最早由Cisco System公司开发,最早早该技术称之为Tagging Switch,后被IETF(internet 工程任务小组)改名为MPLS,进而向业界公开推广;

3、在上世纪90年代初期,互联网中的数据量激增,而当时各个网络设备厂商的硬件性能低下,造成过大的数据量进入网络设备,而网络设备根据传统的IP路由表转发,效率低下

4、ATM(异步传输)改变了网络设备基于IP路由表转发的规则,使用VPI/VCI【虚路径标识符/虚电路标识符】的方式进行转发,实现一次查表,唯一匹配,效率较高,但ATM交换机成本高昂,且需要管理员手动的在每台ATM交换机上配置VPI/VCI数值,同时在ATM交换机上部署QoS极为复杂,因此该技术很难普及

5、MPLS技术在上述问题面前应运而生

6、MPLS改变了传统路由器根据IP路由表转发数据的特征,而是使用一个短而定长【32bit】的标签来实现数据分组的封装,令支持MPLS功能点的路由器或交换机根据该标签进行数据的转发

7、MPLS的多协议指:

7.1、MPLS可以运行在PPP、ATM、FR【Frame Relay|帧中继】、以太网环境中

7.2、各种报文均可以承载在MPLS之上,如IPv4、IPv6以及ATM

二、MPLS网络组成

构成一个MPLS网络环境的设备,需要先开启MPLS功能,在MPLS网络环境中,共存以下概念:

1、LSR【Lable Switching Router|标签交换路由器】:指工作在MPLS网络环境中的,负责根据标签来转发数据的路由器

2、LER【Label Edge Router|标签边界路由器】:指工作在MPLS网络环境中,一方面负责连接MPLS网络,另一方面负责连接非MPLS网络环境的客户设备

3、LSP【Lable Switching Path】:在MPLS网络环境中转发标签数据所使用的转发路径

4、FEC【Forwarding Equivalence Class|转发等价类】:去往同一目的地,按照相同的方式进行处理、分配得到相同的标签的一组数据成为同一转发等价类

三、MPLS的标签定义

1、MPLS网络令路由器不再根据传统IP路由表转发数据,而是使用一个短而定长的标签来实现数据的交换

2、MPLS的标签共32bit

3、MPLS的标签封装在数据链路层头部与网络层头部之间,相当于形成了一条【天然隧道】,用来满足VPN的连接需求

4、MPLS标签的组成

4.1、标签字段(20bit):是MPLS网络中最重要的索引值字段

4.2、优先级 字段(3bit):Exp字段,共3bit,用来配合QoS使用,类似于数据链路层的802.1p【8种优先级】

4.3、S字段(1bit):栈低位,共1bit,MPLS可以根据需求进行多个标签的嵌套,当存在多个标签嵌套时,最后一个标签的S位置为1,其他的标签的S位置为0;若只有1个标签,则S位为1

4.4、TTL字段(8bit):生存时间字段,直接通过IP报文数据复制过来,每进行一次标签交换时,TTL就减1

5、MPLS的标签标识

在传统的IP网络中,二层头部中Type字段值为:0x0800

在MPLS构建的网络中,二层头部的Type字段值为:0x8847

四、MPLS标签分配

标签分配协议用于在MPLS网络中LSR之间分配标签:

1、LDP【Label Distribution Protocol|标签分发协议】:业界公有协议

2、RSVP-TE【资源预留协议-流量控制】:用于端到端的流量工程

3、MP-BGP【多协议BGP|BGPv4 Plus】:增强型的BGPv4

4、TDP【Tagging Distribution Protocol】:Cisco私有协议

五、LDP【标签分发协议】

1、LDP协议中共存在4种类型的消息:

1.1、发现消息【Discovery Message】:用于发现LDP邻居设备

1.2、会话消息【Sission Message】:用于LDP邻居会话的建立、维护

1.3、通知消息【Notification Message】:用于向LDP邻居通知错误事件

1.4、通告消息【Advertisement Message】:用来向LDP邻居通告标签、地址等信息

2、LDP邻居关系的建立

2.1、在邻居发现阶段,LDP使用UDP作为承载协议,使用其端口号码646,在组播地址224.0.0.2上寻找邻居,发送Hello报文

2.2、当找到邻居时,LDP使用TCP建立连接,使用其端口号码646,地址大的一方主动发起 连接请求

2.3、主路由器首先向从路由器发送LDP初始化消息并携带协商参数(LDP版本号码、Keepalive的时间180s、标签分配的方式、以及PDU的大小,默认4096Byte)

2.4、从路由器接收到该消息后,查看参数是否可以接收,若能够接受,则向主路由器也发送初始化消息,也携带从路由器的各项参数

2.5、主路由器接收到该消息后也查看参数是否可以接受,若能接受,则LDP关系随即启动,会话立即建立

2.6、期间若接收到任何错误消息,则会话关闭,TCP连接中断

六、MPLS网络的上游和下游

1、在MPLS网络中,靠近信源的设备称为上游设备,靠近接收方的设备称为下游设备

2、在MPLS网络中,标签是由下游设备分配给上游设备的

3、在分配的过程中,倒数第一路由器给倒数第二路由器分配的标签永远是3

注:16以下的标签都是网络设备系统使用的,在分配时不会分配出去(0:显示空标签、1:路由器报警标签、3:隐式空标签)

4、因此当倒数第二路由器在给倒数第一路由器传送数据时,倒数第二路由器就可以直接将标签3抹除,将一个不带标签的数据直接传送给倒数第一路由器(该技术称之为:PHP【倒数第二跳弹出】)

5、上游设备在向下游设备发送数据时,就使用下游设备分配给上游设备的标签做封装

七、标签的分配与管理

1、标签的分配模式分为2种:

1.1、DOD(下游按需标签分配):上游设备首先向下游设备发送请求分配标签的报文,下游设备再根据FEC为不同的类别的数据分配标签

1.2、DU(下游自主标签分配):下游设备无需等待上游设备的请求消息,自主为上游设备分配标签

2、标签的控制模式分为2种:

2.1、有序方式:只有下游设备为我分配了标签后,我才能为我的上游设备分配标签

2.2、独立方式:无论下游设备是否为我分配了标签,我都能够为我的上游设备分配标签【默认模式】

3、标签的保存方式分为2种:

3.1、保守模式:只保存下一跳路由器为我分配的标签,而其他非下一跳路由器分配的标签并不保存;优点在于节省标签存储空间,缺点在于当主路径出现故障时,备份路径需要重新申请标签,切换速度较慢

3.2、自由模式:无论是否为下一跳路由器分配的标签,只要能接收,全部标签都保存;优点在于需要占用过多的标签存储空间【默认模式】

八、MPLS的应用

1、随着这些年,各个厂商的硬件配置越来越多,基于ASIC【专用交换集成路由】与NP【网络架构|转/控分离技术】架构的交换机与路由器性能越发强进,因此传统的IP路由表转发不再存在性能低下的问题,在当今环境中,MPLS用来替代传统路由的性能问题,已经没有了优势。

2、但由于MPLS的天然隧道的形成,令其在广域网VPN、TE【流量工程】等方面依然保持着强大的竞争力。

3、MPLS单独使用已没有竞争力,但与其他技术混合使用时,效果明显。

相关推荐
m0_5474866632 分钟前
计算机网络名词解释汇总
网络·计算机网络
麻瓜也要学魔法6 小时前
链路状态路由协议-OSPF
网络
Estar.Lee6 小时前
查手机号归属地免费API接口教程
android·网络·后端·网络协议·tcp/ip·oneapi
傻啦嘿哟7 小时前
代理IP在后端开发中的应用与后端工程师的角色
网络·网络协议·tcp/ip
Red Red7 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
亚远景aspice9 小时前
ISO 21434标准:汽车网络安全管理的利与弊
网络·web安全·汽车
Estar.Lee9 小时前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip
友友马10 小时前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
码老白11 小时前
【老白学 Java】Warshipv2.0(二)
java·网络