HCIP学习--BGP2

目录

前置内容

BGP宣告问题

BGP自动汇总问题 

BGP 的认证

BGP的聚合(汇总)

标准的BGP聚合配置

非标准的BGP聚合

路由传递干涉策略

抑制列表

Route-map  

分发列表

前缀列表

 BGP在MA网络中下一跳问题-ICMP重定向

查看与某个邻居收发的路由

配置

 有条件打破IBGP水平分割

路由反射器

反射规则

配置

 联邦

规则

 配置


昨天配置了BGP实验,当时建邻的环回时24位掩码,但是在真正的工程里的,BGP建邻的掩码是32位,且运营商会拿出一个网段用来当作环回地址建邻。然后如果用环回来模拟用户网段,环回在ospf商工作类型需要修改成broadcast。

前置内容

HCIP学习--BGP1_板栗妖怪的博客-CSDN博客

BGP宣告问题

运行BGP协议设备可以宣告本地的直连用户网段

运行BGP协议的路由可以宣告本地通过IGP协议学习到的路由

下图是BGP 表,全起来的MED是度量,本来说BGP不是没有度量,但是现在有了原因是,这个要有度量的是这两条路由是2号设备ospf算出来的路由,然后2号设备宣告自己算出来的网段自己带度量。

这个度量的意义

在BGP协议中宣告本地路由表中路由条目时.将携带本地到达这些目标的IGP度量值,传递到BGP邻居处;其他AS设备便于选择离目标最近的EBGP邻居若一台BGP设备,通过IBGP邻居学习到一条路由,存在度量值:同时本地需要将这些路由传输给本地其他的EBGP邻居时,只能将度量取消,按0进行传输:导致选路参考值不优.所以建议在一个AS中若需要BGP设备宣告某条路由,那么该AS内所有运行BGP协议的设备均宣告,便于其他AS的BGP设备判断自己的EBGP邻居,那台离目标更近

注意:宣告时优选本地路由

BGP自动汇总问题 

(现如今这个不存在了,设备里默认关闭)自动汇总规则与正常BGP 协议邻居共享的路由和在 BGP 协议通过 network 宣告命令产生的路由条目无关,仅针对从IGP重发布到BGP 的路由条目

BGP 中的宣告可以理解为是逐条的重发布

将IGP 重发布到 BGP,可以理解为是批量的将IGP 路由宣告到 BGP 协议

上面两种宣告有区别其起源属性不同,且单条的宣告优于整个协议的宣告

在开启了自动汇总的前提下,将整个协议宣告到BGP中将不携带子网掩码,按主类掩码进入不携带本地到达目标的度量值,度量为 0。 若关闭自动汇总,进入路由将正常携带掩码且携带度量,此时和宣告路由仅起源属性不同

在一个 AS 中建议所有运行 BGP 协议的设备均宣告相同路由,若进行将整个协议宣告到BGP中的配置,也建议所有运行 BGP 协议的设备均进行该配置

BGP 的认证

邻居间进行身份核实的方法;

[r1-bgp]peer 12.1.1.2 password cipher 密码

邻居间需要秘钥一致,传递出去的秘钥必然被加密

BGP的聚合(汇总)

标准的BGP聚合配置

先逐条宣告所有的明细路由

再在更新源路由上进行聚合配置,自动产生空接口防环路由

[r5-bgp]aggregate 100.100.0.0 22   此时聚合与所有明细条目均传递

[r5-bgp]aggregate 100.100.0.0 22 detail-suppressed 仅传递聚合条目,所有明细路由被抑制

若需要在传递聚合条目的同时,再传递部分的明细路由,,需要进行路径传递干涉策略

来举个例子来说明一下传递部分明细路由的原因

以下图作为例子

假设上面A1A2A3的路由都被汇总成A然后由上面和下面的设备发布过去,由于BGP没有负载均衡然后对面的设备会选一台设备上的路由来传递信息,假设选了A这样万一A1距离上面近A2A3下面近,这样选路就不好了,所以在汇总后上面路由添加一个宣告A1的路由明细下面添加两个A2A3的路由,这样那个汇总就会成为了一个备份

非标准的BGP聚合

不是BGP的标准汇总思路,而是利用了BGP的宣告的特征来简化了汇总配置量

宣告特征是本地路由表中任何方式产生的路由均可被BGP宣告

所以可以直接宣告一个空接口不逐条宣告明细路由,仅在更新源BGP设备上配置一条到达聚合地址的空接口防环路由(也就是配置一条去往空接口的汇总地址静态),然后将其宣告到BGP协议中

在实际工程中,由于AS之间一定存在大量的EBGP邻居关系;因此仅汇总不能做到优选路径,必须在传递聚合条目的同时,再传递部分的明细路由来进行选路控制

这个理由与上面的标准聚合的一样

路由传递干涉策略

在汇总后,BGP表中原来的被聚合的路由还在

例子

1.1.1.0/24和1.1.2.0/24被汇总成1.1.0.0/22但是1.1.1.0/24和1.1.2.0/24这两个网段还在

 解决办法

[r5-bgp]aggregate 100.100.0.0 22 detail-suppressed 仅传递聚合条目,所有明细路由被抑制

 s代表被抑制传输了

假设现在要抑制1.1.1.0/22的这条路由但是不抑制1.1.2.0/22这条路由,这就需要路由传递干涉策略 

抑制列表

[r5]ip ip-prefix a permit 100.100.1.0 24

[r5]route-policy a permit node 10

[r5-route-policy]if-match ip-prefix a

[r5-route-policy]q

[r5]bgp 3

[r5-bgp]aggregate 100.100.0.0 22 suppress-policy a

被抑制调用时,表中允许的流量最终反而被抑制传输

只能在聚合里用

Route-map  

BGP中将route-map当分发列表用

[r5]ip ip-prefix b permit 100.100.1.0 24      

[r5]route-policy b deny node 10

[r5-route-policy]if-match ip-prefix b

[r5-route-policy]q

[r5]route-policy b permit node 20

[r5-route-policy]q

[r5]bgp 3

[r5-bgp]peer 4.4.4.4 route-policy b ?

  export  Specify export policy  控制层面的出项

  import  Specify import policy  控制层面的入向

[r5-bgp]peer 4.4.4.4 route-policy b export

分发列表

[r5]ip ip-prefix c deny 100.100.1.0 24

[r5]ip ip-prefix c permit 0.0.0.0 0 le 32

[r5]bgp 3

[r5-bgp]filter-policy ip-prefix c export(控制层面方向)

针对所有邻居

前缀列表

BGP协议中可以直接将前缀列表作为分发列表调用

[r5]ip ip-prefix d deny 100.100.1.0 24

[r5]ip ip-prefix d permit 0.0.0.0 0 le 32

[r5]bgp 3

[r5-bgp]peer  4.4.4.4 ip-prefix d export针对发向4.4.4.4这个邻居调用d这个策略

 BGP在MA网络中下一跳问题-ICMP重定向

ICMP是默认开启,一台路由器在转发一个流量时,发现流量在本地的入口和查询完路由表的出口为同一接口时,将告知上一跳设备本地的下一跳地址;帮助上一跳设备找到最佳的下一跳地址

来个例子解释一下

以下面这副图为例子现在各个路是用物理接口建邻

假设4的环回被宣告了,先传给3,3传给2,但是现在2不优,然后在3修改下一跳,2优了,然后传给1,然后1学到了这条路由,1学到这条路由的下一跳是不是2,然后1去往4的环回的路由就是4321这条线路,这条路不是最好的看图知道134这条路才是最好的,然后BGP在MA网络中它是会直接将1去往那个网段的下一跳改成3,然后路就会变成431,这样路是不是就优秀了

然后如果用环回建邻的话并不会产生上面的情况,最后的路由路线是4321

查看与某个邻居收发的路由

配置

在BGP中仅查看某个邻居发送或接收到BGP路由

[r1]display  bgp routing-table peer 10.1.1.2 received-routes  

仅查看本地从邻居10.1.1.2接收到BGP路由

[r1]display  bgp routing-table peer 10.1.1.2 advertised-routes

仅查看本地发送给邻居10.1.1.2的BGP路由

 有条件打破IBGP水平分割

作用

可以降低配置量

条件

在打破水平分割后,网络保障无环

路由反射器

路由反射器RR 客户端 非客户端

RR作为中心,多台设备与它建立IBGP邻居关系;构成一个簇(组),组中心为RR,其他设备为客户或非客户;有且至少有一台客户

反射规则

注:不优路由不能被传递,自然也不能被反射

注:只有RR可以反射路由

RR从一个EBGP邻居处学习到的路由,可以传输给客户端、非客户端,已经本地的其他EBGP邻居;

RR从一个客户端学习到的路由,可以传递给本地其他的客户端、非客户端、其他的EBGP邻居;

RR从一个非客户端学习到的路由,可以传递给本地的其他客户端、EBGP邻居;不能传递给其他的非客户端;

配置

[r3-bgp]peer 2.2.2.2 reflect-client     邻居2.2.2.2成为R3的客户端,同时R3成为RR

 联邦

将一个AS,逻辑的分为多个小AS,对外依然遵循大AS号传递规则。但小AS间为联邦内的EBGP邻居关系,可以像EBGP关系一样传递路由,但默认不对属性进行修改

如下图在AS2中分出两个逻辑AS,绿色的圈内,AS号为扩展AS号,

规则

所有操作基于小AS号进行;

AS内所有设备需要定义自己所在的大AS号

小AS间的BGP设备需要告知对端的小AS号,如果没有告知,这个设备会将这个小的AS理解为大的AS

 配置

[r3]bgp 64512

[r3-bgp]router-id 3.3.3.3

[r3-bgp]confederation id 2   申明本地的大AS号

[r3-bgp]confederation peer-as 64513  告知本地直连的其他小AS号,若没有直连到其他小

AS不用配置(这个要在宣告之前配置)

[r3-bgp]peer  2.2.2.2 as-number 64512

[r3-bgp]peer  2.2.2.2 connect-interface LoopBack 0

[r3-bgp]peer  4.4.4.4 as-number 64513

[r3-bgp]peer  4.4.4.4 connect-interface LoopBack 0

[r3-bgp]peer  4.4.4.4 ebgp-max-hop

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

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

相关文章

腾讯云轻量应用服务器镜像应用模板清单大全

腾讯云轻量应用服务器支持多种应用模板镜像,Windows和Linux镜像模板都有,如:宝塔Linux面板腾讯云专享版、WordPress、WooCommerce、LAMP、Node.js、Docker CE、K3s、宝塔Windows面板和ASP.NET等应用模板镜像,腾讯云服务器网分享腾…

04 - 分离头指针情况、理解HEAD和branch

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 1. 分离头指针2. HEAD和branch2.1 branch的一些操作2.2 HEAD 1. 分离头指针 分离头指针detached HEAD是一种HEAD指针指向了某一个具体的 commit id,而不是分支的情况。 切换…

HTTP请求性能分析 - 简单

使用随手可得的工具,尽量少的前置要求,来完成任务。 0. 目录 1. 前言2. 分析工具2.1 基于Chrome DevTools 的Timing2.1.1 关于Network标签页下的Timing部分2.1.2 一些注意项 2.2 基于Curl 命令 3. 剩下的工作 1. 前言 对于业务开发选手而言,…

Vision Transformer模型入门

Vision Transformer模型入门 一、Vision Transformer 模型1,Embedding 层结构详解2,Transformer Encoder 详解3,MLP Head 详解 二、ViT-B/16 网络结构三、Hybrid 模型详解四、ViT 模型搭建参数 一、Vision Transformer 模型 总体三个模块&am…

无涯教程-Perl - getprotobynumber函数

描述 此函数在标量context中将协议NUMBER转换为其对应的名称,在列表context中将其名称和相关信息转换为:($name,$aliases,$protocol_number)。 语法 以下是此函数的简单语法- getprotobynumber NUMBER返回值 此函数针对错误返回undef,否则返回标量context中的协议编号,并在…

HBase API

我们之后的实际开发中不可能在服务器那边直接使用shell命令一直敲的&#xff0c;一般都是通过API进行操作的。 环境准备 新建Maven项目&#xff0c;导入Maven依赖 <dependencies><dependency><groupId>org.apache.hbase</groupId><artifactId>…

Java中创建线程三种方式

继承Thread类创建线程实现Runnable接口创建线程使用Callable和Future创建线程 继承Thread类 /*** 使用集成Thread的方式实现多线程*/ public class Match1 {public static void main(String[] args) {Runner liuxiang new Runner();//创建一个新的线程liuxiang.setName(&quo…

当执行汇编指令MOV [0001H] 01H时,CPU都做了什么?

今天和几位单位大佬聊天时&#xff0c;讨论到一个非常有趣的问题-当程序执行MOV [0001H], 01H计算机实际上都做了哪些工作&#xff1f;乍一看这个问题平平无奇&#xff0c;CPU只是把立即数01H放在了地址为0001的内存里&#xff0c;但仔细想想这个问题远没有那么简单&#xff0c…

matlab解常微分方程常用数值解法1:前向欧拉法和改进的欧拉法

总结和记录一下matlab求解常微分方程常用的数值解法&#xff0c;本文先从欧拉法和改进的欧拉法讲起。 d x d t f ( x , t ) , x ( t 0 ) x 0 \frac{d x}{d t}f(x, t), \quad x\left(t_{0}\right)x_{0} dtdx​f(x,t),x(t0​)x0​ 1. 前向欧拉法 前向欧拉法使用了泰勒展开的第…

基于grpc从零开始搭建一个准生产分布式应用(2) - 工程构建

开始本章之前默认读者已经配置好了以下环境&#xff1a;Intellij IDEA 2022.1.2、JDK 1.8.0_144、Maven 3&#xff0c;另外也建议大家在一些免费代码托管平台开个帐号&#xff0c;这样就可以免费使用git做版本处理了&#xff0c;笔者自己私人使用的是阿里云的云效平台。因为此专…

Docker安装ElasticSearch/ES 7.4.0

目录 前言安装ElasticSearch/ES安装步骤1&#xff1a;准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 安装步骤2&#xff1a;拉取ElasticSearch镜像1 拉取镜像2 查看已拉取的镜像 安装步骤3&#xff1a;创建容器创建容器方…

ESP8266(RTOS SDK)内嵌网页以实现WEB配网以及数据交互

【本文发布于https://blog.csdn.net/Stack_/article/details/131997098&#xff0c;未经允许不得转载&#xff0c;转载须注明出处】 1、执行make menuconfig&#xff0c;将http头由512改为更大的值&#xff0c;否则用电脑浏览器访问正常&#xff0c;但用手机浏览器访问会因为ht…

idea双击启动无效,idea卡顿问题

idea双击启动无效&#xff1a;大概率是关机时没有正确关闭idea&#xff0c;再次开机导致无法正常启动idea 1.通过任务管理器杀死idea进程后重启idea 2.需要修改配置 打开 &#xff08;以各自电脑实际为准&#xff09;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\bin&am…

ECS服务器安装docker

​ 为了安装并配置 Docker &#xff0c;你的系统必须满足下列最低要求&#xff1a; 64 位 Linux 或 Windows 系统 如果使用 Linux &#xff0c;内核版本必须不低于 3.10 能够使用 sudo 权限的用户 在你系统 BIOS 上启用了 VT&#xff08;虚拟化技术&#xff09;支持 on your s…

StarRocks企业级数据库

第1章 StarRocks简介 1.1 StarRocks介绍 StarRocks是新一代极速全场景MPP数据库 StraRocks充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果&#xff0c;在业界实践的基础上&#xff0c;进一步改进优化、升级架构&#xff0c;并增添了众多全新功能&…

进程间通信(IPC)的几种方式

进程间通信&#xff08;IPC&#xff09; 1.常见的通信方式2.低级IPC方法文件 3.常用于本机的IPC机制3.1无名管道pipe3.2命名管道FIFO3.3消息队列MessageQueue3.4共享内存SharedMemory3.5信号量Semaphore3.6信号Signal3.7unix域套接字 4.不同计算机上的IPC机制5.IPC机制的数据拷…

用友-NC-Cloud远程代码执行漏洞[2023-HW]

用友-NC-Cloud远程代码执行漏洞[2023-HW] 一、漏洞介绍二、资产搜索三、漏洞复现PoC小龙POC检测脚本: 四、修复建议 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#…

网络防御之SSL VPN

1. SSL工作过程是什么&#xff1f; 第一阶段&#xff1a; 客户端发送client hello消息到服务端&#xff0c;服务端收到client hello消息后&#xff0c;再发送server hello消息到客户端。 第二阶段&#xff1a; 服务器的证书&#xff0c;用于客户端给客户端发送信息时加密 serv…

最新智能AI系统+ChatGPT源码搭建部署详细教程+知识库+附程序源码

近期有网友问宝塔如何搭建部署AI创作ChatGPT&#xff0c;小编这里写一个详细图文教程吧。 使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到AIGC系统&#xff01; 增加手机端签到功能、优化后台总计绘画数量逻辑&#xff01;新增 MJ 官方图片重新生成指令功能同步官方 …

Apollo让自动驾驶如此简单

前言&#xff1a; 最近被新能源的电价闹的不行&#xff0c;买了电车的直呼上当了、不香了。但电车吸引人不只是公里油耗低&#xff0c;还有良好的驾车使用感。比如辅助驾驶、甚至是自动驾驶。今天来介绍一个头部自动驾驶平台Apollo&#xff0c;Apollo是一个开源的、自动驾驶的软…