MPLS小结(mpls基础知识)

网友投稿 586 2022-09-27


MPLS小结(mpls基础知识)

MPLSMPLS:多协议标签交换,工作在数据链路层与网络层之间,即2.5层,支持多种协议,基于标签进行路由。传统的包交换是基于IP地址进行数据转发的。MPLS的主要解决的问题:1)BGP的路由黑洞(一层标签,为普通MPLS分组使用)2)MPLS ×××(两层标签)3)MPLS TE(流量工程)(三层标签)一、MPLS的基本概念

1、转发等价类MPLS作为一种分类转发技术,将具有相同转发处理方式的分组归为一类,称为FEC(Forwarding Equivalence Class,转发等价类)。相同FEC的分组在MPLS网络中将获得完全相同的处理。目前设备只支持根据报文的网络层目的地址划分FEC,即到同一个目的地址的所有报文就是一个FEC。

2、标签标签是一个固定长度为4字节,仅具有本地意义的短标识符,用于唯一标示一个分组所属的FEC。一个标签只能代表一个FEC。标签的封装结构如下图:Label Exp S TTLLabel:标签值字段,长度为20位,用来表示一个FEC。Exp:长度为3位,协议中没有明确规定,通常用作CoS。S:长度为1位,MPLS支持多种标签。值为1时,表示为最底层标签。TTL:长度为8位,和IP分组中的TTL意义相同,可以用来防止环路。、

标签交换路由器(P路由器)LSR(Label Switching Router,标签交换路由器)是具有标签分发能力和标签交换能力的设备,是MPLS网络中的基本元素。 标签边缘路由器(PE路由器)位于MPLS网络边缘、连接其他网络的LSR称为LER(Label Edge Router,标签边缘路由器)。5、标签分发协议标签分发协议(LDP)是 MPLS 体系中的一种主要协议。在 MPLS 网络中,两个标签交换路由器(LSR)必须用在它们之间或通过它们转发流量的标签上达成一致。 标签交换路径属于同一个FEC的报文在MPLS网络中经过的路径称为LSP(Label Switched Path,标签交换路径)。7.转发信息库FIB从概念上讲类似于路由表或信息库。它维护着一个IP路由表中包含的转发信息的镜象。当网络中路由或拓朴结构发生了变化时,IP路由表就被更新,而这些变化也反映在FIB中。RIB表把所有路由协议学习到的路由汇总到一起,经过优选,把优选结果的路由加入到FIB表,供转发使用。所以FIB是RIB的一个子集。8.标签信息库对路由表中的每一条IGP的IP前缀来说,第一台LSR都会进行本地捆绑,也就是说,为IPv4前缀捆绑标签。然后LSR再将该捆绑的标签分发给所有LSP邻居。这些接收到的标签转换为远程标签。之后邻居将该远程和本地标签存储于一张特殊的表中,这张表就是标签信息库(LIB)。9.标签转发信息库在LFIB中,本地捆绑的标签被作为入站标签,通过路由表选择的远程捆绑标签中的一个作为出站标签。因此,当一台LSR收到一个带标签的报文以后,它就(根据LFIB)有能力将为自己分配的入站标签交换为其邻接的下一跳LSR分配的出站标签了。LFIB是CEF中的FIB+标签交换形成的LIB结合而成的(迭代)。

LFIB的每一个条目中包括输入标志,输出标志,输入接口和输出端口的MAC地址,转发表由输入标志对条项进行检索检查。

LIB与LFIB的区别通过LIB,只保存有标签信息,并没有出接口和下一跳信息,而你的LFIB,必须有出接口和下一跳信息,否则,无法实现转发

控制平面和转发平面MPLS节点由两部分组成:控制平面(Control Plane):负责标签的分配、路由的选择、标签转发表的建立、标签交换路径的建立、拆除等工作。转发平面(Forwarding Plane):依据标签转发表对收到的分组进行转发。

二、IP转发原理 利用路由协议(静态\RIP\OSPF等)生成路由表,根据目的IP地址进行转发,在IP报文转发的过程中,目的IP地址保持不变。其中用到两个表: RIB(路由表):路由信息库,通过各种路由协议获取路由信息。 FIB(CEF表):转发信息库,根据RIB生成,用于指导IP报文的转发。 路由器收到数据包,查看数据包的目的IP地址(IP头部),查找CEF表,根据CEF表转发数据。

三、MPLS的工作原理使用路由协议传递路由条目时,路由器上使用LDP/TDP为FIB表中的每一条路由条目均分配一个标签号,装载于LIB表中,同时传递给邻居,LIB表中还记录邻居传递到本地的标签号,然后路由器基于本地的FIB表和LIB表生成LFIB表。在MPLS网络中,路由器根据LFIB表转发分组。转发过程是:输入端的标记边缘路由器(LER)接收分组,并给分组贴上标签,标签交换路由器(LSR)对带有标签的分组进行交换,然后,输出端的标签边缘路由器(LER)去掉标签,并将分组传送给终端用户。

四、IP转发与MPLS转发的比较IP包头长度20字节,MPLS包头长度是4字节,基于MPLS转发的效率高于基于IP转发。 IP网络是逐跳转发数据,收到数据包,查找路由表发给下一跳就可以,而不关心下一跳路由器到底把数据包给谁。IP的逐跳转发,在经过的每一跳处,必须进行路由表的最长匹配查找(可能多次),速度缓慢。MPLS 网络中,预先分配标签,生成LSP。 MPLS的标签转发,通过事先分配好的标签,为报文建立了一条标签转发通道(LSP),在通道经过的每一台设备处,只需要进行快速的标签交换即可(一次查找)。

四、MPLS转发的四个动作:1.数据包由IP域进入到MPLS 域,LER根据标签转发表压入标签(PUSH)。2.在MPLS域转发数据包时,LSR根据标签转发表替换标签(SWAP)。3.当数据包离开MPLS域时,LER是弹出标签(POP)。PHP:倒数第二跳弹出。4.在最后一跳将所有标签移除(Untag)。

五、LSR如何判断所收到的报文是MPLS标签报文? 根据二层协议字段进行判断承载的是否是MPLS报文:以太网:0x8847(单播)和0x8848(组播);PPP:0x8281 MPLSCP,一种新的NCP协议。

六、次末跳弹出机制(Penultimate Hop Poping)在MPLS ×××应用中,末跳路由器(输出端LER)在默认情况下需要查看LFIB表后再查看FIB表,然后转发数据(转发给CE,即客户端路由器),而PHP路由器在已知出接口、下一跳等信息时,便可以将顶层标签弹出,然后将数据包转发给末跳路由器(输出端LER),导致末跳路由器转发数据包时只需查看FIB表,节省了一次LFIB表的查询。为了让次末跳LSR执行次末跳弹出,其下游的末跳LSR需要向次末跳LSR分发implicit-null标签,针对所有带有imp-null的remote标签的包,次末跳路由器就执行pop动作,将顶层标签弹出。为什么要强调“顶层”呢?这是因为对于MPLS ×××环境来讲,下面还有一层×××标签,PHP弹出之后的数据包仍然不是原本的IP包,而是带有×××标签的标签包。这样egress PE收到这个标签包之后,进行的不是IP的layer-3查找而仍然是标签查找,只不过查找的是×××标签所对应的VRF实例而已。查找完成之后就弹出×××标签包并放入对应的VRF实例里面发送给CE。

注意:PHP是MPLS的一种优化或补充,主要应用环境是MPLS ×××。要知道MPLS和MPLS ×××是两个不同的概念,而且,普通的MPLS分组使用一层标签,而MPLS ×××使用两层标签。对于普通MPLS分组,没有PHP,标签交换和数据转发也能正常完成。

名词解释:MPLS domain:MPLS的工作范围LSR(P路由器):标签交换路由器LER(PE路由器):标签边界路由器CE(客户端路由器):不工作于MPLS域


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring整合redisson开启缓存方式
下一篇:华为S5700系列交换机配置链路聚合LACP报错。(华为s5720链路聚合配置)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~