- MPLS的作用和优势
用一个短而定长的标签代替IP路由,转发速度快,资源消耗少 - MPLS有哪些设备
Core LSR:区域内部的LSR称为核心LSR,如果一个LSR的相邻节点都运行MPLS,则该LSR就是核心LSR
LER:位于MPLS域边缘、连接其它网络的LSR称为边沿路由器。如果一个LSR有一个不运行MPLS的相邻节点,那么该LSR就是LER - MPLS标签
标签是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC
若要进行负载分担,对应一个FEC可能会有多个入标签,但是一台路由器上,一个标签只能代表一个FEC - MPLS标签格式
Label: 20bit长度,标签值
Exp: 3bit长度,用于扩展。通常用做QoS,标识报文优先级
S: 1bit长度,栈底标识,S值为1时是最底层标签。
TTL: 8bit长度,生存时间 - MPLS标签值分类
0:标签必须被弹出,转发基于IPv4,仅在栈底才有效
1:报文转发由下一层标签决定,仅在在非栈底才有效
2:标签必须被弹出,转发基于IPv6,仅在栈底才有效
3:倒数第二跳弹出 - MPLS标签TTL值的产生和计算方式
Uniform模式:IP报文经过MPLS网络时,在入节点,IPTTL减1映射到MPLS TTL字段,此后报文在MPLS网络中按照标准的TTL处理方式处理。在出节点将 MPLS TTL减1后映射到IP TTL字段
Pipe模式:在入节点,IPTTL值减1, MPLS TTL字段为固定值,此后报文在 MPLS网络中按照标准的TTL处理方式处理。在出节点会将IP TTL字段的值减 1。即IP报文经过MPLS网络时,无论经过多少跳,IPTTL在入节点和出节点 分别减1。该处理模式下,非MPLS网络的路由器无法得知在MPLS网络中经过了多少跳 - MPLS倒数第二跳弹出有什么意义
MPLS在最后一跳节点,标签已经没有使用价值。可以利用倒数第二跳弹出特性(PHP),在倒数第二跳节点处将标签弹出,使最后一条无需再查询一次 LSP,而是直接进行IP转发或者下一层标签转发 - 可以对MPLS分配标签的协议
LDP、MP-BGP - LDP会话建立和维护
两个LSR以5s为周期,向目的地址224.0.0.2发送hello包,IP地址大作为主动方建立LDP会话
主动方LSR发送Initialization消息,协商建立LDP会话的相关参数
被动方LSR收到Initialization消息后,若能够接受,则发送Initialization消息,同时发送Keepalive消息给主动方LSR
主动方LSR收到Initialization消息后;若能够接受,则发送Keepalive消息给被动方LSR
当双方都收到对端的Keepalive消息后,LDP会话建立成功
如果不能接受协商LDP会话相关参数,则发送Notification消息,终止LDP会话的建立 - LDP标签通告模式
下游自主方式DU:是指对于一个特定的FEC, LSR无须从上游获得标签请求消息即进行标签分配与分发
下游按需方式DoD:是指对于一个特定的FEC, LSR必须获得标签请求消息之后才进行标签分配与分发 - LDP标签控制模式
独立标签分配控制:是指本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签分配
有序标签分配控制:是指对于LSR上某个FEC的标签映射,只有当该LSR已经从下游获得了此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR 才可以向上游发送此FEC的标签映射 - LDP标签保留方式
自由标签保持方式:是指对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留
保守标签保持方式:是指对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留 - LDP消息类型
发现(Discovery)消息:用于通告和维护网络中LSR的存在
会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话
通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射
通知(Notification)消息:用于提供建议性的消息和差错通知 - 什么是FEC和LSP
转发等价类FEC是一组具有某些共性的数据流的集合,这些数据流在转发过程中被LSR以相同方式处理
标签交换路径LSP是同一组FEC的报文在MPLS网络中的转发路径 - 标签的操作类型
Push:当IP报文进入MPLS域时,MPLS边界设备在报文二层头部和IP首部之间插入一个新标签
Swap:当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文的标签
Pop:当报文离开MPLS域时,将MPLS报文的标签去掉;或者MPLS倒数第二跳节点处去掉 - MP-BGP有哪些扩展内容
(多协议可达NLRI),用于发布可达的路由信息及下一跳信息
(多协议不可达NLRI),用于撤销不可达的路由信息 - VPN路由和普通路由有什么区别
VPN路由使用VPNv4地址族传递,而普通路由使用IPv4地址族传递
VPNv4传递的路由更新报文中,使用多协议可达NLRI 来代替原UPDATE消息中的NLRI字段
VPNv4路由传递更新时会携带RT属性 - RT和RD的作用
RD(Route-Distinguisher,路由区分符):RD用来区分本地VRF,该属性仅本地有效。8个字节的RD+4个字节的IPv4地址组成96位VPNv4路由,使不唯一的IPv4地址转化为唯一的VPN-IPv4地址,该VPNv4路由在ISP域内传递(区分),RD给某VRF里面的路由打上标签,进而实现地址的复用而不产生冲突。
RT(Route Tagert):是BGP的扩展团体属性,它分成Import RT和Export RT,分别用于路由的导入、导出策略。 - 同一VPN中的不同PE设备上的RD是否需要规划一致
通常建议规划一致,但是不一致也不影响互通
但RD本身并不影响MP-BGP路由的接收和选择(路由的接收与选择通过RT来完成),只要保证不同VPN的RD是不一致的就可以了。如果不同VPN的RD是一致的,就会出现不同VPN中相同前缀的路由无法区分的问题。(如果私有地址不重复的话RD可以一致) - MPLS VPN如何解决不同VPN用户
私有地址复用的问题 MPLS VPN通过多VRF技术来解决用户私有地址复用的问题
在PE设备上创建多个VPN实例,把连接不同用户的接口加入到不同的VPN实例,使IP地址、路由互相独立不可见
使用MP-BGP的RT和RD来解决不同用户私网路由区分的问题
在VPN数据传输时,使用私网标签来区分不同用户的私网报文 - MPLS VPN私网路由传递的流程
两端PE设备互相建立起到达对端Loopback口的LSP隧道
用户CE把私网路由传递至PE设备相应的VPN实例
两端PE已经建立起了MP-BGP邻居,所以PE会把私网路由以VPNv4的方式传递至对端PE
对端PE收到VPNv4传递的私网路由后,根据RT决定该私网路由需要被哪个VPN实例学习
相应的VPN实例学习到对端的私网路由后,再把路由传递至连接该VPN实例的用户CE设备 - MPLS VPN转发流程
当数据进入 MPLS 域时会先根据 FIB 表查找相应的转发条目,如果 tunnel id 为 0X0,则进行 IP 转发,如果 tunnel id 为非 0X0,则进入 MPLS 转发流程
Ingress 的处理
Transit的处理
Egress的处理 - Ingress 的处理
根据 FIB 表的 Tunnel ID 找到对应的 NHLFE 表项
查看 NHLFE 表项,可以得到出接口、下一跳、出标签和标签操作类型
在 IP 报文中压入出标签,同时处理 TTL,然后将封装好的 MPLS 报文发送给下一跳 - Transit的处理
通过查询ILM表和NHLFE表指导MPLS报文的转发。
根据MPLS的标签值查看对应的ILM表,可以得到Tunnel ID。
根据ILM表的Tunnel ID找到对应的NHLFE表项。
查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。
MPLS报文的处理方式根据不同的标签值而不同。 - Egress的处理
通过查询ILM表指导MPLS报文的转发或查询路由表指导IP报文转发。
如果Egress收到IP报文,则查看路由表,进行IP转发。
如果Egress收到MPLS报文,则查看ILM表获得标签操作类型,同时处理EXP和TTL。
如果标签中的栈底标识S=1,表明该标签是栈底标签,直接进行IP转发。
如果标签中的栈底标识S=0,表明还有下一层标签,继续进行下一层标签转发。 - 私网标签由谁分配?公网标签由谁分配?
私网标签用于区分不同VPN实例,由PE分配
公网标签用于MPLS转发,由所有LSR分配 - 什么是LDP同步
指LDP和IGP之间的同步,是为了避免路由黑洞问题的产生。当IGP和LDP都认可某条链路为待转发报文的出站链路时,就实现了同步。
H3CIE-MPLS专题
于 2023-12-27 13:44:10 首次发布