BGP汇总和破解水平分割

news2024/11/24 5:18:40

一,BGP的宣告问题

  1. 在BGP协议中每台运行BGP的设备上,宣告本地直连路由
  2. 在BGP协议中运行BGP协议的设备来宣告,通过IGP学习到的,未运行BGP协议设备产生的路由;

        在BGP协议中宣告本地路由表中路由条目时,将携带本地到达这些目标的IGP度量值;传递到BGP邻居处;其他AS设备便于选择离目标最近的EBGP邻居;

        若一台BGP设备,通过IBGP邻居学习到一条路由,存在度量值;同时本地需要将这些路由传输给本地其他的EBGP邻居时,只能将度量值取消,按0进行传输;导致选路参考值不优;

        所以,建议在一个AS中若需要BGP设备宣告某条路由,那么该AS内所有运行BGP协议的设备均宣告

二,BGP的自动汇总问题

当代的路由器设备,默认就关闭了BGP的自动汇总功能;

[r1-bgp]undo summary 打开自动汇总

自动汇总规则与正常BGP协议邻居共享的路由,或在BGP协议通过network宣告命令产生的路由条目无关;

仅针对从IGP重发布到BGP的路由条目;

BGP中的宣告可以理解为是逐条的重发布IGP路由到BGP;

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

两种操作产生的路由条目其起源属性不同,宣告优于重发布;

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

        既然在一个AS中建议所有运行BGP协议的设备均宣告相同路由,那么若进行重发布配置,也建议所有运行BGP协议的设备均进行重发布;其他AS的BGP设备判断自己的EBGP邻居,那台离目标更近;

三,BGP的认证

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

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

[r1-bgp]peer  12.1.1.2 password cipher cisco123   

四,BGP的聚合(汇总)

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

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

不逐条宣告明细路由,仅在更新源BGP设备上配置一条到达聚合地址的空接口防环路由,然后将其宣告到BGP协议中;

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

[r1]ip route-static 1.1.0.0 14 NULL 0

[r1-bgp]network 1.1.0.0 14  汇总

[r1-bgp]network 1.1.1.0 16  明细

        以上的汇总配置完成后,若还需要同时传输部分明细路由,再逐一宣告需要传递的明细路由即可;

2.标准的BGP聚合配置

  1. 先逐条宣告所有的明细路由
  2. 再在更新源路由上进行聚合配置,自动产生空接口防环路由

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

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

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

  路由传递干涉策略

拒绝100.100.1.0 24

1.抑制列表 – 先让设备将所有路由传递出去,再调用抑制策略

[r1]ip ip-prefix a permit 100.100.1.0 24

[r1]route-policy a permit node 10

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

[r1-route-policy]q

[r1]bgp 1

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

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

2.Route-map  在BGP中将route-map当分发列表用

[r1]ip ip-prefix b permit 100.100.1.0 24      

[r1]route-policy b deny node 10

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

[r1-route-policy]q

[r1]route-policy b permit node 20

[r1-route-policy]q

[r1]bgp 3

[r1-bgp]peer 12.1.1.2 route-policy b ?

  export  Specify export policy  控制层面的出项

  import  Specify import policy  控制层面的入向

[r1-bgp]peer 12.1.1.2 route-policy b export

3.分发列表

[r1]ip ip-prefix c deny 100.100.1.0 24

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

[r1]bgp 1

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

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

[r1]ip ip-prefix d deny 100.100.1.0 24

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

[r1]bgp 1

[r1-bgp]peer  12.1.1.2(邻居相连的ip) ip-prefix d export

五,有条件的打破IBGP水平分割

        在一个AS中一台设备运行了BGP协议,那么正常应该都连接了其他的AS,存在EBGP邻居关系;又由于IBGP的水平分割规则,导致从外部学习到的路由传递给本地AS时,需要和本AS中所有运行BGP协议的设备逐一建立IBGP邻居关系;----两两间均为IBGP邻居关系,建立数量成指数上升;

所谓有条件的打破,是指在保障无环的前提下消除IBGP水平分割机制   ------AS-BY-AY

【1】路由反射器           

        角色:RR反射器   客户端  非客户端

        无论客户端还是非客户端都必须是RR的IBGP邻居; 由RR作为中心点与多个客户端、非客户端构成一个簇(组);在一个簇内存在一台RR和至少一台客户端;也可以一台RR和多个客户端、多个非客户端;或者一个RR与多个客户端,没有非客户端;

反射规则:不优路由不能被传递,自然也不能被反射---------非非不传

  1. RR从一个EBGP邻居处学习到的路由,可以传输给客户端、非客户端,已经本地的其他EBGP邻居;
  2. RR从一个客户端学习到的路由,可以传递给本地其他的客户端、非客户端、其他的EBGP邻居;
  3. RR从一个非客户端学习到的路由,可以传递给本地的其他客户端、EBGP邻居;不能传递给其他的非客户端;(非非不传)

邻居2.2.2.2成为本地的客户端,同时本地成为RR

[r3-bgp]peer 2.2.2.2 reflect-client     

【2】联邦

定义

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

  1. 所有操作基于小AS号进行;
  2. AS内所有设备需要定义自己所在的大AS号
  3. 小AS间的BGP设备需要告知对端的小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 2

注:在实际工程中,反射器联邦技术协同工作在一个网络拓扑中; 

六,BGP在MA网络中下一跳问题:

 

图中1、2、3在一个MA网段,但不在同一AS;正常R1从R2学习到的R4的路由,下一跳自动显示为R3(最佳路径)

原理:

  1. R1/2/3必须使用MA网段的物理接口建立邻居关系
  2. ICMP重定向开启(默认开启)  --- 一台路由器在转发一个流量时,发现流量在本地的入口和查询完路由表的出口为同一接口时,将告知上一跳设备本地的下一跳地址;帮助上一跳设备找到最佳的下一跳地址;

在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路由

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

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

相关文章

葡萄叶病害数据集

1.数据集 分成训练集和测试集 训练集有四个文件夹 第一个文件夹为 Grape Black Measles(葡萄黑麻疹)病害(3783张) Grape Black rot葡萄黑腐病病害数据集(3596张) Grape Healthy 健康葡萄叶(25…

【【胎教级51单片机智能小车设计】】

胎教级51单片机智能小车设计 从现在开始开一个新坑 称为创意工坊 主要更新一些有意思的设计 第一次手把手更新51单片机智能小车 胎教级教学人人都会 单片机实现的功能是通过蓝牙APP 控制小车前后左右移动 先讲明白这个小车 后续再在这个小车上更新其他的设计 成品图 第一步…

《Java-SE-第二十六章》之线程池

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页:KC老衲爱尼姑的博客主页 博主的github,平常所写代码皆在于此 共勉:talk is cheap, show me the code 作者是爪哇岛的新手,水平很有限&…

pytorch基础实践1

数据预处理的最终目的是将我们正在处理的任何数据转换成能够感知我们神经网络的张量 基本概念 CNN的输入tensor 一般CNN的输入是一个4阶张量,分别用一个字母代表每个axis上的长度,那么它的shape为: [B,C,H,W] 其中 H 和 W 分别代表输入的单…

北邮22信通:第五章 邻接表图的广度遍历和深度遍历

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 获取更多文章 请访问专栏: 北邮22信通_青山如墨雨如画的博客-CSDN博客 目录 一.总纲 二.构造函数 2.1构造函数讲解 2.2构造函数的书写 书…

echars力引导关系图

效果图 力引导关系图 力引导布局是模拟弹簧电荷模型在每两个节点之间添加一个斥力,每条边的两个节点之间添加一个引力,每次迭代节点会在各个斥力和引力的作用下移动位置,多次迭代后节点会静止在一个受力平衡的位置,达到整个模型…

Java项目-苍穹外卖-Day01

文章目录 博客介绍软件开发流程项目介绍产品原型技术选型 博客介绍 从头开始做黑马的苍穹外卖项目 每天记录一下新学的知识点以及对应的开发进度 然后一些在项目中遇到的问题会重点标注 本篇主要是后端的,前端会一笔带过 软件开发流程 流程介绍需求分析需求规格说…

使用pg_prewarm缓存PostgreSQL数据库表

pg_prewarm pg_prewarm 直接利用系统缓存的代码,对操作系统发出异步prefetch请求,在应用中,尤其在OLAP的情况下,对于大表的分析等等是非常耗费查询的时间的,而即使我们使用select table的方式,这张表也并不可能将所有…

Eureka 学习笔记2:EurekaClient

版本 awsVersion ‘1.11.277’ EurekaClient 接口实现了 LookupService 接口&#xff0c;拥有唯一的实现类 DiscoveryClient 类。 LookupService 接口提供以下功能&#xff1a; 获取注册表根据应用名称获取应用根据实例 id 获取实例信息 public interface LookupService<…

【LeetCode】141. 环形链表 进阶题142. 环形链表 II

141. 环形链表 这道题还是用经典的快慢指针法来做。每次让快的指针走两步&#xff0c;慢的走一步。如果有环&#xff0c;则绝对会在环内的某一节点相遇。思想跟物理知识有点关系&#xff0c;如果有环&#xff0c;则在相对运动过程中&#xff0c;可以相当于慢指针静止&#xff0…

STM32入门——外部中断

中断系统概述 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行中断优先级&#xff…

Java集合数组相互转换

1.集合转换成数组 &#xff08;1&#xff09;集合a通过toArray()方法进行转换为数组&#xff0c;可以转换成为指定类型的数组&#xff0c;但是这些类型都必须是object类型的子类&#xff0c;基本类型不可以。 必要时我们使用强制类型转换&#xff0c;转成我们需要的类型。 Li…

【网络编程】poll

主旨思想 用一个结构体记录文件描述符集合&#xff0c;并记录用户态状态和内核态状态 函数说明 概览 #include <poll.h> struct pollfd { int fd; /* 委托内核检测的文件描述符 */ short events; /* 委托内核检测文件描述符的什么事件 */ short revents; /* 文件描述…

MySQL 远程操作mysql

可以让别人在他们的电脑上操作我电脑上的数据库 create user admin identified with mysql_native_password by admin; //设置账号密码都为admingrant all on *.* to admin; //给admin账号授权 授权完成

​五、驱动 - ​音频系统硬件电路

文章目录 1. 音频系统硬件电路结构2. 蓝牙音频2.1 音乐播放2.2 VoIP通话2.3 4G通话3. 其他3.1 什么是S/PDIF1. 音频系统硬件电路结构 录音放音设备:mic、speaker、耳机、听筒这些带有录音放音功能的设备(因为录放设备可能是模拟设备也可能是数字设备,所以接口可能是模拟接口…

IDEA中怎么使用git下载项目到本地,通过URL克隆项目(gitee\github)

点击 新建>来自版本控制的项目 点击后会弹出这样一个窗口 通过URL拉取项目代码 打开你要下载的项目仓库 克隆>复制 gitee github也是一样的 返回IDEA 将刚刚复制的URL粘贴进去选择合适的位置点击克隆 下载完成

JavaEE初阶之网络初识

一、网络发展史 1.1独立模式 独立模式:计算机之间相互独立; 1.2网络互连 随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。网络互连:将多台计算机连接在一起,完成数据共享。 数据共享本质是网络数据…

【Python】5分钟了解11个最佳的Python编译器和解释器

11个最佳Python编译器和解释器 1. Brython2. Pyjs3. WinPython4. Skulpt5. Shed Skin6. Active Python7. Transcrypt8. Nutika9. Jython10. CPython11. IronPython结论原文链接 Python是一门初学者的编程语言。它是一种高级语言&#xff0c;非常灵活、解释性和面向对象的语言。…

安防监控进入全景时代,萤石全景摄像机E4p体验评测

随着智能家居的普及&#xff0c;智能家居摄像机已经成为我们必备的智能家居设备之一。传统摄像机在捕捉画面时只能获得单一角度的画面&#xff0c;可能会错过关键信息。 针对这个问题&#xff0c;萤石最近推出的E4p全景摄像机&#xff0c;解决了用户在特定场景下需要更全面画面…

笔试数据结构选填题

目录 卡特兰数Catalan&#xff1a;出栈序列/二叉树数 树 二叉树 N01N2 哈夫曼树&#xff08;最优二叉树&#xff09;Huffman 度m的哈夫曼树只有度为0和m的结点&#xff1a;Nm(n-1)/(m-1) 平衡二叉树AVL Nh表示深度为h最少结点数&#xff0c;则N00&#xff0c;N11&#…