首页 » 网站推广 » 隐形转发php技巧_干货具体解析MPLS转发事理

隐形转发php技巧_干货具体解析MPLS转发事理

访客 2024-12-11 0

扫一扫用手机浏览

文章目录 [+]

最近一段韶光太阁NP课程在讲MPLS ,部分同学对MPLS的基本事理理解的不是很透彻, 本日,

定义

多协议标签交流MPLS(Multiprotocol Label Switching)

MPLS起源于IPv4(Internet Protocol version 4),其核心技能可扩展到多种网络协议,包括IPv6(Internet Protocol version 6)、IPX(Internet Packet Exchange)和CLNP(Connectionless Network Protocol)等。
MPLS中的“Multiprotocol”指的便是支持多种网络协议。

隐形转发php技巧_干货具体解析MPLS转发事理

由此可见,MPLS并不是一种业务或者运用,它实际上是一种隧道技能。
这种技能不仅支持多种高层协议与业务,而且在一定程度上可以担保信息传输的安全目的90年代中期,随着IP技能的快速发展,Internet数据海量增长。
但由于硬件技能存在限定,基于最长匹配算法的IP技能必须利用软件查找路由,转发性能低下,因此IP技能的转发性能成为当时限定网络发展的瓶颈。

隐形转发php技巧_干货具体解析MPLS转发事理
(图片来自网络侵删)

为了适应网络的发展,ATM(Asynchronous Transfer Mode)技能应运而生。
ATM采取定长标签,并且只须要掩护比路由表规模小得多的标签表,能够供应比IP路由办法高得多的转发性能。
然而,ATM协议相对繁芜,且ATM网络支配本钱高,这使得ATM技能很难遍及。

传统的IP技能大略,且支配本钱低。
如何结合IP与ATM的优点成为当时热门话题。
多协议标签交流技能MPLS便是在这种背景下产生的。

MPLS最初是为了提高路由器的转发速率而提出的。
与传统IP路由办法比较,它在数据转发时,只在网络边缘剖析IP报文头,而不用在每一跳都剖析IP报文头,节约了处理韶光。

随着专用集成电路ASIC(Application Specific Integrated Circuit)技能的发展,路由查找速率已经不是阻碍网络发展的瓶颈。
这使得MPLS在提高转发速率方面不再具备明显的上风。
但是MPLS支持多层标签和转发平面面向连接的特性,使其在VPN(Virtual Private Network)、流量工程、QoS(Quality of Service)等方面得到广泛运用。

网络构造

MPLS网络的范例构造如图1-1所示。
MPLS基于标签进行转发,图1-1中进行MPLS标签交流和报文转发的网络设备称为标签交流路由器LSR(Label Switching Router);由LSR构成的网络区域称为MPLS域(MPLS Domain)。
位于MPLS域边缘、连接其他网络的LSR称为边缘路由器LER(Label Edge Router),区域内部的LSR称为核心LSR(Core LSR)。

图1-1 MPLS网络构造

IP报文进入MPLS网络时,MPLS入口的LER剖析IP报文的内容并且为这些IP报文添加得当的标签,所有MPLS网络中的LSR根据标签转发数据。
当该IP报文离开MPLS网络时,标签由出口LER弹出。

IP报文在MPLS网络中经由的路径称为标签交流路径LSP(Label Switched Path)。
LSP是一个单向路径,与数据流的方向同等。

如图1-1,LSP的入口LER称为入节点(Ingress);位于LSP中间的LSR称为中间节点(Transit);LSP的出口LER称为出节点(Egress)。
一条LSP可以有0个、1个或多个中间节点,但有且只有一个入节点和一个出节点。

根据LSP的方向,MPLS报文由Ingress发往Egress,则Ingress是Transit的上游节点,Transit是Ingress的下贱节点。
同理,Transit是Egress上游节点,Egress是Transit的下贱节点。

体系构造

MPLS的体系构造如图1-2所示,它由掌握平面(Control Plane)和转发平面(Forwarding Plane)组成。

图1-2 MPLS体系构造

掌握平面:卖力产生和掩护路由信息以及标签信息。
路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)天生,用于选择路由。
标签分发协议LDP(Label Distribution Protocol):卖力标签的分配、标签转发信息表的建立、标签交流路径的建立、拆除等事情。
标签信息表LIB(Label Information Base):由标签分发协议天生,用于管理标签信息。
转发平面:即数据平面(Data Plane),卖力普通IP报文的转发以及带MPLS标签报文的转发。
转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息天生,卖力普通IP报文的转发。
标签转发信息表LFIB(Label Forwarding Information Base):简称标签转揭橥,由标签分发协议在LSR上建立LFIB,卖力带MPLS标签报文的转发。

MPLS基本转发过程

基本观点

在MPLS基本转发过程中涉及的干系观点如下:

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

Push:当IP报文进入MPLS域时,MPLS边界设备在报文二层首部和IP首部之间插入一个新标签;或者MPLS中间设备根据须要,在标签栈顶增加一个新的标签(即标签嵌套封装)。
Swap:当报文在MPLS域内转发时,根据标签转揭橥,用下一跳分配的标签,更换MPLS报文的栈顶标签。
Pop:当报文离开MPLS域时,将MPLS报文的标签剥掉。
在末了一跳节点,标签已经没有利用代价。
这种情形下,可以利用倒数第二跳弹出特性PHP(Penultimate Hop Popping),在倒数第二跳节点处将标签弹出,减少末了一跳的包袱。
末了一跳节点直接进行IP转发或者下一层标签转发。
默认情形下,设备支持PHP特性,支持PHP的Egress节点分配给倒数第二跳节点的标签值为3。

基本转发过程

以支持PHP的LSP为例,解释MPLS基本转发过程。

图1-6 MPLS基本转发过程

如图1-6,MPLS标签已分发完成,建立了一条LSP,其目的地址为4.4.4.2/32。
则MPLS基本转发过程如下:

Ingress节点收到目的地址为4.4.4.2的IP报文,压入标签Z并转发。
Transit节点收到该标签报文,进行标签交流,将标签Z换成标签Y。
倒数第二跳Transit节点收到带标签Y的报文。
由于Egress分给它的标签值为3,以是进行PHP操作,弹出标签Y并转发报文。
从倒数第二跳转发给Egress的报文以IP报文形式传输。
Egress节点收到该IP报文,将其转发给目的地4.4.4.2/32。

基本观点

在MPLS详细转发过程中涉及的干系观点如下:

Tunnel ID为了给利用隧道的上层运用(如VPN、路由管理)供应统一的接口,系统自动为隧道分配了一个ID,也称为Tunnel ID。
该Tunnel ID的长度为32比特,只是本地有效。
NHLFE下一跳标签转揭橥项NHLFE(Next Hop Label Forwarding Entry)用于辅导MPLS报文的转发。
NHLFE包括:Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息。
FEC到一组NHLFE的映射称为FTN(FEC-to-NHLFE)。
通过查看FIB表中Tunnel ID值不为0x0的表项,能够得到FTN的详细信息。
FTN只在Ingress存在。
ILM入标签到一组下一跳标签转揭橥项的映射称为入标签映射ILM(Incoming Label Map)。
ILM包括:Tunnel ID、入标签、入接口、标签操作类型等信息。
ILM在Transit节点的浸染是将标签和NHLFE绑定。
通过标签索引ILM表,就相称于利用目的IP地址查询FIB,能够得到所有的标签转发信息。

详细转发过程

图1-7 MPLS详细转发过程

MPLS详细转发过程如图1-7所示。

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

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

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

Ingress的处理:通过查询FIB表和NHLFE表辅导报文的转发。
查看FIB表,根据目的IP地址找到对应的Tunnel ID。
根据FIB表的Tunnel ID找到对应的NHLFE表项,将FIB表项和NHLFE表项关联起来。
查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。
在IP报文中压入出标签,并根据QoS策略处理EXP,同时处理TTL,然后将封装好的MPLS报文发送给下一跳。
Transit的处理:通过查询ILM表和NHLFE表辅导MPLS报文的转发。
根据MPLS的标签值查看对应的ILM表,可以得到Tunnel ID。
根据ILM表的Tunnel ID找到对应的NHLFE表项。
查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。
MPLS报文的处理办法根据不同的标签值而不同。
如果标签值>=16,则用新标签更换MPLS报文中的旧标签,同时处理EXP和TTL,然后将更换完标签的MPLS报文发送给下一跳。
如果标签值为3,则直接弹出标签,同时处理EXP和TTL,然后进行IP转发或下一层标签转发。
Egress的处理:通过查询ILM表辅导MPLS报文的转发或查询路由表辅导IP报文转发。
如果Egress收到IP报文,则查看路由表,进行IP转发。
如果Egress收到MPLS报文,则查看ILM表得到标签操作类型,同时处理EXP和TTL。
如果标签中的栈底标识S=1,表明该标签是栈底标签,直接进行IP转发。
如果标签中的栈底标识S=0,表明还有下一层标签,连续进行下一层标签转发。

流程图

MPLS对TTL的处理

MPLS对TTL的处理包括MPLS对TTL的处理模式和ICMP相应报文这两个方面。

MPLS对TTL的处理模式

MPLS标签中包含一个8比特的TTL字段,其含义与IP头中的TTL域相同。
MPLS对TTL的处理除了用于防止产生路由环路外,也用于实现Traceroute功能。

RFC3443中定义了两种MPLS对TTL的处理模式:Uniform和Pipe。
缺省情形下,MPLS对TTL的处理模式为Uniform。

Uniform模式IP报文经由MPLS网络时,在入节点,IP TTL减1映射到MPLS TTL字段,此后报文在MPLS网络中按照标准的TTL处理办法处理。
在出节点将MPLS TTL减1后映射到IP TTL字段。
如图1-8所示。
图1-8 Uniform模式下入方向TTL的处理Pipe模式

在入节点,IP TTL值减1,MPLS TTL字段为固定值,此后报文在MPLS网络中按照标准的TTL处理办法处理。
在出节点会将IP TTL字段的值减1。
即IP分组经由MPLS网络时,无论经由多少跳,IP TTL只在入节点和出节点分别减1。
如图1-9所示。

图1-9 Pipe模式下入方向TTL的处理

在MPLS VPN运用中,出于网络安全的考虑,须要隐蔽MPLS骨干网络的构造,这种情形下,对付私网报文,Ingress上利用Pipe模式。

ICMP相应报文

在MPLS网络中,当LSR收到TTL为1的含有标签的MPLS报文时,LSR天生ICMP的TTL超时。

LSR将TTL超时回应给报文发送者的办法有两种:

如果LSR上存在到达报文发送者的路由,则可以通过IP路由,直接向发送者回应TTL超时。
如果LSR上不存在到达报文发送者的路由,则ICMP相应报文将按照LSP连续传送,到达LSP出节点后,由Egress节点将该返回给发送者。

常日情形下,收到的MPLS报文只带一层标签时,LSR可以采取第一种办法回应TTL超时;收到的MPLS报文包含多层标签时,LSR采取第二种办法回应TTL超时。

但是,在MPLS VPN中,ASBR(Autonomous System Boundary Router,自治系统边界路由器)和HoVPN组网运用中的SPE(Superstratum PE or Service Provider-end PE,上层PE或运营商侧PE),吸收到的承载VPN报文的MPLS报文可能只有一层标签,此时,这些设备上并不存在到达报文发送者的路由,则采取第二种方法回应TTL超时。

标签:

相关文章

phpjson_技巧_PHP JSON

环境配置在 php5.2.0 及以上版本已经内置 JSON 扩展。 JSON 函数函数描述json_encode对变量进行 JSO...

网站推广 2024-12-13 阅读0 评论0

php登录校验技巧_php实现登录短信验证

本日benny要跟大家说这个实在很大略,便是借用某一个平台的短信api接口实现短信验证,说大略呢,那是由于他的官网:http://...

网站推广 2024-12-13 阅读0 评论0