mpls出现背景
multiple protocol label swtching 多协议标签交换 适配性强
当你启用了mpls,收到一个报文带标签封装,不会查看路由表, 查看这个标签的值 。会匹配一张基于标签的转发表 LFIB 基于asic芯片 并且是精确匹配 就是数字匹配数字。
不可能 一个数据层面的机制能独立运行,必须要有控制层面机制来配合他,tdp/ldp bgp rsvp。
路由器的转发能力非常弱:表现在模糊匹配,并且cpu调用路由器。查表逐条匹配
交换:数据层面的机制,是转发技术
ipv4转发技术:
-
进程交换 传统查表转发
-
快速交换 相同去往同一目的网络的数据包整合成一组流 基于cash
-
c ef 自动形成两张表 FIB 路由条目 会根据路由表做实时变化 。并且会针对下一条不直连的静态和bgp路由 自动做下一跳直连化的处理, 邻居关系表
cef和mpls已经差距没有太大了,所以现在使用的mpls并不是为了提高路由器的转发机制,而是运营商的一项业务,可以解决bgp的黑洞问题。mpls vpn 运营商敲几条命令打通专线,是运营商主要的盈利来源。 mpls te 配合专线做路径优化。、
标签
打标签:FEC 转发等价类 具备相同属性的数据包集合
默认使用目的ip地址
产生标签的行为: 标签分发。
FEC对应路由条目对应标签
在cisco启用mpls必须 要启用cef ,之所以用不了原因就是你没有办法保存所以产生的标签 ,保存的好处,当你收到域外到域内的ipv4路由 只需要查一次fib.
igp也得运行,获得路由条目,mpls控制层面的协议会针对路由表的路由条目来产生标签,这样就可以添加标签,产生表项
产生标签
我们要知道在路由器上启用mpls只是数据层面的机制并不会产生标签,通过mpls控制层面机制才能产生标签这个行为是标签分发。标签分发是本地行为。并且能标签通告 会产生LIB标签信息库。
通告:1.思科产生并且有邻居 2.华为产生并且邻居向我做了标签请求
LFIB标签处理: 两
- 压入 添加新 1.华为思科 完全独立自主分发 2. 下游邻居路由器先针对该路由产生标签,我才会产生。
- 弹出 去除最外层 标签 mpls vpn2 mpls te 3个
- 交换
- 保持 添加 1.全保持 2.自由标签保持、节约资源,但收敛效率低。
入标签 :当入标签是本地标签的时候才能够识别
出标签
LIB的信息放入LFIB就形成表项
TDP私有 711端口 广播
LDP公有 646 自动发送组播hello 基于udp ,交换传输地址
一台路由器先形成fib查找该目的下一跳地址,针对这个地址查ldp的邻居表,匹配各个地址的被隐藏地址,在针对路由id LIB
确定它所被分发的标签,在基于本地标签,形成标签映射 ,最后形成LFIB
启用mpls lsr收到带标签的数据包 转发数据查LFIB
收到ipv4数据 查FIB
lsr通过mpls接口发送数据的时候,尽可能打标。
数据层面的上流和下游
数据层面的源是上游 ,控制层面是下游。
标签通告是由下游向上游通告
通告环回口默认32位,但本地的掩码是24位,因为本地标签跟邻居标签彼此不兼容
LER边界