MPLS(多协议标签交换)-基础原理与配置

标签交换--包交换(路由数据传递)

        数据包在进入到的 MPLS 的域内后.转发该数据包时,最初在包交换仅支持原始交换时
将在第2层和3层中间压入标签号,使得域内的路由器在基于 2.5 层的标签号仅需要查询本地的一张(LFIB 表(标签转发信息数据库)

        标签的意义在于更快的查询,但随着包交换的加速使用标签交换失去快速查表的优势

多协议:可以基于多种不同的3层协议来生成 2.5层的标签信息

包交换一包为网络层的PDU,故包交换是基于 IP地址进行数据转发--就是路由器的路由行为

升级包交换:

1、原始包交换

        每一次需要查询 路由表RIB - ARP(目标或下一跳的MAC地址) 查两个表

2、快速交换           

        一次路由多次交换 -数据流的第一个包进行原始交换,过程中生成缓存记录包的源、            目ip,进入的接口,转出的接口,转出时新的mac该数据流的第二个包基于缓存转发即可;

3、特快交换-无需路由直接交换    CEF(cisco)
      直接将路由表一RIB 转换成FIB(转发信息数据库)  ARP -ADJ    FIB+ADJ合成 基于该表转发即可

        RIB-->FIB  转发信息数据库   FIB 的特点:在将路由器表转换过程中,存储递归查询结                                                            果: 同时将新封装的二层地址进行绑定

        ARP -ADJ   

注意:随着包交换的加速使得今天的 MPLS 技术也开始基于 FIB 表工作来提高 MPLS 的工作效率 

FIB表 

MPLS广泛应用的原因

1.MPLS VPN(最接近专线的VPN )

2.解决BGP路由黑洞最佳方案

3.MPLS TE-流量工程

MPLS工作原理

工作过程

控制层面:路由协议工作,生成 RIB-FIB,流量的方向即为控制流量数据层面
数据层面:设备基于路由表访问目标,产生数据流量:与控制层面方向相反

控制层面

1.        在没有MPLS时控制层面仅生成RIB(路由表)和FIB(转发信息数据库);FIB是基于RIB生成;
2.        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表已经生成;
3.        MPLS在建立邻居关系后,生成邻居表;LDP协议再基于FIB表中学习到的路由条目生成标签号;
cisco设备默认基于FIB表中所有学习到的路由条目生成标签号,华为设备默认仅基于FIB表中32位掩码的主机路由生成标签号;原因在于正常32位主机路由为ospf学习的环回接口,正常工程中只有BGP和MPLS VPN才会基于环回通讯,使用标签转发;其他普通流量还是基于特快包交换来进行;反观cisco在启动mpls以后,所有流量将基于标签转发,降低了转发效率(前提为默认)
4.        标签号生成后,将存储于本地的LIB表-标签信息数据库;LIB表将在邻居间共享; LIB表中装载本地及邻居为每条路由分发的标签号。;
5.        运行MPLS协议的设备,将LIB和FIB进行结合,将标签号和最佳路径的关系映射生成LFIB表(标签转发信息数据库)

数据层面

1)没有 MPLS 协议,基于FIB 表正常转发即可
2) 名词 MPLS domain -MPLS 的工作半径
           eage LSR(PE)--边界标签交换路由器工作 mpls 域的边缘,连接域外设备

           LSR (P)标签交换路由器整体工作 MPLS 域内

3)当流量进入到第一台 pe 设备时,在没有特快交换之前,路由器基于目标 IP 地址查询本地的 RIB,之后还要在 LIB 表中对应才能确定流量是否应该压入标签,需要两张表的查询

在存在特快交换时,流量进入第-pe入标签直接查询 FIB 表,表中关联标签号,将直接确定是否压入标签

流量再到P路由器,接收到流量中若存在标基于 LFIB 表转发,若没有标签基于 FIB 表即可

流量从最后一台边界离开 MPLS 域时将弹出标签
存在标签号的流量,进入路由器时,入标签表应该为本地路由器分配的编号,出标签为本地的下游(下一跳)设备分配的标签号上下游的概念基于数据层面进行标定

MPLS标签

标签的格式---32 位,4个字节

次末跳--倒数第二跳  默认执行

        边界 LSR 将本地的直连网段传递给 MPLS 域内邻居后,LDP 分配标签号为 3,告知倒数第二跳设备它的身份导致倒数第二跳设备在查询 LFI8 表后,已知转发路径的前提下提前弹出标签,使得最后一跳路由器均只需要查询 FIB 表: 否则最后一跳路由器在查询 LFIB 表后,弹出标签还需要查询 FIB;

MPLS配置

1.IP可达— 使用路由协议全网可达
2.配置MPLS – LDP
[r2]mpls lsr-id 2.2.2.2 必须先定义mpls的router-id,要为本地设备的真实ip地址,且邻居可达,因为
该地址将用于建立TCP会话,建议使用环回地址。
[r2]mpls // 再开启mpls协议
[r2-mpls]mpls ldp // 再激活LDP协议
之后需要在所有标签经过的接口上开启协议
[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]mpls 先开启MPLS
[r2-GigabitEthernet0/0/1]mpls ldp 再激活LDP协议
当启动配置完成后,邻居间使用UDP报文组播收发hello包;之后基于hello包中的router-id地址进行TCP会话的建立;

当tcp会话建立后,邻居间基于TCP会话再建立邻居关系,生成邻居表:

[r3]display mpls ldp peer  查看MPLS邻居表
再然后基于本地的FIB表,默认华为仅针对32位的主机路由生成标签号;存储于LIB表中,之后邻居间共享LIB表。
[r3]display fib 查看FIB表

[r3]display fib verbose 查看FIB表详细信息
[r4]display mpls ldp lsp 查看LIB表,装载本地和邻居为各条路由分配的标签号
最后路由器将LIB和FIB集合,生成最佳路径的标签转发规则—LFIB
[r4]display mpls lsp 查看LFIB表
注:默认华为仅针对32位主机路由分配标签

[r3]mpls
[r3-mpls]lsp-trigger all 开启功能,将针对fib表中所有路由进行标签号的分配,默认只对32位掩码地址的分配。
[r2]tracert -v -a 2.2.2.2 56.1.1.2

查看TCP建立的详细信息

 使用mpls解决BGP的路由黑洞

        MPLS协议并不会为通过BGP协议学习的路由条目分配标签号;而是在访问这些BGP路由目标网段时,在流量中压入到达这些网段的BGP下一跳设备地址的标签号;


例:R2从BGP邻居5.5.5.5 学习到6.6.6.0 网段的路由;R2在访问6.6.6.0 时,将在数据包中压入到达5.5.5.5ip地址的标签号,来穿越中间没有运行BGP协议的设备;实现打破路由黑洞;

注:华为设备默认不为BGP协议执行下一跳标签机制,cisco默认执行;华为设备需要开启 :
route recursive-lookup tunnel 路由基于隧道进行递归查找

MPLS  VPN

VPN虚拟专用网络  通过虚拟手段实现点到点专线的效果

工作原理

1.CE 将私有路由传递到PE 端
2.PE 端在收到不同 CE 发送过来的相同网段路由时,使用 RD 值进行区分--格式X:X 32位
3.PE 端将附上 RD 的私有路由不能直接装载于本地公有路由表中,需要放置到对应的 VRF(虚拟路由转发)空间内:之后再路由付 RT值,用于传递到对端 PE设备,对端区分信息
VPNV4 路由=普通 IPV4 路由+RD+RT
4.VPNV4路由需要MP-BGP来进行传递:对端基于 RT 值,将路由装载到对应的 VRF 空间内,再共享给VPNV4 路由需要 MP-BGP 来进行传递对应的 CE:
5.控制层面工作完成后,数据层面需要基于MPLS来工作,由于数据层面不能携带 RD/RT值
故 mpls 将在数据包中压入两层标签,外层标签用于穿越中间设备,打破 BGP 路由黑洞内层标签用于对应 VRF 空间

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值