MPLS基础知识
MPLS基础:
1)、标签交换路由器LSR(Label Switching Router):可以进行 MPLS 标签交换和报文转发的网络设备;
2)、MPLS域(MPLS Domain):由 LSR 构成的网络区域;
3)、边缘路由器 LER(Label Edge Router):位于 MPLS 域边缘、连接其它网络的 LSR;
4)、核心 LSR(Core LSR):区域内部的 LSR;
5)、标签交换路径 LSP(Label Switched Path):IP 报文在 MPLS 网络中经过的路径。
6)、入节点(Ingress):LSP 的入口 LER;
7)、中间节点(Transit):位于 LSP 中间的 LSR;
8)、出节点(Egress):LSP 的出口 LER。
注:一条 LSP可以有 0 个、 1 个或多个中间节点,但有且只有一个入节点和一个出节点。
MPLS体系结构:
MPLS 的体系结构由控制平面(Control Plane)(无连接)和转发平面(Forwarding Plane)(面向连接)组成。
1.首先根据路由协议构建路由信息数据库(这个是路由表)
2.路由信息数据库会生成转发信息数据库(这个不是路由表,是转发信息数据库)
3.LDP协议会根据路由信息数据库生成标签转发信息数据库,用于标签转发的LFIB表
数据包经过流程:当一个IP包到达LER时,首先查找FIB表,FIB表是根据路由表所生成的,通过dis fib命令可以看到FIB表里有目的地址/掩码,下一跳地址,flag,出接口以及tunnel-ID。
1、当一个IP包进入LER时,首先查看FIB表中的tunnel ID字段是否为0,如果是0,就根据FIB表中的下一跳地址,出接口等信息直接发送出去;如果不为0,就去查找LFIB表,然后根据标签进行转发。
2、当一个带有标签的数据包进入LER时,直接查找LFIB表,根据LFIB表中的信息进行交换转发。(FIB表相当于在2.5和3层之间的表;而LFIB表相当于2和2.5层之间的表)
MPLS标签:
1、 转发等价类:将具有相同特征的报文归为一类,称为转发等价类 FEC(Forwarding Equivalence Class)。
2、 标签:标签(Label)是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的 FEC。
3、 MPLS报文格式:
1)、Label:20比特,标签值字段,用来标识一个FEC。
2)、EXP:3比特,用于扩展。现在通常用做CoS(Class of Service),其作用与Ethernet802.1p的作用类似。
3)、S:1比特,MPLS支持多重标签。值为1时表示为最底层标签。
4)、TTL:8比特,和IP分组中的TTL意义相同,可以用来防止环路。
4、 标签操作类型:
标签压入(Push)、标签交换(Swap)和标签弹出(Pop)。
5、 标签分发协议:
1)、LDP
2)、RSVP-TE
3)、MP-BGP
4)、静态
LSP的建立:
MPLS 需要为报文事先分配好标签,建立一条 LSP,才能进行报文转发。标签由下游分配,按从下游到上游的方向分发。(LSP是一个单向的路径)
1、 LDP邻居建立原理:
1)、首先运行LDP协议的设备每隔4s(大概)向MA网络中发送hello报文,报文的源地址为出接口地址,目的地址为224.0.0.2,使用UDP协议,源目端口都为646(所有路由器都监控这个地址);
2)、发现邻居之后,就发送初始化报文,协商能力(是以mpls lsr-id为源目地址,从发现了邻居之后,都是单播报文)这个时候为TCP协议,主动发起端源端口为随机高端口,目的端口为TCP 646(对端回包端口就反过来);
3)、相互之间发送地址信息报文,包括自己所有直连地址;
4)、相互之间发送标签映射信息报文,针对自己和已经收到的FEC分配标签,并将标签信息以单播方式发送给邻居(注意:华为只为主机路由分配标签);
5)、将自己生成的标签和收到的标签都放入标签信息数据库里(dis mpls ldp lsp);
6)、根据标签信息数据库生成标签转发信息表(LFIB,dis mpls lsp),所有的数据是查找这个表进行标签转发的。
2、 RSVP-TE:(Resource Reservation Protocol Traffic Engineering)是对 RSVP 的扩展,用于基于约束的 LSP 的建立和删除。
3、 MP-BGP:支持为 MPLS ××× 业务中私网路由和跨域 ××× 的标签路由分配标签。
MPLS详细转发过程:
1、NHLFE(也叫LFIB表):下一跳标签转发表项 NHLFE(Next Hop Label Forwarding Entry)用于指导 MPLS报文的转发;NHLFE 包括: Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息。
2、FTN:FEC 到一组 NHLFE 的映射称为 FTN(FEC-to-NHLFE);通过查看 FIB 表中 Tunnel ID 值不为 0x0 的表项,能够获得 FTN 的详细信息。FTN 只在 Ingress存在。
3、ILM:入标签到一组下一跳标签转发表项的映射称为入标签映射 ILM(Incoming Label Map);ILM 包括: Tunnel ID、入标签、入接口、标签操作类型等信息;ILM 在 Transit 节点的作用是将标签和 NHLFE 绑定。通过标签索引 ILM 表,就相当于使用目的 IP 地址查询 FIB,能够得到所有的标签转发信息。
4、Tunnel ID:Tunnel ID 的长度为 32 比特,只是本地有效。
5、具体报文转发流程:
1)、当一个IP包到达LER时,首先查找FIB表,FIB表是根据路由表所生成的,通过dis fib命令可以看到FIB表里有目的地址/掩码,下一跳地址,flag,出接口以及tunnel-ID。
2)、当一个IP包进入LER时,首先查看FIB表中的tunnel ID字段是否为0,如果是0,就根据FIB表中的下一跳地址,出接口等信息直接发送出去;如果不为0,就去查找LFIB表,然后根据标签进行转发。
3)、当一个带有标签的数据包进入LER时,直接查找LFIB表(内容与ILM表一样),根据LFIB表中的信息进行交换转发。
MPLS环路检测方法:
1、IGP防环机制(控制层面)
2、TTL(数据层面)
MPLS对TTL的处理模式:
1、 Uniform 模式(默认模式):
当收到一个IP包时,首先将IP报文中的TTL减1,然后再copy到MPLS的TTL中,然后在MPLS域中传递的时候,每经过一跳,都会减去MPLS中的TTL值,到了出MPLS域的时候(如次末跳弹出),就将MPLS中的TTLcopy回IP的TTL中,已达到防环的机制。
2、 Pipe 模式:
当收到一个IP包时,首先将IP的TTL减1,然后不会copyIP的TTL到MPLS的TTL,会直接给MPLS的TTL置为255,IP的TTL还是保持原来的不变,当出MPLS域的时候,才开始继续IP的TTL值。
转载于:https://blog.51cto.com/9480916/2389285