11.1、MPLS基本原理

11.1、MPLS基本原理

  • 前言
    • MPLS(Multiprotocol Label Switching)位于TCP/IP协议栈中的链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层得到服务。MPLS以标签交换替代IP转发
    • MPLS并不是一种业务或者应用,它实际上是一种隧道技术。这种技术不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性
  • 传统IP转发
    • 数据转发步骤
      • 当数据到达RTA时,路由器会检查目的网段和下一跳地址,然后再封装好传递给下一跳。RTB接收到数据包也要查看目的网段和下一跳,然后封装回去转发给下一跳,……
    • 传统IP转发对于设备的要求还是很高的,当有大量业务开始进行传递时,对于路由器的查找速度的要求就比较高了
  • ATM信元转发
    • 另一种网络
      • ATM
        • 通过信元转发,ATM需要维护的比路由表规模要小得多的标签表,能够提供比IP路由方式高得多的转发性能
      • 对于新型的MPLS在这种背景下产生了
  • MPLS标签转发
    • MPLS利用标签转发,它的标签是处于链路层和IP层之间加一个头部,然后利用标签在MPLS域中进行转发
    • 首先进入RTA,给RTA打上标签
    • 然后传输给RTB,更换成RTB的标签
    • 然后传输给RTC,更换成RTC的标签
    • 最后传输到RTD,将标签弹出,然后发送给目的网段
  • MPLS VPN应用
    • MPLS的应用很多,随着技术的发展,路由查找速度的瓶颈已经不是网络发展速度的瓶颈。慢慢MPLS技术应用的比较少了,但是它可以联合其他的技术进行使用
      • Eg
        • MPLS VPN的应用
  • MPLS网络模型
    • MPLS域
      • Eg
        • RTA和RTB处于一个MPLS网络中
    • LER
      • 标签边缘路由器
      • MPLS的边缘设备
    • LSR
      • 标签交换路由器
      • MPLS域中间的设备
    • LSP
      • 标签交换通道
      • RTA和RTD之间形成的隧道
  • MPLS控制平面和转发平面
    • 控制平面
      • 路由协议
        • 底层协议
        • 通过底层协议来交换路由信息进行互通
        • Eg
          • OSPF
          • ISIS
      • IP路由表
        • 路由协议的学习来形成IP路由表
      • 标签交换协议
        • LDP
    • 数据层面
      • IP转发表项
        • 通过IP路由表进行映射得出
      • 标签转发表项
        • 通过LDP协议进行学习得出
    • 数据处理
      • 当数据报文接收到IP报文,到达设备时查找IP转发表项,来进行发送IP报文
      • 当接收到带标签报文,去查找标签转发表项,发送带标签的报文
  • 帧格式MPLS
    • MPLS有两种封装模式:帧模式和信元模式(ATM采用MPLS信元模式封装,本课程不涉及)。帧模式封装是直接在报文的二层头部和三层头部之间增加一个MPLS标签头。以太网、PPP采用这种封装模式
  • MPLS报文头部
    • 参数
      • MPLS头部长度为32bits
      • LABEL
        • 该标签用于报文转发,长度为20bits
      • EXP
        • 通常用来承载IP报文中的优先级,长度为3bits
      • S
        • 表识栈底用来表明是否是最后一个标签(MPLS标签可多层嵌套),长度为1bit
        • 当S=1时,代表该标签为栈底最后一个标签
      • TTL
        • 类似IP头部的TTL,用来防止报文环路等,长度为8bits
  • MPLS标签嵌套
    • PID标识二层头部后面的报文类型
      • Ethernet 0x0800 IPv4 0x8847 MPLS单播报文0x8848 MPLS多播报文
      • PPP 0x8021 IPv4 0x8281 MPLS单播报文0x8283 MPLS多波报文
    • S标识是否是栈底标签
      • S=1
        • 代表该标签为栈底最后一个标签
    • 标签嵌套应用
      • MPLS VPN
      • MPLS TE
  • FEC与NHLFE
    • FEC(Forwarding Equivalence Class)转发等价类,是一组具有某些共性的数据流的集合。这些数据流在转发过程中被LSR以相同方式处理
      • FEC可以根据地址、业务类型、Qos等要素进行划分。
        • 例如
          • 在传统的采用最长匹配算法的IP转发中,到同一条路由的所有报文就是一个转发等价类
          • 传统过程中我的目的地址是5.5.5.5/32,另有一批报文的目的地址是5.5.5.5/32。对这一组报文有相同的目的地地址,就可以认为这是转发等价类
      • 在传统采用IP报文进行转发时,到达同一条路由的所有报文就是转发等价类,这就是FEC
    • NHLFE(Next Hop Label Forwarding Entry):进行标签转发时用到,NHLFE包含这样一些基本信息:
      • 报文的下一跳
      • 如何进行标签操作(包括压入新的标签,弹出标签,用新的标签替换原有的标签等操作)
      • NHLFE还可能包含一些其他信息,如发送报文使用的链路层封装等
  • FEC与NHLFE举例
    • FEC:Forwarding Equivalence Classes(转发等价类)
    • NHLFE:Next Hop Label Forwarding Entry(下一跳标签转发表项)
    • 查看配置
      • FEC
        • 表项的FEC是10.2.0.0/24
      • 下一条
        • 10.1.1.2
      • 出标签
      • 进标签
      • 出接口
      • 标签的动作
        • PUSH
          • 压入
  • MPLS转发过程-Ingress LER(RTA)
    • 在Ingress,通过查询FIB表和NHLFE表指导报文的转发
    • 对于MPLS域,分为三个节点
      • 入节点
        • RTA
      • 出节点
        • RTD
      • 传输网段
    • 步骤
      • 1、主机的IP报文的目的地址,传输到的是10.2.0.0/24的网段
        • FEC
          • 10.2.0.0
      • 2、报文到达RTA,查询FIB,去查找tunnel ID
        • FIB
          • 转发表项
        • Tunnel ID
          • 决定下一步要通过哪个表项转发。如果不为0,则通过标签表项发送,然后通过NHLFE去指导报文的转发
            • 路由表项
            • 标签转发表项
      • 上图可以看到下一跳操作
        • 出接口
          • S0
        • 标签操作
          • 压入1030标签
  • MPLS转发过程-LSR(RTB)
    • 在Transit,通过查询ILM(Incoming Label Map)表和NHLFE表指导MPLS报文的转发
    • ILM表
      • 下一跳和NHLFE作为一个映射表
    • 步骤
      • 数据包到达RTA,RTA查找到表项打上标签1030,然后到达RTB
        • RTB的入方向是1030,下一跳是10.1.1.6,出接口是S3
        • 处理动作
          • 将新标签代替旧标签
  • MPLS转发过程-LSR(RTC)
    • 报文到达RTC,对于RTC来讲
      • 入标签
        • 也是1030
      • 下一跳
        • 10.1.1.10
      • 出接口
        • S3
    • 处理动作
      • 将新标签代替旧标签
  • MPLS转发过程-Egress LER(RTD)
    • 在Egress,通过查询ILM表指导MPLS报文的转发
    • RTD处理动作
      • 入标签
        • 1032
      • 下一跳
        • 10.2.0.2
      • 出接口
        • RTD的出接口已经超出MPLS域,已经到达MPLS的边缘
      • 标签处理动作
        • 弹出
    • RTD将标签弹出,然后查找IP路由表,按照普通的IP报文进行转发
  • 思考题
    • 1、MPLS头部哪个字段用于标示栈底标签(C)
      • A、Label
      • B、EXP
      • C、S
        • 当使用标签嵌套时,可以通过S=1来判断该标签是最后一个标签
      • D、TTL
    • 2、基于MPLS标签转发报文时,数据包可能需要执行的动作有哪些(A、B、C)
      • A、Push
      • B、Pop
      • C、Swap
        • 切换
      • D、Switch
  • 总结
    • MPLS产生背景
      • 路由转发速度制约网络发展,产生了MPLS
    • MPLS基本概念
      • 运用标签转发
    • MPLS报文格式
      • 封装在二层和三层头部之间
    • MPLS转发原理
      • 查找相应表项进行转发、每一步如何进行、处理标签方法
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值