MPLS(多协议标签转发)

高性能的通过网络转发数据包的方法
在网络的边缘启动MPLS,将简单的标签插入数据包
MPLS拓扑
 全网状的拓扑技术   CE客户边界  优化站点间路由,但是非常昂贵
 hub and spoke      减少了虚电路数量            不是最优方案
 MPLS 虚拟私有网络  提供站点间的合适的路由,但需要一个连接到MPLS VPN服务提供商
MPLS与传统网络的区别
传统的IP网络,在每一台路由器上进行路由查询,每台路由器在转发数据包的时候,做出一个唯一决定
MPLS有助于减少路由查询的数量,可以改变转发数据的准则。
MPLS特性
1 是一种交换机制,其将标签插入数据包,然后使用标签转发数据包。(标签插入MPLS网络的边界,MPLS网络的转发基于标签进行)
2 类似于基于路由的IP目标,标签通常对应于到达3层目标地址的一个路径。标签也可以对应于3层MPLS VPN或者非IP参数(如一个2层电路或者出口路由器的往外的接口)。
3 MPLS支持包括TCP/IP的多种协议的转发(不管3层协议,网络上的标签交换一样可以执行) 在较大的网络上的MPLS标签应用中,只有在网络的边界执行路由查询
   所有核心路由器基于标签转发数据包,可以更快将数据包通过ISP的网络转发
CISCO快速转发CEF提供了MPLS交换的基础
CEF概念:支持数据包的负载均衡,依据源地址或者依据目标负载均衡,快速目标查询,利用CEF缓存(FIB转发信息库表)
MPLS架构
1 control plane控制层面 关注路由信息的交换和相邻设备间的标签交换
控制层协议 MPLS标签分配协议LDP 或者 BGP(用于MPLS VPN)
MPLS流量工程使用RSVP以预留网络上的资源带宽
2 data plane数据层面  关注基于目标地址或标签的转发 也称为转发层面
大量不同的路由协议可用于控制层面:OSPF IGRP EIGRP IS-IS RIP BGP
数据层面是简单的基于标签的转发引擎,与路由协议或者标签交换协议无关。
标签转发信息库(LFIB)用于存储标签信息和转发引擎的转发数据包。
LFIB表由标签交换协议使用 LDP BGP 或RSVP
MPLS总结
MPLS是一种交换机制,用标签来转发包;使用标签的结果是仅仅在边界路由器上需要使用路由查找;所有在核心的路由只需要基于标签来简单转发数据包
LSR是一个主要基于标签转发数据包的设备
Edge LSR是一个从数据包加入或者删除标签的设备
交换路由信息和交换标签信息是控制层面,转发数据包是数据层面
MPLS核心思想:边缘的路由,核心的交换
具有MPLS功能单播IP路由网络环境中标签的分配和分发可以分以下步骤
1 路由器通过标准的或私有内部网关协议(IGP)交换信息
2 本地标签成生 一个本地唯一的标签分配给每一个在主要的路由表中发现的目标IP地址,并存储在标签信息库(LIB)表中
3 本地标签传播到邻居路由器,那里这些标签也许会被用作下一跳标签
4 每一个标签交换路由器建立自己的LIB,LFIB(标签转发信息库)和FIB(转发信息库)数据库结构基于收到的标签
   LIB (标签信息库)控制层面 是被标签分发协议(LDP)使用的数据库
   LFIB(标签转发信息库)数据层面 用户转发标签数据包的数据库
   FIB(转发信息库)数据层面  为了转发删除标签的IP数据包的数据库
IP路由协议被用于建立IP路由表在所有LSRS上,FIB基于IP路由表而建立,最初没有标签信息
分配标签
1每一个LSR为在IP路由表的目标分配一个标签
2标签有当地意思
3路由器生成标签不考虑其它路由器(标签的异步分配)
LIB和LFIB构造
LIB表用于维护IP前綴,分配的标签和分配标签的路由器之间的映射关系
LFIB表被改进的包含本地标签映射到转发行为
标签分发和广而告之
2种传播过程
  扩展现有路由协议的功能
  创建新的协议,专用于交换标签  IEIF选择这种
控制层面的LDP交换标签并将它们保存在LIB中
组成LFIB表
IGP用于生成MPLS域所有路由器的路由表      每一个路由器使用IGP确定其自己的最短路径
LDP用于为这些网络生成标签,将标签加入FIB和LFIB表种。只有从下一跳路由器接收到的标签会插入LFIB表。
通过MPLS网络的数据包传播
1
2
3
4
5
6
7
PHP在MPLS中的功能
PHP通过在出口路由器上减少表的查询次数优化了MPLS的性能
配置MPLS的过程  逻辑接口不支持CEF,例如回环接口
1 配置CEF,
  在全局或接口模式下启用CEF交换,全局ip cef  接口ip route-cache cef
  有些情况下,需要控制标签分发协议LDP的分配范围,需要建立一个标签池的范围
2 帧模式接口配置MPLS,所有的MPLS骨干接口应该启用MPLS.
  启用标记分发协议TDP或者标签分发协议LDP在接口上,通过使用标记交换或者标签交换。
  在CISCO路由器上MPLS支持缺省启用。禁用MPLS命令 no mpls ip
  在接口上启用MPLS后,必须在接口配置模式下使用命令mls label protocol(TDP/LDP/BOTH)来选用  标签分发协议
  TDP是CISCO私有协议  使用TCP端口711
  LDP是缺省的标签分发协议 是标准协议 当CISCO和非CISCO设备连接时,必须使用LDP 使用UDP端口646
3 在标签交换中配置最大传输单元MTU的大小,在MPLS接口需要增加MTU的大小
  在边界标签交换路由器LSR上启用MPLS的配置步骤:
  MPLS MTU的大小取决于运行MPLS的应用
纯MPLS,MTU尺寸加上标签头 1502字节
增加MPLS VPN,MTU尺寸加上标签头 1508字节
使用带有流量工程TE的MPLS VPN,MTU尺寸 1512字节
  为了防止打标签的数据包超过最大尺寸,在标签交换路径隧道上位所有的分段增加标签尺寸是一种方法。广域网上MTU是自动的增加,局域网接口不是这样。
  因为MTU在局域网接口上没有自动增加,需要通过MPLS MTU命令手动增加它。
  mpls mtu bytes
  在配置完成后,如果有中间设备,中间设备也必须支持巨型帧
VPN的分类 按网络层分类 
端到端VPN  acls      split routing     MPLS vpn 
覆盖式VPN  2层  X.25     frame relay     atm
           3层  GRE   IPSEC
覆盖式VPN有以下优点:
覆盖式VPN众所周知而且从客户和服务供应商角度看多是易于应用
服务供应商没有参与客户路由,易于划分客户和服务供应商的界限,易于管理
覆盖式VPN缺点
2层VPN需要站点提供全网状的VC以提供最优的站点间路由
站点间的所有VC必须手工配置,带宽依据站点到站点间的实际情况配置
基于IP的3层覆盖式VPN应用导致更高的封装开销
端到端VPN提供的优势
优化客户站点间的路由,不存在设计和配置的难点
易于增加VPN和客户站点,因为服务供应商只是提供独立的站点,没有独立客户站点间的链路
端到端VPN缺点
服务供应商有责任正确的客户路由和链路失效后的客户网络的快速收敛
服务供应商PE路由器必须携带所有的客户路由,而在覆盖式VPN模型下这些信息是对服务供应商隐藏的
服务供应商需要详细的IP路由知识,在传统服务供应商团队里不容易做到
MPLS VPN架构 提供端到端的VPN架构,混合了覆盖式VPN的最佳特性和端到端VPN的最佳特性
PE路由器参与客户的路由,保证客户站点间的最佳路由
PE路由器使用隔离的虚拟路由表对每一个客户,导致客户间的完美隔离
客户可以使用重复的地址
MPLS VPN将所有网络分为客户控制部分(C-网络)和供应商控制部分(P-网络)
C-网络的连续部分称为站点,通过客户的边界路由器CE,使用P-网络进行连接
CE路由器连接PE路由器,起到P-网络的边界设备的作用
P-网络的核心设备,供应商路由器,提供了供应商骨干的传输,不携带客户路由。
PE路由器架构
基于MPLS的VPN,其框架结构的基本思想是“定义供应商核心路由器PE,用户端路由器CE,骨干网核心路由器P三种路由器