揭开MPLS的神秘面纱,这些你都知道吗?
副标题[/!--empirenews.page--]
在正式学习MPLS之前,我们先复习一下在NA、NP中反复学习的IP转发原理。 在上图中,关于PC-A和PC-B之间互相访问的过程中:
其中省略了二层mac地址的ARP查询和重写数据帧的内容。 简而言之:IP数据报文在传递的过程中,根据目的IP地址,查询路由表,得到出接口将数据发出,源目的IP地址保持不变,mac地址逐跳改写。 上面这个是我们耳熟能详的IP转发原理。 其中我们为了方便理解,隐藏了其在转发过程中真实的一幕,即路由器收到IP报文时,查询的其实并不是路由表(RIB),而是转发表(LIB)。 我们需要复习一下在NP交换部分所讲过的交换工作原理。 最早期,交换机在交换数据帧时采用的交换方式我们称之为进程交换,所有的报文在交换时都需要经过CPU查询处理,导致交换效率一直无法提升。随后,新一代交换方式出现,即采用数据流的交换方式,我们将源目的IP、源目的mac、源目的端口及入接口都相同的流量称为同一个数据流,交换机在处理这些数据时,只需要对第一个报文使用CPU进行查询,后续的所有报文全都按照第一个报文的交换方式进行处理,大大提高了交换效率。 而cisco根据数据流交换方式推出了自己独有的交换方式,在进程交换中,存在一个问题,即只有有流量触发后才会产生出对应的交换缓存,如果是处理大量不同数据流时,其实交换效率和进程交换一样慢;为了解决这个问题,cisco将其优化改进,利用交换机的闲时资源,提前计算出可能会收到的数据流的转发信息,将其载入缓存,当收到数据流时,直接使用预先缓存的转发信息处理报文,实现了正真的基于硬件的交换方式,cisco把这种方式成为思科特快转发(CEF)。 正是由于CEF的高效,cisco在新的路由产品中也移植了这个功能,所以现在大家所能接触到的思科设备都具备CEF功能。 而我们所谓的转发表其实就是CEF表,CEF表示根据路由表产生的,其不像路由表有大量的递归内容,CEF表中显示的就是一个数据包如果匹配中其下一步应该从哪个接口发出,简单高效。 比如下面的这个路由表(RIB): 路由就会出现需要递归查询的情况。 而我们去看一下CEF表(FIB): 路由器在闲时会根据路由表的信息,提前计算好转发信息,收到去往4.4.4.4的数据包直接从出接口F0/0发出。
以上是我们在NA、NP中所学的IP转发原理的内容,做一些补充。 下面,我们开始揭开MPLS的神秘面纱,来看一看内里乾坤。 MPLS(Multiprotocol Label Switch)最初是用来提高路由器的转发速度而提出的一个协议,但随着技术发展,设备转发性能越来越强,其加快转发速度的优势逐渐弱化,而多层MPLS报头嵌套的设计成为了其最出彩的地方。 目前用得比较多的场景主要是解决BGP路由黑洞问题和MPLS VPN数据转发。 首先,我们需要对MPLS有个大概的认识,MPLS在传递报文时会在二层帧头和三层报头中间插入MPLS报头,所以很多人叫它2.5层。 他的报文结构比IP报头简单得多,也小地多,只有4个字节(32bits)。 结构如下:
TTL相信不用解释了 如此简单的接口我相信你看过一次就能记住,同样,设备在处理MPLS报文时也会比IP报文处理效率更高。 在MPLS中有一些专业术语必须要了解。
(编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |