版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多例衩标祀金换
赵广
目录
1.MPLS技术基础..............................................................4
1.1.MPLS转发.........................................................4
1.1.1基本概念........................................................4
1.1.2标记、标记栈与标记栈编码.......................................7
1.2.标记分发协议........................................................9
1.1.3标记分发协议概述................................................9
1.1.4LDP........................................................................................................................11
LDP发现...................................................12
LDP会话建立和维护.........................................14
标记分发和管理.............................................17
1.3.案例分析...........................................................23
1.1.5配置实现.......................................................25
1.1.6标记转发观察...................................................25
1.1.7LDP协议观察..................................................27
1.4.小结................................................................32
1.5.复习题..............................................................32
2.BGP/MPLSVPN...........................................................................................................................34
2.1.VPN概述...........................................................34
2.2.BGP/MPLSVPN框架结构............................................37
2.3.BGP/MPLSVPN基本原理............................................39
2.3.1.多协议BGP扩展................................................39
2.3.2.BGP/MPLSVPN控制信息建立过程................................41
2.4.BGP/MPLSVPN常见应用............................................46
2.4.1.Internet接入....................................................46
2.4.2.跨ASVPN提供.................................................47
2.4.3.多层次VPN提供................................................48
2.5.案例分析............................................................51
2.5.1.配置实现.......................................................52
2.5.2.转发控制信息分析...............................................61
2.5.3.常见应用需求...................................................65
2.6.小结................................................................66
2.7.复习题..............................................................66
3.MPLSL2VPN...............................................................................................................................67
3.1.MPLSL2VPN概述..................................................67
3.2.LDP方式MPLSL2VPN...........................................................................................68
3.3.BGP方式MPLSL2VPN...........................................................................................74
、八>a
刖s
在一个IP报文从源被送到目的的过程中,由于IP的无连接特性,每一个沿途的路由器
都必须独立的为这个报文确定下一跳。抽象的,确定下•跳包含两个工作:第一个工作是分
析这个报文的头部,根据其目的地址(或者还有其他信息如DSCP值),确定这个报文属于对
于这个路由器而言的某个转发等价类(FEC:ForwardingEquivalenceClass)o转发等价类是指
在某个路由器看来应该采取同样转发行为(至少包含下一跳)的所有报文的全体。第二个工
作就是根据这个FEC确定下一跳等转发行为。
MPLS(MultiLabelSwitching)被发明的初始动机就是为了改进这个过程中第一步的效
率。MPLS在一个报文进入网络时即决定其所属FEC,并为这个包打上一个“标记”决定其
所属的FEC。这样,中间转发的路由器无需再去分析特定报文的包头信息,只需要读这个
标记就知道它所属FEC,进而也就决定了这个包转发方式了。在MPLS出现之前,有许多
类似的技术,MPLS是1ETF统一这些技术的结果。有关MPLS这个名词出现的过程,您可
以在[1]中找到对这•有趣历史的一些描述。
MPLS对于转发效率的改进事实上就是所谓用交换的技术实现三层数据包的转发,上
个世纪最后几年出现的被称为三层交换或是快速路由的技术更加简洁地达到了同样的目的。
但是MPLS目前仍然存在并且事实上已经成为核心网络路由器必不可少的一个基本组件。
其根本原因是在MPLS基础上可以简洁地实现如下几个对于运营商网络致关重要的应用,
典型的如:基于有连接的QoS保障、VPN、流量工程。
我们会在相应的章节仔细研究这些主题。但是现在你就可以理解使得这些应用可能的最
主要的原因是:
MPLS转发标记是在数据传输之前就建立好的,换句话说,也就是有连接的,这就决
定了它和ATM技术一样可以具备很好的QoS特性。
MPLS的转发决定仅仅决定于输入报文中的标记,这样中间路由器就可以对报文网络
层信息一无所知的情况下进行报文转发,这是在公网上传输私网数据的VPN技术所必须的。
决定MPLS转发的标记的分配可以不仅仅决定于网络地址前缀,这就为流量工程应用建立
了一个很好的平台。
历史上曾经存在的关于MPLS价值的争论现在业已风平浪静。对于运营商网络和大型
企业网而言,MPLS已经被广泛认为属于具有战略意义的基础设施。尽管MPLS的某些应用
仍然未能全面部署,但是目前已经成熟的应用如L3VPN已经开始让运营商从MPLS技术上
获得回报。
目前已有的经验显示,在全球范围内大规模部署MPLS对于网络研究、设计、建设和
维护人员都会是一个挑战。本书的主要目的是希望能够帮助这些从业人员从容面对这个挑
战。
具体的,本书力求达到的目标为:
•清晰解释和MPLS相关的主要协议。
•介绍MPLS的主流设备实现方法及用户接口。
•描述具体网络设计过程。
本书力求做到自包含,不过假设您对于IP网络应该有一个基本的了解,已经懂得关于
路由器的基本常识。如果您阅读过华为网络认证中级教材路由和交换部分,阅读本书肯定不
会有技术障碍。
总体上,本书包含如下几个部分:
MPLS技术概述
这部分会介绍力图回答两个问题:
•一个普通报文进入MPLS网络以后和从MPLS网络出来以前,沿途的路由器是如
何依据预先建立起来的控制信息对这个报文进行处理的?
•这些“预先建立起来的控制信息”是如何建立起来的?
如果您对于IP地址、路由等概念有基本的了解即可以顺利阅读本章。本章是以后任意
一章的基础。
L3VPN
这一章的主要内容是介绍如何在一个1SP如何利用其MPLS骨干网络为她的客户提供
网络层意义上的VPN服务。这里将会讨论ISP网络和客户网络中处于不同角色的设备如何
建立控制信息以及如何利用这些控制信息来进行转发数据流。这里也会讨论一个具体的网络
案例。
这一章的内容除了需要具备本书第一章的基础以外,还需要您熟悉BGP路由协议和
OSPF路由协议的基本操作和华为路由器上的配置方法。
MPLSL2VPN
这章将介绍一个ISP如何利用她的MPLS骨干网络为她客户提供数据链路层意义上的
VPN服务,就像传统的ATM或FrameRelay网络一样。这里将会讨论2种不同的实现方法:
Martini方法和Kompella方法。
如果有第一章和BGP的基础,MPLSL2VPN内容的学习肯定不会存在障碍。当然,如
果您有2层传统VPN的经验,也许阅读起来会轻松一点。
MPLS流量工程
MPLS体系结构支持依据预先指定的中间节点建立转发路径,这个特性使得流量工程成
为可能。在这里将介绍控制流量工程各种应用在MPLS框架下的实现和具体的案例分析。
考虑到流量工程应用目前还没有得到广泛应用,所以这一章内容除了需要第一章的基础以外
我把它做成了自完备的。
MPLSQoS
传统的IP网络很难为客户提供和ATM--样健壮的QoS。其根本原因是因为ATM是有
连接的。而MPLS体系结构恰好为IP建立了一个坚实的有连接的基础设施,所以部署了
MPLS的IP网络可以很好的实现QoS。这一章将会讨论差分模型的QoS是如何在MPLS网
络中如何实现的。
这一章除了需要第•章的基础而外,还需要部分MPLS流量工程一章所描述的一些信
令协议的基础。
MPLS组播
在MPLS框架结构下,关于组播有两个问题。-是如何在MPLS网络上支持组播IP报
文的转发。二是如何在MPLSVPN中支持VPN内的组播。第二个问题已经有了比较系统的
解决方案,第一个问题则由于其固有的复杂性在理论上还处于研究阶段。所以,这一章将给
出第二个问题的全面解决方案,同时也会给出第•个问题难的原因。
第一章依然是本章的基础,同时需要您了解组播路由协议的基本原理。
MPLS网络管理
目前部署MPLS网络的网络都是大规模的运营商网络或企业网络,特别是为客户提供
VPN服务的大型运营商网络,网络的管理特别需要加以重视。这里详细地介绍了MPLS网
络管理的框架以及华为的一个MPLSVPN管理软件。
这一章需要以前各章的基础,同时需要您知道网络管理的基本概念。
由于本书的作者并不是作家,所以语言有点干瘪,但是MPLS本身是充满魅力的,所
以阅读本书也许就像用青瓷大花瓷碗喝法国葡萄酒,也许很有情趣。
赵广2003/4/15
2010年的补充说明
这份材料原本是2002-2003年期间计划编写的面向技术人员的培训材料,由于许多原因
最终未曾完成或定稿。现在看来,对于初学者还有一定作用,因此删除未完成的目录,加一
个说明,就以这个不定稿作为定稿了:)
其实在2008年左右,有朋友向我询问是否有MPLS方面的教材.,辛亏我的同学、同事
与兄弟蒋茂勇还保存着这个电子稿,因此我可以向他们吹嘘这是世界上最好的MPLS教材。
昨天,有朋友再次问MPLS材料,我竟然又将这个电子稿丢了。再次辛亏我我的同学、同
事与兄弟蒋茂勇还保存着这个电子稿,看来我又可以再吹一次牛皮了。
不过,为了不再麻烦老蒋,免得他认为我是一个麻烦的人,我决定吸取教训,利用运计
算技术,将本书放在网络上:)
赵广2010/7/14
为了从百度百科上下载电子文档,我就厚着脸皮将这篇陈年文章上载上去,恳请大家
不要嘲讽我:都是为了混口饭吃,对吧?
由衷期望有一天我能再有兴趣与计划写完这个东西。
赵广2010/11/01
1.MPLS技术基础
部署了MPLS的网络最终都以提供具备某些特性的报文转发为其服务形式。对于各种
基于MPLS的应用而言,具体的LSR(LabelSwitchingRouter:标记转发路由器及具备标记
转发特性的路由器)在实施报文转发时所采用的核心转发技术事实上是一致的。具体到一个
网络层报文而言,当它第一次进入MPLS网络时,首先处理它的那个LSR必须根据它的网
络层头部信息决定对于它的转发动作,这个转发动作包括给它打上MPLS标记和从某个接
口转发出去;对于网络内部LSR而言,只需要以输入报文中的标记信息为索引查找某个预
先建立起来的转发信息表得出转发动作,进而根据这个转发动作进行转发;当然,MPLS网
络中最后一个处理这个报文的LSR对这个报文的转发决定就可能包含去掉标记这样的动
作。本章第一节将具体描述这个转发过程。本章的其余部分将集中精力描述上面所说的各种
转发信息表是怎么建立起来的,即所谓标记分发的过程。标记分发的过程就是报文的卜一游告
知上游当上游转发报文时应该打上什么标记的过程。由于涉及到不同设备间的互通,这就需
要一个协议来协调这个过程。目前已有不少协议可以实现这个功能,我们将用LDP(Label
DistributionProtocol)来讲述标记分发的基本原理,其他几种协议我们将在以后的章节里逐步
的描述他们。
1.1.MPLS转发
1.1.1基本概念
图表1-1
在这个网络中,由LSRA、LSRB、LSRC组成的网络N运行MPLS为路由器RT1和RT2
所连接的网络提供转发服务。请注意进行MPLS转发的路由器被称为LSR(LabelSwitching
Router:标记转发路由器)。
我们用这RT1和RT2的两个LoopBack地址模拟接受N转发服务的网络。于是转发服
务就可以用N对RT1或RT2到对方LoopBack接U的Ping报文的转发来说明了。事实上,
N提供的服务很明确:使得RT1可以Ping通,而且RT2可以Ping通。
如果LSRA、LSRB和LSRC上没有运行MPLS,通过动态路由协议N同样可以为RT1
和RT2提供转发服务。只要在上图所示网络中每一台路由器上的每一个接口上都运行OSPF
协议,这样/24和/24这两个网段的路由就会被每一台路由器所知晓,这样
对于每一台路由器而言,都可以依据两个信息实施转发了:输入报文的包头信息(至少是目
的IP地址)和路由器上通过OSPF学习到的路由信息。
具体来看,当一个从RT1上发出的目的地址为的一个报文(我们称其为P)到达
N中某个路由器时,他所做的主要工作就是确定这个报文的下一跳路由器、发送接口等转发
信息,然后根据这些转发信息把P转发出去。一个路由器用两个步骤完成确定对于P的转
发信息的工作:其一就是根据输入P的头部信息(至少是目的IP地址:)为索引用
最长匹配算法在三层路由表中查找一个匹配(1001.0/24)。事实上,无论目的地址是
还是100.1.2或10.0.1.x,这个查找工作的结果都是/24,我们在这里称这些包属于同
•个转发等价类(FEC:ForwardingEquivalenceClass),这个转发等价类就用/24标识。
第二个工作就是以这个FEC:/24为索引查找下一跳等转发信息,比如对于LSRB,
结果就是下一跳路由器就应该是20201.2,下一跳接口为EU
MPLS不在转发的每一跳上独立的将报文P分配给某一个FEC,而是在P到达LSRA
时即第一次到达MPLS网络时就会被打上一个标记LI,L1就是LSRA和LSRB事先协商好
的用于标识/24这个FEC的。当LSRB收到P时;标记L1指示它应该将这个报文打
上它和LSRC协商好的用于标识1001.0/24这个FEC的标记L2,并且从接口E1上发出去。
当这个报文到达LSRC时,标记L2指示LSRC去掉标记L2并根据其目的IP地址查找到其
转发接口E0并将其转发出去。
从这个描述可以看出,MPLS网络事实上在转发之前已经就某个FEC如何转发达成了
一致并局部地使用标记标识,无须在每跳再根据报文目的IP地址来确定其所属的FEC»
而且这些局部的标记事实上也在转发之前预先指定了一个FEC中的所有报文在MPLS网络
的转发路径,我们称这个转发路径为LSP(LabelSwitchedPath:标记交换路径)。
从LSP的角度我们可以把一个报文(或一个FEC)在MPLS网络中所经过的所有LSR
分成3种,入口LSR(LSRIngress)>出口LSR(LSREgress)和内部LSR,有时我们也将
LSRIngress和LSREgress统称为LER(EdgeLSR)。在我们的实验网络中,对于报文P而
言,它的LSP是<LSRA,LSRB,LSRC>,LSRA是入口LSR,LSRC是出口LSR。下面我
们来考察一下不同节点的转发处理过程。
对于入口LSRLSRA而言,为了可以正确标记转发报文P,它首先要维护一个功能上类
似于传统路由表中下一跳以及发送接口叫做NHLFE(NextHopLabelForwardingEntry)的
数据结构。NHLFE包含如下信息:报文转发的下一跳、发送接口、对于报文中标记的操作
以及任何其他可能对转发有用的信息。对于LSRA而言,为了可以正确的转发报文P,它就
必须包含这样的NHLFE:下一跳为202.021、发送接口为E1、应该给报文打上标记L1。
显然,仅仅有NHLFE是不够的,为了对不同转发等价类不同的NHLFE,在入口LSR上还
必须维护一个FEC到NHLFE的映射(FECTONHLFEMAP:FTN),这个映射的结构是很
清楚的,比如说对于报文P,LSRA上就必须包含如下的FTN:
NHLFE
FEC
下一跳发送接口标记操作其他
/24LSRBE1加上标记L1
图表1-2LSRA上的FTN映射
这样LSRA对于报文P的转发流程就很清楚了:当LSRA收到P后,根据其包头中目
的IP地址按照最长匹配原则查找FTN映射的结果就是给P打上一个L1的标记,
并且从E1接口发送出去。
那么这张表格是怎么产生的呢?MPLS怎么知道这个/24应该从E0接口发送出
去的呢?根本上,这张表格是LSRA和LSRB基于3层路由协议所得到的可达性信息利用
标记分发协议所达成的共识。具体的过程我们将在本章的第二节仔细讨论这个过程。
在LSRB上,为了转发报文P,同样必须有一个表达其转发行为的NHLFE:下一跳为
>发送接口为E1、标记操作为:去掉原有的标记并且打上新的标记L2。和LSRA
不同的是:LSRB无须再检查P的网络层头部得到其目的地址并据此作为得到这个NHLFE
的索引,它直接利用P头部的标记L1作为这个索引就可以了,因为它已经和LSRA就FEC
和L1的绑定达成了一致。
对于LSRB而言,我们称L1为P的入标记,而L2为P的出标记。当然,因为LSR对
于同一个FEC内所有报文的转发行为是一致的,所以我们也可以说L1是FEC/24
的入标记,L2是FEC/24的出标记。
所以,LSR对于输入的带标记的报文是通过一个叫做入标记映射(ILM:IncomingLabel
Map)的过程来得到NHLFE的。具体的,LSRB上就应该包含如下的ILM:
NHLFE
入标记
下一跳发送接口标记操作其他
L1LSRCE1去掉原来的标记,加上标记L2
图表1-3LSRB上的ILM
P上的标记L1被置换为L2的过程被称为标记交换(LabelSwapping),在一个MPLS
网络内部,标记交换就是报文转发的主要操作。
对于出口LSRLSRC,它当然也是依据P的输入标记而不是网络层包头识别报文,但是
由于它是出口LSR,它并没有就如何标记转发P和下游路由器达成一致,所以它只能依据P
的网络层头部中的目的IP地址10.0.1」来转发P。所以,此时的ILM为:
NHLFE
入标记
下一跳发送接口标记操作其他
L2LSRC去掉标记
图表1-4LSRC上的ILM
所以,LSRC对于P的处理过程为:先根据输入报文P携带的标记L2查找ILM,得出
的NHLFE指示它去掉标记并将其“转发”给自己,然后再根据网络层头部中的目的IP地
址根据网络层路由表将其转发给RT2。
由上面的分析可以看出:对于LSRC来讲,由倒数第二跳LSRLSRB发给给它的P中
所携带的标记L2事实上对于LSRC的转发没有任何帮助。如果LSRB在发送P时将L2删
除,对于LSRC转发P没有任何负面影响,因为LSRC对于P的有效转发决定只依赖于网
络层头部的目的IP地址。而且在倒数第二跳删除掠出标记还可以让出口只做一次查找工作,
甚至出口LSR可以完全不支持MPLS。当然,是否进行倒数第二跳,首先必须决定于倒数
第二跳是否具备删除标记的能力(有些设备,比如说一些由ATM交换机直接升级而成的具
备MPLS功能的设备,就只具备标记交换的能力而不具备删除标记的能力),其次出口LSR
和倒数第二跳LSR也必须就此达成一致。
必须注意,我们这里对于LSR的划分(入口、出口以及内部LSR)是对于某一个FEC
或者对于某个具体的报文的LSP而言的,同一个LSR完全可能同时是这三个角色。
下面我们仔细介绍一下被我们在这里抽象化的标记:LI、L2是如何和IP报文•起传输
的。
1.1.2标记、标记栈与标记栈编码
标记在MPLS体系结构中处于核心地位。在标记的指示下,LSR以交换的方式让数据
转发工作尽量只发生在网络层以下,从而提高了数据转发效率。所以MPLS能够在多大程
度上简洁的提供通常在网络层完成的工作事实上决定了MPLS的生命力。原因很明显:如
果在数据交换过程中,为了实现一些基本的功能,数据包还必须被传递到网络层去处理,那
么MPLS的转发效率优势将不复存在。这一点事实上决定了除了标记以外,其他应该被编
码进数据包中的数据。
网络层有两个工作是至关重要的:一个是为了控制报文传输范围的TTL递减工作,实
际上IP报文中TTL这个域应用的广泛程度是惊人的:许多应用(例如:RIP路由协议)利
用它来防止环路、许多应用(例如:组播)利用它来限制报文传输范围、广泛的被使用于网
络测试(Tracert),甚至一些黑客程序利用报文初始TTL来确定操作系统。结论很清楚:当
一个带标记的报文在传输时,它必须同时编码个TTL域。
另一个是报文分类工作。在IP报文中,DSCP(DifferentiatedServicesCodingPoint)域
被专门用于报文分类工作,报文分类工作是实现QoS的基本组件。QoS的重要作用对于大
型网络的重要性是不言而喻的。所以,当一个带标记的报文在传输时,MPLS设计者最终认
为需要一个域来标识报文的类别是值得的。
为了安全、互连私有网络、互连不同协议或是显式指定某个数据包的路由方法,在网络
层领域,隧道技术被广泛应用。从本质上来讲,各种(L2TP、GRE、IPSECTunnel模式等)
隧道都是用一个公开的或是可行的网络层头部封装一个内部的数据包,完成这个内部的包在
特定网络上的传输,这样做的主要原因可能是内部数据包不愿或是不能够在这个网络上传
输。为了支持类似的应用需求,MPLS也支持标记的层次结构,即一个数据包可能包含多个
标记。这多个标记被组织成•个先进后出的栈结构,所以这些标记被称为标记栈。相应的,
最先入栈的标记被称为栈底标记,最新入栈的标记被称为栈顶标记。但是,标记的栈式结构
对于LSR的转发部件是透明的,所有的转发决定必须而且只能基于栈顶标记。
一个数据包中包含的MPLS标记的主要作用在于指示接受到这个数据包的LSR如何转
发这个数据包。但是必须注意的是,MPLS并没有被设计成网络层的替代协议,MPLS要做
的只是利用网络层提供的和其他控制部件所提供的控制信息,实现高效的并且灵活的转发同
样的MPLS也不会代替链路层的工作。所以标记栈在数据报的封装位置应该是链路层之后,
网络层之前。
MPLS标记的在数据转发中所起的作用和ATM的VPVVCI或是帧中继的DLCI是类似
的。所以,就可以使用这些链路层数据封装中的这些域来封装MPLS标记。但是,不是所
有的链路层都提供这种交换的机制,比如说PPP或是以太网,所以必须定义一个独立于网
络层和链路层封装的MPLS头部。
我们现在描述•种被称为通用标记封装方法的封装方法,这种方法可以用于任何链路
层。它定义了一个独立于链路层的被称为MPLS薄层的MPLS封装,可以封装多个标记,
每个标记包括20位的MPLS标记、3位的实验域(EXP)、1位栈顶标记和8位TTL域。
具体结构如下图所示:
链路底头部MPLS薄房网络层头部
20位标签
图表1-5
这里标记域中所承载的就是我们在LLL里一直讨论的Ll、L2这些用于指示转发行为
的标记。标记的数值范围为:0-2人20,0、1、2、3这四个标记有特殊含义,4-15保留。
标记值为0的标记叫做IPV4显式空标记,这个标记只能出现在栈底,这个标记对应的
转发动作只能是删除标记栈并且这个数据包将会被送给IPV4模块处理并转发。标记值为2
的标记叫做IPV6显式空标记,其语法和语义和IPV4显式空标记是类似的。
标记值为3的标记叫做隐式空标记。当一个LSR要给一个数据包换上一个新的标记时,
如果被换上的标记是这个标记,那么LSR就不会执行标记交换操作,相反的,LSR会在数
据包中的标记栈上执行一个POP操作。所以这个标记值不会出现在报文封装中,只会用在
标记分发协议中。
标记值为1的标记叫做路山器提醒(RouterAlert)标记,其作用类似于IP的路山器提
醒选项(RouterAlerlOption),用于提醒沿途的LSR在转发这个数据包之前应该仔细检查这
个数据包,可以用在诸如RSVPPath消息等消息报文需要沿途路由器而不仅仅是目的主机处
理的应用中。
EXP域(实验域)原先设计目的是用于实验目的,目前主要用于报文分类。起着和IP
报文中DSCP类似的作用,可以用于编码不同的PHB(Per-hopBehavior:逐跳行为)。
S比特叫做栈底标识(BottomOfStack)的作用是指示当前这个标记是否是栈底标记。
TTL域编码8位TTL值,其基本作用是防止环路和限制报文传输范围。通常对于TTL
的处理过程是:在MPLS网络入口路由器上,当接收到一个IP报文后,首先将其IPTTL减
1,当它被发送之前,IPTTL应该被拷贝到MPLS顶层标记中;在中间LSR上当它收到一
个带标记的报文时,首先将报文顶层标记中的TTL减1,然后做标记交换操作并发送出去,
这里的交换只交换标记栈结构顶层标记封装中的20比特标记值;在出口LSR匕当它收到
一个带标记报文以后,首先会对MPLSTTL做减1操作,然后做标记弹出操作,然后将MPLS
TTL拷贝到报文的IPTTL域,并将其送给网络层发出。请注意,我们这里的假设是一层标
记栈,对于多层标记栈的操作是类似的,我们把这个问题留到习题里去。
对于在ATM、帧中继网络上标记的封装一般原则是:顶层(或最上两层)标记封装在
链路层的VPI/VCI或DLCI域中,而标记栈的其余标记则用我们上面描述的通用标记封装
方法封装。
我们这里讨论的是标记随数据报文一起发送时的封装形式,在下一部分要讨论的标记分
发协议的报文中,标记封装自然只包含20位标记值。
1.2.标记分发协议
1.1.3标记分发协议概述
1-0:202.0.2.1/2EL202.0.I.1/24
El:202.0N.EZ02.0.1.2/24
1:0:200.0.0.1/24
1*0:100.0.0.1/24
MPLS域
E0:100.0.0.2/24E0:200.0.0.2/2
loopMck:10.0.0.1
loopback:
图表1-6
我们在前面讨论了一个LSR如何依据输入报文的顶层标记(或网络层地址)以及1LM
(或FTN)来确定对于一个报文的转发行为(即得到NHLFE),本节以及下一节将以上图
为例讨论ILM、FTN和NHLFE这些控制信息是如何形成的。
我们将把讨论限制于一个特定的FEC:所有目的地址属于网络/24的数据包。
对于这个FEC,我们下面描述一种可能的各LSR上标记转发信息生成过程。
1、当LSRB上路由协议收敛以后,即它发现FEC/24以后,它就向上游
LSR发布一个FCE-Label映射(以后我们将简称标记映射):</24,17>,
其语义是:“当你发给我的报文顶层标记是17时,我将对其采取FEC/24
的转发行为"。当然,这里的上游LSR只会是LSRA,而不会包含LSRC,因
为LSRB从路由协议知道FEC/24的下一跳路由器是LSRC,因而LSRC
不应该将属于FEC/24的数据包转发给LSRBo
2、当LSRA从El口收到V/24,17>这个映射以后,它就可以建立自己的
FTN映射表了:
NHLFE
FEC
下一跳发送接口标记操作其他
/24LSRBE1加上标记17
图表1-7LSRA上的FTN映射
3、同样的LSRC也会给LSRB发送这样的标记映射:<10.0.10/24,3>,由于标
记3具备倒数第二跳弹出的特殊含义,所以对LSRB而言,这个映射的语义是:
对于属于/24这个FEC要经过LSRC转发的数据包,应该对原有标记
栈执行POP操作(而不是将原有标记栈顶层标记交换为3)。山于LSRB曾经
发布过关于10.0.L0/24标记映射信息,因而现在LSRB就可以把这些信息组合
起来形成一张ILM表了:
NHLFE
入标记
下一跳发送接口出标记其他
17LSRCE13
图表1-8LSRB上的ILM
4、当然,对于LSRC而言,由于使用了倒数第二跳弹出技术,所以也就无需为
/24这个FEC形成标记转发表了。注意,由于考虑了倒数第二跳弹出,
所以这里的几个表格和1.1.1中的表格并不完全一样。
从以上过程可以看出,标记转发控制信息形成的关键就是在标记转发的上下游LSR之
间标记映射信息的传递:本质上就是下游LSR将特定标记和特定FEC的映射通知给上游
LSR,这个标记映射传递过程被称为标记分发。
当然,正如前面所述,这里描述的标记分发方式只是两种可能的方式之一,上面描述的
这种方式被称为下游自主(DU:DownstreamUnsolicited)方式,其含义是指下游自主决定
是否给上游分发标记映射,而无需上游显式请求。另外•种方式叫做下游按需分配(DOD:
DownstreamonDemand)方式,这种方式下游只有在上游显式提出对于某个FEC的标记请
求才会向上游分发和这个FEC相关的标记映射。
从全局观点来看,对于特定的FEC,各独立〈上游LSR、下游LSR>对于这个FEC的在
他们之间链路上和某个标记的映射最终形成了一条LSP。如在图表1-6中,对于/24
这个FEC,最终形成了<LSRA,LSRB,LSRC>这样一条LSP。在我们上面所说明的过程所
描述的LSP控制方法也是两种可选方法之•:独立LSP控制方法。所谓,独立的LSP控制
方式是指一个LSR在向上游分发和特定FEC相关的标记映射之前,无需确保自己己经获得
下游关于这个FEC的标记映射。我们可以看到图表1-6中的LSRB正是这样做的:当它分
发标记映射<10。1.0/24,17>给LSRA时,它还没有从LSRC得到关于/24的标记映
射。另外利LSP控制方式被称为有序方式,这种方式下,•个LSR在向上游分发和特定
FEC相关的标记映射之前,必须确保自己已经获得下游关于这个FEC的标记映射(除非这
个LSR本身就是对于这个FEC的出口路由器)。
对于特定FEC的LSP,MPLS标记转发的路由可以使用路由协议形成的逐跳路由,也
可以不使用即使用某种显式路由机制。对于前者我们称这条LSP是逐跳路由的LSP,后者
则被称为显式路由的LSP。截至目前为止,我们讨论的都是前者,后者在流量工程中有很重
要的应用。
独立的LSP控制方式和有序的LSP控制方法各有不同的应用场合,前者多用于控制逐
跳路由的LSP,后者多用于控制显式路由的LSP。经管这两种LSP控制方式可以和任意的
标记分发方式配合工作,但是下游自主的标记分发方式常和前者配合工作,以达到和路由协
议同时快速收敛的目的;相应的,F游按需的标记分发方式常和有序的LSP控制方式配合
使用,可以方便的实施显式路由。
具体在相邻LSR之间进行标记分发工作的是标记分发协议,目前可以用于标记分发协
议的有:LDP(LabelDistributionProtocol)>CR-LDP(Constraint-basedLDP)>RSVP-TE
(ExtensionstoResourceReservationProtocolBGP等。下•节将介绍LDP协议,在以后
的章节中将会介绍其他的协议。
1.1.4LDP
正如前一节所述,LDP(LabelDistributionProtocol)是一种用于在•对标记转发上下游
LSR之间分发FEC-Label映射信息的协议。这对标记转发上下游路由器互相被称为标记分发
对等体。尽管图表1-6中所示网络中,标记分发对等体之间都是直接相连的,但是这并不意
味着标记分发对等体必须直接相连,我们会在下一章介绍这个方面的应用。
LDP以消息的形式在对等体之间分发、维护标记映射信息,为了保证标记分发的可靠
性,LDP使用TCP的传输服务。总体上,所有LDP消息可以分为四类:
1、发现消息用于发现网络中的LDP相邻体
2、会话消息用于建立、维护和中止LDP对等体之间的会话
3、分发消息用于创建、改变以及删除和FEC相关的标记映射
4、通知消息用于提供建议或错误通知信息
利用这些消息,LDP大致工作过程如下图所示:
Hello
图表1-9
从这张图可以看到,两个LDP对等体首先发现对方,然后和对方建立TCP连接,在连
接上,建立会话,最终在会话上传输标记请求和标记映射消息。
我们将在随后的章节中仔细讨论这些过程。
LDP发现
从邻居发现的角度看,必须有一个标识不同LSR的一个ID,否则无法区分不同的邻居。
LDP使用一个叫做LSRID的四字节数标识不同的LSR。由于,同一个LSR上可能存在完
全的标记空间(例如:ATM交换机每个接口的VCI是出于不同空间中的),所以从标记分
发的角度应该区分同一LSR上不同标记空间,LDP使用一个2字节的无符号整数来标识标
记空间。LDP使用由LSRID和标记空间标识组成的被称为LDP标识符的6字节无符号整
数标识作为一个独立的标记分发对等体。
LDP有两种发现邻居机制:一是基本发现机制,一是扩展发现机制。
基本发现机制用于发现通过物理链路直接相连的LSR,LSR利用承载在目的地址为组
播地址:(网段上所有路由器)UDP报文上的Hell。消息向网段内所有路由器声明
自己的存在,当然这个UDP报文的目的端口号是用于指示其中包含LDP协议的646。
而扩展发现机制用于发现非直接相连(手工配置的)LDP邻居,LSR利用承载在目的
地址为手工配置的特定LSR地址的UDP报文上的Hello消息向这个配置的邻居声明自己的
存在,这个UDP报文的目的端口号也是646。
Hello消息并不是直接承载在UDP报文上,而是封装在如图表1-10的LDPPDU头部之
后,一个LDPPDU可以包含多个不同LDP消息。
0123
01234567890123456789012345678901
-I—(-+-+—1—1—1—4—4-4—+-4—+-+—»—♦-4-4—H-4—+-+
|Version|PDULength|
4-4—4—4—4—4-4—4—4—4—4—4—4—4—4—4-4—1—4—4—4—4—4—4—4—4—4—4-4—4—1—4—+
|LDPIdentifier|
+4-+-4-4—1-4—t—1-4-4-1-4-4-4-4-4-+
图表1-10
其中:
Version字段表示LDP协议版本号,目前为1。
PDULength表示整个PDU的长度,不包括PDULength和Version域的长度。
LDPIdentifier是指6个字节的LDP标识符。
尽管这两种机制处理方式并不一样,但是都利用基本一样的Hello消息,下图列出了
Hello消息的格式:
0123
01234567890123456789012345678901
4-4—4—4—4—4-1-4-4—4-4—1-4—4—4-1-4-4—+-4—4—4—4—4—4—1-+-4—+-4—4—4—+
|0|Hello(0x0100)|MessageLength|
4—1-4-1-4-4—I—I—♦—I—I—I—I—1-4-4-4-4-4—I—I—I—1-4-4-4—I—I—I—1-4-4-+
MessageID
4—I—4—4—4—4—I—4—I—4—I—4—I—4—4—I—I—I—4—I—4—4—4—4—4—I—I—4—1—4—1—4—+
CommonHelloParametersTLV
4-4—4—4—4—4—1-4-4—+-4—4—4—4—4—1—4—>—+-4—4—4—4—4—4—4-+-4—4—1—4—4—+
OptionalParameters
4—1-4-1-4-4—I—I—♦—I—I-I—H--1-4-4-4-4-4-h-4-4—1-4-4-4—I—I—I—1-4—f-+
图表1-11
Hello消息的第一个比特通常叫做U比特,用于指示在消息接受者不能识别这个消息的
类型(随后的15比特域)情形下的处理方法:为零则向发送者发送一个错误通知消息,为
1则安静的忽略这个消息。
随后的15位域用于指示消息的类型,这里的0x0100就是指Hello消息。MessageLength
用于指示从MessageID域开始(包括MessageID域)的Hello消息的长度。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兰州外语职业学院《五官医学》2023-2024学年第一学期期末试卷
- 江西科技职业学院《中国民间美术》2023-2024学年第一学期期末试卷
- 济南大学《现代控制理论及其仿真》2023-2024学年第一学期期末试卷
- 湖南信息职业技术学院《人体形态学》2023-2024学年第一学期期末试卷
- 湖南工程职业技术学院《体育舞蹈摩登》2023-2024学年第一学期期末试卷
- 衡水健康科技职业学院《生物工程实训理论与实践》2023-2024学年第一学期期末试卷
- 重庆智能工程职业学院《手绘空间快速表现》2023-2024学年第一学期期末试卷
- 重庆健康职业学院《信号与系统理论教学》2023-2024学年第一学期期末试卷
- 中原科技学院《热储工程课程设计》2023-2024学年第一学期期末试卷
- 浙江汽车职业技术学院《土建工程基础》2023-2024学年第一学期期末试卷
- 2024-2025学年八年级上学期1月期末物理试题(含答案)
- 2025年国新国际投资有限公司招聘笔试参考题库含答案解析
- 制造车间用洗地机安全操作规程
- 2025河南省建筑安全员-A证考试题库及答案
- 油气田智能优化设计-洞察分析
- 陕西2020-2024年中考英语五年真题汇编学生版-专题09 阅读七选五
- 砖混结构基础加固技术方案
- MOOC 有机化学(上)-北京师范大学 中国大学慕课答案
- 五年级上册脱式计算100题及答案
- 医疗设备报废申请表
- CAD快速看图破解安装步骤
评论
0/150
提交评论