MPLS(多协议标签交换)
多协议:可以基于多种三层协议生成二点五层标签
标签交换:在三层和二层之间生成标签信息,路由器在转发的过程中,只需要基于标签号查询LFIB表转发即可
MPLS的工作过程:
刚开始的时候,会先启动ldp或者tdp,然后基于udp的646端口组播发送hello包,直连的设备之间将建立邻居,邻居间建立tcp会话。邻居建立完成之后,ldp会基于FIB表学习到的路由条目,生成标签号。标签号生成之后,将存储于本地的LIB表中,并且在邻居间共享,运行mpls的设备将FIB表和LIB表结合生成LFIB表。当流量进入第一台运行mpls的路由器时,会查询本地的FIB表,并且决定是否压入标签,当流量进入中间的路由器时,会先判断有无标签号,如果有标签号,就基于LFIB表转发,如果没有直接基于FIB表转发,当流量从最后一个路由器离开的时候,会弹出标签号
但是注意:由于mpls有一个次末跳机制,因此在从倒数第二个路由器离开的时候,就会弹出标签号,最后一个路由器直接查询FIB表转发即可。
MPLSvpn的工作原理:
路由器将来自不同网段的路由附上RD值,附上RD的路由将不能存放在本地公有的路由表中,必须存放在VRF空间内,然后再给其附上RT值,用于传送到对端的设备,让对端区分。vpnv4路由必须借助bgp传递,但是由于在数据层面不能附上RD和RT值,因此需要给数据打上两层标签,外层用于打破bgp路由黑洞,内层用于连接对应的vrf空间。