CCNP路由实验之十二 MPLS



                                                                                       CCNP路由实验之十二 MPLS

路由器的工作模式是十分重要的,它直接影响数据转发的速度和系统的性能,理解它们的不同对于我们合理的应用有着非常重要的意义。具体分析如下  

  1. Process Switching(进程交换) 这是一种最基本的交换模式,在这种模式下,一条数据流(flow)中的第一个包(packet)将被置入系统缓存(systembuffer)。其目的地址将会拿到路由表中去查询比对,路由器的处理器(CPUor Processer)同时将进行CRC校验,检查包是否正确。然后数据包的二层MAC地址将会被重写,替换为下一跳接口的MAC地址。这样的过程将会继续,对这条数据流(flow)中的第2个、第3个数据包„„相同的操作,包括查询路由表、重写MAC地址,CRC校验等。 这种方式无疑是延迟最大的,因为它要利用systembuffer以及processor去处理每个收到的包。但是仍然有机会使用这种交换方式,比如在进行基于每个包的负载分担时,或是debugip packet时。

  2. Fash Switching route-cacheswitching 快速交换要优于processswitching,它采用了routecache(路由缓存)来存储关于某条数据流(flow)的特定信息,当然会包括诸如目的MAC地址,目的接口等内容。这时我们只需要对一条数据流(flow)中的第一个包做processswitching,并把信息存入cache,所有后续数据包,可以不必再中断systemprocessor去执行查询等操作,直接从cache中提取目的接口,目的MAC地址等,这样大大加速了包转发速度。

    基于缓存交换的缺点:

    1、  是流量驱动的,依赖于第一个数据包的接收以生成缓存,这个数据包是在慢速交换路线中被交换的,导致了低性能和高CPU消耗。

    2、  缓存是基于IP地址的,条目众多,消耗大量内存。

    3、  由于路由抖动导致了无效缓存,促使网络不稳定。

  3. Optimum and Distributed Switching  这两种交换模式,从原理上来讲都与fastswitching极为相似,比如optimumswitching其实采用了一种经过优化的交换缓存(optimumedswitching cache),它的速度要较平常cache要快。  distributed switching mode需要使用VersatileInterface Card这种硬件卡,又称VIPcard.它会自已保存一份route cache,这样在查询时就不必要等待使用共享的系统缓存了(sharedsystem buffer),无论相对于fastswitching还是optimumswitching来讲,都是比较快的。 这两种模式一般只在思科高端设备上有所应用,比如7200系列路由器。或者12000系列路由器。 

  4. Netflow switching 通过一种标准的交换机制,处理了流的第一个数据包,然后就创建了网路流缓存。设计网络流交换的目的是,提供一种高效率的机制,来处理扩展或复杂的访问列表时,不必像其他的交换方式一样丧失同样多的系统性能。在网络流交换方式下,能够为每一个流收集详细的记账信息,对于新发布的IOS软件来说,网络流交换被专门用来实现该目的,而不再用来交换数据包了。在同时启用CEF和网络流交换的情况下,CEF为IP数据包提供交换路线,并生成流缓存,而网络流交换被用来向流收集器输出统计信息。这些流信息包括基于每个用户、每种协议、每个端口以及每种类型的服务统计信息。这些信息被广泛用于各种目的,例如:网络分析和规划、记账以及计费。经过统计,大致65536条数据流(flow)会耗费4MBsystembuffer

  5. Cisco Express Forwarding  思科CEF是最为高效的一种三层协议,进程交换和基于缓存的交换都是数据驱动CEF是拓扑驱动(topology-driven),并与路由选择表紧密相关, CEF 是由新的cisco设备使用的提供线速路由选择的技术。CEF让分组交换完全绕过路由处理器,通过专门的数据结构来完成,该数据结构通过路由处理器和交换处理器之间的一个通信过程来动态更新。通常,CEF被认为是“没有路由,一直交换”基于CEF的机制针对所有的分组,包括给定流中的第一个分组都用硬件处理的。路由选择表仍然由路由器的CPU维护,但是创建了两张额外的表:转发信息库(FIB,Forwarding Information Base)表:该表是从路由选择表中拷贝过来的转发信息,不包括任何路由选择协议信息。路由表有任何增删变化,FIB表均会随之变化;邻接表:维护一个邻近结点(如果两个节点能通过第2层一跳到达彼此则被认为是邻接)以及他们相关的第2层MAC重写或下一条信息的数据库。FIB表由一棵四层的树组成,是按照IPv4所使用的点分十进制来分层的,CEF依赖最长匹配转发算法,这意味着按照降序搜索整棵树知道“最长匹配   FIB和邻接表都被优化提供进行转发决定所需的信息,而没有更多的其他信息,如果FIB表已满,后续表项将和现有表项比较,并以牺牲不详细表项的代价来保存更详细的表项。FIB表的好处:1、可以被硬件ASIC调用2、解决递归路由问题,直接找到下一跳3、 扩展性,应用于MPL.邻接表是由ARP实现的,将第2层地址映射到相应的第3层地址上。路由器能从路由选择更新中发现下一跳路由器,并相应的在临时表中增加表项。这个处理让路由器构建了第3层分组转发所需的下一跳重写信息。总体来讲CEF的优点:1、可扩展性(Scalability):当激活了分布式CEF(Distributed CEF)模式时,CEF在每一块线卡(line card)上也提供了全部的交换能力。2、增强了性能:CEF使用CPU率较低,更多的CPU处理能力可以专注于第3层的服务,比如动态路由协议的运行。3、弹性(Resilience):在大型动态网络中,CEF提供了更好的一致性和稳定性

  6. ATM是以信元为基本单位进行信息传输、复用和交换的。ATM信元具有53字节的固定长度,其中前5个字节是信元头,其余48个字节是有效载荷。ATM信元头的功能有限,主要用来标识虚连接,另外也完成了一些功能有限的流量控制,拥塞控制,差错控制等功能。ATM数据传输技术屏弃了繁琐的路由查找,改为简单快速的标签交换,它适用于局域网广域网,它具有高速数据传输率和支持许多种类型如声音、数据、传真、实时视频、CD质量音频和图像的通信。ATM有它自己的参考模型,既不同于OSI模型,也不同于TCP/IP模型。它包括三层:物理层ATM层和ATM适配层。它想解决所有IP的问题,但由于它过于复杂的技术实现,且无法与已经广泛应用的IP融合,使atm只能做为IP链路层协议。

  7. 新一代交换式路由器基于硬件进行IP分组的转发,转发引擎可以是ASIC(专用集成电路 )专门为IP转发而设计的网络处理器。转发过程的所有细节全部采用硬件方式来实,包括查询和控制功能。交换式路由器性能与控制功能结合起来的关键在于ASIC能够读阅每一数据包内容的多少。 ASIC能够收集到的关于每一数据包流量的信息越多,可作用于该数据包流的控制水平就越精细。

  8. MPLS(多协议标签交换)是集成式的IPover ATM技术(即在帧中继或ATM交换上结合路由功能),数据包通过虚拟电路传送,只需在OSI第二层(数据链结层)执行硬件式交换(取代第三层(网络层)软件式选路)。它把IP选路与第二层标签交换整合为单一的系统,因此可解决Internet的路由问题,缩短数据包传送的时延,加快网络传输速度,适合于多媒体信息传送。MPLS最大的技术特色是可以指定数据包传送的先后顺序,它使用标签交换(labelswitching),网络路由器只需判别标签,即可进行传送。运作原理是为每个IP数据包提供一个标签,并由此决定数据包的路径及优先级。与MPLS兼容的路由器在把数据包转送到其路径前,仅读取数据包标签,无需读取每个数据包的IP地址及标头(网络速度会加快),然后把所传送的数据包置于帧中继或ATM的虚拟电路上,并迅速传送到终点路由器,减少数据包的时延。同时,按帧中继或ATM交换机提供的Qos,对所传送的数据包加以分级,大幅提升网络服务品质,提供多样化服务。随着ASIC技术的发展,基于硬件进行IP分组转发的路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。现在MPLS主要应用于流量工程TETraffic Engineering)、虚拟专用网VPNVirtual Private Network)、服务质量QoSQuality of Service)等应用

 

MPLS 独立于第二和第三层协议,诸如ATM IP。它提供了一种方式,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。它是现有路由和交换协议的接口,如IPATM帧中继资源预留协议RSVP)、开放最短路径优先OSPF)等等。在MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。现今使用着一些标签分发协议,如标签分发协议(LDP)、RSVP 或者建于路由协议之上的一些协议,如边界网关协议BGP)及OSPF。因为固定长度标签被插入每一个包或信元的开始处,并且可被硬件用来在两个链接间快速交换包,所以使数据的快速交换成为可能。

 原理

    MPLS是基于标记的IP路由选择方法。这些标记可以被用来代表逐跳式或者显式路由,并指明服务质量(QoS)、虚拟专网以及影响一种特定类型的流量(或一个特殊用户的流量)在网络上的传输方式等各类信息。MPLS采用简化了的技术,来完成第三层和第二层的转换。它可以提供每个IP数据包一个标记,将之与IP数据包封装于新的MPLS数据包,由此决定IP数据包的传输路径以及优先顺序,而与MPLS兼容的路由器会在将IP数据包按相应路径转发之前仅读取该MPLS数据包的包头标记,无须再去读取每个IP数据包中的IP地址位等信息,因此数据包的交换转发速度大大加快。MPLS协议实现了第三层的路由到第二层的交换的转换。MPLS可以使用各种第二层协议。MPLS工作组到目前为止已经把在帧中继、ATMPPP链路以及IEEE802.3局域网上使用的标记实现了标准化。MPLS在帧中继和ATM上运行的一个好处是它为这些面向连接的技术带来了IP的任意连通性。目前MPLS的主要发展方向是在ATM方面。这主要是因为ATM具有很强的流量管理功能,能提供QoS方面的服务,ATMMPLS技术的结合能充分发挥在流量管理和QoS方面的作用。标记是用于转发数据包的报头,报头的格式则取决于网络特性。在路由器网络中,标记是单独的32位报头;ATM中,标记置于虚电路标识符/虚通道标识符(VCI/VPI)信元报头中。对于MPLS可扩展性非常关键的一点是标记只在通信的两个设备之间有意义。在网络核心,路由器/交换机只解读标记并不去解析IP数据包。IP包进入网络核心时,边界路由器给它分配一个标记。自此,MPLS设备就会自始至终查看这些标记信息,将这些有标记的包交换至其目的地。由于路由处理减少,网络的等待时间也就随之缩短,而可伸缩性却有所增加。MPLS数据包的服务质量类型可以由MPLS边界路由器根据IP包的各种参数来确定,如IP的源地址、目的地址、端口号、TOS值等参数。另外对于到达同一目的地的IP包,可根据其TOS值的要求来建立不同的转发路径,以达到其对传输质量的要求。同时,通过对特殊路由的管理,还能有效地解决网络中的负载均衡和拥塞问题。当网络中出现拥塞时,MPLS可实时建立新的转发路由来分散流量以缓解网络拥塞。

MPLS网络结构

  MPLS网络由LER(标签边缘路由器)和LSR(标签交换路由器)组成。LER位于ATM骨干网的边缘并作为MPLS的入口/出口路由器。LER执行全部的第三层功能和由运行LDP而产生的基于LIBLabelInforinationBase)的标签绑定功能。LER连到网络内部的LSRLSR执行基于LIB的标签交换,具有第三层转发分组和第二层交换分组的功能。同时也能运行传统IP选路协议和执行一个特殊控制协议与相邻LSR协调FEC/标签的绑定信息。LERLSR之间的LSP是通过LDP协议建立起来的。

  1. 转发等价类: MPLS作为一种分类转发技术,将具有相同转发处理方式的分组归为一类,称为FECForwarding EquivalenceClass,转发等价类)。相同FEC的分组在MPLS网络中将获得完全相同的处理。FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型或VPN等为划分依据的任意组合。例如,在传统的采用最长匹配算法的IP转发中,到同一个目的地址的所有报文就是一个FEC

  2. 标签 :Label是一个长度固定,仅具有本地意义的短标识符,用于唯一标识一个分组所属的FEC。一个标签只能代表一个FEC。标签长度为4个字节,如果链路层协议具有标签域,如ATMVPI/VCI,则标签封装在这些域中叫做信元模式;否则,标签封装在链路层头和网络层数据之间的一个垫层中叫做帧模式。这样,任意链路层都能够支持标签。标签共有4个域:标签共有4个域:

    • Label:标签值字段,长度为20bits,用来标识一个FEC

    • Exp3bits,保留,协议中没有明确规定,通常用作CoS

    • S1bitMPLS支持多重标签。值为1时表示为最底层标签。

    • TTL8bits,和IP分组中的TTL意义相同,可以用来防止环路。 

  3. 标签交换路由器: LSRLabel Switching Router,标签交换路由器)是MPLS网络中的基本元素,所有LSR都支持MPLS技术。LSR由两部份组成:

  • 控制平面(Control Plane):负责标签的分配、路由的选择、标签转发表的建立、标签交换路径的建立、拆除等工作;

  • 转发平面(Forwarding Plane):依据标签转发表对收到的分组进行转发。对于普通的LSR,在转发平面只需要进行标签分组的转发,需要使用到LFIBLabel Forwarding Information Base,标签转发表)。对于LER,在转发平面不仅需要进行标签分组的转发,也需要进行IP分组的转发,所以既会使用到LFIB,也会使用到FIBForwarding Information Base,转发信息表)。

  1. 标签发布 :LDPMPLS的控制协议,它相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等一系列操作。MPLS可以使用多种标签发布协议。包括专为标签发布而制定的协议,例如:LDPLabel Distribution Protocol)、CR-LDPConstraint-Routing LabelDistribution Protocol)。也包括现有协议扩展后支持标签发布的,例如:BGPBorder Gateway Protocol)、RSVPResource ReservationProtocol)。LDP利用路由转发表建立LSPLDP通过逐跳方式建立LSP时,利用沿途各LSR路由转发表中的信息来确定下一跳,而路由转发表中的信息一般是通过IGPBGP路由协议收集的。LDP并不直接和各种路由协议关联,只是间接使用路由信息。传递标签所用的协议:

  1. TDP---cisco专有标准,组播地址发包,使用UDP711端口,同时支持UDPTCPTDP发现邻居发UDP-711,源目都是,建邻居用目的端口TCP-711,源端口随机,以后发包都是TCPTDP只能基于FIB表中的条目来打标签,实际上在MPLS中是LFIB表(标签转发信息表)

  2. LDP---业界标准,组播地址发包,使用UDP646端口,同时支持UDPTCPLDP发现邻居发UDP-646,源目都是,建邻居用TCP-646,目的端口,源端口随机,以后发包都是TCPLDP只能基于FIB表中的条目来打标签,实际上在MPLS中是LFIB表(标签转发信息表)

  1. 标签交换路径 :LSP一个转发等价类在MPLS网络中经过的路径称为LSPLabel Switched Path,标签交换路径)。LSP在功能上与ATMFrame Relay的虚电路相同,是从入口到出口的一个单向路径。LSP中的每个节点LSR组成,根据数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。分组被打上标签后,沿着由一系列LSR构成的标签交换路径LSP传送,其中,入节点LER被称为Ingress,出节点LER被称为Egress,中间的节点则称为Transit标签交换路径LSP分为静态LSP和动态LSP两种。静态LSP由管理员手工配置,动态LSP则利用路由协议和标签发布协议动态产生。在MPLS的应用中,也可能需要对某些路由协议进行扩展。例如,基于MPLSVPN应用需要对BGP进行扩展,使BGP能够传播VPN路由信息;基于MPLS的流量工程TETraffic Engineering)需要对OSPFIS-IS协议进行扩展,以携带链路状态信息。

MPLS的基本工作过程:

  1. 首先,LDP和传统路由协议(如OSPFISIS等)一起,在各个LSR中为有业务需求的FEC建立路由表和LIBLabelInformation Base,标签信息表);

  2. 入口LER接收分组,完成第三层功能,判定分组所属的FEC,并给分组加上标签,形成MPLS标签分组;

  3. 接下来,在LSR构成的网络中,LSR根据分组上的标签以及LFIBLabel Forwarding Information Base,标签转发表)进行转发,不对标签分组进行任何第三层处理;

  4. 最后,在MPLS出口LER去掉分组中的标签,继续进行后面的IP转发。

由此可以看出,MPLS并不是一种业务或者应用,它实际上是一种隧道技术,也是一种将标签交换转发和网络层路由技术集于一身的路由与交换技术平台。这个平台不仅支持多种高层协议与业务,而且,在一定程度上可以保证信息传输的安全性。

LDP剖析

LDP协议规定标签分发过程中的各种消息以及相关的处理进程。通过LDPLSR可以把网络层的路由信息直接映射到数据链路层的交换路径上,进而建立起LSPLSP既可以建立在两个相邻的LSR之间,也可以建立在两个非直连的LSR之间,从而在网络中所有中间节点上都使用标签交换。

  1. LDP对等体 LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签/FEC映射关系的两个LSRLDP对等体通过它们之间的LDP会话获得对方的标签映射消息。

  2. LDP会话  LDP会话用于在LSR之间交换标签映射、释放等消息。LDP会话可以分为两种类型:

    1. 本地LDP会话(LocalLDP Session):建立会话的两个LSR之间是直连的;

    2. 远端LDP会话(RemoteLDP Session):建立会话的两个LSR之间是非直连的。

  1.  LDP消息类型 :LDP协议主要使用四类消息:为保证LDP消息的可靠发送,除了发现阶段使用UDP传输外,LDPSession消息、Advertisement消息和Notification消息都使用TCP传输。

    1. 发现(Discovery)消息:用于通告和维护网络中LSR的存在;

    2. 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话;

    3. 通告(Advertisement)消息:用于创建、改变和删除标签—FEC绑定;

    4. 通知(Notification)消息:用于提供建议性的消息和差错通知。

  1. 标签空间与LDP标识符 :LDP对等体之间分配标签的范围称为标签空间(Label space)。可以为LSR的每个接口指定一个标签空间(per-interface label space),也可以整个LSR使用一个标签空间(per-platform label space)。LDP标识符(LDP Identifier)用于标识特定LSR的标签空间,是一个六字节的数值,格式如下:

    <标签空间序号>

    其中,LSR ID占四字节,标签空间序号占两字节。标签空间序号取值为1时表示每个接口指定一个标签空间;取值为0时表示整个LSR使用一个标签空间。

  2. LDP标签分发 :标签的分发过程有两种模式,主要区别在于标签映射的发布是上游请求(DoD)还是下游主动发布(DU)。具有标签分发邻接关系的上游LSR和下游LSR之间必须使用相同的标签发布方式,否则LSP无法正常建立

  1. DoDdownstream-on-demand)模式 :上游LSR向下游LSR发送标签请求消息(Label Request Message),其中包含FEC的描述信息。下游LSR为此FEC分配标签,并将绑定的标签通过标签映射消息(Label Mapping Message)反馈给上游LSR。下游LSR何时反馈标签映射消息,取决于该LSR采用的标签分配控制方式。采用Ordered方式时,只有收到它的下游返回的标签映射消息后,才向其上游发送标签映射消息;采用Independent方式时,不管有没有收到它的下游返回的标签映射消息,都立即向其上游发送标签映射消息。上游LSR一般是根据其路由表中的信息来选择下游LSR

  2. DUdownstream unsolicited)模式 下游LSRLDP会话建立成功后,主动向其上游LSR发布标签映射消息。上游LSR保存标签映射信息,并根据路由表信息来处理收到的标签映射信息。

标签分配控制方式(LabelDistribution Control Mode分为两种:

    1. 独立标签分配控制(Independent):LSR可以在任意时间向与它连接的LSR通告标签映射。这种方式可能导致在收到下游标签之前就向上游发布了标签。

    2. 有序标签控制方式(Ordered):对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息或者该LSR就是此FEC的出口节点时,该LSR才可以向上游发送此FEC的标签映射。

 标签保持方式(Label Retention Mode是指LSR对收到的、但目前暂时用不到的标签—FEC绑定的处理方式。标签保持方式也分为两种:

  1. 自由标签保持方式(Liberal):对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。使用自由标签保持方式,LSR能够迅速适应路由变化;而使用保守标签保持方式,LSR可以分配和保存较少的标签数量。

  2. 守标签保持方式(Conservative):对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。保守标签保持方式通常与DoD方式一起,用于对于标签空间有限的LSR

 标签交换中的几个基本概念

  1. NHLFENext Hop LabelForwarding Entry):下一跳标签转发项。用于描述对标签执行的操作,包括入栈(Push)操作和交换(Swap)操作。

  2. FTNFEC to NHLFE map):在Ingress节点将转发等价类FEC映射到NHLFE的过程。

  3. ILMIncoming Label Map):入标签映射。对于接收的标签分组,LSR将标签映射到NHLFE的过程,包括空(Null)操作、出栈(Pop)操作。

 标签交换的过程 入口LERIngress)将进入网络的分组划分成转发等价类FEC。属于相同FEC的分组在MPLS域中将经过相同的路径,即使用同一条LSPLSR对到来的FEC分组分配一个标签,然后从相应的接口转发出去。标签交换的具体操作描述如下:

  1. LSP沿途的所有LSR都先建立ILM,入标签是根据ILM表项进行映射的;

  2. 对于接收到的标签分组,LSR将标签映射到NHLFE

  3. LSR只需根据标签从标签信息表中找到相应的NHLFE,用新的标签替换原来的标签,然后对标签分组继续转发

  标签分发与分配的注意:

  1. 标签的分配是将MPLS标签插入到数据包中;

  2. 标签的分发是将MPLS标签传递给邻居路由器

  3. 标签的分配只在本地有意义 

  4. 标签的分配(allocation):决定需不需要对该路由条目分配标签,或者说给什么样的条目分发标签。对于帧模式来说,这个动作是本地路由器作出的,与其他路由器无关

  5. 标签的分发(distribution):决定将产生的标签传递给谁、如何传的过程

  6. 标签的保留:像ARP一样,在路由条目失效后一定时间内标签继续有效

  7. 帧模式的标签分配原则是:independantcontrol独立控制,即不管是否能收到邻居传递过来的标签,都会对本地前缀分配标签;

  8. 帧模式的标签分发原则是:下游自主,即不管你有没有用到我发给你的标签,只要建立了邻居关系,我都会把我本地的标签发给你。这里的上下游是指数据转发的上下游。

  9. 帧模式的标签保留原则是:自由,即谁分配的标签谁保留。

  10. 帧模式的标签保存:将邻居传递过来的标签保存在LFIB里面,同时保存在FIB里面

  11. 信元模式的标签分配原则:按序

  12. 信元模式的标签分发原则:按需,即收到请求之后才分发。

  13. 信元模式的标签保留原则:保守,即只保留下游路由器发过来的标签

 FLDP的操作主要包括以下四个阶段

  1. 发现阶段 :在这一阶段,希望建立会话的LSR向相邻LSR周期性地发送Hello消息,通知相邻节点自己的存在。通过这一过程,LSR可以自动发现它的LDP对等体,而无需进行手工配置。LDP有两种发现机制:

  1. 基本发现机制用于发现本地的LDP对等体,即通过链路层直接相连的LSR,建立本地LDP会话。这种方式下,LSR周期性以UDP报文形式从接口发送LDP链路Hello消息(LDP Link Hello),发往标识“子网内所有路由器”的组播地址。LDP链路Hello消息带有接口的LDP标识符及其他相关信息,如果LSR在某个接口收到了LDP链路Hello消息,则表明在该接口(链路层)存在LDP对等体。

  2. 扩展发现机制用于发现远端的LDP对等体,即不通过链路层直接相连的LSR,建立远端LDP会话。这种方式下,LSR周期性以UDP报文形式向指定的IP地址发送LDP目标Hello消息(LDP Targeted Hello)。LDP目标Hello消息带有LSRLDP标识符及其他相关信息,如果LSR收到LDP目标Hello消息,则表明在网络层存在LDP对等体。

  1. 会话建立与维护 :发现邻居之后,LSR开始建立会话。这一过程又可分为两步:

  1. 建立传输层连接,即,在LSR之间建立TCP连接;

  2. 随后对LSR之间的会话进行初始化,协商会话中涉及的各种参数,如LDP版本、标签分发方式、定时器值、标签空间等。

   会话建立后,通过不断地发送Hello消息和Keepalive消息来维护这个会话。

  1. LSP建立与维护 :LSP的建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告LSP上相邻LSR。这个过程是通过LDP实现的,以DU模式、有序标签控制方式为例,主要步骤如下:

  1. 当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的目的地址,并且这一地址不属于任何现有的FEC,则该边缘节点需要为这一目的地址建立一个新的FEC

  2. 如果此边缘节点存在上游LSR,并且尚有可供分配的标签,则该节点为FEC分配标签,并向上游发出标签映射消息,其中包含分配的标签等信息。

  3. 收到标签映射消息的LSR记录相应的标签映射信息,若消息由对应FEC的下一跳发送,则将在其标签转发表中增加相应的条目。此LSR为它的上游LSR分配标签,并继续向上游LSR发送标签映射消息。

  4. 当入口LSR收到标签映射消息时,在标签转发表中增加相应的条目。这时,就完成了LSP的建立,接下来就可以对该FEC对应的数据分组进行标签转发了。

  1.  会话撤销 LDP通过检测Hello消息来判断邻接关系;通过检测Keepalive消息来判断会话的完整性。LDP在维持邻接关系和LDP会话时使用不同的定时器:

    1. Hello保持定时器:LDP对等体之间,通过周期性发送Hello消息表明自己希望继续维持这种邻接关系。如果Hello保持定时器超时仍没有收到新的Hello消息,则删除Hello邻接关系。

    2. Keepalive定时器:LDP对等体之间通过LDP会话连接上传送的Keepalive消息来维持LDP会话。如果会话保持定时器超时仍没有收到任何Keepalive消息,则关闭连接,结束LDP会话。

G)LDP环路检测 :MPLS域中建立LSP也要防止产生环路,LDP环路检测机制可以检测LSP环路的出现,并避免发生环路。果对MPLS域进行环路检测,则必须在所有LSR上都配置环路检测。但在建立LDP会话时,并不要求双方的环路检测配置一致。LDP环路检测有两种方式:

  1. 最大跳数 :在传递标签绑定(或者标签请求)的消息中包含跳数信息,每经过一跳该值就加一。当该值达到规定的最大值时即认为出现环路,LSP建立失败。

  2. 路径向量 :在传递标签绑定(或者标签请求)的消息中记录路径信息,每经过一跳,相应的设备就检查自己的LSR ID是否在此记录中。在以下条件之一时认为出现环路,LSP建立失败:路径向量记录表中已有本LSR的记录;路径的跳数达到设置的最大值。如果记录中没有自己的LSR ID,就会将其添加到该记录中。

 H) LDP 标签过滤 LDP协议在缺省的情况下,从下游邻居接收到的所有FEC的标签映射(标签-FEC绑定)都将接受;并按照水平分割的原则向各个上游邻居通告FEC的标签映射。LDP标签过滤提供了两种机制,可以有选择的接受从指定LDP下游邻居接收到的标签映射、也可以选择性地向指定LDP上游邻居通告指定地址前缀的标签映射。

  1. 标签接受控制 标签接受控制(LabelAcceptance Control)或入站标签过滤(InboundFiltering),选择性地接受指定下游设备通告过来的、指定地址前缀的标签映射。 

  2. 标签通告控制 标签通告控制(LabelAdvertisement Control)或出站标签过滤(OutboundFiltering),选择性地向指定上游设备通告指定地址前缀的标签映射。 

  I) LDP GR 为了支持GR,在LDP会话建立过程中,LDP设备需要进行GR能力协商。假设LDP会话协商结果为支持GRGR过程如下:

Restarter发生重起后,启动转发状态保持定时器,保留所有MPLS转发表项,并标记为staleHelper在检测到与Restarter之间的会话down后,将所有通过此会话学习到的FEC-Label绑定标记为stale,并将这些FEC-Label绑定保留一段时间(时间长度为对端通告来的reconnecttime和本地配置的neighbor liveness time中较小者),如果在这段时间内,LDP会话重建失败,删除这些标记为staleFEC-Label绑定,如果建立成功,继续保持Recovery长的一段时间,并在Recovery时间内通过和Restarter之间的标签映射消息交互,协助Restarter恢复重起前的FEC-Label绑定和清除对应转发表项的stale标记,Helper收到来自Restarter的相应FEC-Label绑定,清除保留的FEC-Label绑定的stale标记。Restarter的转发状态保持定时器超时,删除仍旧标记为stale的转发表项。HelperRecovery时间后,删除仍旧标记为staleFEC-label绑定。在Restarter重起过程中,转发表项被保留,保证流量不会中断。

倒数第二跳弹出 

  MPLS网络中,核心LSR根据分组上的标签进行转发;在Egress节点(出口LER)去掉分组中的标签,继续进行IP转发。实际上,在比较简单的MPLS应用中,Egress节点只需要进行IP转发,标签已经没有使用价值。这种情况下,为了减轻Egress节点的负担,提高MPLS网络对报文的处理能力,可以利用PHPPenultimate Hop Popping,倒数第二跳弹出)特性,在倒数第二个节点处将标签弹出,Egress节点就不再进行标签操作了。

MPLS MTU

MPLS标签栈象“垫层”一样,位于二层数据帧头和数据之间。OSI第三层网络层协议的包头是在第二层帧头之上的,也就是说在封装二层帧头的时候,是将数据内容和三层包头全部作为数据封装在里面的,对于二层来说,之前的数据最大是多少,就是由MTU来决定的,所以正常情况下MTU就是第三层数据和包头的最大尺寸,这时无需分段就能传输,如果比MTU大,就得分段后传输。但是 MPLS 的标签是在二层帧头之后的,所以二层帧头将标签的大小和三层包的内容累加到一起作为数据封装的,因为三层包的所有内容正好和MTU 一样大,在此基础上加上MPLS标签的话,就肯定比额定的MTU要大,所以这时MPLS的标签数据是会被分段后传输的,如果不想被分段,就得更新MTU 的大小。(一般 MPLS
据包加最多两个标签,一个标签4字节,所以只要改成比正常MTU8字节即可。)
而改MTU还必须在MPLS网络中所有设备上进行更改,除非允许分段。

 

MPLSTTL的处理

MPLSTTL处理包括IP TTL复制和ICMP响应报文返回路径这两个方面

  1. IP TTL复制 :MPLS标签中包含一个8位的TTL域,其含义与IP头中的TTL域相同。根据RFC 3031中的描述,LSR节点在对分组压入标签时,需要将原IP分组或下层标签中的TTL值拷贝到新增加的标签的TTL域。LSR在转发标签分组时,对栈顶标签的TTL值做减一操作。标签出栈时,再将栈顶的TTL值拷贝回IP分组或下层标签。TTL除了用于防止产生路由环路外,也用于实现tracert功能:  如果在Ingress节点使能IP TTL复制功能,报文在LSP中经过的每一跳都体现为IP TTL逐跳递减,tracert的结果将反映报文实际经过的路径;      如果不在Ingress节点使能IP TTL复制功能,则报文在LSP中经过的跳数不会导致IP TTL递减,tracert的结果不包括MPLS骨干网络中每一跳,就好像Ingress路由器与Egress路由器是直连的。

  2. ICMP响应报文 :MPLS VPN网络中,P路由器无法对MPLS承载的VPN报文进行路由。当MPLS报文的TTL超时时,ICMP响应报文将按照LSP继续传送,到达LSP终点路由器后,再根据IP路由转发ICMP响应报文。这种处理方式增加了网络流量和报文转发时延。对于仅有一层标签的MPLS报文,当TTL超时时,直接使用IP路由返回ICMP响应报文

检测MPLS LSP

 在MPLS中,如果LSP转发数据失败,负责建立LSPMPLS控制平面将无法检测到这种错误,这会给网络维护带来困难。MPLS LSP Ping/Traceroute为用户提供了发现LSP错误、并及时定位失效节点的机制。类似于普通IPPing/TracerouteMPLS LSP Ping/Traceroute使用MPLS Echo Request报文和MPLS Echo Reply报文检测LSP的可用性。MPLS Echo Request中携带需要检测的FEC信息,和其他属于此FEC的报文一样沿LSP发送,从而实现对LSP的检测。

    1. MPLS LSP Ping是用于对LSP的有效性、可达性进行检测的工具。采取方法是通过发送一个叫做MPLS Echo Request的报文,通过LSP的数据转发,到达出口后,在MPLS域的Egress,由Egress节点的控制平面确认本LSR是否为该FEC的出口,返回一个叫做MPLSEcho Reply的报文,如果发送方收到该报文,则说明这条LSP可以正确用于数据转发。

    2. MPLS LSP Traceroute是对LSP的错误进行定位的工具。采取方法是Echo Request数据包被发送到每一个中间LSR的控制平面,以确定本LSR是否是此路径的中间节点。

技术特点

    1. 充分采用原来的IP路由,在此基础上加以改进;保证了MPLS网络路由具有灵活性的特点

    2. 采用 ATM的高效传输交换方式,抛弃了复杂的ATM信令,无缝地将IP技术的优点融合到ATM的高效硬件转发中

    3. MPLS网络的数据传输和路由计算分开,是一种面向连接的传输技术,能够提供有效的QOS保证

    4. MPLS不但支持多种网络层技术,而且是一种与链路层无关的技术,它同时支持X.25 帧中继 ATM PPP SDH DWDM ,保证了多种网络的互连互通,使得各种不同的网络传输技术统一在同一各MPLS平台上

    5. MPLS支持大规模层次化的网络拓扑结构,具有良好的网络扩展性

    6. MPLS的标签合并机制支持不同数据流的合并传输

    7. MPLS支持流量工程 COS QOS 和大规模的虚拟专用网

应用

1)基于MPLSVPN  传统的VPN一般是通过GREGeneric RoutingEncapsulation)、L2TPLayer 2 Tunneling Protocol)、PPTPPoint to Point TunnelingProtocol)、IPSec协议等隧道协议来实现私有网络间数据流在公网上的传送。而LSP本身就是公网上的隧道,所以用MPLS来实现VPN有天然的优势。基于MPLSVPN就是通过LSP将私有网络的不同分支联结起来,形成一个统一的网络。基于MPLSVPN还支持对不同VPN间的互通控制。MPLSVPN中各设备的角色:

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

PEProvider Edge)是服务商边缘路由器,位于骨干网络。

PProvider),是服务提供商网络中的骨干路由器,不与CE直接相连。

基于MPLSVPN具有以下特点:

  1. P设备只需要具备基本MPLS转发能力,可以将其配置为M-BGP路由反射器,不维护VPN信息。

  2. PE负责对VPN用户进行管理、建立各PELSP连接、同一VPN用户各分支间路由分派。

  3. PE间的路由分派通常是用LDP或扩展的BGP协议实现。

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

  5. 减化了寻路步骤,提高了设备性能,加快了报文转发。

2)基于MPLSQoS  基于MPLS的流量工程和差分服务Diff-Serv特性,在保证网络高利用率的同时,可以根据不同数据流的优先级实现差别服务,从而为语音,视频数据流提供有带宽保证的低延时、低丢包率的服务。由于全网实施流量工程的难度比较大,因此,在实际的组网方案中往往通过差分服务模型来实施QoSDiff-Serv的基本机制是在网络边缘,根据业务的服务质量要求将该业务映射到一定的业务类别中,利用IP分组中的DSDifferentiated Service)字段(由ToS域而来)唯一的标记该类业务;然后,骨干网络中的各节点根据该字段对各种业务采取预先设定的服务策略,保证相应的服务质量。Diff-Serv对服务质量的分类和标签机制与MPLS的标签分配十分相似,事实上,基于MPLSDiff-Serv就是通过将DS的分配与MPLS的标签分配过程结合来实现的。

 

 

 

实验一、MPLS基础之认识LDP

CCNP路由实验之十二 MPLS_第1张图片

LER1配置:

LER1#conft

LER1(config)#intlo 0

LER1(config-if)#ipadd 1.1.1.1 255.255.255.255

LER1(config-if)#exit

LER1(config)#intfa0/0

LER1(config-if)#ipadd 192.168.12.1 255.255.255.0

LER1(config-if)#mplsip //在接口下开启mpls

LER1(config-if)#mplsmtu 1600 //修改MTU

LER1(config-if)#nosh

LER1(config-if)#exit

LER1(config)#intfa0/1

LER1(config-if)#ipadd 192.168.13.1 255.255.255.0

LER1(config-if)#mplsip

LER1(config-if)#mplsmtu 1600

LER1(config-if)#nosh

LER1(config-if)#exit

LER1(config)#routerospf 1

LER1(config-router)#network0.0.0.0 255.255.255.255 area 0

LER1(config-router)#default-informationoriginate always //发布默认路由

LER1(config-router)#exit

LER1(config)#iproute 0.0.0.0 0.0.0.0 null0 //添加一个空接口的默认路由

LER1(config)#ipcef //必须全局开启CEF

LER1(config)#mplsip //全局开启mpls,可以不用输入默认开启

LER1(config)#mplsip propagate-ttl//开启MPLSTTL复制

LER1(config)#mplsldp loop-detection //开启环路保护

LER1(config)#mplsldp maxhops 30 //设置环路检测最大跳数为30

LER1(config)#mplslabel range 110 119//设置MPLS的标签范围

LER1(config)#mplsip default-route //MPLS为发布的默认路由添加标签

LER1(config)#mplsldp router-id loopback 0 force //手动强制指定ldp中的路由ID

LER1(config)#mplsldp neighbor 4.4.4.4 targeted ldp //在非直连情况下指定LER2为邻居

LER1(config)#mplsldp neighbor 4.4.4.4 password kkfloat//使用MD5验证与LER2建立邻居关系

LER1(config)#mplsldp discovery hello holdtime 10//修改LDPholdtime间隔为10

LER1(config)#mplsldp discovery hello interval 2 //修改LDPHello的间隔为2

LER1(config)#mplslabel protocol ldp //指定mpls使用ldp标签分发协议

 

LSR2配置:

LSR2#conft

LSR2(config)#intlo 0

LSR2(config-if)#ipadd 2.2.2.2 255.255.255.255

LSR2(config-if)#exit

LSR2(config)#intfa0/0

LSR2(config-if)#ipadd 192.168.12.2 255.255.255.0

LSR2(config-if)#mpls mtu 1600

LSR2(config-if)#mplsip

LSR2(config-if)#nosh

LSR2(config-if)#exit

LSR2(config)#intfa0/1

LSR2(config-if)#ipadd 192.168.24.2 255.255.255.0

LSR2(config-if)#mplsmtu 1600

LSR2(config-if)#mplsip

LSR2(config-if)#nosh

LSR2(config-if)#exit

LSR2(config)#routerospf 1

LSR2(config-router)#net0.0.0.0 255.255.255.255 area 0

LSR2(config-router)#exit

LSR2(config)#ipcef

LSR2(config)#mplsip

LSR2(config)#mpls ldp loop-detection

LSR2(config)#mpls ldp maxhops 30

LSR2(config)#mplslabel range 200 300

LSR2(config)#mplsip default-route

LSR2(config)#mplsldp router-id loopback 0 force

LSR2(config)#mplsldp discovery hello holdtime 10

LSR2(config)#mplsldp discovery hello interval 2

LSR2(config)#mplslabel protocol ldp

 

LSR3配置:

LSR3#conft

LSR3(config)#intlo 0

LSR3(config-if)#ipadd 3.3.3.3 255.255.255.255

LSR3(config-if)#exit

LSR3(config)#intfa0/0

LSR3(config-if)#ipadd 192.168.13.3 255.255.255.0

LSR3(config-if)#mplsip

LSR3(config-if)#mplsmtu 1600

LSR3(config-if)#nosh

LSR3(config-if)#exit

LSR3(config)#intfa0/1

LSR3(config-if)#ipadd 192.168.34.3 255.255.255.0

LSR3(config-if)#mplsmtu 1600

LSR3(config-if)#mplsip

LSR3(config-if)#nosh

LSR3(config-if)#exit

LSR3(config)#routerospf 1

LSR3(config-router)#network0.0.0.0 255.255.255.255 area 0

LSR3(config-router)#exit

LSR3(config)#ipcef

LSR3(config)#mplsip

LSR3(config)#mpls ldp loop-detection

LSR3(config)#mpls ldp maxhops 30

LSR3(config)#mplslabel range 300 399

LSR3(config)#mplsip default-route

LSR3(config)#mplsldp router-id loopback 0 force

LSR3(config)#mplsldp discovery hello holdtime 10

LSR3(config)#mplsldp discovery hello interval 2

LSR3(config)#mplslabel protocol ldp

 

LER2配置:

LER2#conft

LER2(config)#intlo 0

LER2(config-if)#ipadd 4.4.4.4 255.255.255.255

LER2(config-if)#exit

LER2(config)#intfa0/0

LER2(config-if)#ipadd 192.168.24.4 255.255.255.0

LER2(config-if)#mplsmtu 1600

LER2(config-if)#mplsip

LER2(config-if)#nosh

LER2(config-if)#exit

LER2(config)#intfa0/1

LER2(config-if)#mplsmtu 1600

LER2(config-if)#ipadd 192.168.34.4 255.255.255.0

LER2(config-if)#mplsip

LER2(config-if)#exit

LER2(config)#intfa0/1

LER2(config-if)#nosh

LER2(config-if)#exit

LER2(config)#routerospf 1

LER2(config-router)#network0.0.0.0 255.255.255.255 area 0

LER2(config-router)#exit

LER2(config)#ipcef

LER2(config)#mplsip

LER2(config)#mpls ldp loop-detection

LER2(config)#mpls ldp maxhops 30

LER2(config)#mplslabel range 400 499

LER2(config)#mplsip default-route

LER2(config)#mplsldp router-id loopback 0 force

LER2(config)#mplsldp neighbor 1.1.1.1 targeted ldp

LER2(config)#mplsldp neighbor 1.1.1.1 password kkfloat

LER2(config)#mplsldp discovery hello holdtime 10

LER2(config)#mplsldp discovery hello interval 2

LER2(config)#mplslabel protocol ldp

 

配置完成查看状态:

LER2#shmpls ldp neighbor  //查看LDP邻居信息

    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident4.4.4.4:0

        TCP connection: 3.3.3.3.646 -4.4.4.4.23820

        State: Oper; Msgs sent/rcvd: 31/32;Downstream

        Up time: 00:14:41

        LDP discovery sources:

          FastEthernet0/1, Src IP addr:192.168.34.3

        Addresses bound to peer LDP Ident:

          192.168.13.3    3.3.3.3         192.168.34.3

    Peer LDP Ident: 2.2.2.2:0; Local LDP Ident4.4.4.4:0

        TCP connection: 2.2.2.2.646 -4.4.4.4.39557

        State: Oper; Msgs sent/rcvd: 31/31;Downstream

        Up time: 00:14:41

        LDP discovery sources:

          FastEthernet0/0, Src IP addr:192.168.24.2

        Addresses bound to peer LDP Ident:

          192.168.12.2    2.2.2.2         192.168.24.2

    PeerLDP Ident: 1.1.1.1:0; Local LDP Ident 4.4.4.4:0

        TCP connection: 1.1.1.1.646 -4.4.4.4.46138

        State: Oper; Msgs sent/rcvd: 30/29;Downstream

        Up time: 00:14:19

        LDP discovery sources:

          Targeted Hello 4.4.4.4 -> 1.1.1.1,active, passive

        Addresses bound to peer LDP Ident:

          1.1.1.1         192.168.12.1    192.168.13.1

 

LER2#shmpls forwarding-table //查看mpls LFIB 信息

Local  Outgoing   Prefix            Bytes tag  Outgoing  Next Hop

tag    tag or VC  or Tunnel Id      switched   interface

400    Pop tag    3.3.3.3/32        0          Fa0/1      192.168.34.3

401    Pop tag    2.2.2.2/32        0          Fa0/0      192.168.24.2

402    Pop tag    192.168.12.0/24   0          Fa0/0      192.168.24.2

403    Pop tag    192.168.13.0/24   0          Fa0/1      192.168.34.3

404    304        1.1.1.1/32        0          Fa0/1      192.168.34.3

       204         1.1.1.1/32        0          Fa0/0      192.168.24.2

405    305        0.0.0.0/0         0          Fa0/1      192.168.34.3

       205         0.0.0.0/0         0          Fa0/0      192.168.24.2

 

LER2#shmpls ldp bindings // 查看FIB信息

  tib entry: 0.0.0.0/0, rev 20

        local binding:  tag: 405

        remote binding: tsr: 1.1.1.1:0, tag:imp-null

        remote binding: tsr: 2.2.2.2:0, tag:205

        remote binding: tsr: 3.3.3.3:0, tag:305

  tib entry: 1.1.1.1/32, rev 16

        local binding:  tag: 404

        remote binding: tsr: 3.3.3.3:0, tag:304

        remote binding: tsr: 2.2.2.2:0, tag:204

        remote binding: tsr: 1.1.1.1:0, tag:imp-null

  tib entry: 2.2.2.2/32, rev 10

        local binding:  tag: 401

        remote binding: tsr: 3.3.3.3:0, tag:301

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

        remote binding: tsr: 1.1.1.1:0, tag:112

  tib entry: 3.3.3.3/32, rev 8

        local binding:  tag: 400

        remote binding: tsr: 3.3.3.3:0, tag:imp-null

        remote binding: tsr: 2.2.2.2:0, tag:201

        remote binding: tsr: 1.1.1.1:0, tag:111

  tib entry: 4.4.4.4/32, rev 4

        local binding:  tag: imp-null

        remote binding: tsr: 3.3.3.3:0, tag:300

        remote binding: tsr: 2.2.2.2:0, tag:200

        remote binding: tsr: 1.1.1.1:0, tag:110

  tib entry: 192.168.12.0/24, rev 12

        local binding:  tag: 402

        remote binding: tsr: 3.3.3.3:0, tag:303

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

        remote binding: tsr: 1.1.1.1:0, tag:imp-null

  tib entry: 192.168.13.0/24, rev 14

        local binding:  tag: 403

        remote binding: tsr: 3.3.3.3:0, tag:imp-null

        remote binding: tsr: 2.2.2.2:0, tag:203

        remote binding: tsr: 1.1.1.1:0, tag:imp-null

  tib entry: 192.168.24.0/24, rev 5

        local binding:  tag: imp-null

        remote binding: tsr: 3.3.3.3:0, tag:302

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

        remote binding: tsr: 1.1.1.1:0, tag:113

  tib entry: 192.168.34.0/24, rev 6

        local binding:  tag: imp-null

        remote binding: tsr: 3.3.3.3:0, tag:imp-null

        remote binding: tsr: 2.2.2.2:0, tag:202

        remote binding: tsr: 1.1.1.1:0, tag:114

 

LER2#traceroute1.1.1.1 source 4.4.4.4 //追踪路由

Typeescape sequence to abort.

Tracingthe route to 1.1.1.1

  1 192.168.34.3 [MPLS: Label 304 Exp 0] 72msec

    192.168.24.2 [MPLS: Label 204 Exp 0] 96msec

    192.168.34.3 [MPLS: Label 304 Exp 0] 56msec

  2 192.168.12.1 76 msec

    192.168.13.1 36 msec

192.168.12.1 72 msec



实验二、MPLS基础之标签过滤

CCNP路由实验之十二 MPLS_第2张图片

LER1配置:

LER1#conft

LER1(config)#intlo 0

LER1(config-if)#ipadd 1.1.1.1 255.255.255.255

LER1(config-if)#exit

LER1(config)#intfa0/0

LER1(config-if)#ipadd 192.168.12.1 255.255.255.0

LER1(config-if)#mplsip

LER1(config-if)#nosh

LER1(config-if)#exit

LER1(config)#routerospf 1

LER1(config-router)#net0.0.0.0 255.255.255.255 area 0

LER1(config-router)#exit

LER1(config)#access-list1 deny 192.168.12.0

LER1(config)#access-list1 deny 192.168.23.0

LER1(config)#access-list1 deny 2.2.2.2

LER1(config)#access-list1 permit any

LER1(config)#ipcef

LER1(config)#mplsip

LER1(config)#mplslabel range 100 120//设置MPLS标签范围

LER1(config)#mplslabel protocol ldp //设置mpls标签分发协议ldp

LER1(config)#nompls ldp advertise-labels//清除所有通告的Tag标签

LER1(config)#mplsldp advertise-labels for 1//ACL应用于标签通告达到过滤效果

 

LSR配置:

LSR#conf t

LSR(config)#intlo 0

LSR(config-if)#ipadd 2.2.2.2 255.255.255.255

LSR(config-if)#exit

LSR(config)#intfa0/0

LSR(config-if)#ipadd 192.168.12.2 255.255.255.0

LSR(config-if)#mplsip

LSR(config-if)#nosh

LSR(config-if)#exit

LSR(config)#intfa0/0

LSR(config-if)#ipadd 192.168.23.2 255.255.255.0

LSR(config-if)#mplsip

LSR(config-if)#nosh

LSR(config-if)#exit

LSR(config)#intfa0/0

LSR(config-if)#ipadd 192.168.12.2 255.255.255.0

LSR(config-if)#exit

LSR(config)#intfa0/1

LSR(config-if)#ipadd 192.168.23.2 255.255.255.0

LSR(config-if)#mplsip

LSR(config-if)#nosh

LSR(config-if)#exit

LSR(config)#routerospf 1

LSR(config-router)#net0.0.0.0 255.255.255.255 area 0

LSR(config-router)#exit

LSR(config)#access-list1 deny 192.168.12.0

LSR(config)#access-list1 deny 192.168.23.0

LSR(config)#access-list1 deny 2.2.2.2

LSR(config)#access-list1 permit any

LSR(config)#ipcef

LSR(config)#mplsip

LSR(config)#mplslabel range 200 210

LSR(config)#mplslabel protocol ldp

LSR(config)#nompls ldp advertise-labels

LSR(config)#mplsldp advertise-labels for 1

 

LSR2配置:

LER3#conft

LER3(config)#intlo 0

LER3(config-if)#ipadd 3.3.3.3 255.255.255.255

LER3(config-if)#exit

LER3(config)#intfa0/0

LER3(config-if)#ipadd 192.168.23.3 255.255.255.0

LER3(config-if)#mplsip

LER3(config-if)#nosh

LER3(config-if)#exit

LER3(config)#routerospf 1

LER3(config-router)#net0.0.0.0 255.255.255.255 area 0

LER3(config-router)#exit

LER3(config)#access-list1 deny 192.168.12.0

LER3(config)#access-list1 deny 192.168.23.0

LER3(config)#access-list1 deny 2.2.2.2

LER3(config)#access-list1 permit any

LER3(config)#ipcef

LER3(config)#mplsip

LER3(config)#mplslabel range 300 310

LER3(config)#mplslabel protocol ldp

LER3(config)#nompls ldp advertise-labels

LER3(config)#mplsldp advertise-labels for 1

 

配置完成观察效果:

LER1#sh ipcef 3.3.3.3 //转发信息库,这是开启CEF后形成的一个表,这个表结合了路由表,ARP表,它使得数据包转发的时候不需要再查询路由表,不再需要递归路由查询,直接根据FIB转发即可

3.3.3.3/32,version 9, epoch 0, cached adjacency 192.168.12.2

0 packets,0 bytes

  tag information set

    local tag: 100

    fast tag rewrite with Fa0/0, 192.168.12.2,tags imposed: {200}

  via 192.168.12.2, FastEthernet0/0, 0dependencies

    next hop 192.168.12.2, FastEthernet0/0

    valid cached adjacency

tag rewrite with Fa0/0, 192.168.12.2, tags imposed: {200}

 

LER1#shmpls forwarding-table //看(LFIB)标签转发信息库,只在执行标签交换时被查询

Local  Outgoing   Prefix            Bytes tag  Outgoing  Next Hop

tag    tag or VC  or Tunnel Id      switched   interface

100    200        3.3.3.3/32        0          Fa0/0      192.168.12.2

101    Untagged   2.2.2.2/32        0          Fa0/0      192.168.12.2

102    Untagged   192.168.23.0/24   0          Fa0/0      192.168.12.2

 

LER1#shmpls ldp bindings // LIB标签信息库,这张表里面保存了FEC对应的所有标签信息

  tib entry: 1.1.1.1/32, rev 4

        local binding:  tag: imp-null

        remote binding: tsr: 2.2.2.2:0, tag:201

  tib entry: 2.2.2.2/32, rev 8

        local binding:  tag: 101

  tib entry: 3.3.3.3/32, rev 6

        local binding:  tag: 100

        remote binding: tsr: 2.2.2.2:0, tag:200

  tib entry: 192.168.12.0/24, rev 3

        local binding:  tag: imp-null

  tib entry: 192.168.23.0/24, rev 10

        local binding:  tag: 102

 

LER1#traceroute3.3.3.3 source 1.1.1.1//追踪路由

Typeescape sequence to abort.

Tracingthe route to 3.3.3.3

  1 192.168.12.2 [MPLS: Label 200 Exp 0] 80msec 76 msec 40 msec

  2 192.168.23.3 68 msec 40 msec 68 msec

 

 

 

实验三、MPLS之帧模式(Frame Mode

CCNP路由实验之十二 MPLS_第3张图片

R1配置:

R1#conf t

R1(config)#intlo 0

R1(config-if)#ipadd 1.1.1.1 255.255.255.255

R1(config-if)#exit

R1(config)#intfa0/0

R1(config-if)#ipadd 192.168.12.1 255.255.255.0

R1(config-if)#mplsip

R1(config-if)#nosh

R1(config-if)#exit

R1(config)#routerospf 1

R1(config-router)#net0.0.0.0 255.255.255.255 area 0

R1(config-router)#exit

R1(config)#ipcef

R1(config)#mplslabel protocol ldp

 

R2配置:

R2#conf t

R2(config)#intlo 0

R2(config-if)#ipadd 2.2.2.2 255.255.255.255

R2(config-if)#exit

R2(config)#intfa0/0

R2(config-if)#ipadd 192.168.12.2 255.255.255.0

R2(config-if)#mplsip

R2(config-if)#nosh

R2(config-if)#exit

R2(config)#intfa0/1

R2(config-if)#ipadd 192.168.23.2 255.255.255.0

R2(config-if)#mplsip

R2(config-if)#nosh

R2(config-if)#exit

R2(config)#routeros

R2(config)#routerospf 1

R2(config-router)#net0.0.0.0 255.255.255.255 area 0

R2(config-router)#exit

R2(config)#ipcef

R2(config)#mplsip

R2(config)#mplslabel protocol ldp

 

R3配置:

R3#conf t

R3(config)#intlo 0

R3(config-if)#ipadd 3.3.3.

R3(config-if)#ipadd 3.3.3.3 255.255.255.255

R3(config-if)#exit

R3(config)#intfa0/0

R3(config-if)#ipadd 192.168.23.3 255.255.255.0

R3(config-if)#mplsip

R3(config-if)#nosh

R3(config-if)#exit

R3(config)#routerospf 1

R3(config-router)#net0.0.0.0 255.255.255.255 area 0

R3(config-router)#exit

R3(config)#ipcef

R3(config)#mplsip

R3(config)#mplslabel protocol ldp

 

配置完成,测试网络,并查看MPLS表项:

R1#traceroute3.3.3.3 source loopback 0

Typeescape sequence to abort.

Tracing theroute to 3.3.3.3

  1 192.168.12.2 [MPLS: Label 17 Exp 0] 92 msec120 msec 64 msec

  2 192.168.23.3 68 msec 76 msec 56 msec

 

R1#sh mplsforwarding-table

Local  Outgoing   Prefix            Bytes tag  Outgoing  Next Hop

tag    tag or VC  or Tunnel Id      switched   interface

16     Pop tag    2.2.2.2/32        0          Fa0/0      192.168.12.2

17     Pop tag    192.168.23.0/24   0          Fa0/0      192.168.12.2

18     17         3.3.3.3/32        0          Fa0/0      192.168.12.2

 

R1#sh mplsldp bindings

  tib entry: 1.1.1.1/32, rev 4

        local binding:  tag: imp-null

        remote binding: tsr: 2.2.2.2:0, tag: 16

  tib entry: 2.2.2.2/32, rev 6

        local binding:  tag: 16

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

  tib entry: 3.3.3.3/32, rev 10

        local binding:  tag: 18

        remote binding: tsr: 2.2.2.2:0, tag: 17

  tib entry: 192.168.12.0/24, rev 3

        local binding:  tag: imp-null

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

  tib entry: 192.168.23.0/24, rev 8

        local binding:  tag: 17

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

 

R3#sh mplsldp bindings

  tib entry: 1.1.1.1/32, rev 8

        local binding:  tag: 17

        remote binding: tsr: 2.2.2.2:0, tag: 16

  tib entry: 2.2.2.2/32, rev 6

        local binding:  tag: 16

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

  tib entry: 3.3.3.3/32, rev 2

        local binding:  tag: imp-null

        remote binding: tsr: 2.2.2.2:0, tag: 17

  tib entry: 192.168.12.0/24, rev 10

        local binding:  tag: 18

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

  tib entry: 192.168.23.0/24, rev 4

        local binding:  tag: imp-null

        remote binding: tsr: 2.2.2.2:0, tag:imp-null

 

R3#sh mplsforwarding-table

Local  Outgoing   Prefix            Bytes tag  Outgoing  Next Hop

tag    tag or VC  or Tunnel Id      switched   interface

16     Pop tag    2.2.2.2/32        0          Fa0/0      192.168.23.2

17     16         1.1.1.1/32        0          Fa0/0      192.168.23.2

18     Pop tag    192.168.12.0/24   0          Fa0/0      192.168.23.2

 

结论:

  1. 帧模式的标签分配原则是:independantcontrol独立控制,即不管是否能收到邻居传递过来的标签,都会对本地前缀分配标签;

  2. 帧模式的标签分发原则是:下游自主,即不管你有没有用到我发给你的标签,只要建立了邻居关系,我都会把我本地的标签发给你。这里的上下游是指数据转发的上下游。

  3. 帧模式的标签保留原则是:自由,即谁分配的标签谁保留。

  4. 帧模式的标签保存:将邻居传递过来的标签保存在LFIB里面,同时保存在FIB里面

 

 

 

 

 

实验四、MPLS AtoM 之一 Pseudowire Ethernet over MPLS(EoMPLS/L2VPN)

CCNP路由实验之十二 MPLS_第4张图片

CE1配置:

CE1#conf t

CE1(config)#intfa0/0

CE1(config-if)#ipadd 192.168.0.10 255.255.255.0

CE1(config-if)#nosh

CE1(config-if)#exit

 

CE2配置:

CE2#conf t

CE2(config)#intfa0/0

CE2(config-if)#ipadd 192.168.0.11 255.255.255.0

CE2(config-if)#nosh

CE2(config-if)#exit

 

PE1配置:

PE1#conf t

PE1(config)#intlo 0

PE1(config-if)#ipadd 1.1.1.1 255.255.255.255

PE1(config-if)#exit

PE1(config)#intfa0/0

PE1(config-if)#noip address

PE1(config-if)#xconnect3.3.3.3 100 encapsulation mpls

PE1(config-if-xconn)#exit

PE1(config-if)#nosh

PE1(config)#intfa0/1

PE1(config-if)#ipadd 192.168.12.1 255.255.255.0

PE1(config-if)#mplsip

PE1(config-if)#nosh

PE1(config-if)#exit

PE1(config)#routerospf 1

PE1(config-router)#net0.0.0.0 255.255.255.255 area 0

PE1(config-router)#passive-interfacefastEthernet 0/0

PE1(config-router)#exit

PE1(config)#ipcef

PE1(config)#mplsip

PE1(config)#mplslabel protocol ldp

 

P配置:

P#conf t

P(config)#intlo 0

P(config-if)#ipadd 2.2.2.2 255.255.255.255

P(config-if)#exit

P(config)#intfa0/0

P(config-if)#ipadd 192.168.12.2 255.255.255.0

P(config-if)#mplsip

P(config-if)#nosh

P(config-if)#exit

P(config)#interfacefa0/1

P(config-if)#ipadd 192.168.23.2 255.255.255.0

P(config-if)#mplsip

P(config-if)#nosh

P(config-if)#exit

P(config)#routerospf 1

P(config-router)#net0.0.0.0 255.255.255.255 area 0

P(config-router)#exit

P(config)#ipcef

P(config)#mplsip

P(config)#mplslabel pro ldp

 

PE2配置:

PE2#conf t

PE2(config)#intlo 0

PE2(config-if)#ipadd 3.3.3.3 255.255.255.255

PE2(config-if)#exit

PE2(config)#intfa0/0

PE2(config-if)#noip address

PE2(config-if)#xconnect1.1.1.1 100 encapsulation mpls

PE2(config-if-xconn)#exit

PE2(config-if)#nosh

PE2(config)#intfa0/1

PE2(config-if)#ipadd 192.168.23.3 255.255.255.0

PE2(config-if)#mplsip

PE2(config-if)#nosh

PE2(config-if)#exit

PE2(config)#routerospf 1

PE2(config-router)#net0.0.0.0 255.255.255.255 area 0

PE2(config-router)#passive-interfacefastEthernet 0/0

PE2(config-router)#exit

PE2(config)#ipcef

PE2(config)#mplsip

PE2(config)#mplslabel protocol ldp

 

配置完成,检查网络

PE1#sh iprou ospf

     2.0.0.0/32 is subnetted, 1 subnets

O       2.2.2.2 [110/11] via 192.168.12.2,00:07:35, FastEthernet0/1

     3.0.0.0/32 is subnetted, 1 subnets

O       3.3.3.3 [110/21] via 192.168.12.2,00:07:35, FastEthernet0/1

O    192.168.23.0/24 [110/20] via 192.168.12.2,00:07:35, FastEthernet0/1

 

CE1#traceroute192.168.0.11

Typeescape sequence to abort.

Tracingthe route to 192.168.0.11

1192.168.0.11 156 msec 108 msec 88 msec

 

PE1#shmpls l2transport vc detail

Localinterface: Fa0/0 up, line protocol up, Ethernet up

  Destination address: 3.3.3.3, VC ID: 100, VCstatus: up

    Next hop: 192.168.12.2

    Output interface: Fa0/1, imposed labelstack {18 19}

  Create time: 00:04:21, last status changetime: 00:04:15

  Signaling protocol: LDP, peer 3.3.3.3:0 up

    MPLS VC labels: local 19, remote 19

    Group ID: local 0, remote 0

    MTU: local 1500, remote 1500

    Remote interface description:

  Sequencing: receive disabled, send disabled

  VC statistics:

    packet totals: receive 38, send 38

    byte totals:   receive 3998, send 3985

    packet drops:  receive 0, seq error 0, send 0

 

PE1#shmpls forwarding-table

Local  Outgoing   Prefix            Bytes tag  Outgoing  Next Hop

tag    tag or VC  or Tunnel Id      switched   interface

16     Pop tag    2.2.2.2/32        0          Fa0/1      192.168.12.2

17     Pop tag    192.168.23.0/24   0          Fa0/1      192.168.12.2

18     18         3.3.3.3/32        0          Fa0/1      192.168.12.2

19                 l2ckt(100)        5466       none      point2point

 

 

 

 

实验五、MPLSAtoM 之二Pseudowire Frame-Relay over MPLS (FoMPLS/L2VPN)

CCNP路由实验之十二 MPLS_第5张图片

CE1配置:

CE1#conf t

CE1(config)#frame-relay switching

CE1(config)#int s1/0

CE1(config-if)#clock rate 64000

CE1(config-if)#encapsulation frame-relay

CE1(config-if)#frame-relay intf-type DTE

CE1(config-if)#frame-relayinterface-dlci 102

CE1(config-fr-dlci)#exit

CE1(config-if)#ip add 12.12.12.1255.255.255.0

CE1(config-if)#no sh

CE1(config-if)#exit

 

CE2配置:

CE2#conf t

CE2(config)#frame-relay switching

CE2(config)#int s1/0

CE2(config-if)#clock rate 64000

CE2(config-if)#encapsulation frame-relay

CE2(config-if)#frame-relay intf-type DTE

CE2(config-if)#frame-relayinterface-dlci 201

CE2(config-fr-dlci)#exit

CE2(config-if)#ip add 12.12.12.2255.255.255.0

CE2(config-if)#no sh

CE2(config-if)#exit

 

 

PE1配置:

PE1#conf t

PE1(config)#int lo 0

PE1(config-if)#ip add 1.1.1.1255.255.255.255

PE1(config-if)#exit

PE1(config)#int fa0/0

PE1(config-if)#ip add 192.168.12.1255.255.255.0

PE1(config-if)#mpls ip

PE1(config-if)#no sh

PE1(config-if)#exit

PE1(config-if)#exit

PE1(config)#fram

PE1(config)#frame-relay switching

PE1(config)#int s1/0

PE1(config-if)#clock rate 64000

PE1(config-if)#encapsulation frame-relay

PE1(config-if)#frame-relay intf-type dce

PE1(config-if)#no shutdown

PE1(config-if)#exit

PE1(config)#router ospf 1

PE1(config-router)#net 0.0.0.0255.255.255.255 area 0

PE1(config-router)#passive-interfaces1/0

PE1(config-router)#exit

PE1(config)#connect PE1-PE2 serial 1/0102 l2transport

PE1(config-fr-pw-switching)#xconnect3.3.3.3 12 encapsulation mpls

PE1(config-xconn)#exit

PE1(config-fr-pw-switching)#exit

PE1(config)#ip cef

PE1(config)#mpls ip

PE1(config)#mpls label protocol ldp

 

P配置:

P#conf t

P(config)#int lo 0

P(config-if)#ip add 2.2.2.2255.255.255.255

P(config-if)#exit

P(config)#int fa0/0

P(config-if)#ip add 192.168.12.2255.255.255.0

P(config-if)#mpls ip

P(config-if)#no sh

P(config-if)#exit

P(config)#int fa0/1

P(config-if)#ip add 192.168.23.2255.255.255.0

P(config-if)#mpls ip

P(config-if)#no sh

P(config-if)#exit

P(config)#router ospf 1

P(config-router)#net 0.0.0.0255.255.255.255 area 0

P(config-router)#exit

P(config)#ip cef

P(config)#mpls ip

P(config)#mpls label protocol  ldp

 

PE2配置:

PE2#conf t

PE2(config)#frame-relay switching

PE2(config)#int lo 0

PE2(config-if)#ip add 3.3.3.3 255.255.255.255

PE2(config-if)#exit

PE2(config)#int fa0/1

PE2(config-if)#ip add 192.168.23.3255.255.255.0

PE2(config-if)#mpls ip

PE2(config-if)#no sh

PE2(config-if)#exit

PE2(config)#router ospf 1

PE2(config-router)#net 0.0.0.0255.255.255.255 area 0

PE2(config-router)#passive-interfaces1/0

PE2(config-router)#exit

PE2(config)#int s1/0

PE2(config-if)#clock rate 64000

PE2(config-if)#encapsulation frame-relay

PE2(config-if)#frame-relay intf-type dce

PE2(config-if)#no sh

PE2(config-if)#exit

PE2(config)#connect PE2-PE1 serial 1/0201 l2transport

PE2(config-fr-pw-switching)#xconnect1.1.1.1 12 encapsulation  mpls

PE2(config-xconn)#exit

PE2(config-fr-pw-switching)#exit

PE2(config)#ip cef

PE2(config)#mpls ip

PE2(config)#mpls label protocol ldp

 

完成配置,检查状态:

CE1#traceroute 12.12.12.2

Type escape sequence to abort.

Tracing the route to 12.12.12.2

 1 12.12.12.2 152 msec 128 msec 120 msec

 

CE1#sh frame-relay map

Serial1/0 (up): ip 12.12.12.2 dlci102(0x66,0x1860), dynamic,

              broadcast,

              CISCO, status defined, active

 

CE1#sh frame-relay pvc

PVC Statistics for interface Serial1/0(Frame Relay DTE)

              Active     Inactive      Deleted       Static

 Local          1            0            0            0

 Switched       0            0            0            0

 Unused         0            0           0            0

DLCI = 102, DLCI USAGE = LOCAL, PVCSTATUS = ACTIVE, INTERFACE = Serial1/0

 input pkts 4             outputpkts 4            in bytes 214

 out bytes 130            droppedpkts 0           in pkts dropped 0

 out pkts dropped 0               out bytes dropped 0

 in FECN pkts 0           in BECNpkts 0           out FECN pkts 0

 out BECN pkts 0          in DEpkts 0             out DE pkts 0

 out bcast pkts 1         out bcastbytes 34

 5 minute input rate 0 bits/sec, 0 packets/sec

 5 minute output rate 0 bits/sec, 0 packets/sec

 pvc create time 00:59:02, last time pvc status changed 00:01:05

 

PE1#sh mpls l2transport vc detail

Local interface: Se1/0 up, line protocolup, FR DLCI 102 up

 Destination address: 3.3.3.3, VC ID: 12, VC status: up

   Next hop: 192.168.12.2

   Output interface: Fa0/0, imposed label stack {17 19}

 Create time: 00:48:54, last status change time: 00:08:33

 Signaling protocol: LDP, peer 3.3.3.3:0 up

   MPLS VC labels: local 19, remote 19

   Group ID: local 0, remote 0

   MTU: local 1500, remote 1500

   Remote interface description:

 Sequencing: receive disabled, send disabled

 VC statistics:

   packet totals: receive 4, send 4

   byte totals:   receive 238, send154

   packet drops:  receive 0, seqerror 0, send 0

 

PE1#sh mpls forwarding-table

Local Outgoing    Prefix            Bytes tag  Outgoing  Next Hop

tag   tag or VC   or Tunnel Id      switched  interface

16    Pop tag     2.2.2.2/32        0          Fa0/0      192.168.12.2

17    Pop tag     192.168.23.0/24   0         Fa0/0      192.168.12.2

18    17          3.3.3.3/32        0          Fa0/0      192.168.12.2

19                 l2ckt(12)         238        none       point2point

 

 

小结:

实验四和实验五的AToM是建设在MPLS网络的基础设施之上,在两个路由器的一对端口之间提供高速的二层透传。这种技术可以提供二层VPNMPLS L2VPN)用来解决端到端的问题,也可以用来实现传统网络的升级。AToM主要组成部分包括:PE路由器、标记分发协议(LDP)和MPLS标记交换隧道(LSPTunnel)。

PE路由器拥有并维护与其直接相连的二层透传的链路信息。PE路由器负责将VPN客户的普通数据包打上标记和去除标记,因此PE路由器必须是一个边缘标记交换路由器。

在两个PE路由器之间实现二层透传的两个端口必须是相同的类型,例如以太网、VLANATMVC、帧中继VCHDLCPPP。每一对这样的端口用一个唯一的虚拟链路标志(VCID)来表示。

在两个PE路由器之间要定义穿过MPLS网络的LSP隧道,LSP隧道提供了隧道标记(TunnelLabel),在两个PE路由器之间透传数据。同时在两个PE路由器之间还要定义直接的标记分发协议进程,用来传递虚拟链路的信息,其中最关键的是通过匹配VCID来分发虚拟链路标记(VCLabel)。

当二层透传的端口有数据包进入PE路由器时,PE路由器通过匹配VCID找到与之对应的隧道标记和虚拟链路标记。PE路由器会将此数据包打上两层标记,其中外层标记为隧道标记,指示从该PE路由器到目的PE路由器的路径;内层标记为虚拟链路标记,指示在目的PE路由器上属于哪个VCID对应的路由器端口。注意,PE路由器要监视各自端口上的二层协议状态,如帧中继的LMIATMILMI。当出现故障时,通过标记分发协议进程来取消虚拟链路标记,从而断开此二层透传,避免产生单向无用数据流。

这种基于MPLS的二层透传方式,改变了传统的二层链路必须通过交换网络实现的限制,它从根本上形成了“一个网多种业务”的业务模式,让运营商可以在一个MPLS网络中同时提供二层业务和三层业务。基于二层透传技术的是二层VPN。现在,二层VPN的各项标准正处于IETF起草阶段,主要包括针对点到点服务的虚拟私用线路服务(VPWS)和针对多点服务的虚拟私用局域网服务(VPLS)。这两种二层VPN都采用以AToM为基础的数据层面,在控制层面上增加自动发现和自动配置等多种功能,相对于MPLS L3VPNMPLS L2VPN具有以下优点:

    1. 可扩展性强:MPLS L2VPN只建立二层连接关系,不引入和管理用户的路由信息。这大大减轻了PEProvider Edge,服务提供商边缘设备)甚至整个SPService Provider,服务提供商)网络的负担,使服务提供商能支持更多的VPN和接入更多的用户。

    2. 可靠性和私网路由的安全性得到保证:由于不引入用户的路由信息,MPLS L2VPN不能获得和处理用户路由,保证了用户VPN路由的安全。

    3. 支持多种网络层协议:包括IPIPXSNA等。

 


实验六、MPLS L3VPN之认识VRF Routing

在基于IP的计算机网络中,虚拟路由和转发(VRF)是一种技术,同时被称为VPN路由转发表它允许在同一台路由器上同时并存多个路由表的实例。这增加了网络路径分段的功能,而无需使用多个设备。因为流量是自动隔离,VRF也增加了网络的安全性,并且可以不再需要加密和认证。互联网服务提供商(ISP)通常采取的VRF的优势,创建单独的虚拟专用网络(VPN)客户;因而该技术也被称为VPN路由和转发。因为路由实例是独立的,相同的或重叠的IP地址可以被使用而不互相冲突。 VRF每一个路由实例拥有不同的路由表[来源请求]被称为转发信息库(FIB),它相当于一台网络设备。换句话说,在同一网络设备上可以配置多个不同的虚拟路由器实例,其中每一个实例都有其自身的FIB库,并且每个虚拟路由器实例间独立不可互相访问。此时每个路由器维护一个或多个VRF,并且同时维护一个公网的路由表(也叫全局路由表)。每一个VRF可以看作一台虚拟的路由器,该虚拟路由器包括如下元素:

  1. 一张独立的路由表/转发表,当然也包括了独立的地址空间。

  2. 一组归属于这个VRF的接口集合。

  3. 一组只用于本VRF的路由协议。

  CCNP路由实验之十二 MPLS_第6张图片

CE1配置:

CE1#conf t

CE1(config)#int fa0/0

CE1(config-if)#ip add 192.168.1.2255.255.255.0

CE1(config-if)#no sh

CE1(config-if)#exit

CE1(config)#ip route 0.0.0.0 0.0.0.0192.168.1.1

 

CE2配置:

CE2#conf t

CE2(config)#int fa0/0

CE2(config-if)#ip add 192.168.1.2255.255.255.0

CE2(config-if)#no sh

CE2(config-if)#exit

CE2(config)#ip route 0.0.0.0 0.0.0.0192.168.1.1

 

PE配置:

PE#conf t

PE(config)#ip vrf CE1//创建虚拟路由转发表CE1

PE(config-vrf)#exit

PE(config)#ip vrf CE2//创建虚拟路由转发表CE2

PE(config-vrf)#exit

PE(config)#int fa0/0

PE(config-if)#ip vrf forwarding CE1 //把接口添加到对应虚拟路由转发表

PE(config-if)#ip add 192.168.1.1255.255.255.0

PE(config-if)#no sh

PE(config-if)#exit

PE(config)#int fa0/1

PE(config-if)#ip vrf forwarding CE2//把接口添加到对应虚拟路由转发表

PE(config-if)#ip add 192.168.1.1255.255.255.0

PE(config-if)#no sh

PE(config-if)#exit

PE(config)#int fa1/0

PE(config-if)#ip vrf forwarding CE1 //

PE(config-if)#ip add 100.100.100.1255.255.255.0

PE(config-if)#no sh

PE(config-if)#exit

PE(config)#int fa2/0

PE(config-if)#ip vrf forwarding CE2

PE(config-if)#ip add 200.200.200.1255.255.255.0

PE(config-if)#no sh

PE(config-if)#exit

PE(config)#

PE(config)#router ospf 1 vrf CE1 //CE1虚拟路由表中开启OSPF路由协议

PE(config-router)#net 0.0.0.0  255.255.255.255 area 0

PE(config-router)#passive-interfacefa0/0

PE(config-router)#exit

PE(config)#router ospf 2 vrf CE2  //CE2虚拟路由表中开启OSPF路由协议

PE(config-router)#net 0.0.0.0255.255.255.255 area 0

PE(config-router)#passive-interfacefa0/1

PE(config-router)#exit                                

 

ISP1配置:

ISP1#conf t

ISP1(config)#int fa0/0

ISP1(config-if)#ip add 100.100.100.2255.255.255.0

ISP1(config-if)#no sh

ISP1(config-if)#exit

ISP1(config)#router ospf 1

ISP1(config-router)#exit

ISP1(config)#int lo0

ISP1(config-if)#ip add 1.1.1.1255.255.255.255

ISP1(config-if)#exit

ISP1(config)#router ospf 1

ISP1(config-router)#net 0.0.0.0255.255.255.255 area 0

ISP1(config-router)#exit

PE(config)#iproute vrf CE1 0.0.0.0 0.0.0.0 100.100.100.2

PE(config)#iproute vrf CE2 0.0.0.0 0.0.0.0 200.200.200.2    

 

ISP2配置:

ISP2#conf t

ISP2(config)#intfa0/0

ISP2(config-if)#ipadd 200.200.200.2 255.255.255.0

ISP2(config-if)#nosh

ISP2(config-if)#exit

ISP2(config)#intlo 0

ISP2(config-if)#ipadd 2.2.2.2 255.255.255.0

ISP2(config-if)#exit

ISP2(config)#routerospf 1

ISP2(config-router)#net0.0.0.0 255.255.255.255 area 0

ISP2(config-router)#exit

ISP2(config)#

 

配置完成,检查测试:

CE1#ping 192.168.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to192.168.1.1, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5),round-trip min/avg/max = 20/37/76 ms

 

CE2#ping 192.168.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to192.168.1.1, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5),round-trip min/avg/max = 20/35/64 ms

 

PE#sh ip rou //全局路由表为空

Codes: C - connected, S - static, R -RIP, M - mobile, B - BGP

      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

      E1 - OSPF external type 1, E2 - OSPF external type 2

      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

      ia - IS-IS inter area, * - candidate default, U - per-user static route

      o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

 

PE#sh ip rou vrf CE1 //查看CE1虚拟路由表

Routing Table: CE1

Codes: C - connected, S - static, R -RIP, M - mobile, B - BGP

      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

      E1 - OSPF external type 1, E2 - OSPF external type 2

      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

      ia - IS-IS inter area, * - candidate default, U - per-user static route

      o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

    1.0.0.0/32 is subnetted, 1 subnets

O      1.1.1.1 [110/2] via 100.100.100.2, 00:02:45, FastEthernet1/0

    100.0.0.0/24 is subnetted, 1 subnets

C      100.100.100.0 is directly connected, FastEthernet1/0

C   192.168.1.0/24 is directly connected, FastEthernet0/0

S*  0.0.0.0/0 [1/0] via 100.100.100.2

 

PE#sh ip rou vrf CE2//查看CE2虚拟路由表

Routing Table: CE2

Codes: C - connected, S - static, R -RIP, M - mobile, B - BGP

      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

      E1 - OSPF external type 1, E2 - OSPF external type 2

      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

      ia - IS-IS inter area, * - candidate default, U - per-user static route

      o - ODR, P - periodic downloadedstatic route

Gateway of last resort is not set

C   200.200.200.0/24 is directly connected, FastEthernet2/0

    2.0.0.0/32 is subnetted, 1 subnets

O      2.2.2.2 [110/2] via 200.200.200.2, 00:02:39, FastEthernet2/0

C   192.168.1.0/24 is directly connected, FastEthernet0/1

S*  0.0.0.0/0 [1/0] via 200.200.200.2

 

 

 

 

实验七、MPLSVPNL3VPN)基本配置PE-CE运行RIP

VRF通常与MPLS VPN相联系 ,因为MPLSVPN的就是利用VRF实现路由隔离和信息隔离,在这样的网络中,MPLS封装被用来分割用户流量,每个用户维护一个独立的VRF。在VRF中有两个重要属性:

  1. RD(Route Distinguisher)是说明路由属于哪个VPN的标志。理论上可以为每个VRF配置一个RD,通常建议为每个VPNVRF都配置相同的RD,并且要保证这个RD全球唯一。如果两个VRF中存在相同的地址,但是由于RD不同,这两个路由在PE间发布过程中也不会混淆,因为MP BGPRD和路由一起发送,对端PE可以根据RD确定路由所属的VPN,从而把路由安装到正确的VRF中。RD并不会影响不同VRF之间的路由选择以及VPN的形成,这些事情由RT搞定。PECE接收的标准的路由是IPv4路由,如果需要发布给其他的PE路由器,此时需要为这条路由附加一个RD。在IPv4地址加上RD之后,就变成VPN-IPv4地址族了。VPN-IPv4地址仅用于服务供应商网络内部。在PE发布路由时添加,在PE接收路由后放在本地路由表中,用来与后来接收到的路由进行比较。CE不知道使用的是VPN-IPv4地址。 RD具有全局唯一性,通过将8byteRD作为IPv4地址前缀的扩展,使不唯一的IPv4地址转化为唯一的VPNv4地址

  2. RTRouteTargets),RT的本质是每个VRF表达自己的路由取舍及喜好的方式,主要用于控制VPN路由的发布和安装策略。在路由器中存在全局路由表、vrf 等,从全局路由表选择路由到vrf称为export导出;从vrf 中选择路由到全局路由表称为import。当从全局路由表中导出路由到vrf 时,要用Export RTVPN路由进行标记;在往全局路由导入VPNv4 路由时,只有所带RT 标记与VRF表中任意一个Import RT相符的路由才会被导入到全局路由表中。RT使得PE路由器只包含和其直接相连的VPN的路由,而不是全网所有ipv4 的路由,从而节省了PE路由器的资 源,提高了网络拓展性。在一个VRF中,在发布路由时使用RT export 规则。直接发送给其他的PE设备。在接收端的PE上,接收所有的路由,并根据每个VRF 配置的RT import 规则进行检查,如果与路由中的RT属性match,则将该路由加入到相应的VRFExport Target: 我这个VRF 发出的路由打上什么标记;Import Target:我这个VRF 接受什么标记的路由RT使用了BGP中扩展团体属性,用于路由信息的分发,具有全局惟一性,同一个RT只能被一个 VPN使用。注意:当本地Import RT与收到的exportRT一致时VRF才安装此路由

    CCNP路由实验之十二 MPLS_第7张图片

     

    CE1配置:

CE1#conf t

CE1(config)#int lo 0

CE1(config-if)#ip add 1.1.1.1255.255.255.255

CE1(config-if)#exit

CE1(config)#int fa0/0

CE1(config-if)#ip add 192.168.11.1255.255.255.0

CE1(config-if)#no sh

CE1(config-if)#exit

CE1(config)#router rip

CE1(config-router)#version 2

CE1(config-router)#no auto-summary

CE1(config-router)#net 0.0.0.0

CE1(config-router)#exit


PE1配置:

PE1#conf t

PE1(config)#ip cef

PE1(config)#mpls ip

PE1(config)#mpls ldp router-id loopback0

PE1(config)#mpls label protocol ldp

PE1(config)#ip vrf 1

PE1(config-vrf)#rd 100:1

PE1(config-vrf)#route-target both 1:100

PE1(config-vrf)#exit

PE1(config)#int lo 0

PE1(config-if)#ip add 2.2.2.2255.255.255.255

PE1(config-if)#exit

PE1(config)#int fa0/0

PE1(config-if)#ip vrf forwarding 1

PE1(config-if)#ip add 192.168.11.2255.255.255.0

PE1(config-if)#no sh

PE1(config-if)#exit

PE1(config)#int fa0/1

PE1(config-if)#mpls ip

PE1(config-if)#ip add 192.168.12.2255.255.255.0

PE1(config-if)#no sh

PE1(config-if)#exit

PE1(config)#router ospf 1

PE1(config-router)#net 0.0.0.0255.255.255.255 area 0

PE1(config-router)#exit

PE1(config)#router rip

PE1(config-router)#address-family ipv4vrf 1

PE1(config-router-af)#version 2

PE1(config-router-af)#net 0.0.0.0

PE1(config-router-af)#no auto-summary

PE1(config-router-af)#redistribute bgp 1metric transparent

PE1(config-router-af)#exit

PE1(config-router)#exit

PE1(config)#router bgp 1

PE1(config-router)#bgp router-id 2.2.2.2

PE1(config-router)#neighbor 4.4.4.4remote-as 1

PE1(config-router)#neighbor 4.4.4.4update-source loopback 0

PE1(config-router)#address-family v4

PE1(config-router-af)#neighbor 4.4.4.4activate

PE1(config-router-af)#neighbor 4.4.4.4send-community both

PE1(config-router-af)#exit

PE1(config-router)#address-family ipv4vrf 1

PE1(config-router-af)#redistribute rip

 

P配置:

P#conf t

P(config)#ip cef

P(config)#mpls ip

P(config)#mpls ldp router-id loopback 0

P(config)#mpls label protocol ldp

P(config)#int fa0/0

P(config)#int lo 0

P(config-if)#ip add 3.3.3.3255.255.255.255

P(config-if)#exit

P(config)#int fa0/0

P(config-if)#mpls ip

P(config-if)#ip add 192.168.12.3 255.255.255.0

P(config-if)#no sh

P(config-if)#exit

P(config)#int fa0/1

P(config-if)#mpls ip

P(config-if)#ip add 192.168.34.3255.255.255.0

P(config-if)#no sh

P(config-if)#exit

P(config)#router ospf 1

P(config-router)#net 0.0.0.0255.255.255.255 area 0

P(config-router)#exit

 

PE2配置:

PE2#conf t

PE2(config)#ip cef

PE2(config)#mpls ip

PE2(config)#mpls ldp router-id loopback0

PE2(config)#mpls label protocol ldp

PE2(config)#ip vrf 1

PE2(config-vrf)#rd 100:1

PE2(config-vrf)#route-target both 1:100

PE2(config-vrf)#exit

PE2(config)#int lo 0

PE2(config-if)#ip add 4.4.4.4255.255.255.255

PE2(config-if)#exit

PE2(config)#int fa0/1

PE2(config-if)#ip add 192.168.34.4255.255.255.0

PE2(config-if)#mpls ip

PE2(config-if)#no sh

PE2(config-if)#exit

PE2(config)#int fa0/0

PE2(config-if)#ip vrf forwarding 1

PE2(config-if)#ip add 192.168.45.4255.255.255.0

PE2(config-if)#no sh

PE2(config-if)#exit

PE2(config)#router ospf 1

PE2(config-router)#net 0.0.0.0255.255.255.255 area 0

PE2(config-router)#exit

PE2(config)#router rip

PE2(config-router)#address-family ipv4vrf 1

PE2(config-router-af)#version 2

PE2(config-router-af)#no auto-summary

PE2(config-router-af)#net 0.0.0.0

PE2(config-router-af)#redistribute bgp 1metric  transparent

PE2(config-router-af)#exit

PE2(config-router)#exit

PE2(config)#router bgp 1

PE2(config-router)#bgp router-id 4.4.4.4

PE2(config-router)#neighbor 2.2.2.2remote-as 1

PE2(config-router)#neighbor 2.2.2.2update-source loopback 0

PE2(config-router)#address-family v4

PE2(config-router-af)#neighbor 2.2.2.2activate

PE2(config-router-af)#neighbor 2.2.2.2send-community both

PE2(config-router-af)#exit

PE2(config-router)#address-family ipv4vrf 1

PE2(config-router-af)#redistribute rip

 

CE2配置:

CE2#conf t

CE2(config)#int lo 0

CE2(config-if)#ip add 5.5.5.5255.255.255.255

CE2(config-if)#exit

CE2(config)#int fa0/0

CE2(config-if)#ip add 192.168.45.5255.255.255.0

CE2(config-if)#no sh

CE2(config-if)#exit

CE2(config)#router rip

CE2(config-router)#version 2

CE2(config-router)#no auto-summary

CE2(config-router)#net 0.0.0.0

 

 

配置完成检查网络联通,并查看路由表:

CE1#traceroute 5.5.5.5 source 1.1.1.1

Type escape sequence to abort.

Tracing the route to 5.5.5.5

 1 192.168.11.2 56 msec 68 msec 16 msec

 2 192.168.12.3 [MPLS: Labels 16/16 Exp 0] 92 msec 88 msec 92 msec

 3 192.168.45.4 [MPLS: Label 16 Exp 0] 80 msec 60 msec 60 msec

 4 192.168.45.5 112 msec 100 msec 84 msec

 

CE1#sh ip rou

Codes: C - connected, S - static, R -RIP, M - mobile, B - BGP

      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

       N1 - OSPF NSSA external type 1, N2 - OSPFNSSA external type 2

      E1 - OSPF external type 1, E2 - OSPF external type 2

      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

      ia - IS-IS inter area, * - candidate default, U - per-user static route

      o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

    1.0.0.0/32 is subnetted, 1 subnets

C      1.1.1.1 is directly connected, Loopback0

R   192.168.45.0/24 [120/1] via 192.168.11.2, 00:00:00, FastEthernet0/0

    5.0.0.0/32 is subnetted, 1 subnets

R      5.5.5.5 [120/2] via 192.168.11.2, 00:00:00, FastEthernet0/0

C   192.168.11.0/24 is directly connected, FastEthernet0/0

 

PE1#sh ip route vrf 1

Routing Table: 1

Codes: C - connected, S - static, R -RIP, M - mobile, B - BGP

      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

      E1 - OSPF external type 1, E2 - OSPF external type 2

      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

      ia - IS-IS inter area, * - candidate default, U - per-user static route

      o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

    1.0.0.0/32 is subnetted, 1 subnets

R      1.1.1.1 [120/1] via 192.168.11.1, 00:00:16, FastEthernet0/0

B   192.168.45.0/24 [200/0] via 4.4.4.4, 00:01:38

    5.0.0.0/32 is subnetted, 1 subnets

B      5.5.5.5 [200/1] via 4.4.4.4, 00:01:38

C   192.168.11.0/24 is directly connected, FastEthernet0/0

 

PE1#sh mpls forwarding-table

Local Outgoing    Prefix            Bytes tag  Outgoing  Next Hop

tag   tag or VC   or Tunnel Id      switched  interface

16    Pop tag     3.3.3.3/32        0          Fa0/1      192.168.12.3

17    Pop tag     192.168.34.0/24   0         Fa0/1      192.168.12.3

18    Aggregate  192.168.11.0/24[V]   \

                                     0

19    Untagged    1.1.1.1/32[V]     1884      Fa0/0      192.168.11.1

20    16          4.4.4.4/32        0          Fa0/1      192.168.12.3

 

PE1#show ip bgp v4  all

BGP table version is 15, local router IDis 2.2.2.2

Status codes: s suppressed, d damped, hhistory, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? -incomplete

  Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 100:1 (default forvrf 1)

*> 1.1.1.1/32       192.168.11.1             1         32768 ?

*>i5.5.5.5/32       4.4.4.4                  1    100     0 ?

*> 192.168.11.0     0.0.0.0                  0         32768 ?

*>i192.168.45.0     4.4.4.4                  0    100     0 ?

 

 

 

 

实验八、MPLSVPNL3VPN)基础之PE-CE运行OSPF 并有后门链路

在传统的OSPF骨干区域里传输TYPE 3LSA时,必须是从area 0区域的邻居传来的才接收,但是在MPLS VPNCE端无法形成邻居,因此,提出了superbackbone的概念。超级骨干区域的引入带来的改变就是所有连接到超级骨干的区域,不管其是backbone area 还是non-backbone area ,都视为backbone area。也就是说,传统的OSPF不再需要骨干区域。只有当PE连接了同一个OSPF下的不同area 时,PE才需要运行在骨干区域。 在超级骨干,不再有adjacent关系或者flooding,只有运行sham-link时才会形成邻居。PE通过MBGP-iBGP来运载拓展属性。此时值得注意就是,OPSF中的Domain-id项,区别于传统OSPFMPLS依赖domain-id来进行OSPF的路由传输。默认情况下domain-id就是process number,这个值在OSPF路由充分不进MP-iBGP的时候设置,对端的PE如果接收到的routesdomain-id与自己的不同,就当作LSA type-5来接收即标记为OE2(只计算系统内部的METRIC),表示来自自治系统外的路由比如把EIGRP重分发到OSPF默认就是O E2;如果domain-id相同,就当作以TYPE3LSA传递来接收并标记为O IA,表示来自自治系统内的其他区域的路由比如区域0 学到区域1的路由就是O IA

 MPLS VPN中,如果在两个站点的CE之间增加一条后门链路(BackdoorLink),并且直接运行OSPF交互路由,那么通过这条后门链路学习到的内部路由为O,通过PE过来的路由为OIA,无疑优选O路由。但是我们希望优选走MPLS VPN,此时就要使用Sham-Link。在PE1PE2之间建立sham-link,它会在两台PE之间形成一条区域内链路。在每一台PE上的链路端点都是特定VRF中的一个接口(或地址),iBGP必须以VPNv4前缀的形式将这个接口的路由传递给另一台PE(也就是说我们必须在MP-BGPipv4 vrf地址族里宣告这个地址,以便形成VPNv4前缀并传递给对端PE)。Sham-link和其他OSPF中的链路一样,会进行最短路径优先的计算,当LSA在伪装链路中泛洪,所有的OSPF路由类型都不会改变,不会转换成LSA3或者LSA5的类型。如果sham-link断掉,就会恢复走后门链路。注意:一定要在iBGP中通告用于sham-link的端点IP,此IP不能用在核心的OSPF,否则sham-link会发生抖动。因为首先iBGP应该能够学习到sham-link端点的路由,然后才能创建sham-link。如果这时候,在核心的OSPF中又通告了端点的路由,由于OSPFAD小于IBGP,因此它将覆盖掉iBGP路由,一旦端点路由不能通过路由表中的iBGP学到,那么伪装链路就会断开。然后再次开始重新建立,这样就导致sham-link不断抖动。用于sham-linkIP(所属的接口)必须分配给特定的VRF

CCNP路由实验之十二 MPLS_第8张图片

CE1配置:

CE1#conf t

CE1(config)#int lo 0

CE1(config-if)#ip add 1.1.1.1255.255.255.255

CE1(config-if)#exit

CE1(config)#int fa0/0

CE1(config-if)#ip add 172.168.12.1255.255.255.0

CE1(config-if)#no sh

CE1(config-if)#exit

CE1(config)#int s1/0

CE1(config-if)#ip add 192.168.15.1255.255.255.0

CE1(config-if)#clock rate 64000

CE1(config-if)#no sh

CE1(config-if)#exit

CE1(config)#router ospf 65501

CE1(config-router)#no net 0.0.0.0255.255.255.255 area 0

CE1(config-router)#exit

 

PE1配置:

PE1#conf t

PE1(config)#ip vrf 1

PE1(config-vrf)#rd 1:100

PE1(config-vrf)#route-target both1:100

E1(config-vrf)#exit

PE1(config)#ip cef

PE1(config)#mpls ip

PE1(config)#mpls label protocol ldp

PE1(config-vrf)#exit

PE1(config)#int lo 0

PE1(config-if)#ip add 2.2.2.2255.255.255.255

PE1(config-if)#exit

PE1(config)#int lo 1

你可能感兴趣的:(Cisco技术)