MPLS:多协议标签交换—基于标签进行路由—ISP使用
包交换:依赖报文中的IP地址进行数据转发
标签交换:基于2.5层的标签号进行数据转发;
MPLS—多协议—无论网络层运行何种协议,2.5均可运行标签交换;
包交换的技术:
1、原始的路由-----流量进入路由器后,路由器基于目标IP地址查询路由表,再基于目标ip
或下一跳ip查询ARP来获取对端mac
2、natflow -----一次路由多次交换-----传统的路由;当流量进入路由器后查询完路由表及ARP后,生成cache;再之后相同IP间的互访仅基于cache查询;
3、CEF—快速交换—cisco私有—无需路由直接交换----将路由器表和ARP表转换为FIB(路由表)和ADJ(ARP)表,FIB和ADJ均为二进制表,实际使用时被结合;
FIB—转发信息数据库-----目标ip地址及出接口—解决递归
ADJ—邻居表-----源目MAC
当下的主要应用:
1)解决BGP的路由黑洞问题 2)MPLS VPN 3)MPLS TE(流量工程)
使用MPLS的前提是设备基于CEF工作:
1)启动CEF后,表格可以被ASIC(硬件芯片)直接调用
2)CEF解决了递归的问题,便于MPLS生成标签转发表格
3)CEF工作后生成FIB表,只有FIB可以存储标签表,路由器的普通路由不能插入其他任何参数;
控制层面:交互路由信息;进行标签号的分发;
数据层面:根据路由表转发用户数据报文;基于标签号进行数据转发;
控制层面:通过IGP或EGP交互路由条目,生成路由表和FIB表;MPLS使用TDP/LDP基于FIB表中的每一条信息(本地所有的路由条目)生成一个标签号,然后告知所有邻居;
该工作完成后路由器上生成:
1)FIB表—转信息数据库
2)LIB表—标签信息数据库(本地和邻居关于所有学习到的路由条目生成的标签号)
3)LFIB表–标签转发信息数据库----将FIB表和LIB进行结合
数据层面:普通的数据包将基于FIB表转发;若数据包中存在标签号基于LFIB进行转发;
MPLS的数据封装于2层和3层间,故称为2.5层
MPLS的数据包格式:
前20位为标签号:存在2^20个号码,其中0-15号保留;
21-23位为8个优先级,用于QOS;
25-32位TTL----当标签号被压入时,将复制3层报头的T