华为MPLS技术学习指南(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-30 11:32:56

点击下载

作者:王达

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

华为MPLS技术学习指南

华为MPLS技术学习指南试读:

前言

每部图书的创作都是一次艰难的历程,都是一次严峻的挑战。HCIE 级别图书的创作难度要远大于之前HCNA和HCNP图书的创作难度,因为MPLS历来是数据通信方面最复杂、最难懂的技术领域,其中涉及许许多多深奥且复杂的技术原理。

本书特色

华为官方授权、审核

华为技术有限公司官方直接授权创作本书,并对整个图书创作、出版的各个阶段进行跟踪、审核,所以本书无论在图书质量和内容专业性方面均有很好的保障。这也是本书能作为华为ICT认证培训图书之一的前提与基础。

系统、深入、不泛泛而谈

这是笔者一直坚持的著书特色,也长期得到了广大读者的认可。本书对华为设备MPLS 隧道本身相关的主要技术原理和功能应用配置与管理方法都做了系统而又深入的介绍,真正可以做到“一册在手,别无所求”。

细致、通俗且富有经验性

本书所涉及的技术原理比较复杂、难懂,所以笔者在编写本书时充分结合了近二十年专门研究计算机网络通信原理方面的经验,尽可能地从应用的角度把各项技术原理进行细化及通俗的剖析。

细节入微、层次分明、重点突出

在细节方面,笔者尽可能坚持深度剖析,通过各种手段寻找答案,尽量解决读者的困惑。在层次方面,笔者严格遵循渐进式的学习规律,尽可能做到条理清晰、架构明确、没有知识点的跳跃。在重点描述方面,对于需要引起读者格外注意的地方,笔者都会在内容上以加粗方式显示,方便读者把握重点。

典型配置示例和故障排除方法的结合

为了增强本书的实用性,在介绍完每一种相关功能配置后笔者都列举了大量不同场景下的配置示例,以加深大家对前面所学技术原理和具体配置与管理方法的理解。许多配置示例完全可以直接应用于不同的现实场景。另外,为了使大家能在部署MPLS方案时迅速地排除所遇到的故障,笔者在大部分章节的最后都介绍了针对经典故障现象的排除方法,使得本书具有非常高的专业性和实用性。

适用读者对象

本书具备极高的系统性、专业性和实用性,适合的读者对象如下:

参加华为R&S HCIE认证的朋友;

希望从零开始系统学习华为设备MPLS技术的朋友;

华为培训合作伙伴、华为网络学院的学员;

使用华为S系列交换机、AR系列路由器产品的用户;

高等院校计算机网络专业的学生。

本书主要内容

本书内容非常丰富,共9章,对华为设备各种MPLS隧道建立和MPLS QoS方面的相关技术原理及功能配置与管理方法均进行了详细而又深入的介绍,并在每章给出了大量的典型配置示例。下面是各章的主要内容介绍。

第1章 MPLS基础

本章介绍了MPLS技术的基础知识和基本的技术原理,包括MPLS的由来、MPLS体系结构、MPLS标签、MPLS报文转发流程、LSP的连通性检测等,这些都是其他MPLS技术原理和应用的基础。

第2章 静态LSP配置与管理

本章介绍了最简单的静态LSP的配置与管理方法,以及静态LSP建立的典型故障排除方法。

第3章 MPLS LDP基本功能配置与管理

本章介绍了采用LDP作为信令协议而动态建立的LDP LSP的配置与管理和典型故障排除方法。其中重点介绍了LDP的各方面基础和技术原理,包括LDP会话消息、LDP会话的建立、LDP的标签发布和管理、动态LDP LSP的建立等。

第4章 MPLS LDP扩展功能配置与管理

本章介绍了在LDP LSP建立中所涉及的可选扩展功能的配置与管理方法,包括LDP LSP的BFD检测、LDP与路由联动、LDP FRR、LDP GR和LDP LSP安全机制等功能的配置与管理方法。

第5章 MPLS TE基本功能配置与管理

本章介绍了MPLS TE(流量工程)隧道中CR-LSP建立相关的技术原理和静态、动态MPLS TE隧道的配置与管理方法,以及MPLS TE隧道维护方法。在基础知识和技术原理方面重点介绍了RSVP-TE的消息类型、对象类型、消息格式、TE隧道属性/链路属性、OSPF TE/IS-IS TE信息发布原理和CR-LSP建立流程等。

第6章 MPLS TE参数调整配置与管理

本章介绍了 MPLS TE 隧道建立过程中的参数调整功能的配置与管理方法。这里所调整的参数是指用于建立CR-LSP的参数,主要包括RSVP-TE信令参数、CR-LSP路径选择参数、MPLS TE隧道建立参数3个方面。

第7章 MPLS TE可靠性功能配置与管理

本章介绍了 MPLS TE 隧道的可靠性功能配置与管理方法,主要包括常用的CR-LSP备份及BFD for CR-LSP两个方面。

第8章 MPLS QoS配置与管理

本章介绍了华为S系列交换机所支持的MPLS QoS技术原理和相关功能配置与管理方法。

第9章 MPLS DS-TE配置与管理

本节介绍了华为AR G3系列路由器所支持的MPLS QoS功能——DS-TE隧道的相关技术原理、静态/动态 DS-TE 隧道配置与管理方法。本章的技术原理比较复杂,涉及MPLS QoS中一系列复杂的技术,包括Diffserv服务模型、DSCP/802.1P/LP/EXP优先级,及其与队列、PHB之间的相互映射关系,以及DS-TE中的LSP抢占、TE-Class映射、带宽约束模型、DS-TE模式等。

阅读注意地方

在阅读本书时,请注意以下几点。

在学习华为MPLS时,建议先学习本书,然后学习配套的《华为MPLS VPN学习指南》一书。

书中以V200R010及以上版本华为S系列交换机、V200R008及以上版本AR G3系列路由器为主线进行介绍的。

在配置命令代码介绍中,粗体字部分是命令本身或关键字选项部分,是不可变的;斜体字部分是命令或者关键字的参数部分,是可变的。

在介绍各种 VPN 技术及功能配置说明过程中,对于需要特别注意的地方均以粗体字格式加以强调,以便读者在阅读学习时特别注意。第1章MPLS基础

1.1 MPLS基础

1.2 MPLS基本工作原理

1.3 LSP连通性检测

MPLS 其实可以理解为一种把三层路由信息映射成二层交换路径的交换方式。因为在MPLS交换中,首先是基于IP路由表在通信路径上建立用于指导MPLS报文转发的LSP(标签转发路径,或称 MPLS 隧道),然后 MPLS 网络中各设备就可以直接利用在LSP中为各设备分配的MPLS标签进行MPLS报文转发。正因如此,MPLS是一种标签交换技术。

MPLS最初的设计思想来源于二层的FR(帧中继)中的DLCI(数据链路连接标识),以及ATM(异步传输模式)网络中的VPI/VCI(虚拟路径标识符/虚拟通道标识符),其都可以看作是一种标签,而且都属于数字类型。MPLS 的标签也是数字类型,在原理上也与FR的DLCI、ATM的VPI/VCI非常类似。

第1章作为本书的开篇,主要介绍MPLS技术的一些基础知识和基本工作原理,包括MPLS的起源、MPLS基本架构、MPLS标签、MPLS LSP的建立、MPLS报文转发流程等。1.1MPLS基础

MPLS(Multiprotocol Label Switching,多协议标签交换)是一种应用于运营商IP骨干网的数据交换技术。其在无连接的IP网络上引入面向连接(即邻居设备间必须先建立某种连接)的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。

MPLS 起源于 IPv4 网络,但目前其核心技术可通过扩展支持多种网络层协议,如IPv6、IPX(Internet Packet Exchange,因特网包交换)和CLNP(Connectionless Network Protocol,无连接网络协议)等,在数据链路层上支持以太网、PPP、HDLC等多种协议,这也就是其名称中“多协议”的含义。1.1.1 MPLS的起源

20世纪90年代中期,路由器技术的发展远远滞后于网络的发展速度与规模,主要表现在转发效率低下及无法提供QoS保证。其本质原因就是:当时路由查找算法使用最长匹配原则,必须使用软件查找最佳的路由表项。

IP路由转发的依据就是IP路由表项,而IP报文的报头中仅含有“目的IP地址”字段,而没有对应的“子网掩码”字段,所以从IP报文不可直接确定所用的IP路由表项, IP报文的转发需要从当前IP路由表中选择一条最佳的转发路径。这就是IP路由中的“最长匹配原则”,即根据IP报文中的“目的IP地址”选择一个可以匹配,且子网掩码最长(代表最精确)的路由表项来为该IP报文进行转发。选择了IP路由表项才能确定从本地设备转发的出接口和下一跳IP地址,这样的IP路由表项选择是每经过一跳设备都要进行的,所以IP路由转发方式比较消耗资源。加之当初并没有像ASIC这样的集成电路技术,IP路由表项的选择纯粹依据软件系统计算完成,效率比较低。

正因为IP路由转发效率比较低,有人在想是不是可以采用另外一种标识来实现同样的目的,且不用每一跳都经过复杂的计算就可以确定正确的数据转发路径,以提高转发效率。ATM(Asynchronous Transfer Mode,异步传输模式)技术就是其中的杰出代表。ATM 采用定长标签(即信元),并且只需要维护比路由表规模小得多的标签表,就能够提供比IP路由方式高得多的转发性能。也正因如此,当时还出现过IP与ATM竞争的场面。然而 ATM 过于复杂的设计导致没有多少厂商能够完全领会并成功生产所需的软、硬件产品,而且其无法与IP网络很好地融合导致最终没有广泛应用。但ATM仍有可取之处:它首先摒弃了繁琐的路由表查找过程,改为简单快速的标签交换;其次把具有全局意义的路由表改为只有本地意义的标签表。

传统的IP技术简单,且部署成本低。如何结合IP与ATM的优点成为当时的热门话题。MPLS(多协议标签交换)技术就是在这种背景下产生的。MPLS最初的引入背景其实就是为了解决当初仅能依靠软件系统(受制于当时路由器设备的硬件技术落后)进行路由转发而带来的数据转发效率低下的问题。因为,MPLS与传统IP路由方式相比,在数据转发时,MPLS只需在网络边缘分析IP报头,而不用在每一跳都分析IP报头,节约了处理时间,提高了转发效率。

随着ASIC(Application Specific Integrated Circuit)技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈,这使得MPLS在提高转发速度方面不再具备明显的优势。但MPLS的设计者在一开始就充分吸取了IP和ATM的技术精华,将MPLS协议定位在网络体系结构中的第2.5层位置,即位于TCP/IP协议栈中的链路层和网络层之间,用于向IP 层提供连接服务,同时又从链路层得到服务。其“multiprotocol”的设计理念,更使得MPLS协议可以承载多种网络层和链路层协议报文,所以MPLS在VPN、TE(流量工程)和QoS等应用方面变得更加灵活。1.1.2 MPLS网络结构

MPLS 网络的典型结构如图 1-1 所示,网络中各路由器(也可以是三层交换机)称作LSR(Label Switching Router,标签交换路由器)。由这些LSR构成的网络区域称为MPLS域(MPLS Domain),其中位于MPLS域边缘、连接其他网络(如IP网络)的LSR称为LER(Label Edge Router,边缘路由器),MPLS域内的LSR称为核心LSR(Core LSR)。MPLS 域通常也称 MPLS/IP 骨干网,属于所有用户共享的底层公网,不同用户在这个MPLS公网上可以建立自己的私网,即VPN网络,这就是在配套的《华为MPLS VPN学习指南》一书中所介绍的各种MPLS VPN解决方案,可以是三层VPN(L3VPN,如BGP/MPLS IP VPN),也可以是二层VPN(L2VPN,如VLL、PWE3、VPLS等)。

IP报文在MPLS网络转发过程中所经过的路径称为LSP(Label Switched Path,标签交换路径)。一条LSP可以看成是一条MPLS隧道,专用于一类IP报文的传输。其中的入口LER称为入节点(Ingress);位于LSP中间的LSR称为中间节点(Transit);LSP的出口LER称为出节点(Egress),如图1-1所示。一条LSP可以有0个、1个或多个中间节点,但有且只有一个入节点和一个出节点。根据LSP的方向,MPLS报文由Ingress发往Egress,则Ingress是Transit的上游节点,Transit是Ingress的下游节点。同理,Transit是Egress的上游节点,Egress是Transit的下游节点。【经验提示】因为 LSP 是单向的,要实现隧道两端所连网络的互通,仅一个方向的LSP是不行的,还需要建立相反方向、Ingress节点和Egress节点角色互换的LSP。一条LSP代表一条MPLS隧道,这也就是说MPLS隧道也是单向的。所以通常情况下,为了实现最终MPLS网络的互通,需要建立两条相反方向的LSP,即两条相反方向的MPLS隧道。在LER设备上一般要同时进行Ingress和Egress两方面的配置,因为一台LER设备会同时担当Ingress和Egress角色,当然对应不同的LSP。图1-1 MPLS网络典型结构

MPLS的基本工作过程如图1-2所示。首先MPLS/IP骨干网中的设备会为隧道两端LER上连接的每个公网网段(称之为FEC,转发等价类)建立一条LSP,路径上的每台设备都会为该LSP分配一个用于指导MPLS报文转发的MPLS标签。该MPLS标签又与报文转发的下一跳和出接口相映射,使得MPLS报文在骨干网中传输时可以直接依据各设备上为该报文所分配的MPLS标签进行转发。但MPLS报文上的标签不是固定不变的,而是随着报文的传输,每经过一个设备都需要进行替换,以获得从当前设备向下游节点继续转发报文的路径。所以从本质上讲,MPLS 报文在骨干网中的转发过程实质上就是MPLS报文中MPLS标签的逐跳交换过程。图1-2 MPLS报文基本转发流程

当IP报文进入MPLS域的LER(此时为入节点)时,首先根据其目的IP地址找到的是其对应的FIB(转发信息表)表项,如果其中的Tunnel ID值不为0,则表示要进行MPLS标签转发(采用IP路由进行转发的表项对应的Tunnel ID值均为0)。

在入节点进行MPLS转发前,需在IP报文的二层协议头和IP报头之间加上一层本地设备为该LSP分配的MPLS标签(L1),然后根据标签L1映射的出接口及下一跳传输给下游的Core LSR。在Core LSR中的MPLS报文的标签也要先用本地设备为该LSP分配的标签(L2)替换MPLS报文中原来的标签(L1),然后再根据新标签L2所映射的出接口及下一跳进行转发(不用按照路由表进行转发)。继续按照同样的方法向下游节点转发,到了MPLS域另一端LER(出节点)时,通常会去掉MPLS报文中的MPLS标签,还原为普通IP报文,按照IP路由方式进行转发。

当然,以上介绍的仅是最基本的 MPLS 报文转发流程,其目的仅是想先让大家对MPLS标签交换的基本设计思想有一个初步了解,详细的转发流程将在1.2节介绍。1.1.3 MPLS标签

MPLS 标签(MPLS Label)是一个短而定长(这样开销可以很小),且只具有本地意义(无需全网唯一)的整数形式的数字标识符,用于唯一标识一个分组所属的分类(类似于IP路由中的Tag标记),这个分类称之为FEC(Forwarding Equivalence Class,转发等价类)。一个FEC中的分组数据在同一台设备上都将以等价(相同)的方式进行处理,且被分配相同的MPLS标签。

MPLS将具有相同特征的报文归为同一FEC,这个相同“特征”可以根据报文中的源IP地址、目的IP地址、源端口、目的端口、VPN实例、QoS策略等要素中的一个或多个进行划分,但通常是根据目的IP地址基于IP路由表项划分。例如,在传统的采用最长匹配原则的IP路由转发中,采用同一条路由的所有报文就是一个转发等价类FEC。在每台MPLS设备上,每个FEC与MPLS标签之间有一个映射关系,但针对同一FEC,不同设备上分配的标签可以相同,也可以不同。

1.MPLS标签封装

MPLS的应用比较广泛,在不同应用中MPLS标签嵌入的位置不完全相同。在大多数MPLS应用中(包括BGP/MPLS IP VPN、各种VLL和PWE3),MPLS设备从用户端设备接收数据帧后,会在原来数据帧中的二层协议头和三层协议头(通常为IP协议头)之间插入一个或多个MPLS标签(MPLS Lable),如图1-3所示。图1-3 多数MPLS应用中MPLS标签在报文中封装的位置

在VPLS应用中,MPLS设备从用户端设备接收到数据帧后,会在原来数据帧中的二层协议头和新添加的二层协议头之间插入一层或多层MPLS标签,如图1-4所示。图1-4 VPLS应用中MPLS标签在报文中封装的位置

说明

有关BGP/MPLS IP VPN、各种VLL、PWE3、VPLS方式的具体工作原理及配置与管理方法请参见《华为MPLS VPN学习指南》一书。

无论是哪种封装方式,一个MPLS标签(在一个MPLS报文中可能有多个MPLS标签)占4个字节(32位),又包括多个子字段,如图1-5所示。具体含义说明如下。图1-5 MPLS标签结构

Label:20 bit,标签值字段,这是真正的MPLS标签取值部分,该字段的取值范围称之为“标签空间”,具体将在下面介绍。

Exp:3 bit,标识MPLS报文的优先级,即MPLS优先级,取值范围为0~7的整数。数值越小,优先级越低。当设备队列阻塞时,优先发送优先级高的报文。

S:1 bit,栈底标识。因为MPLS支持多层标签,即标签嵌套,为了识别哪个标签是MPLS报文中最后一个标签,用了这样一比特来进行标识。当栈底标签被弹出(剥离)时,则表示报文中不再携带MPLS标签,也就不再是MPLS报文了。S值为1时表明该标签为最底层标签,其他各层标签该位为0。

TTL:8 bit,和IP报文中的TTL(Time To Live)意义相同,用于限制MPLS报文传输的距离,即最多能传输多少跳下游节点,当TTL值为0时,报文不能再下传输。该字段值初始化时有可能是255,也有可能是从IP报头中的TTL字段复制得到的,具体参见本章1.2.4小节。

用于建立LSP隧道的MPLS标签有两种:入标签(In lable)和出标签(Out lable)。针对同一LSP,MPLS报文仅携带一层MPLS标签,可能是入标签(进入本地设备后),也可能是出标签(从本地设备发出时)。所谓“标签交换”是指 MPLS 报文从本地设备发出时,用本地设备为某FEC分配的出标签(也是下游节点为该FEC分配的入标签)替换报文中原来携带的本地设备为该FEC分配的入标签(即上游节点为该FEC分配的出标签),然后从出标签所映射的出接口转发出去。出标签是由下游节点为本地节点针对某FEC而分配的,与下游节点为该FEC分配的入标签一致。

每个属于同一FEC的MPLS报文进入一台设备时都会为该报文打上该设备为此FEC分配的入标签,然后找到与该入标签映射的出标签,继而找到对应的出接口,再把MPLS报文的入标签替换成所映射的出标签,从出接口发送出去。

MPLS标签分发的方向与LSP方向是相反的,如图1-6所示。MPLS标签最初是由目的FEC对应的Egress节点分配的,这时分配的也是某FEC在Egress设备上的入标签,然后再由该 Egress 设备向其上游节点进行通告(发送标签映射消息),上游节点收到这个通告后就把通告中的标签当作本地该FEC的出标签,依此类推。图1-6 MPLS标签分配基本流程

由此可知,MPLS标签与FR(帧中继)中的DLCI是类似的,也是要求相邻设备间连接的接口所绑定的标签必须相同(即上游节点的出标签与本地设备的入标签必须相同)。所以,实际上,每跳设备仅需要为每个FEC分配一个标签,即入标签,但在Ingress节点可不分配入标签。

图 1-7是一个 MPLS网络中各节点所携带 MPLS标签的示例。在静态 LSP中, MPLS入标签和出标签都是管理员手工配置的,而在由LDP(Label Distribution Protocol,标签分发协议)等协议动态建立的LSP中,MPLS标签是通过LDP协议自动分配的,具体将在本书第3章介绍。图1-7 MPLS网络中各节点携带的MPLS标签示例

2.MPLS标签栈

如果MPLS报文中封装了多个MPLS标签(如既有LDP LSP标签,又有BGP LSP标签、MPLS CR-LSP标签或VC标签等),就形成了标签栈(Label Stack)。图1-8所示的是一个包含有两个MPLS标签的示意图,靠近二层帧头的标签称为栈顶MPLS标签或外层MPLS标签(Outer MPLS label),此时S位(栈底标识)置0;靠近三层报头的标签称为栈底MPLS标签或内层MPLS标签(Inner MPLS label),此时S位置1。中间还可能有更多层次的MPLS标签。图1-8 标签栈示意

指导数据转发的仅外层标签(如LSP标签),类似在QinQ中的多层VLAN标签中指导VLAN帧转发的仅外层VLAN标签一样,内层标签通常在MPLS网络传输途中不会发生变化,仅用于在到达出节点时查找报文转发的出接口,如 VC(虚电路)标签。理论上,MPLS标签可以无限嵌套。

在图1-5所示的MPLS标签中的“Lable字段”的取值范围(即标签空间),不同取值的标签用途不一样,具体划分说明如下。

0~15:这是16个特殊标签,具体说明见表1-1。表1-1 特殊标签说明

16~1023:这是专门分配给静态LSP和应用于MPLS TE中的静态CR-LSP(Constraint-based Routed Label Switched Path,基于约束的路由标签交换路径)共享的标签空间。

1024及以上:这是分配给LDP、RSVP-TE(Resource Reservation Protocol-Traffic Engineering,资源保留协议流量工程)及MP-BGP(MultiProtocol Border Gateway Protocol,多协议边界网关协议)等动态信令协议所分配的标签空间。即动态分配的MPLS标签号只能大于1024。1.1.4 MPLS体系结构

MPLS要实现标签的分配和交换,必须有一整套功能组件来完成,这就是MPLS的体系架构,如图1-9所示。

总体来说,MPLS体系架构是由控制平面(Control Plane)和转发平面(Forwarding Plane)两部分组成。但在这两部分中,各自又包括了多个子项。

1.控制平面

控制平面用于控制协议报文的转发,其依靠IP路由和MPLS标签两方面来实现,因为MPLS骨干网中的LSR都是三层设备,需要依靠IP路由实现互通,而外部进入到MPLS骨干网的报文又要直接依靠MPLS进行转发,所以LSR的控制平面要同时负责对IP报文和MPLS报文转发的控制。要控制IP报文和MPLS报文转发就需要有产生、维护路由和标签信息的能力,这就是控制平面的基本功能,控制平面包括3个子项,各子项的职责如下。图1-9 MPLS体系架构

RIB(Routing Information Base,路由信息表):RIB由各种IP路由协议生成,用于进行路由选择。骨干网中MPLS标签的分发、LSP的建立仍必须依据IP路由表,即先按照下面将要介绍的“转发信息表”(FIB)进行MPLS标签分发,建立对应的LSP,然后MPLS域中的设备才可以直接按照标签进行数据转发。

LDP(标签分发协议):LDP是一种动态标签分发协议,负责MPLS标签的动态分发,LFIB(标签转发信息表)的建立,标签交换路径的建立、拆除等工作。使用LDP协议进行标签分发的方向与LSP的方向相反,具体将在本书第3章和第4章介绍。

LIB(Label Information Base,标签信息表):MPLS标签与IP路由中的RIB对应的就是LIB,其由LDP生成,保存了每个标签与对应FEC的映射关系,用于管理MPLS标签信息。LIB中包括的元素有:FEC网段、入标签、出标签、分发出标签的下游节点等,它们之间建立了一一映射关系。【经验提示】这个 LIB 包括了从本地设备到目的网段所有路径中获取的标签信息,但里面有些LIB表项在当前是无效的,即在当前不用于指导数据转发。类似动态路由协议中的拓扑数据库,拓扑数据库中存在到达某一目的地址的多条路径,但同一时刻一般只有一条是有效的(存在等价路由时可能同时存在多条有效路径)。保存所有标签信息的目的就是方便当网络拓扑结构发生变化时能及时调整LSP。

每个LSR中都会基于所收到的每个FEC的标签映射信息,建立LIB表项。在这些相同或不同LIB表项中,不同标签之间的关系存在以下规则。

所有的入标签必须不同。因为入标签是由本地设备为不同FEC分配的,必须保证每个FEC所分配到的入标签唯一。但为同一FEC分配的入标签必须一致,不管其上游的路径有多少个。

对于下一跳也相同的相同路由,出标签必须相同。因为出标签是由下游节点分配的,当路由也相同(即同一FEC)时,由同一下游节点所分配的出标签必须相同。

对于下一跳相同的不同路由,出标签必须不同。因为这是由同一个下游节点为不同FEC分配的出标签。

对于下一跳也不同的不同路由,出标签可以相同,也可以不同。因为这是不同下游节点为不同FEC所分配的路由,只需要在同一下游节点上保持为每个FEC所分配的入标签唯一即可。

对于同一条路由,入标签和出标签可以相同,也可以不同。同一设备上针对同一FEC上所映射的入标签是由本地设备分配的,出标签是由下游节点分配的,它们之间没有唯一性要求。

2.转发平面

转发平面用于指导报文的转发,即数据平面(Data Plane)。其也包括IP报文转发和MPLS报文转发两个方面,负责构建各种用于指导IP报文、MPLS报文转发的表项。指导报文的转发所需的就是出接口、下一跳这些基本元素。转发平面也包括两个子项,其职责如下。

FIB(Forwarding Information Base,转发信息表):FIB用于指导IP报文转告,是由从RIB提取必要的路由信息生成的,但仅提取当前有效的路由表项信息。当报文离开MPLS域时要按FIB进行转发。

FIB中包括:目的网段、出接口、下一跳IP地址、路由标记、路由优先级等信息。在FIB中的表项都是当前有效的,如果过段时间,到达同一目的地址改变了所使用的路由表项,或者原来对应的路由表项被删除了,则原来的FIB表项也会自动删除,以确保里面的表项都可以在当时用于指导IP报文的转发。

LFIB(Label Forwarding Information Base,标签转发信息表):LFIB用于指导MPLS报文转发,由从LIB中提取必要的信息生成。LFIB中除包括用于指导IP报文转发的目的网段、出接口、下一跳这三个基本元素外,还包括入标签和出标签。当MPLS报文在MPLS域内时需按LFIB进行转发。但MPLS中的LFIB与IP路由中的FIB类似,也仅包括LIB中当前有效的那些标签映射表项。

为了更直观地帮助大家理解以上各表中所包括的主要元素,现举一个简单的示例。如图1-10所示的是一个针对到达FEC 10.0.0.0/8目的网段,在控制平面和转发平面生成的各表项及相互关系的示例。图1-10 控制平面和转发平面各表项及相互关系示例1.1.5 LSP简介

通过前面的学习已经知道,LSP是MPLS报文在MPLS网络中转发时经过的路径,可以看作是由报文传输方向各节点为对应FEC分配的MPLS入标签组成的,因为每台设备上为每个FEC分配的入标签是唯一的,并与由下游节点为本地节点上该FEC分配的出标签建立映射关系,所以入标签确定后即可确定唯一的转发路径。LSP仅用于指导报文从 MPLS 骨干网入节点(Ingress)到达出节点(Egress)之间转发的路径,不包括骨干网外的转发,所以LSP可以看成是入节点到出节点之间的通信路径。

LSP是由途经节点分段建立的,路径中各节点上为某FEC建立的LSP串联起来就是对应FEC的整条LSP。各节点上建立的LSP是由入标签,对应映射的出标签以及下一跳来确定转发路径的。像IP路由中从当前节点到达某目的网段可能有多条IP路由路径一样,在MPLS网络中从当前节点到达某FEC也可能会建立多条不同的转发路径(绑定多个不同的出标签、出接口和下一跳),但在同一时刻只有一条路径是最优、有效的。只有这条路径会进入到LFIB中。

MPLS中的LSP可以通过在各节点上静态配置标签来建立,也可以通过一些协议为节点动态分配标签来建立。静态LSP类似于静态路由,需要管理员在每个节点上分别手工配置,动态LSP相当于动态路由,是由标签分配协议为节点动态分配标签。下面分别予以介绍。

1.静态LSP建立

静态LSP是管理员通过手工方式为各个转发等价类(FEC)分配标签而建立的,不需要标签分发协议参与,也不需要IP路由参与(但MPLS网络仍需部署路由,以实现骨干网内各LSR的三层互通)。由于静态LSP各节点上不能相互感知到整个LSP的建立情况,因此静态LSP是一个本地的概念,即本地LSP是否建立成功仅与本地设备对应端口的 MPLS 功能及状态有关。当然,最终还需要途经的各节点都建立好了基于某 FEC 的LSP,才能实现报文在MPLS网络中从入节点正确、成功地转发到出节点。

在静态LSP配置中,对于MPLS域中的不同节点所需配置的标签不一样。

对于入(Ingress)节点只需要配置出标签。

对于中间(Transit)节点需要同时配置入标签和出标签。

对于出(Egress)节点只需要配置入标签。

配置好静态LSP后,就相当于在设备上手动创建好了每个FEC的LIB和LFIB,而且一般情况下,LIB 和 LFIB 中所包括的标签都是完全相同的,因为手工配置方式一般只配置真正用于报文转发的LSP,而不像动态LSP,通过标签分发协议会生成一些当前并无效的LSP。但要注意的是,LSP是单向的,所以如果需要两端能正常通信,源端和目的端的通信需要建立双向 LSP,这两条 LSP 的 Ingress 和 Egress角色是互换的。

静态LSP不使用标签发布协议,不需要交互控制报文,因此消耗资源比较小,适用于拓扑结构简单并且稳定的小型网络。但通过静态方式分配标签建立的LSP不能根据网络拓扑变化动态调整(就像静态路由一样),需要管理员干预。

有关静态LSP的配置方法将在第2章具体介绍。

2.动态LSP

动态LSP是通过标签发布协议(如LDP、MP-BGP、RSVP-TE)动态建立的,但同时也需要IP路由参与,以便按照路由路径在相邻节点间彼此交换针对具体FEC的MPLS标签,实现由下游向上游分发MPLS标签,最终建立LSP的目的。不同的标签发布协议的LSP建立原理不一样,具体将在本书后面各章介绍。

3.标签发布协议

MPLS可以使用以下多种标签发布协议。(1)LDP

LDP(Label Distribution Protocol,标签分发协议)是专为标签发布而制定的协议,是最常用的标签发布协议。LDP根据IGP(Interior Gateway Protocol,内部网关协议)及BGP(Border Gateway Protocol,边界网关协议)对应的IP路由信息以逐跳方式建立LSP。

有关LDP的具体工作原理和配置方法将在本书第3~4章介绍。(2)RSVP-TE

RSVP-TE(Resource Reservation Protocol Traffic Engineering,资源预留协议流量工程)是对RSVP(资源预留协议)的扩展,用于建立基于约束路由的LSP(Constraint-based Routed Label Switched Paths,CR-LSP)。其拥有普通LDP LSP没有的功能,如发布带宽预留请求、带宽约束、链路颜色和显式路径等。

有关RSVP-TE的具体工作原理和配置方法将在本书第5~7章介绍。(3)MP-BGP

MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)是在BGP协议基础上扩展的协议。MP-BGP支持为MPLS VPN业务中私网路由和跨域VPN的标签路由分配BGP LSP标签。

有关MP-BGP的具体工作原理和配置方法将在《华为MPLS VPN学习指南》一书中介绍。1.1.6 MPLS的主要应用

MPLS的应用主要体现在“基于MPLS的VPN”和“基于MPLS的流量工程”这两个方面,下面分别简单介绍。

1.基于MPLS的VPN

传统VPN一般是通过GRE、L2TP、PPTP、IPSec等隧道协议来实现私有网络间数据在公网上的传送,而MPLS LSP是通过标签交换在运营商MPLS/IP骨干网中形成的隧道,数据报文不再经过封装或者加密,在安全性上类似于FR(帧中继)网络的专用网,因此,用MPLS实现VPN具有天然的优势。

另外,MPLS的VPN中的用户设备无需为VPN配置GRE、L2TP等隧道,网络时延被降到最低。基于MPLS的VPN通过LSP也可将运营商IP骨干网所连接的私有网络的不同分支联结起来,形成一个统一的网络,其还支持对不同VPN间的互通控制,实现精确的访问权限控制。

如图1-11所示是一个MPLS VPN的基本结构示意,各部分组成说明如下。图1-11 MPLS VPN基本结构示意

CE(Customer Edge):用户边缘设备,可以是路由器,也可以是交换机或主机。

PE(Provider Edge):运营商边缘设备,是MPLS/IP骨干网的边缘设备。

P(Provider): MPLS/IP骨干网的核心设备,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN信息。

基于MPLS的VPN有许多种,总体分为L2VPN和L3VPN,L2VPN主要包括VLL (Virtual Leased Line,虚拟专线)、PWE3(Pseudo-Wire Emulation Edge to Edge,端到端伪线仿真)、VPLS(Virtual Private LAN Service,虚拟专用局域网业务);L3VPN主要有BGP/MPLS IP VPN。这几种VPN都将在《华为MPLS VPN学习指南》一书中介绍。

基于MPLS的VPN具有以下特点。

PE负责对VPN用户进行管理,建立各PE间LSP连接及同一VPN用户各分支间路由信息的发布。

PE之间发布VPN用户路由信息通常通过MP-BGP协议实现。

支持不同分支间IP地址复用和不同VPN间互通。

2.基于MPLS的流量工程

传统的IP网络中,路由器选择最短的路径作为路由,不考虑带宽等因素。这样,即使某条路径发生拥塞,也不会将流量切换到其他的路径上。在网络流量比较小的情况下,这种问题不是很严重,但是随着互联网的发展及越来越广泛的应用,传统的最短路径优先的路由的问题暴露无遗。

TE(Traffic Engineering,流量工程)技术可通过动态监控网络的流量和网络单元的负载,实时调整流量管理参数、路由参数和资源约束参数等,使网络运行状态迁移到理想状态,从而优化网络资源的使用,避免负载不均衡导致的拥塞。

为了在大型骨干网络中部署流量工程,必须采用一种可扩展性好、简单的解决方案。MPLS 作为一种叠加模型,可以方便地在物理网络拓扑上建立一个虚拟拓扑,然后将流量映射到这个拓扑上。因此,基于MPLS的流量工程技术应运而生,即MPLS TE。

如图1-12所示,从LSR_1到LSR_7存在两条路径:LSR_1→LSR_2→LSR_3→SR_6→SR_7和LSR_1→SR_2→SR_4→SR_5→SR_6→SR_7,现假设前者的带宽为30Mbit/s,后者的带宽为 80Mbit/s。流量工程可以根据带宽等因素合理地分配流量,从而有效地避免链路拥塞。例如,LSR_1到LSR_7存在两种业务,流量分别为30Mbit/s和50Mbit/s,流量工程可以把前者分配到带宽为30Mbit/s的路径上,将后者分配到带宽为80Mbit/s的路径上。图1-12 MPLS TE示例

MPLS TE通过建立经过指定路径的LSP进行资源预留,使网络流量绕开拥塞节点,达到平衡网络流量的目的。MPLS TE具备以下优势。

在建立LSP隧道的过程中,可以为某种业务预留资源,以保证服务质量。

LSP隧道有优先级、带宽等多种属性,可以方便地控制LSP隧道的行为。

建立LSP隧道的负荷小,不会影响网络的正常业务。

通过备份路径和快速重路由技术,在链路或节点失败的情况下提供保护。

正是这些优势,使得MPLS TE成为流量工程的最佳方案。通过MPLS TE技术,服务提供商能够充分利用现有的网络资源,提供多样化的服务,同时可以优化网络资源,进行科学的网络管理。有关MPLS TE方面的技术原理、功能配置与管理方法以及应用将在本书第5~7章具体介绍。1.2MPLS基本工作原理

MPLS技术基本工作原理方面主要涉及MPLS标签动作、MPLS报文转发流程,以及对MPLS报文中TTL的处理两个方面。1.2.1 MPLS标签动作

MPLS 基本转发过程中涉及一些标签操作,主要包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop)这三个动作。(1)Push:标签压入动作,可能会在Ingress或Transit节点上发生。

标签压入动作是指在IP报文的二层协议头和IP报头之间插入一个MPLS标签(如图1-13的上图所示),或者是在现有标签栈顶部再增加一个新的出标签(如图1-13的下图所示),即标签嵌套封装,如BGP/MPLS IP VPN的Ingress节点可能会在一个IP报文中同时压入多层公网或私网MPLS标签。(2)Swap:标签交换动作,会在Transit节点发生。

当MPLS报文在MPLS域内转发时,Transit节点根据标签转发表LFIB的查找,匹配到相应的表项后,用下一跳分配的出标签交换 MPLS 报文中原有的栈顶标签。原有MPLS报文中可以携带一层或多层MPLS标签,但仅交换最外层的标签。图1-14中上、下图所示分别是对携带单层标签和双层标签MPLS报文中的栈顶标签进行交换的示例。图1-13 标签压入动作的两种情形图1-14 标签交换动作的两种情形(3)Pop:标签弹出动作,会在倒数第二跳Transit节点或Egress节点发生。

当MPLS报文离开MPLS域时,Egress节点将MPLS报文外层的标签剥离,使后续的报文转发按照IP路由进行(弹出标签后报文中无标签时,如图1-15中的上图所示),或者按照余下的标签进行(弹出标签后报文仍有其他标签时,如图1-15中的下图所示)。也可以利用PHP(Penultimate Hop Popping,倒数第二跳弹出)特性,在倒数第二跳节点处将标签弹出,减少最后一跳的负担,使最后一跳节点直接进行IP路由转发或者下一层标签转发。图1-15 标签弹出动作的两种情形

默认情况下,华为设备支持PHP特性,支持PHP的Egress节点分配给倒数第二跳节点的标签值为3。

以下以支持PHP的LSP为例,说明MPLS报文的基本转发过程。在单纯的LDP LSP隧道环境下,MPLS报文最多仅带一层MPLS标签,从上游节点进入本地节点的入接口时携带的是上游节点分配给该FEC的出标签(也是本地节点对应的入标签),从本地节点出接口向下游节点发送时携带的是本地节点分配给对应FEC的出标签。

如图1-16所示,MPLS标签已分发完成,建立了一条LSP,其目的地址为4.4.4.2/32,其MPLS报文的基本转发过程如下。(1)Ingress节点收到目的地址为4.4.4.2的IP报文后,首先根据FIB找到对应的下一跳,发现下一跳是LSR标签设备(如果发现下一跳是IP设备时会直接按FIB表项进行IP转发),并且因为本节点是入节点,所以在进行报文转发前需要进行标签压入动作,需压入的标签是根据FEC 4.4.4.2与标签的映射关系找到的(为Z,作为出标签),然后把MPLS报文从压入的标签所映射的出接口转发出去。图1-16 MPLS报文基本转发示例(2)Transit节点收到该标签的MPLS报文后,根据LFIB找到对应入标签(上一节点的出标签就是本节点的入标签)所映射的出标签、出接口,先进行标签交换(无需查看IP报头的目的地址),即用本地为FEC 4.4.4.2/32分配的出标签(Y)替换报文中原来的MPLS标签(Z),然后从找到的出标签所映射的出接口转发出去。(3)倒数第二跳Transit节点收到MPLS报文后,同样根据LFIB找到对应入标签所映射的出标签、出接口,先用本地为FEC 4.4.4.2/32分配的出标签(通常为3)替换原来的MPLS标签,然后准备从出标签3所映射的出接口转发出去。但是因为Egress分给其的出标签值为3(这是一个特殊的标签,必须弹出,参见表1-1说明),所以需要先进行PHP操作,弹出出标签(此时报文已不带MPLS标签了),并根据自己的出标签3所映射的接口转发报文。(4)Egress节点收到无MPLS标签的IP报文后,直接根据对应的IP路由表项把数据传输给目的主机4.4.4.2/32。1.2.2 MPLS报文转发涉及的基本概念

1.2.1节所介绍的只是MPLS报文的基本转发流程,具体的转发流程还涉及一些其他的技术细节,所涉及的相关概念如下。(1)Tunnel ID

为了给使用隧道的上层应用(如VPN、路由管理)提供统一的接口,系统会自动为隧道分配一个ID(在出节点上也可手动配置),也称为Tunnel ID。该Tunnel ID的长度为 32 比特,只有本地意义,即只要本地设备上唯一即可,同一条隧道中的不同节点的Tunnel ID可以一样。(2)NHLFE

NHLFE(Next Hop Label Forwarding Entry,下一跳标签转发表项)用于指导MPLS报文的转发。NHLFE 包括:Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息,可根据出标签找到对应的出接口及下一跳,进行报文转发。

FEC与NHLFE的映射称为FTN(FEC-to-NHLFE)。通过执行display fib命令查看FIB表中Tunnel ID值不为0x0的转发表项,能够获得FTN的详细信息。

FTN只在Ingress存在,因为只在Ingress节点需要用到FEC中的分类信息来查找所需压入的出标签,然后再根据该出标签所映射的 NHLFE 找到对应的出接口及下一跳,进行报文的转发。后面的节点都是直接根据 MPLS 报文中所携带的出标签,在 NHLFE中找到与出标签映射的出接口及下一跳信息进行报文转发。(3)ILM

入标签与NHLFE(下一跳标签转发表项)的映射称为ILM(Incoming Label Map,入标签映射),其使本地设备的入标签和出标签、Tunnel ID建立对应的关联关系。ILM包括:Tunnel ID、入标签、入接口、标签操作类型等信息。

ILM在Transit节点的作用是将入/出标签和NHLFE绑定。通过标签索引ILM表,就相当于使用目的IP地址查询FIB,能够得到所有的标签转发信息。

下面以图1-17所示的示例介绍MPLS报文详细的转发过程。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载