1.协议地图

   

2.MPLS介绍

  ATM的优缺点:

  • ATM转发采用唯一匹配,一次查表,效率很高
  • ATM控制信令复杂,成本高昂,难以普及

  ATM技术虽然没有成功,但其中有几点创新:

  • 摒弃了繁琐的路由查找,改为简单快速的标签交换:
  • 将具有全局意义的路由表改为只有本地意义的标签表。

  MPLS定位在第2.5层的位置。为muti protocol,可以承载其他类型的报文。1997年成立。

  

  MPLS:Multi-Protocol Label Switching,多协议标签交换

  • 一种根据标签转发的技术
  • 可以承载在各种链路层协议上,如: PPP、ATM、中继、以太网
  • 可以承载各种网络层报文,如: IPv4、IPv6、IPX
  • 采用无连接的控制平面,实现路由信息的传递和标签的分发
  • 采用面向连接的数据平面,实现报文在建立的标签转发路径上传送

  MPLS实际应用场景:随着硬件技术发展,IP转发性能大大提高,MPLS在这方面并未发挥优势。但由于MPLS结合了IP网络强大的三层路由功能和二层网络高效的转发机制,所以目前MPLS主要应用于:

  • VPN (Virtual Private Network,虚拟专用网)
  • TE (Traffic Engineering,流量工程)
  • Qos (Quality of Service,服务质量)
  • 其它应用提供更好的解决方案。

  MPLS VPN应用:基于MPLS的VPN通过LSP将私有网络的不同分支联结起来,形成一个统一的网络,用户设备无需为VPN配置GRE、L2TP等隧道,网络时延被降到最低。

   

  MPLS TE应用:通过动态监控网络的流量和网络单元的负载,实时调整流量管理参数路由参数和资源约束参数等,使网络运行状态迁移到理想状态,优化网络资源的使用避免负载不均衡导致的拥塞。

   

3.MPLS结构

  网络结构:

         

  入节点、中间节点和出节点: SP是一个单向路径,LSP中的LSR可以分为:

     

  体系结构: 

      

   

      

4.MPLS报文结构

     

    

   

  标签 (Label):较短,定长,只有本地意义,用于唯一标识去往同一目的地址的报文分组,标签空间如下:

   

  标签多层嵌套:对于一个LSR来说,只处理第一个 (最顶层) 标签

  主要应用于: MPLS VPN、MPLS TE

     

       

  标签转发行为: PUSH、SWAP、POP

   

  • 报文进入MPLS网络,Ingress LSR设备 (LSR1) 发现报文的目的IP地址有与其关联的标签转发表项,遂进行压标签 (PUSH)操作。
  • 报文在MPLS网络中间进行转发时,在LSR2上进行标签交换 (SWAP),设备只需查询标签转发表即可完成报文转发。
  • 报文在转出MPLS网络时,LSR3发现自己为该LSP的最下游设备,完成弹出标签(POP) 操作

  LSP的建立:MPLS需要为报文事先分配好标签,建立一条LSP,才能进行报文转发

   

   

   

  静态LSP:

  • 不使用标签发布协议,不需要交互控制报文,资源消耗比较小。
  • 通过静态方式建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预。
  • 适用于拓扑结构简单并且稳定的小型网络。
  • 配置原则:上游节点出标签 = 下游节点入标签

   

  动态LSP:

  • 通过标签发布协议 (LDP、MP-BGP、RSVP-TE) 动态建立。
  • 实现对FEC的分类、标签的分配及LSP的建立和维护等。
  • 组网配置简单,易于管理和维护。
  • 网络拓扑发生变化时,能及时反映网络状况。
  • 标签由下游LSR分配,按从下游到上游的方向分发。

   

  

5.MPLS环路检测机制

  • IGP环路检测机制:RIP、OSPF各自的防环机制;
  • TTL环路检测:帧模式的MPLS中使用TTL,信元模式的MPLS中无TTL,使用LDP环路检测机制;
  • LDP环路检测机制:距离向量法,最大跳数法。

  MPLS对TTL的处理模式:

  • Uniform:MPLS TTL和IP TTL相互同步,中间节点只处理MPLS TTL。
  • Pipe:MPLS TTL设置为固定值,IP TTL只在入和出节点分别减1.

            

  TTL环路检测:

   

  LDP环路检测:

  距离向量法:LSR发送标签请求时,添加自己的LSR ID,如果收到的LSR如果发现了自己的LSR ID,丢弃。

  最大跳数法:LSR发送标签请求时,更新Hop Count,如果到达预设的最大值,丢弃

   

6.静态LSP配置

  简介:一般情况下,在MPLS网络中都使用LDP建立LSP。但LDP是通过路由信息来建立LSP,如果LDP协议出现问题,可能导致MPLS流量的丢失。因此,对于某些关键数据或重要业务,通过配置静态LSP来确定传输路径。

   

    

R1:
ospf 1 router-id 1.1.1.1
area 0
net 192.168.0.1 0.0.0.0
net 12.0.0.1 0.0.0.0
static-lsp ingress hf2sh destinaticn 72.16.0.0 24 nexthop 12.0.0.2 out-label 100
static-lsp egress sh2hf incoming-interface GigabitEthernet0/0/1 in-label 100

R2:
ospf 1 router-id 2.2.2.2
area 0
net 23.0.0.2 0.0.0.0
net 12.0.0.2 0.0.0.0
static-lsp transit hf2sh incoming-interface GigabitEthernet0/0/0 in-label 100 outgoing-interface GigabitEthernete0/0/1 out-label 200
static-lsp transit sh2hf incoming-interface GigabitEthernet0/0/1 in-label 200 outgoing-interface GigabitEthernete0/0/0 out-label 100

R3:
ospf 1 router-id 3.3.3.3
area 0
net 172.16.0.1 0.0.0.0
net 23.0.0.3  0.0.0.0
static-lsp ingress sh2hf destination 192.168.0.0 24 nexthop 23.0.0.2 out-label 200
static-lsp egress hf2sh incoming-interface GigabitEthernet0/0/1 in-label 200

7.LDP理论

  标签的产生:有了标签,转发是很简单的事,但是如何生成标签,却是MPLS中最难修练的部分。在MPLS中,有一个叫LDP的心法秘笈,一个动态的生成标签的协议。

  LDP:Label Distribution Protocol,标签分发协议,RFC5036

  • 在LSR之间建立LDP Session (LDP会话)
  • 建立了LD Session的两台设备称为LDP Peers(LDP邻居/对等体)
  • 在LDP Peers间交换Label/FEC映射 

   

  LDP消息类型:封装在UDP或TCP之上,端口号 = 646

   

   

  LDP发现机制

  LDP基本发现机制:发现直连的邻居,使用组播。周期性的发送LDP Link Hello,建立本地LDP会话。

  LDP扩展发现机制:发现非直连的邻居,使用单播。周期性的发送LDP Targeted Hello,建立远端LDP会话。

   

      

  LDP邻居发现过程:

  • Hello消息使用UDP封装,发送周期为5s,使用组播地址224.0.0.2
  • Hello消息中,携带有Transport Address (传输地址) 字段,该字段默认与设备配置的LSR ID一致,表明与对端建立邻居关系时所使用的IP地址 (保证路由可达)。

     

  LDP会话建立过程:

   

  参数包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。

  如果不能接受相关参数,则发送Notification消息终止LDP会话的建立。

  LDP会话建立成功后,进行FEC的创建与标签的分发。

  

  标签的发布和管理

  LDP会话建立后,LDP协议开始交换标签映射等消息用于建立LSP.RFC5036分别定义了标签发布方式、标签分配控制方式、标签保持方式来决定LSR如何发布和管理标签。

   

  上游和下游:设备的上下游与数据转发的方向相对,数据先到达的地方是上游,后到达的地方时下游。

   

  标签发布方式:Label Advertisement Mode,将标签给邻居的前提条件。

   

   

  标签分配控制方式:Label Distribution Control Mode,为一条路由前缀分配标签的前提条件。标签由设备自动随机生成。

     

      

  标签分配控制方式和标签发布方式的组合

  

  标签保持模式:Label Retention Mode,如何保留从邻居接收到的标签

  

    

  目前设备支持如下组合方式:

  • DU + Ordered + Libera,该方式为缺省方式
  • DoD + Ordered + Conservative
  • DU + Independent + Liberal
  • DoD + Independent + Conservative

  倒数第二跳弹出:PHP,Penultimate Hop Popping
  在最后一跳节点,标签已经没有使用价值。这种情况下,在倒数第二跳节点处将标签弹出,减少最后一跳的负担。

  • RTC收到RTB发送的带标签1026的报文,查找LFIB表,发现分配的出标签为隐式空标签3,于是执行弹出标签的动作,并将IP数据包转发给下游路由器RTD;
  • RTD收到RTC发送的IP报文,直接查找自己的FIB表,根据FIB表中的出接口进行IP数据的封装并转发。

     

  

  LDP建立LSP到数据转发过程

  • IGP协议负责实现MPLS网络内路由可达,为FEC的分组提供路由;
  • LDP协议负责实现对FEC的分类、标签的分配以及LSP的建立和维护等操作。
  • 在MPLS网络中,数据包在每台路由器上根据已分配的标签进行标签的封装和转发
  • 分析数据包到达Eqress节点RTD上怎么处理? 如果MPLS网络中业务量很大,Eqress节点的处理方式有何不妥?

    

  

  特殊保留标签

  

         

   LDP配置 (华为) 

  

  MPLS问题

  问题一:MPLS环境下的BGP路由传递

         

  拓扑环境描述:

  • R1、R2、R3、R4处于Transit AS 1234。在AS 内运行的GP协议是OSPF.
  • 所有设备的 Loopback0口地址为xxxx/32,x为设备编号
  • R1与R4之间建立IBGP 邻接关系,BGP 接关系建立在物理接口上,R1与R5、R4与R之间建立EBGP邻接关系,也是建立在物理接口上
  • 在这个实验测试中,我们在OSPF 中宣告 R1-R5和R4-R6的直连网段
  • R5及R6各自在BGP进程中宣告自己的 Loopback 路由

  思考:

  • 5.5.5.5和6.6.6.6的通讯能否成功? 为什么? 后续如何改进?
  • 如果不宣告R1-R5、R4-R6之间的网段进OSPF,通讯是否有变化?

  答案:

  • MPLS默认不会为BGP路由分配标签,但会为BGP路由的下一跳分配标签
  • BGP中的路由条目是相当多的,因此通过MPLS ,可大大简化路由器的性能损耗,BGP的Transit AS的路由黑洞问题也得到了很好的解决。

  问题二:路由汇总对MPLS的影响

   

  • E上的10.1.1.0/24路由,在C上进行了汇总变成10.1.0.0/16。
  • 路由汇总将原先的一段LSP分割成了两段。
  • 看似没有什么问题,但在点到点的LSP环境下就有问题,如: MPLS VPN 、TE

  问题三:LDP与IGP同步: IGP和LDP都认可某条链路为待转发报文的出站链路的。

   

  由于LDP的收敛依赖于IGP的收敛,即LDP的收敛速度比IGP的收敛速度慢,因此存在主备链路的组网中有如下问题:

  • 当主链路发生故障时,IGP路由和LSP均切换到备份链路上。但当主链路从故障中恢复时,IGP会先于LDP切换回主链路,因此导致LSP流量丢失。
  • 当主链路IGP运行正常,但主链路节点间的LDP会话发生故障时,IGP路由仍然使用主链路,而主链路的LSP被删除。同时,由于备份链路不存在IGP优选路由,故LSP无法在备份链路建立,导致LSP流量丢失。

           

  虽然这样不会导致流量中断,但在MPLS VPN环境中就可能出问题。因为报文在MPLS VPN中传输往往是需要带标签的。

  解决方法: 开启LDP与IGP周步

  基本原理: 通过抑制IGP发布正常路由,来保证LDP和IGP同步完成收敛

  定义了3个定时器和5个状态:

   

   

  LDP与IGP同步命令 (华为):

   

  LDP与IGP同步命令 (思科):

  

 

posted on 2023-03-21 10:24  星痕1216  阅读(355)  评论(0编辑  收藏  举报