MPLS对于IGP有什么要求呢?一定要现有路由才能够分发标签;因为MPLS的标签分发就是基于路由条目的;启用MPLS的前提是不但要开启CEF,还要保证IGP收敛;
Control Plane Components Example:
控制层面要素的例子:
control
OSPF:10.0.0.0/8 OSPF OSPF:10.0.0.0/8
LDP: 10.0.0.0/8 LDP LDP: 10.0.0.0/8
data plane
labeled packet LFIB labeled packet
label 17 24->17 label 24
在控制层面,该路由器运行了OSPF,通过OSPF邻居学习到10.0.0.0/8的路由,这里闫辉用到了这样的描述:“把该路由泛洪给其他邻居”,在路由器上启用了MPLS之后,会自动启用TDP或者LDP,现在本地有了这条路由条目10.0.0.0/8,本地给这个10.0.0.0/8路由分发一个标签24,把24这个标签通告给邻居,告知它们,10.0.0.0/8对应的本地的标签是24,10.0.0.0/8是邻居给我传的,邻居路由器也启用了MPLS,邻居路由器也会基于本地的路由条目分发标签,邻居关于该10.0.0.0/8路由条目分发的标签是17,然后把17告知给我,标签17会被放入我的LIB当中,通过LIB形成LFIB,在数据层面肯定收到带标签的报文,这个标签就是24(技术细节:MPLS收到一个带标签的报文,这个入标签必须是本地所分发的标签,也就是我都到一个带标签的报文,这个标签本地一定要能够识别,本地能识别的标签就是本地分发的标签),如果收到一个到标签的报文,本地不能识别,路由器会直接把报文丢弃,什么表都不会查,假如收到一个带标签24 的报文,查找LFIB,LFIB当中有标签映射,可以把入标签24映射为出标签17,LFIB除了标签映射,LFIB还有转发出栈接口和下一跳地址,基于这张LFIB,把报文转发给下一个邻居,这个时候把入标签24替换成出标签17发给邻居;一台路由器收到的标签必须是本地分发的;