MPLS隧道——PE与CE之间运行不同路由协议的情况分析

news2024/11/15 1:25:54

目录

PE和CE之间运行OSPF路由协议

Ospf的Dmian ID(还原属性)

Ospf的Sham Link属性

OSPF的DN置位与VPN Router Tag

PE和CE之间运行BGP路由协议

AS号替换功能

BGP的SoO属性


PE和CE之间可以不同部署不同的路由协议,部署不同的路由协议会存在不同的问题

PE和CE之间运行OSPF路由协议

Ospf的Dmian ID(还原属性)

应用场景

当两边的PE和CE之间都运行OSPF协议时,此属性才会体现出其作用(默认此属性开启,会携带)

基本概念

在PE上将OSPF路由引入BGP时,PE会为BGP路由增加Domian ID属性,此属性作为BGP的扩展属性传播(缺省情况下Domain ID为0)

具体作用

当对端PE收到BGP路由后,根据报文携带的Doamin ID与Route Type属性,会产生不同类型的Ospf Lsa类型发布到Vpn实例的OSPF进程中

方便进行LSA属性的过滤,也可以通过Doamin ID值针对不同站点的路由做优先计算(3类优于5类)

具体实例

此时PE1优先计算去往CE2的路由,再计算去往CE3的路由

配置命令

在OSPF视图下更改Doamin ID(缺省为0)

Domain-id 1   更改Domain ID为1

Ospf的Sham Link属性

应用场景

当两边的PE和CE之间都运行OSPF协议,并且在两端的CE之间做了一条备份(后门)链路时,此链路通过OSPF传递路由时,需要配置此属性(默认此属性不开启,不携带)

当CE1和CE2使用OSPF路由协议传递路由信息时,如果不使用此属性存在的问题

当CE1和CE2通过区域0建立OSPF,宣告路由时,从CE1/CE2学到的路由类型为1/2类LSA,优于从PE1/PE2学到的3/5类LSA

这就导致站点之间的数据传输一直选择后门链路,与用户期望不符

Sham Link如何解决以上问题

在两台PE之间建立一条虚拟的区域内链路,当LSA在此链路中泛洪时,LSA的类型不会改变(即不会因为Domain ID将其转换为3类/5类LSA)

此时从备用链路和从骨干网学习到的路由类型都类似,开始比路径开销

这时只需要把备用链路的开销调大,就可以保证在骨干链路没有出现故障前,数据都走骨干链路

配置Sham-link需要满足的三个条件

  1. 建立虚拟的区域内链路的地址必须是32位的Loopback地址
  2. Loopback地址必须绑定到Vpn实例,并在BGP VPN实例下宣告
  3. 该Loopback地址只能被宣告进所绑定的Bgp Vpn实例下,不能被其它宣告

让两端有去往源目IP的路由(私网互通)

配置命令(PE1和PE2都配置)

配置32位环回口地址并绑定VPN实例

Interface loopback 1

 Ip binding vpn-instance [name]

 IP address 1.1.1.1 32

在BGP的VPN实例视图下宣告

Network 1.1.1.1 32

OSPF区域视图下配置Sham-link的源目地址

Sham-link  [source-ip-address]  [destration-ip-address]

注意事项

Sham-link建立的链路,其会参与SPF的计算,不过LSA不会周期性的泛洪

OSPF的DN置位与VPN Router Tag

通过DN位防止Type3路由环路,通过VPN Router Tag来防止Type5/7路由环路

假如没有DN置位,Type3路由环路场景

从PE1的角度来看

CE2将1.1.1.1路由以OSPF邻居关系发给PE3,PE3以MP-BGP邻居发给PE1和PE2

PE1将1.1.1.1路由引入到OSPF实例,发给CE1,CE1把1.1.1.1路由发送给PE2

PE2此时从CE1(OSPF)学到1.1.1.1,也从PE3(MP-BGP)学到1.1.1.1,PE2选择OSPF路由,PE2将此OSPF路由再发送给PE3

PE3此时从PE2(MP-BGP)学到1.1.1.1,从CE2(OSPF)学到1.1.1.1 ,会有两种情况

PE3撤销从PE2上学习到的1.1.1.1这条路由,路由环路产生

 

当PE3上的MP-BGP路由优先级高于OSPF,形成路由震荡

DN位是如何防止Type3路由环路的

DN比特位于LSA3/5/7中的Option字段中,用于表明路由是由PE向CE方向传递的

当一条路由是由PE发布给CE的,就会将此DN比特置位

当同一用户站点的其它PE在收到带有DN置位的LSA3时,不会进行SPF路由计算

防止了路由环路和路由震荡

为什么要使用VPN Router Tag(VPN路由标记)来防止Type5/7路由环路

3类LSA跨区域的时候,DN位会清空,对于多区域场景,DN置位无法防环,此时通过VPN Router Tag来防止环路

VPN Router Tag如何防止Type5/7路由环路

VPN路由标记不在BGP的扩展属性中传递,只是本地有效,只在收到BGP路由并且产生OSPF LSA的PE设备上有意义

自己手工在PE1、PE2上设置Route Tag

当PE在收到BGP的私网路由生成5/7类LSA时,会携带VPN路由标记,当PE发现LSA的标签(Route Tag)与自己的一样,就会忽略此条LSA,避免环路

配置命令

OSPF视图下,配置禁止DN置位(缺省开启了DN置位功能)

dn-bit-set  disable  summary/ase/nssa

在Hub-spoke场景下,需要禁止DN置位

OSPF视图下,配置VPN路由标记(缺省VPN路由标记是根据BGP的AS号计算的),没有配置BGP,默认值为0

Route-tag [value]


PE和CE之间运行BGP路由协议

AS号替换功能

Site1和Site 2属于同个公司,AS号相同

为什么使用AS替换功能

CE2通过EBGP邻居将1.1.1.1路由发往PE3,发出时打上AS号【100】

PE3将路由传递给PE1,PE1收到后将路由传递给EBGP邻居CE1,打上AS号【200,100】

CE1看到这条路由中AS_Path包含自身的AS号,拒收此路由,导致总部和分部的路由无法实现传递,无法互访

通过使能BGP的AS号替换功能

PE1对EBGP对等体CE1发送路由时,修改AS号

Peer  [CE1的IP]  substitute-as

此时CE1收到的AS_Parh为【200,200】,此时CE1就可以接收Stie2的路由,实现互访

缺点

当Site1站点本地的路由进行传递时,会由于AS替换功能导致环路

CE1将本地2.2.2.2的路由传递给PE1

PE1将给路由发送给PE3,AS号为【100】

PE3将路由发送给PE2,AS号为【100】

PE2将路由发送给CE1时,AS号应为【200,100】,但是由于配置了AS替换,AS号变为【200,200】,CE1接收到PE2发送的路由,造成环路

BGP的SoO属性

此时通过SoO属性防环

基本概念

SoO起源站点,用于标识路由的发源站点,是一种BGP的扩展团体属性

当针对某对等体配置了SoO值时

在接受到对等体发来的BGP路由时,会携带上配置的SoO值并传递给其它BGP邻居

在先此对等体通告BGP路由时,会检查路由中的SoO属性是否与自己配置的SoO值相同

若相同则不通告,避免引起环路

配置命令

BGP的VPN实例视图下配置SoO

Peer  [ip-address]  soo  [SoO值]  针对对等体配置SoO值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

量子笔记:多比特量子门

目录 0. 前言 2. 量子多重H门 3. 量子SWAP门 4. 量子CNOT门(CX门):受控非门 5. 量子CY和CZ门 6. 量子C*门 6.1 受控S门 6.2 受控H门 6.3 受控Z旋转门 6.4 受控X旋转门 6.4 受控Y旋转门 7. 量子托佛利门(CCNOT门) 8. 量子弗雷德…

【Linux】Linux中的gcc/g++编译器的使用

💬推荐一款模拟面试、刷题神器 、从基础到大厂面试题:👉点击跳转刷题网站进行注册学习 目录 一、编译的过程 1、预处理阶段 1.1预处理的工作——头文件展开、去注释、宏替换、条件编译 1.2外部定义宏(-D选项) 1.…

记一次网络安全应急响应流程

0x01 事件分析 网站源码被篡改,攻击者一定获取到了权限,那么接下来的思路就是推测攻击者入侵手段,找到业务脆弱点,对服务器进行全方位排查,找到攻击者留下来的痕迹并进行分析处理。 2.1 信息收集 与客户简单沟通后&…

【C++】动态联编、delete/free【有无析构】的使用,虚析构

文章目录动态联编的条件:联编的概念:1. 动态联编:2. 静态联编:静态联编时确认了那些属性:结论:基类指针和派生类指针访问虚函数结论:delete和free的使用条件:1. 没有析构函数时&…

由一个按键程序引发的思考(上)

说起按键程序,只要会单片机的肯定都很熟悉。一般开始学习单片机的时候,入门程序基本都是LED灯和按键。那么这个按键程序有什么特别的吗,还需要专门去思考吗?如果我刚开始学单片机的时候也会这么想,但是随着项目的积累&…

微信早安消息推送(大升级版-企业微信)

微信早安消息推送(企业微信) 在微信公众号推送的基础上的一个升级 新增图文、疫情状况等 可以修改头像 、 昵称 效果展示 更多资讯 源代码获取 → 薇信公粽号“Cloud技术栈”,回复“企业微信推送” ———————————————————…

【贪心算法-LeetCode3:无重复字符的最长子串(Java实现)】

无重复字符的最长子串一、题目描述1.题目内容2.样例二、解决方案1.算法流程1)分析2)算法流程2.Java代码1)核心代码2)完整测试代码个人社区:https://bbs.csdn.net/forums/smile 个人主页:https://blog.csdn.…

STM32G070RBT6基于STM32CubeMX创建定时器中断控制LED闪烁

STM32G070RBT6基于STM32CubeMX创建定时器中断控制LED闪烁📍相关篇《【硬件开源电路】STM32G070RBT6开发板》🌺配置内容演示: 📚功能介绍 📑通过STM32CubeMX配置定时器1和定时器3分别作为两个led的定时闹钟。这里作为…

单片机原理及应用实验一交通信号系统(基于Proteus仿真)

1.实验内容与要求 交通信号系统是保障交通安全高效的重要设施。51单片机价格低廉、体积小、低功耗、抗干扰性好等优点,适用于交通信号系统中,本实验利用51单片机IO口的开关量的输入输出功能及内部CPU运算功能,设计一个简易的交通信号灯系统&…

生成.keystore 安卓签名

需要有openssl.exe和keytool.exe支持 signapk.jar手动签名命令 java -jar signapk.jar pl.x509.pem pl.pk8 smartrecord_3.5.8.apk smartrecord_3.5.8-signed.apk除了直接使用signapk.jar签名外,还可以将签名文件生成keystore文件,然后配置编译器给apk进…

数据分析 | Pandas 200道练习题,每日10道题,学完必成大神(5)

文章目录前期准备1. 将create Time列设置为索引2. 生成一个和df长度相同的随机数DataFrame3. 将上一题生成的DataFrame与df合并4. 生成的新的一列new值为salary列减去之前生成的随机数列5. 检查数据中是否含有空值6. 将salary类型转换成浮点数7. 计算salary 大于10000的次数8. …

多线程之线程池

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、什么是线程池二.为什么要有线程池引入:为什么从池子里取,比创建线程速度要快什么是用户态,什么是内核态最终结论&#xf…

aws 负载均衡clb/nlb/alb

目录 概述 传统负载均衡器(Classic Load Balancer) DNS解析 健康检查(Health Check) 监听器(Listeners) 连接耗尽(Connection Draining) 粘性会话/会话关联(Sticky Sessions/…

(四)手写简单版MyBatis框架

文章目录环境搭建第一步:资源⼯具类第二步:定义SqlSessionFactoryBuilder类第三步:定义SqlSessionFactory类第四步:定义JDBC事务管理器第五步:定义数据源类第六步:定义MyMappedStatement类第七步&#xff1…

基于遗传算法卡车无人机旅行推销员问题(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Leetcode刷题111. 二叉树的最小深度

给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:2 示例 2: 输入…

Python_机器学习_算法_第7章_7.拓展知识

Python_机器学习_算法_第7章_7.拓展知识 文章目录Python_机器学习_算法_第7章_7.拓展知识7.拓展知识7.1. 其他距离公式1 标准化欧氏距离2 余弦距离3 汉明距离【了解】4 杰卡德距离【了解】5 马氏距离【了解】7.2.再议数据分割1 留出法2 交叉验证法2.1 交叉验证法基本介绍2.2 KF…

ARM发布Cortex-X3和Cortex-A715

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 ARM公司发布了第二代 AR…

x86 smbus 下挂eeprom不能写问题

目录 背景 分析 驱动影响 SPD register 接口 只读 修改验证 总结 背景 x86 smbus上下挂一个eeprom,只能读取,不能写入。 写入命令采用: i2cset -y -f 0 0x50 0 0x33 即向总线0 下的0x50 地址的eeprom偏移量0 写入数据0x33, 命令…

哈夫曼树原理及Java编码实现

文章目录前言一、哈夫曼树原理二、哈夫曼编码(Java题解)参考资料前言 所有博客文件目录索引:博客目录索引(持续更新) 源代码:Gitee—Huffman.java、Github—Huffman.java 一、哈夫曼树原理 对于哈夫曼树的构造以及权值计算原理…