关于MPLS原理的文章在网上有很多,在这里就不在详细论述,只做一下简单的回顾<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一、MPLS概述
MPLS是一种2.5层技术,最初产生的目的是在网络骨干上提高数据的转发速度,减少延迟。MPLS数据转发只需检查入口标签,在根据事先建立的LFIB就可决定输出接口立即转发,解决了传统IP网络递归搜索,最长匹配造成的转发效率低、延迟及延迟抖动大的问题,而MPLS ×××和MPLS TE更加引起网络界对MPLS的关注。
二、部分基本概念回顾
1、包模式下的标签及标签结构
标签是一种定长的(20比特)插入在二层和三层包头之间的数据头,在MPLS网络中使用标签来决定数据的转发,在包模式下标签结构如下:
<?xml:namespace prefix = v /><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 

20比特LABEL字段用来表示标签值。由于标签是定长的,因此可用硬件来实现数据转发,这种硬件转发方式与传统使用软件路由最长匹配的转发方式相比具有速度快、时延低的优点。
   特别注意在标签结构中使用的S值的目的是用来表示标签是否到底,这样可以使用多层标签,也就是我们经常说的标签栈。在以后的实验中我们会看到MPLS ×××和MPLS TE就使用了两个以上的标签。
    2、标记交换路由器(LSR---lable switch routers)
  支持并使用了MPLS协议的路由器我们称为LSR。
3、FEC(转发等价类)
  MPLS实际上是一种分类转发的技术,它将具有相同转发处理方式(目的地相同、使用的转发路径相同、具有相同的服务等级等)的分组归为一类,这种类别就称为转发等价类FEC。属于相同转发等价类的分组在MPLS网络中将获得完全相同的处理。在LDP(后面讲到)过程中,各种等价类对应于不同的标记,在MPLS网络中,各个节点将通过分组的标记来识别分组所属的转发等价类。
   4、标记交换路径(LSP)
  使用MPLS协议建立起来的分组转发路径,我们称作LSP,它是由标记分组源LSR与目的LSR之间的一系列LSR以及它们之间的链路构成。
5、LDP标记分发协议
LDP与传统的IP网络的路由协议的作用类似,负责FEC的分类,
分配和分布标签和路由的绑定信息及LSP的建立和维护等。只要经LDP学到的路由与IGP学到的路由相同,就会在LSR上的LFIB中创建一个进程。

    6、LFIB
类似于路由表,包含目标网络prefix以及对应的如和出标签以及出口信息等。其中的local tag是告诉上游LSR使用这个标签到达本地;而outging tag是下游LSR告诉本地LSR要到达某个目标网络应该使用这个标签到达下游LSR。
7、上游和下游
源网络被称为上游;目标网络被成为下游。
8、下游分发标签及数据转发
在MPLS网络中,标签是由靠近目标网络的下游LSR逐级向上游LSR分发,标签仅具有局部意义。
9、POP tag倒数第二跳标签弹出
由于连接目标网络的LSR直接连接到客户网络,为了减轻倒数第一跳LSR的负担,CISCO在MPLS网络中采用POP tag倒数第二跳标签弹出机制。也就是在连接目标网络的倒数第二跳LSR上就将标签弹出直接将数据转发到倒数第一跳LSR上。
三、标签的分发及数据转发的基本过程

以下图为例,我们来看一下标签的分发和数据转发构成,图中R2、R3、R4、R5和R8为MPLS网络中的LSR路由器,而R1和R11为客户

ROUTER。
在这个例子中我们以192.168.5.0/24网络为目标网络为例,这样R2、R3、R4相对于R8就为上游LSR,而R8、R4、R3相对于R2就为下游LSR。对于目标网络192.168.5.0/24标签的分发是由R8---R4---R3---R2方向,采用下游分发方式分发的;而数据转发是根据实现实现分配的标签由R2---R3---R4—R8方向转发的。具体见下图所示:

注意:local tag是本地ROUTER告知上游LSR应该使用这个标记到达某个目标网络;而out tag是由下游LSR接收到的标签,本地LSR根据这个标签向下游转发数据。
四、实验拓扑

五、设置指导
1、在所有路由器上启动routing protocol,考虑到MPLS ×××和MPLS TE正常情况下,在MPLS骨干网络中主要采用两种IGP协议:OSPF和IS-IS,并保证路由畅通,在这个实验中我们以OSPF为例。
2、在MPLS骨干网络上所有路由器上启动CEF或distribute CEF.
  Router(config)# ip cef
  Router(config)# ip cef distributed
3、在所有LSR连接MPLS 骨干的接口上起用MPLS
Router(config--f)#mpls ip
Router(config--f)# tag-switching ip
具体采用那个命令要根据IOS版本。
4、指定使用那种标签分发协议,默认为TDP,当与其他厂家设备相连时要指定使用LDP。
Router(config)#mpls label protocol <tdp/ldp>
六、部分效验命令
1、show ip route---效正路由
2、show ip protocol---检查routing protocol是否正常启动。
3、show ip cef---检查CEF是否正常启动。
4、show mpls interface---检查MPLS骨干的接口是否起用了MPLS,同时检查使用的是那种标签分发协议。
5、show mpls forwarding-table或show tag-switching forwarding-table检查是否正确建立了MPLS forwarding table(LFIB),使用这个命令可以看到针对某个目标网络在本地LSR上的输入和输出标签,以及输出接口等信息。
6、show mpls forwarding-table < Destination prefix> 〈MASK〉 detail可以查看某个目标网络的详细的mpls forwarding table.
7、show mpls ldp binding < Destination prefix> 〈MASK〉或
Show tag-switching tdp binding < Destination prefix> 〈MASK〉效验针对某个具体的目标网络的标签关联信息。应该注意的是针对某个目标网络具有多个途径时,会有多个remote bingding标签,这种
情况下LSR将选择具有shortest path的标签。
8、show ip cef < Destination prefix> detail不但可以效验CEF是否工作正常同时也可以效验标签是否正确置换。
9、show mpls ldp neighbor或show tag-switching tdp neighbor效验LSR之间是否正确建立了ldp neighbor或tdp neighbor关系。
七、所有ROUTER设置
r1设置
enable
config t
no ip domain lookup
host r1
ip cef
enable password ccsr
inter lo 0
ip address <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.1.1.1 255.255.255.255
no shut
exit
inter fa 2/0
full-duplex
ip address 192.168.1.1 255.255.255.0
no shut
exit
router ospf 1
network 192.168.1.0 0.0.0.255 area 1
exit
line vty 0 4
login
password ccsr
end
r2设置
enable
config t
no ip domain lookup
host r2
ip cef
enable password ccsr
inter lo 0
ip address 2.2.2.2 255.255.255.255
no shut
exit
inter fa 2/0
full-duplex
ip address 192.168.1.2 255.255.255.0
no shut
exit
inter fa 0/0
full-duplex
ip address 192.168.2.1 255.255.255.0
mpls ip
no shut
exit
router ospf 1
network 2.2.2.2 0.0.0.0 area 0
network 192.168.1.0 0.0.0.255 area 1
network 192.168.2.0 0.0.0.255 area 0
exit
line vty 0 4
login
password ccsr
end
r3设置
enable
config t
no ip domain lookup
host r3
ip cef
enable password ccsr
inter lo 0
ip address 3.3.3.3 255.255.255.255
no shut
exit
inter fa 2/0
full-duplex
ip address 192.168.3.1 255.255.255.0
mpls ip
no shut
exit
inter fa 0/0
full-duplex
ip address 192.168.2.2 255.255.255.0
mpls ip
no shut
exit
router ospf 1
network 3.3.3.3 0.0.0.0 area 0
network 192.168.3.0 0.0.0.255 area 0
network 192.168.2.0 0.0.0.255 area 0
exit
line vty 0 4
login
password ccsr
end
r4设置
enable
config t
no ip domain lookup
host r4
ip cef
enable password ccsr
inter lo 0
ip address 4.4.4.4 255.255.255.255
no shut
exit
inter fa 2/0
full-duplex
ip address 192.168.3.2 255.255.255.0
mpls ip
no shut
exit
inter fa 3/0
full-duplex
ip address 192.168.4.1 255.255.255.0
mpls ip
no shut
exit
router ospf 1
network 4.4.4.4 0.0.0.0 area 0
network 192.168.3.0 0.0.0.255 area 0
network 192.168.4.0 0.0.0.255 area 0
exit
line vty 0 4
login
password ccsr
end
r8设置
enable
config t
no ip domain lookup
host r8
ip cef
enable password ccsr
inter lo 0
ip address 8.8.8.8 255.255.255.255
no shut
exit
inter fa 3/0
full-duplex
ip address 192.168.4.2 255.255.255.0
mpls ip
no shut
exit
inter fa 2/0
full-duplex
ip address 192.168.5.1 255.255.255.0
no shut
exit
router ospf 1
network 8.8.8.8 0.0.0.0 area 0
network 192.168.4.0 0.0.0.255 area 0
network 192.168.5.0 0.0.0.255 area 2
exit
login
password ccsr
end
r11设置
enable
config t
no ip domain lookup
host r11
ip cef
enable password ccsr
inter lo 0
ip address 11.11.11.11 255.255.255.255
no shut
exit
inter fa 2/0
full-duplex
ip address 192.168.5.2 255.255.255.0
no shut

line vty 0 4

exit
router ospf 1
network 192.168.5.0 0.0.0.255 area 2
exit
line vty 0 4
login
password ccsr
end
八、部分效验
1、路由器正常设置后,我们会从路由器上的显示中判断LSR的工作情况,我们这里以R4的显示为例:
r4#
*Sep 20 12:32:59.635: %SYS-5-CONFIG_I: Configured from console by console
*Sep 20 12:33:01.519: %LINK-3-UPDOWN: Interface FastEthernet2/0, changed state to up
*Sep 20 12:33:01.563: %LINK-3-UPDOWN: Interface FastEthernet3/0, changed state to up
*Sep 20 12:33:02.519: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/0, changed state to up
*Sep 20 12:33:02.563: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0, changed state to up
*Sep 20 12:33:40.371: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet2/0 from LOADING to FULL, Loading Done
*Sep 20 12:33:42.295: %OSPF-5-ADJCHG: Process 1, Nbr 8.8.8.8 on FastEthernet3/0 from LOADING to FULL, Loading Done
*Sep 20 12:33:55.427: %LDP-5-NBRCHG: TDP Neighbor 3.3.3.3:0 is UP
*Sep 20 12:34:01.623: %LDP-5-NBRCHG: TDP Neighbor 8.8.8.8:0 is UP
我们从R4启动时的显示可以看出:
 1、相应的接口启动
 2、ospf neighbor建立
3、ldp neighbor建立
2、show mpls ldp neighbor效验LSR之间是否正确建立了ldp neighbor关系。我们这里以R4的显示为例:
r4#show mpls ldp neighbor
    Peer TDP Ident: 3.3.3.3:0; Local TDP Ident 4.4.4.4:0
        TCP connection: 3.3.3.3.711 - 4.4.4.4.11013
        State: Oper; PIEs sent/rcvd: 7/7; Downstream
        Up time: 00:03:24
        TDP discovery sources:
          FastEthernet2/0, Src IP addr: 192.168.3.1
        Addresses bound to peer TDP Ident:
          192.168.3.1     3.3.3.3         192.168.2.2    
    Peer TDP Ident: 8.8.8.8:0; Local TDP Ident 4.4.4.4:0
        TCP connection: 8.8.8.8.11012 - 4.4.4.4.711
        State: Oper; PIEs sent/rcvd: 7/7; Downstream
        Up time: 00:03:18
        TDP discovery sources:
          FastEthernet3/0, Src IP addr: 192.168.4.2
        Addresses bound to peer TDP Ident:
          192.168.4.2     8.8.8.8         192.168.5.1    
r4#
从上面的显示可以看出R4与R3和R8建立了正确的ldp neighbor.
3、检查mpls forwarding-table, R4的显示为例
r4#show mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     192.168.2.0/24    896        Fa2/0      192.168.3.1 
17     16          2.2.2.2/32        0          Fa2/0      192.168.3.1 
18     Pop tag     3.3.3.3/32        0          Fa2/0      192.168.3.1 
19     Pop tag     8.8.8.8/32        0          Fa3/0      192.168.4.2 
20     17          192.168.1.0/24    1518       Fa2/0      192.168.3.1 
21     Pop tag     192.168.5.0/24    2166       Fa3/0      192.168.4.2 
r4#
从上面显示可以看出由于R4对于192.168.5.0/24网络来说是倒数第二跳LSR,因此进行了标签弹出(Pop tag
  下面我们在来看一下R3的mpls forwarding-table
r3#show 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.2.1 
17     Pop tag     192.168.1.0/24    2012       Fa0/0      192.168.2.1 
18     Pop tag     192.168.4.0/24    0          Fa2/0      192.168.3.2 
19     Pop tag     4.4.4.4/32        0          Fa2/0      192.168.3.2 
20     19          8.8.8.8/32        0          Fa2/0      192.168.3.2 
21     21          192.168.5.0/24    1544       Fa2/0      192.168.3.2 
r3#
我们可以看到由于R3不是倒数第二跳LSR,它针对目标网络192.168.5.0/24同时具有local tag和outgoing tag。

 

4、效验CEF是否正常工作以及标签是否正确置换
以R3为例:
r3#show ip cef 192.168.5.2 detail
192.168.5.0/24, version 22, epoch 0, cached adjacency 192.168.3.2
0 packets, 0 bytes
  tag information set
    local tag: 21
    fast tag rewrite with Fa2/0, 192.168.3.2, tags imposed: {21}
  via 192.168.3.2, FastEthernet2/0, 0 dependencies
    next hop 192.168.3.2, FastEthernet2/0
    valid cached adjacency
    tag rewrite with Fa2/0, 192.168.3.2, tags imposed: {21}
r3#
5、我们在所有的LSR上使用show mpls forwarding-table观察标签的置换和分发
r8#show mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     192.168.3.0/24    0          Fa3/0      192.168.4.1 
17     16          192.168.2.0/24    0          Fa3/0      192.168.4.1 
18     17          2.2.2.2/32        0          Fa3/0      192.168.4.1 
19     18          3.3.3.3/32        0          Fa3/0      192.168.4.1 
20     Pop tag     4.4.4.4/32        0          Fa3/0      192.168.4.1 
21     20          192.168.1.0/24    0          Fa3/0      192.168.4.1 
r8#
r4#show mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop   
tag    tag or VC   or Tunnel Id      switched   interface             
16     Pop tag     192.168.2.0/24    896        Fa2/0      192.168.3.1 
17     16          2.2.2.2/32        0          Fa2/0      192.168.3.1 
18     Pop tag     3.3.3.3/32        0          Fa2/0      192.168.3.1 
19     Pop tag     8.8.8.8/32        0          Fa3/0      192.168.4.2 
20     17          192.168.1.0/24    1518       Fa2/0      192.168.3.1 
21     Pop tag     192.168.5.0/24    2166       Fa3/0      192.168.4.2 
r4#
r3#show 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.2.1 
17     Pop tag     192.168.1.0/24    2012       Fa0/0      192.168.2.1 
18     Pop tag     192.168.4.0/24    0          Fa2/0      192.168.3.2 
19     Pop tag     4.4.4.4/32        0          Fa2/0      192.168.3.2 
20     19          8.8.8.8/32        0          Fa2/0      192.168.3.2 
21     21          192.168.5.0/24    1544       Fa2/0      192.168.3.2  
r3#
r2#show 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/0      192.168.2.2 
17     Pop tag     192.168.3.0/24    0          Fa0/0      192.168.2.2 
18     18          192.168.4.0/24    0          Fa0/0      192.168.2.2 
19     19          4.4.4.4/32        0          Fa0/0      192.168.2.2 
20     20          8.8.8.8/32        0          Fa0/0      192.168.2.2 
21     21          192.168.5.0/24    0          Fa0/0      192.168.2.2 
r2#
注意在R8上并没有关于192.168.5.0/24的进程,而且在倒数第二跳LSR也就是R4上采用了标签弹出(POP TAG)。我们观察上面的标签分发和置换应记住local tag是本地ROUTER告知上游LSR应该使用这个标记到达某个目标网络;而out tag是由下游LSR接收到的标签,本地LSR根据这个标签向下游转发数据。

 

6、最后我们在R2上使用traceroute命令观察一下标签的置换过程
r2#traceroute 192.168.5.2

 

Type escape sequence to abort.
Tracing the route to 192.168.5.2

 

  1 192.168.2.2 [MPLS: Label 21 Exp 0] 192 msec 172 msec 212 msec
  2 192.168.3.2 [MPLS: Label 21 Exp 0] 144 msec 84 msec 136 msec
  3 192.168.4.2 256 msec 208 msec 156 msec
  4 192.168.5.2 296 msec *  260 msec
r2#
丛上面的显示我们可以看出MPLS标签置换过程,同时也能看出当到达R4时进行了倒数第二跳标签弹出(POP TAG)。
 

转载于:https://blog.51cto.com/coooooooooper/54237

MPLS基本概念、设置和效验相关推荐

  1. 【华为】MPLS及MPLS VPN概念

    文章目录 MPLS(多协议标签交换) 设计初衷 当前路由器转发机制 FEC 前言 MPLS 1.1 标签值 LDP/TDP研究: TDP LDP MPLS 环路检测 MPLS TTL环路检测 LDP环 ...

  2. MPLS基本技术介绍

    原文转自自H3C公司:http://www.h3c.com.cn/Products___Technology/Technology/MPLS/Other_technology/Technology_r ...

  3. 计算机网络 RIP,OSPF,BGP,MPLS协议

    目录 RIP 广播路由控制信息 根据距离向量确定路由 使用子网掩码时的RIP处理 RIP中路由变更时的处理 RIP2 OSPF OSPF是链路状态型路由协议 OSPF工作原理概述 将区域分层化进行细分 ...

  4. mpls企业组网怎么样?

    MPLS虚拟专用网安全接入解决方案针对企业不同的网络建设需求: 考虑到成本.稳定性和可扩展性,服务器总部使用MPLS虚拟专用网接入管理设备,通过MPLS虚拟专用网管理平台统一部署管理各分支. MPLS ...

  5. MPLS自身的优点所带来的网络便捷—Vecloud微云

    今天我们来看下MPLS具有哪些优势. 第一个就是转发速度快.通常,路由器在转发IP数据包时,首先要对目标地址和路由控制表中可变长的网络地址进行比较,然后从中选出最长匹配的路径才能进行数据的转发与通信. ...

  6. linux串口操作及设置

    串口操作需要的头文件 #include /*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*Unix 标准函数定义*/ #include #include #in ...

  7. linux 串口 延迟,linux串口操作及设置详解

    串口操作需要的头文件 #include #include #include #include #include #include #include #include 1.打开串口 在前面已经提到lin ...

  8. linux两个进程同时打开串口,linux串口操作及设置详解

    串口操作需要的头文件 #include /*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*Unix标准函数定义*/ #include #include #inc ...

  9. Linux:TTY串口驱动数据接收设置

    Linux的uart串口,无论是rs232格式的还是rs485格式的 ,最终都封装为tty接口.一般串口驱动都是芯片厂商开发好的.我们基本只要正确使用就能正常工作. 我这边开发的时候,使用应用层的测试 ...

最新文章

  1. 用eclipse阅读编辑android和kernel,uboot的源代码
  2. 剑指offer:数组中重复的数字
  3. 大学计算机英语专业感想感知,非英语专业大学生英语感知学习风格研究
  4. C和指针之实现strlen函数
  5. VSCode中Markdown目录显示异常
  6. Python多版本管理
  7. 使用jprobe建设镜面层叠的原则和见解
  8. 视频会议之BigBlueButton
  9. 微软消息队列MSMQ 传输异常的总结!
  10. mobi 转 PDF最新方法 2017/11/21亲测可用
  11. 华为光猫虚拟服务器,高兴得要哭了!!!!研究了N天,终于把我的华为 光猫救回来了...
  12. HDU2825 Wireless Password【AC自动机 + DP】
  13. html 在线测试 鱼缸,研究员试图用AR鱼缸欺骗鱼的感官系统,结果反被鱼识破
  14. python函数做菜单_学不会的Python函数——函数小案例(名片管理器)
  15. Ubuntu解决外接2K屏分辨率低问题
  16. linux环境下查看进程,Linux下查看进程(程序)启动时的环境变量
  17. 2种Android图表的简单介绍+折线图、饼图的例子,字节跳动移动架构师学习笔记
  18. 网络状态码302和303的区别究竟是啥?面试官最满意这种回答
  19. 四大类好用的科研工具分享
  20. 格灵深瞳mysql面试三表联查

热门文章

  1. nginx rewrite if指令剖析
  2. 倍福TwinCAT(贝福Beckhoff)应用教程12.2 TwinCAT控制松下伺服 NC初步
  3. 快递公司泄露买家信息最高罚3万 快递员双挨罚
  4. Javaweb在线拍卖管理系统买家卖家mysql
  5. C#开发BIMFACE系列19 服务端API之获取模型数据4:获取多个构件的共同属性
  6. STM32外部Flash移植FATFS笔记
  7. 统计1~N之间所有立方数的个数并输出这个数目(Java编写)
  8. wow服务器维护8月14,8月14日服务器例行维护公告(已完成)
  9. Vue图片在为动态变量路径显示不出来怎么办 ,但是通过img标签显示正常 这是为什么?
  10. 招聘是一门学问,给求职者发了offer后,他说不来了