MPLS基本转发过程,隧道特性、对TTL的处理、BGP路由黑洞

2024-04-06 23:36

本文主要是介绍MPLS基本转发过程,隧道特性、对TTL的处理、BGP路由黑洞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MPLS基本转发过程,隧道特性

        标签操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop),它们是标签转发的基本动作。

        倒数第二跳弹出特性PHP(Penultimate Hop Popping):在最后一跳节点,标签已经没有使用价值,在倒数第二跳节点处将标签弹出,减少最后一跳的负担。最后一跳节点直接进行IP转发或者下一层标签转发。

默认情况下:设备支持PHP特性,支持PHP的Egress节点分配给倒数第二跳节点的标签值为3。

压入:在二层与三层之间添加一个标签。

交换:将收到的报文标签值,替换为自身下一跳提供的标签值。

弹出:将报文的所有标签剥除。PHP:倒数第二跳弹出机制,默认开启。

基本转发过程:

Tunnel ID:为了给使用隧道的上层应用(如VPN、路由管理)提供统一的接口,系统自动为隧道分配了一个ID,也称为Tunnel ID。该Tunnel ID的长度为32bit,只是本地有效。

NHLFE:Next Hop Label Forwarding Entry,下一跳标签转发表:用于知道MPLS报文的转发。(包括Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息)

FEC到一组NHLFE的映射称为FTN(FEC-to-NHLFE)。通过查看FIB表中Tunnel ID值不为0x0的表项,能够获得FTN的详细信息,FTN只在Ingress存在。

ILM:Incoming Label Map,入标签映射。包括:Tunnel ID,入标签,入接口,标签操作类型等信息。

ILM在Transit节点的作用是将标签和NHLFE绑定,通过标签索引ILM表,就相当于使用目的IP地址查询FIB,能够得到所有的标签转发信息。

1、当IP报文进入MPLS域时,首先查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0。

[R1]diagnose;进入到诊断视图中;

[R1-diagnose]display mpls nhlfe,查看下一跳标签转发表;

[R1-diagnose]display mpls ilm,查看入标签映射表;

        1.1 如果Tunnel ID值为0x0,则进入正常的IP转发流程。

        1.2 如果Tunnel ID值不为0x0,则进入MPLS转发流程。

2、在MPLS转发过程中,FIB、ILM、和NHLFE表项是通过Tunnel ID关联的。

        2.1、Ingress的处理:通过查询FIB表和NHLFE表知道报文的转发、

                2.1.1、查看FIB表,根据目的IP地址找到对应的Tunnel ID。

                2.1.2、根据FIB表的Tunnel ID找到对应的NHLFE表项,将FIB表项和NHLFE表项关联起来。

                2.1.3、查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。

                2.1.4、在IP报文中压入出标签,同时处理TTL,然后将封装好的MPLS报文发送给下一跳.

        2.2、Transit的处理:通过查询ILM和NHLFE表指导MPLS报文的转发

                2.2.1、根据MPLS的标签值查看对应的ILM表,可以得到Tunnel ID。

                2.2.2、根据ILM表的Tunnel ID找到对应的NHLFE表项。

                2.2.3、查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。

                2.2.4、MPLS报文的处理方式根据不同的标签值而不同。

如果标签值>=16,则用新标签替换MPLS报文中的旧标签,同时处理TTL,然后将替换完标签的MPLS报文发送给下一跳。

如果标签值为3,则直接弹出标签,同时处理TTL,然后进行IP转发或下一层标签转发。

        2.3、Egress的处理:通过查询ILM表指导MPLS报文的转发或查询路由表指导IP报文转发

                2.3.1、如果Egress收到IP报文,则查看路由表,进行IP转发。

                2.3.2、如果Egress收到MPLS报文,则查看ILM表获得标签操作类型,同时处理TTL。

如果标签中的栈底标识S=1,表明该标签是栈底标签,直接进行IP转发。

如果标签中的栈底标识S=0,表明还有下一层标签,继续进行下一层标签转发。

LDP邻居建立;LDP的标签发布、分配、保持方式;MPLS中数据转发流程(FIB,NHLFE,ILM)

MPLS对TTL的处理

MPLS对TTL的处理模式:

Uniform模式:统一模式,IP报文经过MPLS网络时,在入节点,IP TTL减1映射到MPLS TTL字段,此后报文在MPLS网络中按照标准的TTL处理方式处理。在出节点将MPLS TTL减1映射到IP TTL字段。

Pipe模式:管道模式,在入节点,IP TTL值减1,MPLS TTL字段为固定值,此后报文在MPLS网络中按照标准的TTL处理方式处理。在出节点会将IP TTL字段的值减1。

[Huawei]undo ttl propagate,修改为管道模式,该命令执行前清理mpls ldp才能生效,reset mpls ldp all;

[Huawei]ttl propagate,统一模式

BGP路由黑洞的解决方案:BGP跨跳建立,R2和R4运行BGP,建立邻居传递路由,R3没有运行BGP

1、GRE隧道,去往一个目的地,如果这个目的地的下一跳,有隧道,那么去往该目的地也经过隧道。

2、全互联

3、MPLS LSP隧道

[Huawei]route recursive-lookup tunnel,开启非标签公网BGP路由迭代到LSP隧道中。

4、路由引入

LSP具有隧道特性;所有VPN本质都是隧道。

这篇关于MPLS基本转发过程,隧道特性、对TTL的处理、BGP路由黑洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/881122

相关文章

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima