MPLS原理及配置

赶时间可以只看实验部分

由来:90年代中期,互联网流量的快速增长。传统IP报文依赖路由器查询路由表转发,但由于硬件技术存在限制导致转发性能低,查表转发成为了网络数据转发的瓶颈。

因此,旨在提高路由器转发速度的MPLS(Multi-Protocol Label switching,多协议标签交换)被提出。与传统IP路由方式相比,MPLS在数据转发时,只在网络边缘分析IP报文头,在网络内部采用更为高效的标签(Label)转发,节约了处理时间。

随着设备硬件性能不断提升,MPLS在提高数据转发速度上的优势逐渐弱化,但其支持多层标签嵌套和设备内转控分离的特点,使其在VPN(VirtualPrivate Network,虚拟私有网络)、QoS(Quality ofService,服务质量)等新兴应用中得到广泛应用。

一:MPLS基本概念:(俗称为2.5层)

术语介绍:

1.MPLS域(MPLS Domain):一系列连续的运行MPLS的网络设备构成了一个MPLS域。

2.LSR(Label Switching Router,标签交换路由器):支持MPLS的路由器(实际上也指支持MPLS的交换机或其他网络设备)。位于MPLS域边缘、连接其它网络的LSR称为边沿路由器LER(LabelEdge Router),区域内部的LSR称为核心LSR(Core LSR)。

3.除了根据LSR在MPLS域中的位置进行分类之外,还可以根据对数据处理方式的不同进行分类:

入站LSR(IngressLSR):通常是向IP报文中压入MPLS头部并生成MPLS报文的LSR。

中转LSR(Transit LSR):通常是将MPLS报文进行例如标签置换操作,并将报文继续在MPLS域中转发的LSR。

出站LSR(Egress LSR):通常是将MPLS报文中MPLS头部移除,还原为IP报文的LSR。

4.LSP(Label switched Path,标签交换路径):是标签报文穿越MPLS网络到达目的地所走的路径

5.FEC(Forwarding Equivalence Class,转发等价类)是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以相同方式处理。

在MPLS网络中,FEC可以通过多种方式划分,例如基于目的IP地址及网络码、DSCP等特征来划分。

数据属于哪一个LSP,由数据进入MPLS域时的Ingress LSR决定。

MPLS标签通常是与FEC相对应的,必须有某种机制使得网络中的LSR获得关于某FEC的标签信息。

二:MPLS标签:

IP报文进入MPL域之前,会被入站LSR压入MPLS头部(又叫MPLS标签),形成一个MPLS标签报文。一个标签报文可以包含一个或多个MPLS标签。

标签(Label):用于携带标签值,长度20 bit。

EXP(ExperimentalUse):主要用于CoS(Class of Service),长度3 bit。

S(Bottom of stack):栈底位,用于指示该标签头部是否为最后一层标签,长度1bit。如果该字段为1,则表示当前标签头部为栈底;如果该字段为0,则表示当前标签头部之后依然还有其他标签头部。TTL(TimeTo Live):用于当网络出现环路时,防止标签报文被无限制转发,与IP报文头部中的TTL具有相同的意义 长度8 bit。

三:MPLS标签栈:

MPLS支持一层或多层标签头部,这些标签头部的有序集合被称为标签栈(Labelstack)

当标签栈中存在多个标签时:
最靠近二层头部的标签是栈顶标签,标签中的s字段为0。
最靠近IP头部的标签是栈底标签,标签中的S字段为1。

标签是一个短而定长的、只具有本地意义的标识符。标签空间就是指标签的取值范围。标签值的范围 及规划 如下:

标签处理过程:

标签是由LDP分发的,LDP 协议即标签分发协议(也有建立邻居关系,默认自动建立完成的)

路径建立:通过邻居发现、会话建立等过程,使标签交换路由器 LSR 之间能够相互通信并交换标签信息,确定每个转发等价类 FEC 对应的标签交换路径 LSP,让数据包能沿着特定路径进行转发。

路径维护:在网络运行过程中,LDP 协议持续监测 LSP 的状态,当网络拓扑发生变化或链路出现故障时,能够及时调整标签映射关系和 LSP,保证数据的正常转发。

四:实验部分

静态部分

bash 复制代码
[R1]static-lsp ingress lto4 destination 4.4.4.4 32 nexthop 12.1.1.2 out-label 104
[R2]static-lsp transit lto4 incoming-interface g0/0/0 in-label 104 outgoing-interface g0/0/1 nexthop 23.1.1.3 out-label 204
[R3]static-lsp transit lto4 incoming-interface g0/0/0 in-label 204 outgoing-interface g0/0/1 nexthop 34.1.1.4  out-label 304
[R4]static-lsp egress lto4 incoming-interface G0/0/0 in-label 304

动态部分:

LDP先为下游设备添加标签

入栈设备收到IP包后,查FIB(即路由表),压入102号标签;到达中转设备,它查LFIB(标签转发表),进行标签交换(102->103),再到R3,进行LFIB表查询:弹出标签(103),再查FIB表,进行ip地址转发。

如果知道R3是末跳,R2是次末跳,这时候在R2的时候就弹出标签,发IP包给R3,到R3的时候直接查看FIB表(路由表),就不需要进行弹出标签了。

bash 复制代码
全局下:
[R1-LoopBack0]mpls lsr-id 1.1.1.1		//用环回口充当mpls的id编号
[R1]mpls
Info: Mpls starting, please wait... OK!
[R1-mpls]mpls ldp
接口下:
[R1-GigabitEthernet0/0/0]mpls
[R1-GigabitEthernet0/0/0]mpls ldp
其他也一样

抓取报文如下:对应上述内容

bash 复制代码
[R1]dis mpls ldp peer		//用于显示本地路由器 R1 的标签分发协议 LDP 对等体及会话信息。
[R1]dis cu co ospf			//用于显示 R1 上与 OSPF 协议相关的配置信息。
[R1-GigabitEthernet0/0/1]dis cu | include mpls		//在指定的 GigabitEthernet0/0/1 接口下,显示该接口包含 "mpls" 关键字的配置信息。
[R1]dis mpls lsp			//用于显示 R1 路由器上的 MPLS 标签交换路径 LSP 的相关信息,

假设以到达4.4.4.4的网络为例:

根据 PHP 机制,当数据包到达倒数第二跳 LSR 时,会将数据包的标签替换为一个特殊的标签(例如隐式空标签,值通常为 3)所以:

在R4上的R4的入标签为3,R3这里的出标签也为3(代表次末跳),入标签为1026(路由器根据本地的标签分配策略为其分配了 1026 作为入标签。)



相关推荐
河北之花2 小时前
计算机三级:BGQ
网络·tcp/ip·计算机网络·智能路由器
星恒讯工业路由器4 小时前
四张网协同演进:新一代通信网对工业通信设备意味着什么?
网络·物联网·智能路由器·工业路由器·工业物联网·5g-a·新一代通信网
疯狂打码的少年7 小时前
【计算机网络】网络互连设备(中继器 / 网桥 / 交换机 / 路由器 / 网关)
网络·笔记·计算机网络·智能路由器
zbtlink1 天前
家用全屋WiFi技术选型思考:吸顶AP、面板AP与路由器的参数对比
网络·智能路由器
Multipath7122 天前
远程可视操控:多链路聚合如何把“不确定”变“可管理”
网络·网络协议·5g·智能路由器·信息与通信
华允物联-HUAIOT2 天前
什么是工业路由器?和普通家用路由器的区别
网络·智能路由器
FW-Linker3 天前
多卡聚合的数据包级并行传输原理在广电直播场景中详解
网络·5g·架构·智能路由器
Multipath7123 天前
无人驾驶车的多链路聚合传输应用方案
网络·5g·安全·智能路由器·实时音视频
比兔代理3 天前
路由器静态IP怎么设置?光猫、WAN口与局域网配置教程
网络·智能路由器
星恒讯工业路由器4 天前
市政监控进入5G RedCap时代:轻量化5G如何解决户外监控联网难题
网络·物联网·5g·智能路由器·工业路由器·5g redcap·市政监控