zoukankan      html  css  js  c++  java
  • MPLS 原理详解

    在学习MPLS之前,应该知道MPLS有两种工作模式。

    1, 帧模式-->在第三层分组头(如IP分组头)前加入标签进行转发。

    2, 信元模式.--->在ATM LSR组成的MPLS网络中,在控制平面使用MPLS交换VPI/VCI的信息,而不是采用ATM信令进行转发.

    点击浏览下一页

    1, 转发等价类。FEC

    如果入口路由器收到分组都到达同一子网的,则这些分组就属于同一类。这是依据FIB中的最长匹配查找决定的。例如,假设在FIB表中有一项目的地址为1.1.1.0/24,下一跳是2.2.2.2.如果我收到了两个IP地址分别是1.1.1.1和1.1.1.2的分组,这两个分组都会转发给同样的下一条,2.2.2.2,那么这个时候这两个报文就属于同一个FEC.

    点击浏览下一页

    这里可以看到,对于到6.1.1.0/24网段,不管后面的主机位,所分发的标签,20,都是一样的,实际上是由下游路由器对本端的outgoing label分发的20,都是一样的。所以6.1.1.0就是一个等价转发类。

    这个和IP层面的路由表是一样的。

    对于IP层面,到相同的目的,走一样的路由。

    对于MPLS层面,到相同的目的,分发相同的标签,那就是一样的走相同的路径。

    2, 标签交换.

    标签交换有三个过程:

    ■根据入标签进行查找

    ■找到分组的出接口和出标签.

    ■进行标签交换,然后再出接口发送分组.

    MPLS体系结构被分为两个独立的单元:控制平面和转发转发,如下图所示:

    点击浏览下一页

    这里先来说一下控制平面。

    ■IGP--和在只有IP的网络中的用途相同。如果mpls网络使用了流量工程,IGP会作为链路状态协议,可以是OSPF或者是IS-IS.

    ■标签分配协议. 有三种协议可以分配标签。

    cisco TDP (private protocol)

    LDP (standard protocol regarding the RFC)

    RSVP 资源预留协议,专门为TE 工作的。

    关于转发,传统的IP与MPLS网络转发有什么不同呢?

    ■IP转发是基于目的的IP地址和FIB的。

    ■MPLS转发是基于MPLS标签和标签转发信息库(LFIB)的。

    ■MPLS转发和IP转发都是逐跳转发的,IP转发在每一跳都对分组进行识别分类,而MPLS转发只在入口路由器进行分类,类分号了,就通过FEC进行转发.

    PS:如果不使用流量工程TE,那么所有的IGP路由协议都可以使用。但是为了将来的扩展使用,最好使用OSPF或者ISIS来作为IGP,因为MPLS TE只能支持这两种IGP类型。具体原因以后再做详解.

    点击浏览下一页

    假如说流量是从PE-1 R2到R6的环回10.1.1.2.

    那么这个时候控制平面和转发平面的方向是完全相反的。

    在R2上面show mpls forwarding-table,从R3到本地分发的标签是18,从R5到R3分发的标签是16, R6没有向R5分发标签,因为R5转发数据报文的时候利用次末节点弹出机制,将标签弹出了,这样R6负责的就是纯IP转发了。

    在R2上面:

    点击浏览下一页

    在R3上面:

    点击浏览下一页

    在R5上面:

    点击浏览下一页

    所以这里可以看出,转发层面是从左到右,控制层面的标签分发是从右到左的.

    在MPLS转发表中,分为ilm和ftn.

    分别是MPLS to MPLS和MPLS to IP.

    标签发布的时候,实际发布的内容是标签,IP前缀和掩码长度,这个过程称为标签发布。

    下面就来说明一下,标签,是如何发布的。

    0-15是保留的标签。

    0-IPv4显式空标签。

    1-路由器警告标签。

    2-IPv6显式空标签

    3-隐式空标签。

    合法的标签范围是从16开始到2的20次方-1.

    即16--1048575.都是合法的标签。

    local 的标签是我发给上游路由器的标签。而,outgoing label的标签是下游路由器发给我的标签。

    所以转发平面如果是从左到右的话,那么控制平面的标签分发就是反的,是从右往左来进行标签的分发的。

    下面有一个例子,

    点击浏览下一页

    这里如果在R3上面查看mpls 的转发表到10.1.1.2的话。

    点击浏览下一页

    这里可以看到。outgoing是16,那么实际上是R5的local应该是16,是R5发给R3的16.

    对于R3上面的18,local,应该是R2的出标签。

    也就是说。R5上面的local是16,R2上面对应10.1.1.2的出标签应该是18.

    R3:

    点击浏览下一页

    对了,R5的local是16,分发给R3.

    在R2上面:

    点击浏览下一页

    R2上面的出outgoing是18.这样就符合标签分发的原理了。

    本文出自 “hank--我,只关注原理” 博客,请务必保留此出处http://361531.blog.51cto.com/351531/646548

  • 相关阅读:
    POJ 2018 二分
    873. Length of Longest Fibonacci Subsequence
    847. Shortest Path Visiting All Nodes
    838. Push Dominoes
    813. Largest Sum of Averages
    801. Minimum Swaps To Make Sequences Increasing
    790. Domino and Tromino Tiling
    764. Largest Plus Sign
    Weekly Contest 128
    746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/yechuan/p/2452623.html
Copyright © 2011-2022 走看看