MPLS多协议标签交换

最初MPLS多协议标签交换和包交换是竞争关系

随着包交换的快速发展为特快包交换

MPLS最终落败但开展其它业务并且还使用了特快包交换中的FIB表

开展业务为:

  • 解决BGP路由黑洞的最佳方案
  • MPLS VPN  
  • MPLS TE 流量工程

MPLS多协议标签交换_第1张图片

MPLS多协议标签交换

工作过程

控制层面:路由协议工作,生成RIB-FIB,流量的方向即为控制流量;

数据层面:设备基于路由表访问目标,产生数据流量;与控制层面方向相反;

工作原理

控制层面:RIB --> FIB      LIB      FIB + LIB  =  FLIB

  1. 在没有MPLS时控制层面仅生成RIB(路由表)和FIB(转发信息数据库);FIB是基于RIB生成;
  2. MPLS协议会启动TDP(cisco私有)或LDP(公有),直连设备间将建立邻居关系;
  3. MPLS在建立邻居关系后,生成邻居表;LDP协议再基于FIB表中学习到的路由条目生成标签号;
  4. 标签号生成后,将存储于本地的LIB-标签信息数据库;LIB表将在邻居间共享;   LIB表中装载本地及邻居为每条路由分发的标签号;
  5. 运行MPLS协议的设备,将LIB和FIB进行结合,将标签号和最佳路径的关系映射生成LFIB表(标签转发信息数据库)   

注:控制层面生成的表格RIB—》FIB---》LIB---》LFIB   前两张表为路由协议工作后生成,后两张表为MPLS的LDP协议生成;

数据层面:

  1. 第一跳压入标签号pe边界LSR  
  2. 中间的路由器 p LSR基于标签号,查询本地LFIB表转发
  3. 最后一跳弹出标签 pe设备  边界LSR

MPLS多协议标签交换_第2张图片

包交换会将路由记录在RIB表中,运行了CEF的设备会将RIB表转换为FIB表。

MPLS协议由TDP(cisco私有)或者LDP来运行。运行MPLS协议的设备两两建邻,LDP基于FIB表中的路由条目来分配标签号存储在LIB(标签信息数据库)中。将标签表共享给邻居。最后,每个设备上都有所有设备发出的标签号,设备基于LIB和FIB生成为LFIB表来整合出转发规则表(最佳)。

MPLS多协议标签交换_第3张图片

标签转发路由器

MPLS多协议标签交换_第4张图片

 中间蓝色的为背景覆盖为MPLS域,也就是MPLS协议的范围。

旁边的EdgeLSR为边界标签路由器。负责压标签和弹标签。PE设备

中间的LSR为标签路由器负责转发标签。P设备

MPLS的次末跳  倒数第二跳,默认执行

边界LSR将本地的直连网段传递给MPLS域内邻居后,LDP分配标签号为3,告知倒数第二跳设备它的身份;导致倒数第二跳设备在查询LFIB表后,已知转发路径的前提下提前弹出标签,使得最后一跳路由器均只需要查询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-mpls-ldp]q

之后需要在所有标签经过的接口上开启协议

[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会话的建立;

[r3]display tcp status

TCPCB    Tid/Soid Local Add:port        Foreign Add:port      VPNID  State

b4cf3d64 167/6    3.3.3.3:646           4.4.4.4:50858         0      Established

b4cf3adc 167/3    3.3.3.3:50806         2.2.2.2:646           0      Established

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

[r3]display  mpls ldp peer   查看邻居表

再然后基于本地的FIB表,默认华为仅针对32位的主机路由生成标签号;存储于LIB表中,之后邻居间共享LIB表;

[r3]display  fib  查看FIB表

[r4]display  mpls ldp  lsp    查看LIB表,装载本地和邻居为各条路由分配的标签号

最后路由器将LIB和FIB集合,生成最佳路径的标签转发规则—LFIB

[r4]display mpls lsp  查看LFIB表

注:默认华为仅针对32位主机路由分配标签,mpls域内的路由器都要写

[r3]mpls

[r3-mpls]lsp-trigger all   开启功能,将针对fib表中所有路由进行标签号的分配

[r2]tracert -v -a 2.2.2.2 56.1.1.2

除了用wireshark查看包,也可以使用追踪命令

MPLS多协议标签交换_第5张图片

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和真实专线比较缺点:

安全 --- ipsec 系列

带宽稳定

MPLS VPN是运营商帮用户做的虚拟专线,比用户自己做的家庭VPN稳定和安全,价钱比真正的专线低很多

MPLS-VPN实验

私有地址和公有地址的区别

你可能感兴趣的:(网络)