BGP路由优选+EVPN

BGP 的路由优选规则是一套多步决策链,用来确定在多个可行路由中选择最优的路由。BGP 是一种路径向量协议,通过这些优选规则,网络管理员可以控制数据流量的流向,确保网络的稳定性和效率。下面以一个实例来详细说明 BGP 的优选规则及其链条。

BGP 路由优选规则的步骤

BGP 有一套固定的优选规则链,规则按照优先级顺序依次检查,直到找到一个最优路由。以下是 BGP 常用的优选规则(从高到低):

  1. 优先最高的 Weight 值(仅限于 Cisco 路由器特性)
  2. 优先本地优先级(Local Preference)值
  3. 优先本地产生的路由
  4. 优先最短的 AS 路径(AS_PATH)
  5. 优先最低的 Origin 类型
  6. 优先最低的 MED(Metric)值
  7. 优先到达下一跳的 IGP 距离
  8. 优先来自最低的 Router ID 的路由

实例说明

假设公司 A 的网络(AS100)有 3 个上联 ISP,分别是 ISP1(AS200),ISP2(AS300),和 ISP3(AS400)。每个 ISP 都通告了一条到达目标网络 192.168.1.0/24 的路由,具体情况如下:

  • ISP1:AS_PATH 为 200 300,Local Preference 为 100,MED 为 10,Router ID 为 1.1.1.1
  • ISP2:AS_PATH 为 300,Local Preference 为 200,MED 为 20,Router ID 为 2.2.2.2
  • ISP3:AS_PATH 为 400 300,Local Preference 为 100,MED 为 5,Router ID 为 3.3.3.3

我们来一步步分析该如何选择最优路径:

  1. Weight:假设没有特别配置 Weight 值。Weight 值缺省为 0,不会影响路由选择。

  2. Local Preference

    • ISP1 的 Local Preference 为 100。
    • ISP2 的 Local Preference 为 200。
    • ISP3 的 Local Preference 为 100。
    • 因为 ISP2 的 Local Preference 最高(200),优选 ISP2 的路由。

    结果:此时,BGP 已经选择了 ISP2 的路由为最优路径,不再需要继续检查其他规则。如果没有 Local Preference 优先级的差异,继续以下规则。

  3. AS_PATH 长度(如果没有 Local Preference 差异):

    • 如果 Local Preference 相同,我们会看 AS_PATH 长度。
    • 比较 ISP1 和 ISP3 的 AS_PATH:
      • ISP1 的 AS_PATH 为 200 300,长度为 2。
      • ISP3 的 AS_PATH 为 400 300,长度也是 2。
    • 此时,ISP1 和 ISP3 的 AS_PATH 长度相同,继续比较下一个优选条件。
  4. Origin 类型

    • 假设三条路由的 Origin 类型相同,继续比较下一项。
  5. MED 值

    • ISP1 的 MED 为 10。
    • ISP3 的 MED 为 5。
    • MED 值越小越优,因此优选 ISP3。

    结果:若之前条件无法选出最优路径,ISP3 的路由将被选为最优路径。

  6. IGP Metric 到 Next_Hop 的距离(如果前面的规则都相同):

    • 比较到达 ISP1 和 ISP3 的下一跳的 IGP 距离,距离越近越优。
  7. Router ID(最后一项):

    • 假如上面所有的条件都相同,我们会选择 Router ID 最小的路由。因此在这种情况下,优选来自 Router ID 1.1.1.1(ISP1)的路由。

本地优先

在 BGP 中,聚合(Aggregation)和注入(Injection)是两种重要的方式,用于控制路由条目的传播。每种方法又分为几种类型,分别适用于不同的场景。我们来解释这些概念,并比较它们。

1. 聚合(Aggregation)

聚合是一种将多个具体的路由条目合并成一个更粗略的路由条目的方式,目的是减少路由表的条目数量,提升路由效率。BGP 中有两种聚合方式:

a. 手动聚合
  • 定义:手动聚合是指使用 aggregate 命令,通过管理员在 BGP 配置中手动指定要进行聚合的路由。
  • 特点:手动聚合通常需要网络管理员明确地指定哪些路由要被聚合,并通过 BGP 视图内的配置命令进行操作。
  • 场景:适用于需要特定控制的情况,例如仅对特定的路由进行聚合。
b. 自动聚合
  • 定义:自动聚合是通过 summary automatic 命令生成的,BGP 会自动将相同前缀的多个路由条目合并成一个条目。
  • 特点:自动聚合不需要管理员逐条配置,BGP 会自动检测可以聚合的路由并进行合并。
  • 场景:适用于较大规模的网络环境,希望自动合并具有相同前缀的路由条目,从而减少路由表的数量。

2. 注入(Injection)

注入指的是将其他路由协议的路由条目引入到 BGP 路由表中,从而使得 BGP 可以使用这些路由信息。BGP 中的注入方式有两种:

a. Network 方式注入
  • 定义:Network 方式是指在 BGP 配置中直接使用 network 命令,将特定网段的路由加入 BGP。
  • 特点:这种方式要求网段已经在本地路由表中存在,BGP 只负责将这个网段的信息引入到 BGP 路由表中。
  • 场景:适用于需要手动控制哪些特定的网段被引入到 BGP 的场景。
b. Import-route 方式注入
  • 定义:Import-route 方式是通过 import-route 命令,将其他路由协议(如 OSPF、IS-IS 等)的路由条目自动引入 BGP。
  • 特点:这种方式不需要手动指定每一个网段,BGP 会自动获取其他路由协议的路由信息并引入 BGP。
  • 场景:适用于网络中已有其他路由协议的环境,需要将其他协议的路由信息批量引入 BGP。

比较总结

  • 聚合:减少路由表条目数量,提升效率。
    • 手动聚合:精确控制,适用于特定路由。
    • 自动聚合:无需手动配置,适合大规模网络。
  • 注入:将其他路由引入 BGP。
    • Network 方式:手动选择特定网段,灵活性高。
    • Import-route 方式:自动批量引入其他协议的路由条目,简化配置。
      在这里插入图片描述

BGP EVPN基础

SDN(Software-Defined Networking)是一种网络架构,它通过将网络控制层与数据转发层分离,使得网络管理更加灵活和可编程。SDN允许网络管理员通过软件应用程序动态配置网络,以满足不断变化的需求。

SDN示例:在一家大型企业中,IT团队可以通过SDN控制器快速调整网络配置,以适应新的应用需求,例如在高峰期增加带宽,而无需物理更改网络设备。

EVPN示例:在一个多租户数据中心中,不同的公司可以在相同的物理基础设施上运行各自的虚拟网络,而EVPN确保了它们之间的流量隔离和安全性,使得各个租户能够独立运作而不互相干扰。

MP-BGP

在这里插入图片描述
在BGP-4(Border Gateway Protocol version 4)中,确实有几个与IPv4相关的属性和信息,它们在BGP协议中用于传递路由信息。以下是对您提到的三个信息的解释:

  1. NEXT_HOP属性

    • NEXT_HOP是BGP中的一个路径属性,它指定了到达目的地的下一跳(Next Hop)路由器的IP地址。在IPv4环境中,这个属性通常包含一个IPv4地址,指示数据包应该发送到的下一个路由器。
    • 在BGP路由更新消息中,NEXT_HOP属性告诉接收方,当它们需要将数据包转发到特定的目的地时,应该将数据包发送到哪个IP地址。
  2. AGGREGATOR属性

    • AGGREGATOR属性用于标识汇总(aggregated)路由的来源。当一个BGP路由器汇总多个具体的路由前缀到一个更大的前缀时,它会在通告的路由中包含这个属性。
    • 这个属性包含汇总该路由的BGP路由器的自治系统号(AS Number)和路由器ID。这样,接收方可以知道这条路由是由哪个路由器汇总的,以及它来自哪个自治系统。
  3. IPv4 NLRI(Network Layer Reachability Information)

    • NLRI是BGP路由更新消息中的一部分,它包含了可达网络的信息。在IPv4环境中,NLRI包含了IPv4地址前缀和长度,用于描述可以到达的网络。
    • 例如,一个NLRI可以是“10.0.0.0/8”,表示从10.0.0.0到10.255.255.255的所有地址都是可达的。

这三个信息是BGP-4中用于在自治系统之间交换IPv4路由信息的关键组成部分。它们使得BGP能够高效地传播和汇总路由信息,同时确保网络的可达性和正确性。在BGP-4中,这些属性和信息是标准化的,以确保不同厂商的BGP实现能够互操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


EVPN

EVPN 简介

在这里插入图片描述

EVPN可以在MPLS网络上实现,也可以与其他网络技术结合使用
在MPLS环境中,EVPN利用标签交换的高效性,将以太网帧封装在MPLS标签中进行传输,从而提升了网络的转发效率和流量管理能力。

在这里插入图片描述
在这里插入图片描述
PE (Provider Edge):提供商边缘路由器
CE (Customer Edge):客户边缘设备

EVPN 常见路由

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
RFC代表“Request for Comments”(征求修改意见)。RFC是由互联网工程任务组(IETF)发布的一系列文档,它们详细描述了互联网标准、协议、流程和最佳实践。

EVPN 典型应用场景

在这里插入图片描述
这张图展示了在园区网(类似公司内部网络)中应用EVPN技术来构建一个虚拟化的网络架构,让园区网具备类似云数据中心的灵活性和管理能力。下面是逐步的解释:

  1. 园区网虚拟化

    • 园区网是指企业内部网络,连接了企业的各种设备(如电脑、服务器、无线接入点等)。
    • 这里提到的“园区网虚拟化”类似于云数据中心中的虚拟网络解决方案,通过将底层网络和逻辑网络分离,构建更加灵活的网络结构。
  2. EVPN和NVO(Network Virtualization Overlay)

    • EVPN(Ethernet VPN)是一种虚拟网络技术,它提供了虚拟化网络的管理和控制能力,类似于云数据中心中的网络虚拟化。
    • NVO方案(基于RFC 8365标准)是一种覆盖网络的虚拟化方案,通过构建一个“Overlay”网络层,实现在底层物理网络之上运行的虚拟网络。这就像在一个实际存在的网络上面,搭建出多个独立的虚拟网络。
  3. VXLAN封装

    • VXLAN是一种封装协议,可以将不同的虚拟网络“包裹”起来,在底层的网络设备中传输。这使得每个虚拟网络之间的数据不会混淆。
    • 图中显示的“虚拟网络1”、“虚拟网络2”等都是通过VXLAN封装的,它们在底层网络上分开传输,互相隔离,但都可以共用底层网络。
  4. Overlay和Underlay

    • Overlay(虚拟网络层):是在物理网络上构建的逻辑网络层,便于灵活配置和调整虚拟网络。
    • Underlay(底层物理网络层):实际存在的物理网络,负责数据的真实传输。这里的“LSW”就是底层交换机的表示。
  5. 整体效果

    • 通过EVPN和VXLAN封装,园区网可以实现多租户隔离和虚拟化,类似于数据中心的云网络架构。
    • 这种方式使得不同虚拟网络可以独立管理和配置,构建更加灵活的园区网络,同时支持跨物理设备传输数据。

简单来说,这种架构让园区网具备云数据中心的灵活性,可以轻松创建多个隔离的虚拟网络,并通过底层网络高效传输数据。

EVPN,VXLAN,Overlay三者的关系:

  • VXLAN 提供了 Overlay 网络的数据封装方式,把不同虚拟网络的流量“包裹”起来,便于在底层网络中传输。
  • EVPN 提供了 Overlay 网络的控制平面,通过BGP分发网络中的MAC/IP信息,使得Overlay网络具有动态路由和故障恢复能力。
  • Overlay 是三者构建的最终结果,它是一种运行在物理网络之上的逻辑网络架构,为用户提供了多租户、虚拟化以及高扩展性。

通过VXLAN和EVPN的结合,Overlay网络能够在复杂的数据中心环境中实现灵活管理和高效的资源隔离。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大桥局老施工员的肺腑之言:桥梁安全,为何离不开自动化监测?

随着我国桥梁数量的快速增长,同时既有的许多桥梁逐渐进入了养护维修阶段。有关专家认为桥梁使用超过25年以上则进入老化期;据统计,我国桥梁总数的40%已经属于“老龄”桥梁。而且随着时间的推移,其数量还在不断增长,屡屡…

项目符合行业安全标准的必要步骤与实用建议

要保障项目符合行业安全标准,关键在于建立全面的安全管理体系、定期进行风险评估、持续培训员工,以及确保合规性文件和审核流程完整。例如,通过建立合规文件和审核流程,可以系统性地跟踪项目的安全实践和合规性,使安全…

openpnp - 手工修改配置文件(元件高度,size,吸嘴)

文章目录 openpnp - 手工修改配置文件(元件高度,size,吸嘴)概述笔记parts.xmlpackages.xml 手工将已经存在的NT1,NT2拷贝出来改名备注END openpnp - 手工修改配置文件(元件高度,size,吸嘴) 概述 载入新板子贴片准备时,除了引入Named CSV文件,还要在ope…

Fakelocation 运动世界校园(虚拟机篇)

前言:需要一个Root虚拟机,Fakelocation,运动世界校园,Dia系统要求 虚拟机 | Fakelocation | MT管理器 | Dia 任务一 虚拟机(内置root完整德尔塔环境) 请设置一个路线模拟,并且定位成功,确保f…

redis实现分布式锁,go实现完整code

Redis分布式锁 Redis 分布式锁是一种使用 Redis 数据库实现分布式锁的方式,可以保证在分布式环境中同一时间只有一个实例可以访问共享资源。 实现机制 以下是实现其加锁步骤: 获取锁 在 Redis 中,一个相同的key代表一把锁。是否拥有这把锁&…

池化层笔记

池化层 文章目录 池化层二维池化层超参数池化层的分类代码实现填充和步幅 多个通道 总结 卷积对位置敏感,可以检测垂直边缘。需要有一定程度的平移不变性,而在平时图片的拍摄,会因为图片的照明,物体位置,比例&#xff…

React核心思维模型(一)

一、数据和视图分离&#xff0c;数据改变驱动视图更新 <div>Tom</div>如果我们想修改上述div盒子中的Tom为Jerry&#xff0c;应该怎样修改呢 在jquery中我们直接把界面元素抓过来修改 document.getElementsByTagName(div).item(0) Jerry 但在react中&#xf…

MoveIt 控制自己的真实机械臂【2】——编写 action server 端代码

完成了 MoveIt 这边 action client 的基本配置&#xff0c;MoveIt 理论上可以将规划好的 trajectory 以 action 的形式发布出来了&#xff0c;浅浅尝试一下&#xff0c;在 terminal 中运行 roslaunch xmate7_moveit_config_new demo.launch 报错提示他在等待 xmate_arm_control…

jenkins部署手册

文章目录 一、环境配置资源配置操作系统资源配置服务器 二、jenkins软件部署2.1 下载软件包2.2 启动jenkins2.2.1 准备jdk环境2.2.2 准备maven环境2.2.3 编写jenkins.service 2.3 配置jenkins2.3.1 修改插件源&#xff08;非必要不修改&#xff09;2.3.2 配置环境变量2.3.3 配置…

网络编程 UDP编程 Linux环境 C语言实现

UDP编程 1. 一般UDP编程 UDP传输特点&#xff1a;非面向连接、不可靠的、无序的 报式传输 支持组播和广播 UDP应用数据最大长度建议&#xff1a;MTU(以太网分组数据的最大长度)1500 - 20(IP头) - 8(UDP头) 1472Bytes 客户端&#xff1a;支持两种形式的代码编写: 1. 不定向…

【Python爬虫实战】深入理解Python异步编程:从协程基础到高效爬虫实现

#1024程序员节&#xff5c;征文# &#x1f308;个人主页&#xff1a;易辰君-CSDN博客 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、异步 &#xff08;一&#xff09;核心概念 &#xff08;二&#xff09;…

Flutter InkWell组件去掉灰色遮罩

当InkerWell组件内部获取到焦点时&#xff0c;会展示一层灰色遮罩 将focusColor属性设置为透明即可 Flutter InkWell焦点效果源码分析 问题描述 当 InkWell 组件获得焦点时&#xff0c;会显示一层灰色遮罩效果。需要找出这个效果是由哪些组件控制的&#xff0c;以及具体的…

每天一题:洛谷P2041分裂游戏

题目描述 有一个无限大的棋盘&#xff0c;棋盘左下角有一个大小为 n 的阶梯形区域&#xff0c;其中最左下角的那个格子里有一枚棋子。你每次可以把一枚棋子“分裂”成两枚棋子&#xff0c;分别放在原位置的上边一格和右边一格。&#xff08;但如果目标位置已有棋子&#xff0c…

频率限制:WAF保护网站免受恶意攻击的关键功能

频率限制&#xff08;Rate Limiting&#xff09;是一项有效的安全措施&#xff0c;用于控制每个 IP 地址的访问速率&#xff0c;以防止恶意用户利用大量请求对网站进行攻击&#xff0c;例如防止 CC 攻击等。频率限制不仅能保护网站资源&#xff0c;还能提升服务的稳定性。 下面…

植物源UDP-糖基转移酶及其分子改造-文献精读75

植物源UDP-糖基转移酶及其分子改造 摘要 糖基化能够增加化合物的结构多样性,有效改善水溶性、药理活性和生物利用度,对植物天然产物的药物开发至关重要。UDP-糖基转移酶(UGTs)能够催化糖基从活化的核苷酸糖供体转移到受体形成糖苷键,植物中天然产物的糖基化修饰主要通过UGTs实…

搜维尔科技:Xsens动作捕捉、Manus数据手套和Faceware面部捕捉技术集成,应用于元宇宙数字人制作解决方案

Xsens动作捕捉、Manus数据手套和Faceware面部捕捉技术集成&#xff0c;能够实现非常逼真且高效的数字人动作和表情捕捉&#xff01; 硬件连接与数据传输方面&#xff1a; 1.Xsens与Manus的集成&#xff1a;Xsens惯性动作捕捉系统通常可以与Manus的数据手套直接集成。Xsens主要…

基于SpringBoot的汽车票网上预订系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

块设备驱动的基本概念

块设备与字符设备 块设备只能以块为单位接收输入和返回输出&#xff0c;而字符设备则以字节为单位。大多数设备是字符设备&#xff0c;因为它们不需要缓冲而且不以固定块大小进行操作&#xff1b;字符设备只能被顺序读写&#xff0c;而块设备可以随机访问。 块设备对于I/O请求…

python 使用进程池并发执行 SQL 语句

这段代码使用了 Python 的 multiprocessing 模块来实现真正的并行处理&#xff0c;绕过 Python 的全局解释器锁&#xff08;GIL&#xff09;限制&#xff0c;从而在多核 CPU 上并发执行多个 SQL 语句。 from pyhive import hive import multiprocessing# 建立连接 conn hive.…

Ajax:请求 响应

Ajax&#xff1a;请求 & 响应 AjaxjQuery的Ajax接口$.get$.post$.ajax PostMan 接口测试getpost Ajax 浏览器中看到的数据&#xff0c;并不是保存在浏览器本地的&#xff0c;而是实时向服务器进行请求的。当服务器接收到请求&#xff0c;就会发回一个响应&#xff0c;此时浏…