当前位置:首页 > 文章 > 路由交换 > 正文内容

思科Cisco MPLS多协议标签交换原理与配置操作教程

myblog4个月前 (06-16)路由交换1707

本文讲述了思科Cisco MPLS多协议标签交换原理与配置操作。分享给大家供大家参考,具体如下:

  一、MPLS:多协议标签交换

  支持多种网络层协议,协议(3层)无关性,也叫2.5层协议

  基于标签交换进行数据转发

  1.1 IP数据转发方式

  进程转发:每个数据包过来查找路由(与操作--->最长匹配---->递归查找),也叫基于数据包的转发

  快速转发:每个流量中的第一个数据包进行路由查找,后续数据基于第一个数据包的缓存转发,一次路由、多次交换,也叫基于缓存的转发(区分源IP、目的IP、源端口、目的端口、协议号)

  CEF:cisco私有,特快交换,所有数据包无需查看路由转发,直接查看CEF(FIB)表进行转发,该表项是自动适应路由表,也叫基于拓扑的转发方式; 无需路由、直接交换,将路由表变为FIB表(递归完成后的表,目标对接口),ARP表变为ADJ表(接口+MAC),这两张表均为二进制表,可以被硬件直接编译,基于FIB+ADJ的综合表进行转发

  1.2 标签交换与传统数据包交换对比

  标签交换转发效率优于传统数据包交换(已不明显)

  MPLS支持MPLS VPN,支持MPLS TE。

  1.3 MPLS的主要应用场景

  解决BGP的路由黑洞问题

  MPLS VPN

  MPLS TE(流量工程)

  使用MPLS的前提是设置均基于CEF工作,还要保证IGP收敛。

  启动CEF后,表格可以被ASIC(硬件芯片)直接调用

  CEF解决了递归的问题,便于MPLS生成标签转发表格

  CEF工作后生成FIB表,只有FIB可以存储标签表

  1.4 控制层面和数据层面

  控制层面:通过IGP或EGP交互路由条目,生成路由表,然后CEF基于路由表生成FIB表;MPLS使用TDP/LDP基于FIB表中的每一条信息(本地所有的路由条目)生成一个标签号,然后告知所有邻居;

  数据层面:普通的数据包将基于FIB表转发,若数据包中存在标签号基于LFIB进行转发,标签的impose和pop也是在数据层面生成

  1.5 MPLS模式

  Frame:帧模式,电路交换,二层协议为Ethernet、HDLC、PPP、FR(非ATM)

  Cell:信元模式,ATM模式,带有标签的数据信元

  1.6 MPLS术语

  FEC:转发等价类,具有相同的处理方式的一类数据称为一个转发等价(基于目标IP,源IP,VPN地址,QoS行为,出接口) LSR:标签交换路由器,标签交换(swap),查看数据包中的标签号然后基于LFIB表进行转发

  E-LSR:边界标签交换路由器(PE),标签压入(impose)和弹出(pop)

  LSP:标签交换路径

  LIB:标签信息数库,存放本本路由器上针对所有FEC所分配的标签以及所有LDP邻居分配自己学习到的标签

  LFIB:标签转发信息库,真正转发标签,由FIB和LIB共同生成,包含入标签和出标签

  CE:客户端路由器,不工作于MPLS域,使用FIB表转发流量

  二、MPLS的数据包格式

  Label:20bit,范围(16-2^20),0-15为保留标签

  EXP:3bit,用于在label中标记标签中优先级,用来做QoS

  S:1bit,栈底位,代表标签是否到达栈底S=0表示未到达栈底;S=1表示到达栈底,最多可以存在3层标签

  一层标签为普通MPLS,主要用于解决BGP路由黑洞

  二层标签为MPLS VPN使用

  三层标签为MPLS TE使用

  TTL:8bit生存时间,用于MPLS label交换中防环,当标签号被impose时,将复制三层包头的TTL值,然后每经过一个路由器减1,当标签号被pop时,复制回IP包头中使用MPLS后,二层若依然为以太网封装,那么类型号将变化

  0x8847 MPLS 单播

  0x8848 MPLS 多播

  三、标签分发协议

  1.LDP和TDP

  LDP:工业标准,基于TCP或UDP封装,使用端口号646,组播发送224.0.0.2(所有支持组播功能的路由器都接收该地址),支持认证

  LDP邻居发现阶段:使用LDP的hello包建立邻居,不分配标签使用UDP方式,进行TCP三次握手

  LDP的会话建立阶段:进行LDP初始化报文的发送,发送keepalive,并发送LDP的标签分发信息

  TDP:cisco私有,应用层协议,基于TCP或UDP封装,使用端口号711,广播发送255.255.255.255,不支持认证

  2.MP-BGP

  3.RSVP

  3.1 标签分发时的注意点

  标签分发仅具有本地意义

  标签分发是异步的

  标签分发只会给本地直连、静态以及IGP路由分发标签,不会为BGP路由分发标签。BGP不分发标签,只会在数据层面为路由条目的下一跳添加标签。

  标签分发、压入、弹出和交换通常只发生在运营商网络,客户端永远不可能收到带标签的报文。

  四、MPLS的工作过程

  当控制层面使用路由协议传递路由条目后,路由器上使用LDP/TDP为本地FIB表中每一条存在的路由条目均分配一个标签号,装载于LIB表中,同时传递给邻居,LIB中还记录邻居传递到本地标签号;之后路由器基于本地的FIB和LIB表生成LFIB(标签号的最佳对应路径)

  数据层面工作时,第一跳路由器负责标签的impose,中间路由器基于标签号转发流量,进行标签号的替换,最后一跳路由器负责标签的pop。

  入标签号为本地分配的标签号,出标签号为下一跳(下游)分配的标签号;存在上下游路由器的概念,基于数据层面定义

  4.1 倒数第二跳弹出(次末跳弹出)

  最后一跳路由器在默认情况下需要查看LFIB表后在查看FIB表,然后转发数据;PHP可以使倒数第二跳在已知出接口、下一跳等信息时便将标签号pop,然后基于出接口转发流量,导致最后一跳路由器仅查看FIB表

  最后一跳路由器,将本地直连路由传递给邻居时使用label3来告知对方为倒数第二跳,非直连路由正常分配标签号;针对域外非直连路由,域内的最后一跳路由器需要查询两张表;建议PE路由器直接连接用于,不再连接其他路由器。

  对于一条路由条目,如果该路由器路由表中该路由条目的出接口是一个没有启用MPLS的接口,则该接口就是最后一跳;或者该路由条目对应的下一跳邻居不是本地的TDP/LDP邻居时,该路由器同样为最后一跳路由器;只要一台路由器收到了关于一跳路由条目的标签是3,则该路由器就为倒数第二跳路由器

  pop标签仅弹出最上层标签,仅仅只是倒数第二跳;untagged标签弹出所有标签,意味着离开了MPLS域。

  倒数第一跳路由器向倒数第二跳路由器发送一个label3空标签,使倒数第二跳路由器提前弹出标签

  五、MPLS配置

  5.1 配置步骤

  运行IGP

  启用CEF(cisco设备默认开启CEF)

  在接口上启用MPLS

  修改链路MTU

  物理接口启用MPLS,在标签号所有需要经过的接口上配置

Route(config)# int s1/1
Route(config-if)# mpls ip

或者

Route(config)# int s1/1
Route(config-if)# tag-switching ip

  修改接口MTU

Route(config)# int s1/1
Route(config-if)# mtu 1504

  修改MPLS标签的范围

Route(config)# mpls label range 200 299

  修改Root ID为接口s0/1的地址;回车重启生效,force立即生效

Route(config)# mpls ldp router-id serial 1/1 ?
 force   Forcibly change the LDP router id
<Cr>

  协议开启后,邻居间使用hello建邻,生成邻居表

  存在Root ID,选举同OSPF一致。Root ID同时作为了建立TCP会话的源目IP,若存在环回,那么默认使用环回作为Root ID,此时就必须将环回宣告到路由协议中

Route# sh mpls ldp neighbor -----查看MPLS的LDP邻居表
            Peer  LDP Ident:  3.3.3.3:0; Local  LDP  Ident  2.2.2.2:0
                  TCP  connection:  3.3.3.3. 47452  -  2.2.2.2.646
                  State:  Oper;  Msgs  sent/ rcvd:  22/22;  Downstream
                  Up time: 00:07:37
                  LDP discovery sources:
                      Serial1/1,  Src  IP  addr:  23.1.1.3
                  Addresses bound to peer LDP Ident:
                     23.1.1.3                34.1.1.3                  3.3.3.3

  当邻居关系建立后,邻居间会将基于FIB表生成的标签号传递给邻居,保存于LIB表中,之后将LIB表和FIB表进行结合,生成LFIB表,基于该表进行标签流量转发

Route# sh mpls Ldp bindings   -----查看LIB表
         tib entry: 1.1.1.0/24, rev 4
                  local binding: tag: 17
                  remote binding: tsr: 3.3.3.3:0, tag: 16
         tib entry: 2.2.2.0/24, rev 6
                  local binding: tag: imp-null
                  remote binding: tsr: 3.3.3.3:0, tag: 17
         tib entry: 3.3.3.0/24, rev 8
                  local binding: tag: 18
                  remote binding: tsr: 3.3.3.3:0, tag: imp- null
         tib entry: 4.4.4.0/24, rev 10
                  local binding: tag: 19
                  remote binding: tsr: 3.3.3.3:0, tag: 18
Route# sh mpls forwarding- table  ------查看LFIB表
Local   Outgoing    Prefix      Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id  switched   interface
16         Pop tag        34.1.1.0/24       0            Sel/1         point2point
17         Untagged        1.1.1.0/24        0            Sel/0         point2point
18         Pop tag        3.3.3.0/24       0            Sel/1         point2point
19         18              4.4.4.0/24        0            Se1/1         point2point
20         19              5.5.5.0/24       0            Sel/1         point2point
21         21              45.1.1.0/24       0            Se1/1         point2point

  用traceroute测试MPLS

Route# traceroute 4.4.4.4 source 2.2.2.2

Type escape sequence to abort.
Tracing the route to 4.4.4.4

 1 23.1.1.3 [MPLS: Label 18 Exp 0] 28 msec 52 msec 24 msec
 2 34.1.1.4 20 msec 24 msec 20 msec

让Route只把某些路由分发的标签传递给邻居,实现标签分发的过滤

Route(config)# mpls ldp advertise-labels for 10 to 20

文章来源:https://www.jb51.net/it/718012.html

感谢访问李梦园个人博客-静水流深

版权声明:本文由静水流深发布,如需转载请注明出处。

分享给朋友:

相关文章

Cisco交换机VLAN接口地址配置命令方法

Cisco交换机VLAN接口地址配置命令方法

一、交换机VLAN接口静态IP地址配置  交换机VLAN接口静态IP地址配置 功能 需求及组网说明  『配置环境参数』  1. SwitchA 为三层交换机  2. PC1 连接到 SwitchA 的...

cisco交换机恢复出厂设置

cisco交换机恢复出厂设置

清除交换机密码  进入交换机底层,通过修改交换机原始配置文件名字,重启交换机后,交换机找不到原来配置文件情况下,就会加载默认系统文件(即:交换机出厂配置),以达到清除交换机密码的目的。  本文以Cat...

Cisco(思科)交换机配置命令详解

Cisco(思科)交换机配置命令详解

Cisco的工作模式  Cisco设备有常用模式为:用户模式、特权模式、全局模式、端口模式。首先它们之间呈现出递进关系:用户模式->特权模式->全局模式->端口模式  1.用户模式 ...

Cisco ASA (防火墙) 基本配置命令

Cisco ASA (防火墙) 基本配置命令

 ASA首先是一个状态化防火墙,用于维护一个关于用户信息的连接表,称之为conn表:  conn表中含有如下信息:  1)、源IP地址  2)、目的IP地址  3)、IP协议(如TCP 和 UDP) ...

cisco企业级路由器

cisco企业级路由器

思科企业级路由器概览思科路由解决方案为广域网、局域网和云端提供基于意图的网络。我们的网络路由器具备高级分析、应用优化、自动调配和集成 安全等功能,可提供经过验证的全面解决方案。思科企业级路由产品组合产...