MPLS
包交换-数据组成数据包,在网络的各个节点经行传递,最终到达目标-----
1.查询两张表---路由表和ARP缓存表。
2.路由表的匹配原则,最长匹配原则
3.递归查找
4.IP报头可变长,则只能通过软件进行处理。
包交换优化过程:
1.进程交换,每个数据包都基于ARP和路由表进行转发。
2.快速包交换,基于流的包交换---只有第一个数据包需要执行包交换的过程。
3.思科特快交换,CEF,对路由表和ARP进行预读取,记录在CEF中,并且这个也支持硬件,华为设备在进行数据转发时,查看的不是路由表,而是FIB表(转发信息数据库),FIB表支持硬件处理转发。
mpls其实就是和包交换结合共同发展的标签交换技术,因为标签生成需要识别三层协议,,而mpls成为多协议标签交换,因为它可以识别和兼容多种三层协议。
MPLS主要应用的领域:
1.用来解决bgp的路由黑洞
2.mpls vpn
3.mpls te ----流量工程------可以简单理解为控制流量转发的路径。
所有运行MPLS设备组成的网络,称为一个mpls域。域中所有运行MPLS的设备我们称为LSR(标签交换路由器)
在MPLS中,我们把具有相同特征的数据包称为FEC--- 等价转发类,简单理解为匹配到同一条路由条目的的所有数据都属于同一个FEC,一个FEC分配一个标签。
LIB--标签信息表
FLIB-标签信息转发表 LIB和FIB结合的产物,主要是用来记录标签编号,出接口以及下一条的对应关系,
在整个过程中,所有MPLS域中的LSR除了自己针对某个FEC生成的标签外,还需要获取其他LSR对相同FEC分配的标签。
包交换
控制层面:路由协议的数据流动反向,目的是为了获取未知网段的路由信息,生成路由表
数据层面:基于设备已经完善的路由表(FIB),来转发具体的数据到达目标网段,其方向正好和控制层面相反
标签交换:
控制层面:基于FEC分配标签,并且获取其他lsr相同的fec分配的标签,记录在本地LIB表中,再结合FIB表形成FLIB.(控制层面的功能可以通过静态手工配置来完成,也可以通过动态协议来完成,LDP协议:标签分发协议)
数据层面:设备基于FLIB表,根据标签转发。
例图:此时R1想要提供MPLR到达R4的环回4.4.4.0/24此时如果从R1进入MPLS域中,则携带的数据需要压入到达R4环回的标签,这样的设备称为:入站LSR(Ingress LSR)
而R2,R3则在MPLS中完成了一次标签的置换动作,这样的LSR称为:中转LSR(transit LSR)
R4是MPLS域的中到达环回的目的路由器,需要完成的是标签的弹出动作,这样的LSR称为:出站LSR(egress LSR)
整个数据层面数据流动的路径为R1-R2-R3-R4,我们把这条路径称为LSP:标签交换路径一般一个FEC会对应一条LSP 。特别注意,LSP是分方向的,如果需要实现数据的双向互通,则必须搭建两个方向的LSP才行
LABEL---20位-----取值范围位0-2的20次方,,我们把标签的取值范围称为标签空间,每台设备的标签空间是独立的