博客
关于我
MPLS virtual private network PE-CE之间的路由协议(OSPF)
阅读量:758 次
发布时间:2019-03-23

本文共 1880 字,大约阅读时间需要 6 分钟。

基础配置

OSPF 协议在 PE 和 CE 之间的路由协议中扮演着重要角色。当 VPN 用户需要通过 MPLS VPN 骨干传递时,通常会在 PE 上将 OSPF 路由引入到 MP-BGP,然后再将 BGP 路由引入到 OSPF 区域。然而,这种方法可能会导致远端 PE 将 OSPF 路由当作外部路由,从而引发一系列问题。

首先要理解的是,当 PE 将 BGP 中的 VPNv4 路由引入到 OSPF 时,路由类型、区域号、路由器 ID 等属性必须得到妥善处理。此外,OSPF 过程的域 ID 也必须正确配置,以确保远端 PE 正确理解并正确处理这些路由。

问题分析

如果用户站点之间存在备份链路(后门链路),当 OSPF 路由通过 MPLS VPN 骨干传递时,远端站点可能会优先选择后门链路的路径,而不是骨干链接。这与用户的原始需求不符。更糟糕的是,这种情况会导致同一 VPN 用户的不同站点之间被 MPLS VPN 骨干分割。

解决思路

为了避免这种情况,MPLS VPN 采用了一种特殊的解决方法。在远端 PE 上,将 BGP 路由引入到 OSPF 时,以 LSA3 的形式通告出来(而不是常规的 LSA5 或 LSA7)。这种做法让 MPLS VPN 骨干看起来像一个 OSPF 的骨干区域,PE 在骨干区域中扮演 ABR(Area Border Router)的角色。这样,OSPF 区域就可以通过中间的一个超级骨干区域连接在一起,形成一个完整的网络。

BGP 扩展属性解析

在 BGP 扩展属性中,需要传递一些关键特征,以便远端 PE 能够正确重建 OSPF 路由。这些特征包括:

  • 路由类型:使用 LSA 的类型值(如 LSA1、LSA2、LSA3 等)。
  • 域 ID:确保域 ID 一致性,避免域间路由的处理问题。
  • OSPF 路由属性:包括区域号、路由类型(如内部路由或区域间路由)。
  • 度量值类型:如 LSA1 和 LSA2 使用的度量值类型,或者通过 Sham-Link 链路传递的特定值。

路由优先级传递

在 PE 上,将 OSPF 内部路由或外部路由引入到 BGP 后,需要设置 MED 值(即 OSPF 路由的 Cost 值)来控制路由的优先级传递。当远端 PE 将 BGP 路由引入到 OSPF 区域时,必须保留 MED 值,这样才能保证路由正确性。

两种主要场景需要关注:

  • 两端 PE 的域 ID 相同:此时,OSPF 内部路由或外部路由的 Cost 值会直接传递,确保远端 PE 正确处理。
  • 两端 PE 的域 ID 不同:此时,远端 PE 会将 BGP 路由通告为 OSPF 外部路由,而 Cost 值仍然由 MED 值决定。
  • 防止路由环路

    在对网络健壮性要求较高的场景下,采用 CE 双归属方式组网可能会引入潜在的路由环路问题。在这种情况下,可以通过以下方式避免路由环路:

    • DN 比特位机制:在 LSA3 中设置 DN 比特位,使得同一用户站点的其他 PE 不将该路由重新发布到 BGP 中。
    • Route-tag 机制:对于 LSA5 和 LSA7,同一站点的 PE 会根据 Route-tag 对路由进行标记,避免环路的产生。

    这些机制需要谨慎配置,以确保不会导致路由无法正常学习。

    后门链路的处理

    在 MPLS VPN 网络中,用户站点之间通常会部署备份链路(后门链路),以增强网络的稳定性。当后门链路存在时,必须采取特殊措施,确保 OSASP 内部路由和外部路由的传递不会影响 MPLS VPN 骨干。

    此时,可以通过在 PE 和 CE 之间部署 OSARP 的特殊链路——Sham-Link—to Mitigate 这种问题。Sham-Link 允许 OSARP 协议正常工作,但不会将路由信息发布到 BGP 中。这意味着即使后门链路存在,MPLS VPN 骨干仍然是用户数据流的优先路径,只有在骨干链路中断时,才会切换到后门链路。

    Sham-Link 配置注意事项

    Sham-Link 的配置需要注意以下几点:

  • 32 位掩码:Sham-Link 的端点地址必须使用 32 位掩码,只能在特定 VRF 中使用。
  • 跨 VRF 配置:确保 Sham-Link 的端点地址在 BGP 中正确公告,且不在 VRF 的 OSPF 过程中公告。
  • 防止抖动:Sham-Link 的端点地址不能在 VRF 的 OSPF 过程中公告,否则可能导致链路抖动。
  • 通过以上配置,可以在 MPLS VPN 网络中实现稳定且高性价比的组网解决方案。

    转载地址:http://ahzzk.baihongyu.com/

    你可能感兴趣的文章
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>
    Mysql: 对换(替换)两条记录的同一个字段值
    查看>>
    mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
    查看>>
    MYSQL:基础——3N范式的表结构设计
    查看>>
    MYSQL:基础——触发器
    查看>>
    Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
    查看>>
    mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
    查看>>
    mysqldump 参数--lock-tables浅析
    查看>>
    mysqldump 导出中文乱码
    查看>>
    mysqldump 导出数据库中每张表的前n条
    查看>>
    mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
    查看>>
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
    查看>>
    mysqldump备份时忽略某些表
    查看>>
    mysqldump实现数据备份及灾难恢复
    查看>>
    mysqldump数据库备份无法进行操作只能查询 --single-transaction
    查看>>