控制层面:路由协议工作,生成RIB-FIB,流量的方向即为控制流量;
数据层面:设备基于路由表访问目标,产生数据流量;与控制层面方向相反;
控制层面:
- 在没有 MPLS 时控制层面仅生成 RIB(路由表)和 FIB(转发信息数据库);FIB 是基于 RIB生成;
- MPLS协议会启动 TDP (cisco 私有) 或 LDP(公有),直连设备间将建立邻居关系;
LDP------基于UDP 和 TCP 的646 端口工作;先使用 udp 发送组播hello 包发现邻居,获取邻居 ip地址,再和该直连邻居建立 TCP的会话;邻居关系建立后;为了邻居关系间的稳定,一般使用设备的环回地址来建立 tcp 会话;建议设置环回地址为 mpls 协议的route-id,该id 值将携带在组播收发的 hello 报文中,之后自动进行tcp会话;
总结:MPLS协议需要在直连邻居间使用 router-id 地址来进行TCP 的会话;故前提条件为,route-id 必须为设备真实使用的ip 地址,建议为环回地址------稳定;
组播 hello 包在直连的物理接口上收发来获取对端的router-id;自然也要求router-id 值间路由可达;
因此正常在建立 LDP 的邻居关系前,路由协议已经收敛完成,RIB和FIB表已经生成;
- MPLS 在建立邻居关系后,生成邻居表;LDP协议再基于FIB 表中学习到的路由条目生成标签号;
cisco 设备默认基于FIB表中所有学习到的路由条目生成标签号,华为设备默认仅基于FIB 表中 32 位掩码的主机路由生成标签号;原因在于正常 32位主机路由为 ospf 学习的环回接口,正常工程中只有 BGP和 MPLS VPN 才会基于环回通讯,使用标签转发;
其他普通流量还是基于特快包交换来进行;
反观cisco 在启动 mpls 以后,所有流量将基于标签转发,降低了转发效率(前提为默认)
- 标签号生成后,将存储于本地的 LIB 表------标签信息数据库;LIB 表将在邻居间共享;
LIB表中装载本地及邻居为每条路由分发的标签号;
- 运行MPLS 协议的设备,将LIB和FIB 进行结合,将标签号和最佳路径的关系映射生成 LFIB 表(标签转发信息数据库)
注:控制层面生成的表格
RIB-》FIB---》 LIB---》 LFIB 前两张表为路由协议工作后生成,后两张表为 MPLS 的LDP协议生成;