Label一般是由运营商端的Router添加。

去往相同网段的数据包打相同的标签

基于每个数据包的负载均衡
基于目的地的负载均衡

启用CEF无非做两件事:1.把路由表中条目进行优化,加入FIB;2.把ARP表项以及帧中继映射进行优化,内容加入Adjacency Table。
启用CEF生成一张FIB(Forwarding Information Base)表(经过优化的,解决了递归路由),FIB表是基于拓扑的

LIB(Label Information Base)用来存放TDP/LDP邻居给我分发的他们的标签以及保存本地基于路由条目所产生本地标签。
LFIB:真正用来转发带标签的报文的表

路由器分发标签永远是基于FIB表项(启用MPLS的前提是启用CEF)

在一台路由器上,不能为不同的路由条目分发相同的标签,每条路由条目对应一个本地唯一的标签。例外是0-15标签,如果给路由条目分发的标签取值范围在0-15之间,此时多条路由可以对应相同的被保留标签。

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

FEC:转发等价类。一个路由条目对应一个FEC,对应一个标签。
LDP/TDP:为FIB表中路由条目分发标签,把我本地的标签通告给我的邻居,并且形成LIB和LFIB。
CEF:运行MPLS的必要因素,先运行CEF才能运行MPLS,同时会形成两张表 FIB和Adj Table,其中FIB可以用来实现标 签的插入。

VRF Virtual Routing Forwarding.一个VRF就是一个MPLS VPN中的实力例(进程)。
一台PE为一个公司提供MPLS VPN就要为该公司定义一个本地唯一的VRF进程。
PE创建了VRF之后,一定要将其和某个连接CE接口关联。

RD(区分多家公司相同的路由前缀):当PE把私网路由在运营商内传递的时候能够区分相同的路由,做一个域内传递的区分。
RT:Route Targets 该路由条目会被哪个进程所接收。
MPBGP用来路由VPNv4路由 VPNv4路由条目举例:RD:目标网路/掩码

数据层面双标签机制:
里层标签:告知我的远端PE端收到报文之后查找哪张VRF表
外层标签:在mpls域传递的时候能杜绝数据层面的路由黑洞

在控制层面收到一条VPNv4路由,这个路由的入站接口没有和任何的VRF关联,这个时候该路由加入哪张表取决于RT。
在数据层面通过一个接口收到数据包,这个接口没有和任何VRF关联,这个时候我查哪张表,取决于里层标签。

VRF用来区分不同的路由表

RD用在传递路由时区分相同的路由条目(比如两条1.1.1.0/24)

RT用来标示应该把该路由加入哪个VRF

用RT来区分相同的路由条目就好了,为什么还要引入RD?
因为一条VPNV4路由只能添加一个RD值,但是可以添加若干RT值。

因为从不同VRF学到的相同的路由可以打相同的RT(负载均衡),所以才引入RD做本地路由区分,如果RD也和路由一样相同了就变成了两个相同的包。

用OSPF作为IGP,MPLS不能正常工作原因:
因为OSPF宣告环回口默认为32位,本地环回口路由又为24位,所以本地路由器不会为/32位路由条目分配标签(本地只为/24位分配标签),所以邻居路由器想到达该环回口只能untaged去掉标签采用普通方式与该环回口通信。

MPLS VPN会打两层标签,第一层是ldp根据路由前缀打的,第二层是BGP根据VPNv4路由前缀打的。

为什么LDP协议既能支持TCP又能支持UDP?
建立邻居使用UDP,传递标签使用TCP

MPLS笔记的更多相关文章

  1. mpls vpn剩余笔记

    将IP地址映射为简单的具有固定长度的标签 用于快速数据包交换 20 3 1 8 在整个转发过程中,交换节点仅根据标记进行转发 标签交换路径(LSP) 多协议标签交换MPLS最初是为了提高转发速度而提出 ...

  2. MPLS VPN随堂笔记3

    跨域 ASBR之间运行MPBGP 1.配置AS内部IGP保证环回口互相可达,同时建立LDP邻居 (优先启用 mpls label rang 16 100)方便查看实验现象 2.配置PE1-PE2 PE ...

  3. MPLS VPN随堂笔记2

    深入理解ospf 理解MPLS VPN 中对OSPF 层次化设计的补充 supper backbone area 2:理解MPLS VPN 中OSPF 的区域设计概念 3:理解MPLS VPN 中OS ...

  4. MPLS VPN随堂笔记1

    MPLS VPN 基础 1.MPLS vpn架构的特点 1.1.允许不同CE传递相同私网路由 1.2.SP内部(所有P路由器)不需要学习CE路由 1.3.无安全保障但有带宽保障(跟SP租用服务) 2. ...

  5. MPLS LDP随堂笔记2

    前一天排错 Acl 1 匹配所有ospf的数据包 (目的 ospf建立邻居关系 传递路由条目) 2 放行UDP报文 让LDP邻居能互相收发HELLO包 4 放行TCP报文 让LDP邻居能够建立TCP会 ...

  6. MPLS LDP随堂笔记1

    LDP 的使用原因(对于不同协议来说) LDP的四大功能 发现邻居 hello 5s 15s 224.0.0.2 发现邻居关系 R1 UDP 646端口 R2 UDP 646端口 此时形成邻居 建立邻 ...

  7. mpls vpn剩余笔记

    将IP地址映射为简单的具有固定长度的标签 用于快速数据包交换 20 3 1 8 在整个转发过程中,交换节点仅根据标记进行转发 标签交换路径(LSP) 多协议标签交换MPLS最初是为了提高转发速度而提出 ...

  8. MPLS VPN随堂笔记2

    深入理解ospf 理解MPLS VPN 中对OSPF 层次化设计的补充 supper backbone area 2:理解MPLS VPN 中OSPF 的区域设计概念 3:理解MPLS VPN 中OS ...

  9. MPLS VPN随堂笔记1

    MPLS VPN 基础 1.MPLS vpn架构的特点 1.1.允许不同CE传递相同私网路由 1.2.SP内部(所有P路由器)不需要学习CE路由 1.3.无安全保障但有带宽保障(跟SP租用服务) 2. ...

随机推荐

  1. 使用PreparedStatement向数据表中插入、修改、删除、获取Blob类型的数据

    使用PreparedStatement向数据表中插入.修改.删除.获取Blob类型的数据 2014-09-07 20:17 Blob介绍 BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是 ...

  2. ABP框架系列之五十一:(Timing-定时)

    Introduction While some applications target a single timezone, some others target to many different ...

  3. wind量化交易

    https://www.joinquant.com/study?f=home&m=memu https://www.v2ex.com/member/mushroomqiu https://sa ...

  4. canvas 旋转

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. android启动画面隐藏状态栏全屏显示

    1.在根部局给一个id,然后直接设置就行了layout.setSystemUiVisibility(View.INVISIBLE); 状态栏就没有了. 2.如果你只是想改变状态栏颜色的也可以 //5. ...

  6. js-运动函数(盒子运动)

    注意move的js包在另一篇文章 <!DOCTYPE html><html> <head> <meta charset="UTF-8"&g ...

  7. 背水一战 Windows 10 (83) - 用户和账号: 数据账号的添加和管理, OAuth 2.0 验证

    [源码下载] 背水一战 Windows 10 (83) - 用户和账号: 数据账号的添加和管理, OAuth 2.0 验证 作者:webabcd 介绍背水一战 Windows 10 之 用户和账号 数 ...

  8. 剑指offer编程题Java实现——面试题14调整数组顺序使奇数位于偶数之前

    题目: 输入一个整数数组,实现一个函数来调整该数组中数组的顺序,使得所有的奇数位于数组的前半部分,偶数位于数组的后半部分. 解题思路:数组中维护两个指针,第一个指针初始化时候指向数组头部,第二个指针初 ...

  9. IPv6技术详解:基本概念、应用现状、技术实践(上篇)

    本文来自微信技术架构部的原创技术分享. 1.前言 普及IPV6喊了多少年了,连苹果的APP上架App Store也早已强制IPV6的支持,然并卵,因为历史遗留问题,即使在IPV4地址如果饥荒的情况下, ...

  10. Android数据存储之SharedPreferences使用

    SharedPreferences是Android中一种轻型的数据存储类.本质上是基于XML文件进行存储Key-Value键值对的数据,生成的XML文件的目录在/data/data/包名/Shared ...