本文主要是介绍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路由黑洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!