HCIE面试题——MPLS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HCIE面试题——MPLS相关的知识,希望对你有一定的参考价值。

参考技术A 1、MPLS VPN有那几种路由器角色?

(1)CE(CustomEdge):直接与服务提供商相连的用户设备; 

(2)PE(ProviderEdgeRouter):指骨干网上的边缘路由器,与 CE 相连,主要负责 VPN 业务的接入; 

(3)P(ProviderRouter):指骨干网上的核心路由器,主要完成路由和快速 

转发功能;

2、RD 和 RT 的作用? 

(1)RD(RouteDistinguisher):为了防止一台 PE 接收到远端 PE 发来的不同 VRF 的相同路由时不知所措,而加在路由前面的特殊信息(RD)。在 PE 

发布路由时加上,在远端 PE 接收到路由后放在本地路由表中,用来与后来接收到的路由进行区分。 

(2)RT(RouteTarget):表明了一个 VRF 的路由喜好,通过他可以实现不同 VRF 之间的路由互通。他的本质就是 BGP 的 community 属性。(拓展体属性)。

扩展问题1:有RT可以不用RD吗? 

理论上讲,是可以的。但 RT 不是一个简单的数字,通常是一个列表,而且他 

是一种路由属性,不是与 IP 前缀放在一起的,这样在比较的时候不好操作。特别是:BGP 的 Routewithdraw(路由撤销)报文不携带属性,这样在这种情况下收到的路由就没有 RT 了,就会出现两条相同路由都被撤销了。 

扩展问题2:有RD可以不用RT吗? 

可以,用 RD 完全可以实现 RT 的功能,但是没有 RT 灵活(同个 pe 的两vrf 要进行互访的时候,用 RD 就实现不了),不便于控制。

扩展问题3:BGP/MPLS VPN是如何实现冲突的地址空间共存的? 

在路由的前缀加上 64bit 位的 RD,成为 96bit 的 VPNv4 路由。 

扩展问题4:8字节RD值由哪些内容构成?没有RD有什么问题?路由在哪里打上 RD值的? 

格式为 AS:NN,总长 64bit。 

由 Type 字段(16bit)、Administrator(管理员)字段、Assigned Nuber(分 配号)字段组成。 

分为 3 种: 

Type 为 0;Administrator 表示公有 AS 号,长度为 16bit;Assigned Number表示私有 AS 号,长度为 32bit。 

Type 为1:Administrator 必须是个 IPv4 地址,通常为公有 IP;Assigned

Number 自定义,长度为 16bit。 

Type 为2:Administrator 表示公有 AS 号,长度为 32bit;Assigned Number 。

自定义,长度为 16bit。 

实际项目中需要严格按照上面三种格式设置 RD 值,实验环境没此要求。 

没有 RD,PE 将两个 CE 同一条 IPv4 路由引入 BGP 传递出去,则会当成一条 BGP 路由。 

扩展问题5:MP-BGP路由器收到一条VPNv4,如果没有导入RT,是否会接收这条VPNv4路由? 

没有导入 RT 不会进入 VPNv4 路由表,因为没有导入 RT,接收这条路由也没有用。

3、VPN 实例的作用? 

将 PE 设备的路由表逻辑的隔开来,实现私网路由和公网路由的隔离 

同时也可以通过 vpn 实例中的 RD 值,在私网路由存在冲突时,对私网路由进 

行区分。

4、PE 设备控制层面和数据层面的作用? 

(1)控制层面: 

各个设备角色之间的路由信息交换 

CE------>PE: 

a)PE 配置相应的 VPN 实例 

b)PE 和 CE 之间运行相应的路由协议 

c)将 CE 的私网路由引入 PEBGP 中,并加上 RD,成为 BGPVPNv4 路由 

PE------>PE: 

a)PE 与 PE 建立 VPNv4 的邻居关系 

b)通过 update 携带 VPNv4 路由,Update 报文中携带 ExportVPNTarget 属性及 MPLS 标签。 

c)出口 PE 收到 VPN-IPv4 路由后,在下一跳可达的情况下进行,根据 RT 导入到相应的 VPN 实例路由表 

d)本地 PE 为其保留如下信息以供后续转发报文时使用:

1).MP-BGPUpdate 消息中携带的 MPLS 标签值 

2).TunnelID 

PE------>CE: 

a)PE 将 BGP 路由引入到相应的路由协议中 

(2)数据层面: 

○1 CE 查找 FIB,根据 IP 转发把数据发送给 PE。 

○2 PE 从 VPN 实例收到的数据包,先匹配目的 IPv4 前缀查找VPN 实例FIB,得到 Tunnel-ID、私网标签、下一跳,然后根据下一跳找到公网 LSP 并压入公网标签。 

○3 中间的 P 设备根据外层标签进行转发。 

○4 应用了倒数第二跳弹出,则此标签会在到达 Egress PE 之前的一跳弹出,Egress PE 只能收到带有内层标签的报文。 

○5 对端 PE 设备收到私网标签,发现该标签处于栈底,剥离标签在送入相应的 VPN 实例的路由表中,再根据 FIB 转发。

扩展问题1:MPLS VPN的LSP隧道有几种实现方式?分别在什么情况下使用?(1)静态

中心到节点的帧中继网络,结构简单及拓扑比较稳定的小型网络 

(2)LDP 

结构比较复杂,拓扑经常变动的大型网络 

扩展问题2:MPLS VPN有两层标签,如果第二跳弹出mpls标签,最后一跳路由器 怎么知道这个标签是mpls的还是bgp的? 

最后一台路由器查看自己的标签转发表就能分辨是公网标签还是私网标签。 

因为 MPLS 和 BGP 都是使用基于 LSR 平台的标签空间,所以最后一台路由器的公网标签和私网标签对应的标签号不同。 

扩展问题3:路由器怎么确定是mpls转发还是ip转发?(从设备读取数据包的角度)首先要确定数据包为 MPLS 报文还是 IP 报文, 主要查看看二层报文头部中的 type 字段。 

如果为 0x0800,则为 ip 报文; 

如果为 0x8847 或者 0x8848,则为 mpls 报文。 

(常见的 type 字段有 0x86dd 为 ipv6 0x0806 为 arp) 

还有就是查看 FIB 表中去往目的地址的 tunnel-id 是否为 0X0;

扩展问题4:PE之间可以通过物理接口来建立MP-BGP 邻居吗?PE上的环回口一 定要是32 位的掩码吗? 

华为 VRP 系统规定:PE 之间必须使用 32 位掩码的 Loopback 接口地址来建 

立 MP-IBGP 对等体关系,以便能够迭代到隧道。以 Loopback 接口地址为目的地 址的路由通过 MPLS 骨干网上的 IGP 发布给对端 PE。 

骨干网内做路由聚合会对 MPLS VPN 产生什么样的影响?

如图,在P设备上将3.3.3.9/32汇总为3.3.3.0/24 

当 PE1 收到一条 VPNv4 的路由,首先需要查看下一跳是否存在对应的 LSP,如果不存在则直接不装 VPN 实例路由表中。 

在路由汇总后,PE1 并没有关于下一跳的 LSP。所以下一跳不可达,该路由被 

丢弃。 

如果在 P 设备添加一条汇总后的静态路由并指向 null0,结果还是 PE1 不会将 

VPNv4 的路由放入 VPN 实例路由表中。因为 PE 只使用下一跳的 32 位路由的LSP。而汇总后是 24 位路由的 LSP,所以该路由还是被丢弃。

数通面试私房菜之MPLS专题第一期:MPLS名词详解

MPLS

多协议标签交换MPLS(Multiprotocol Label Switching)是一种IP(Internet Protocol)骨干网技术。

? MPLS这种技术最早的起源的为了解决IP转发低效的问题,但随着硬件水平的发展,已不存在转发低效的问题,现在我们用MPLS这种技术,主要是解决实现***业务。

技术图片

MPLS术语

? 标签(Label):是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个入标签,但是一台设备上,一个标签只能代表一个FEC。

? LSP(Label Switched Path):标签交换路径,即到达同一目的地址的报文在MPLS网络中经过的路径。LSP是一条单向路径,与数据流的方向一致。

? FEC(Forwarding Equivalent Class):一般指具有相同转发处理方式的报文。在MPLS网络中,到达同一目的地址的所有报文就是一个FEC(将具有相同转发处理方式的报文分为一类,称该类报文为一个FEC)。FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型或***等为划分依据的任意组合。

? LER(Label Edge Router):在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能。

? LSR(Label Switched Router):LSR是MPLS的网络的核心交换机,它提供标签交换和标签分发功能。

? LSP入口的LER被称为入节点(Ingress);
? LSP中间的LSR被称为中间节点(Transit);
? LSP出口的LER被称为出节点(Egress)。

MPLS转发过程中涉及的相关概念如下:

? PUSH标签压入:当IP报文进入MPLS域时,MPLS边界设备在报文二层首部和IP首部之间插入一个新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)。

? SWAP标签交换:当报文在MPLS域内转发,根据标签转发表,用下一跳分配的标签,替换MPLS报文的栈顶标签。

? POP标签弹出:当报文离开MPLS域时,将MPLS报文的标签剥掉。

在最后一跳节点,标签已经没有使用价值。这种情况下,可以利用倒数第二跳弹出特性PHP(Penultimate Hop Popping),在倒数第二跳节点处将标签弹出,减少最后一跳的负担。最后一跳节点直接进行IP转发或者下一层标签转发。默认情况下,设备支持PHP特性,支持PHP的Egress节点分配给倒数第二跳节点的标签值为3。

以上是关于HCIE面试题——MPLS的主要内容,如果未能解决你的问题,请参考以下文章

华为奇葩问

网红沈大师还是程大师,一个中肯的HCIE面试PASS

HCIE面试真题战报及点评系列14

华为数通HCIE面试题目解密系列之RSTP边缘端口

吐血整理50家企业真实大数据面试题!!学长实测,真实面试!!快收藏!

数通面试私房菜之MPLS专题第一期:MPLS名词详解