BGP(边界网关协议)

news2024/10/19 2:32:29

1、网络AS(自治系统)

边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。

AS是指在一个实体管辖下的拥有相同选路策略的IP网络。BGP网络中的每个AS都被分配一个唯一的AS号,用于区分不同的AS。AS号分为2字节AS号和4字节AS号,其中2字节AS号的范围为1至65535,4字节AS号的范围为1至4294967295。支持4字节AS号的设备能够与支持2字节AS号的设备兼容。

在统一的管理机构、统一的路由策略之下的一系列网络产品组成的网络实体,被称为一个网络的自治系统。BGP协议用于AS之间,而IGP用于AS内部。

2、BGP特征 不能注入igp 通信靠默认路由 igp注入bgp实现和互联网通信

(1)使用BGP的条件(情况)

一个AS允许数据穿过它到达其他AS

一个AS与其他AS有多条连接   

数据报文在进入或者离开AS时,需要对其进行策略处理

(2)BGP是路径矢量协议,是对距离矢量协议的增强

可靠更新:使用TCP179端口发送更新 *** 不能自动发现邻居

只采用触发的、增量更新

周期性的保活消息(keepalive message)维持TCP连接(默认60秒间隔,保持时间3倍)

丰富的度量值(也被称为路径矢量或路径属性)

3、BGP数据库结构(BGP有几张表)

(1)邻居表

(2)BGP表(拓扑表)

从每个邻居学习到的所有网络的列表

到达每个网络的多条路径

每个路径的BGP属性

(3)IP路由表

4、BGP消息类型

(1)Open

自治系统号(AS号):AS号范围1-65535(其中64512-55535为私有AS号)

保持时间(Holdtime):默认3min

BGP标识符(BGP的router-id)

可选参数(多协议扩展,路由刷新,优雅重启,路由刷新新旧格式,出站路由过滤)

(2)Keepalive:默认60s

(3)Update(更新)

NLRI(网络层可达信息)

路由属性

撤销路由

(4)Notification(通告)

当检测到错误时,会发送此消息并关闭BGP连接

5、BGP邻居关系的种类

(1)IBGP(Internal BGP)

建立BGP邻居(对等体)的路由器在同一个AS里,通常情况下,IBGP对等体不需要直接相连

(2)EBGP(External BGP)

建立BGP邻居(对等体)的路由器不在同一个AS里,通常情况下,EBGP对等体之间需要直连

As内部并且不知道 其他As网段

基础实验:R1,R2分别启用环回口,然后直连建立bgp,再宣发环回口进入bgp

[Huawei]bgp 1

[Huawei-bgp]router-id 2.2.2.2

[Huawei-bgp]peer  12.1.1.1 as-number 1  //对方所属的ip,as区域

Ibgp 建立

[Huawei-bgp]network  10.1.4.0 24  //宣发其他网段进入bgp

验证:

sike:

R1(config)#router bgp 1

R1(config-router)#bgp router-id 1.1.1.1

R1(config-router)#no bgp  default ipv4-unicast  //关闭消息设置

R1(config-router)#neighbor 12.1.1.2 remote-as 1   // 发现邻居   remote-as 1 邻居的as号

R1(config-router)#address-family ipv4              //进入到IPv4地址簇

R1(config-router-af)#nei 12.1.1.2 activate       //激活邻居12.1.1.2

宣发进入bgp

R1(config)#router bgp 1

R1(config-router)#address-family  ipv4

R1(config-router-af)#network 10.1.1.0 mask 255.255.255.0

实验:igp注入bgp(反之万万不可以bgp路由表巨大

[Huawei]bgp 1  //注意不同as 的bgp进程号不同

[Huawei-bgp]router-id 2.2.2.2

[Huawei-bgp]peer  12.1.1.1 as-number 1

注入ospf

[Huawei]bgp 1

[Huawei-bgp]ipv4-family unicast

[Huawei-bgp-af-ipv4]import-route  ospf 1

验证:R3,R4都有了全路由

sike: 

注入ospf

R1(config)#router bgp 1

R1(config-router)#address-family ipv4

R1(config-router-af)#redistribute  ospf  100 match internal external

实验:使用环回口建立ebgp关系

要写静态路由 因为是环回口

[Huawei]ip route 2.2.2.2 255.255.255.255 21.1.1.2

[Huawei]ip route 1.1.1.1 255.255.255.255 12.1.1.1

ebgp一般是直连接口建立

[Huawei-bgp]peer  1.1.1.1 connect-interface LoopBack 0  //数字代表建立关系的环回口

不在同一个as 使用环回口 会增加TTL bgp 默认max是1 所以无法到达 用下面指令修改 max为255

[Huawei-bgp]peer 1.1.1.1 ebgp-max-hop 2  //不使用环回口也会有跳数问题所以尽量拉高

验证:使用环回口建立ebgp关系成功

sike:

R1(config-router)#nei 2.2.2.2 update-source loopback0

R1(config-router)#neighbor  2.2.2.2 ebgp-multihop 255

BGP下一跳行为:

BGP的下一跳为AS的一跳,因此AS边界的BGP路由器,向它的IBGP对等体发送从它的EBGP对等体学习到的路由时,由于AS之间的网段不宣告到AS内部,因此会导致它的IBGP对等体学习到的外部AS的路由的下一跳不可达。

实验:目的使R1到R3路由下一跳为R2 不是R3

R1,R2建立igbp和ospf R2,R3建立ebgp,同时三台都起环回口用于验证

直接查看R1路由表无法看到R3环回口,使用如下命令验证

[Huawei-bgp]peer 12.1.1.1 next-hop-local //在R2上

验证:下一跳更改为了R2对应接口

sike:

R2(config)#router bgp 1

R2(config-router)#add ipv4

R2(config-router-af)#nei 1.1.1.1 next-hop-self

BGP的选路原则 *****(同步端口号179)

1Prefer highest weight (local to router). --思科私有,作用范围本路由器(最高的权重优先)

2、Prefer highest local preference (global within AS).(最大的本地优先级优先)

3、Prefer route originated by the local router (next hop = 0.0.0.0).(起源路由器优先)

4Prefer shortest AS path.(最短的AS-PATH优先)as个数

5、Prefer lowest origin code (IGP < EGP < incomplete).(最低的起源代码)

6、Prefer lowest MED (exchanged between autonomous systems).(最小的MED优先)

IGP的选路原则:

1、下一跳可达

2、最长掩码匹配  //同路由掩码越长越优先

3、最优管理距离

4、最小的度量值

实验:修改属性实现指定选路(这里只教一种方法很多大差不差)

上图中R1与R2以及R1与R3之间是EBGP关系,R2与R3之间是IBGP关系

在R1上启用Lo1:11.11.11.11/32,宣告到BGP中

在R2上启用Lo1:22.22.22.22/32,宣告的BGP中

要求在完成以上配置后,通过相关的修改,实现

在R2上:

traceroute 11.11.11.11 source 22.22.22.22

经过的路径是R2-->R3-->R1

注意:R2,R3必须是环回口建立邻居关系,不然修改 preferred-value无效

基本配置后

[Huawei]ip ip-prefix abc permit 11.11.11.11 32 //抓取目标流量

[Huawei]route-policy f1 permit node 10

[Huawei-route-policy]if-match ip-prefix abc

[Huawei-route-policy]apply  preferred-value 500 // 赋予PrefVal值越大越优先

[Huawei]route-policy f3 permit node 10

[Huawei-route-policy]if-match ip-prefix abc

[Huawei-route-policy]apply  preferred-value 1000

[Huawei]bgp 2
[Huawei-bgp]peer  12.1.1.1 route-policy f1 import  //导入

[Huawei-bgp]peer 3.3.3.3 route-policy f3 import

验证:R1,与2 3 不是通过环回口建立但可用此方法(懂得大佬评论区解答以下)

sike:

Weight 优先级

R2(config)#ip prefix-list 10 permit 11.11.11.11/32 抓住这段流量

R2(config)#route-map fromr1 permit 10

R2(config-route-map)#match ip address prefix 10

R2(config-route-map)#set weight 500  //weight值越大越优先

R2(config-route-map)#exit

R2(config)#route-map fromr3 permit 10

R2(config-route-map)#match ip add pre 10

R2(config-route-map)#set wei 1000

R2(config-route-map)#exit

R2(config)#router bgp 2

R2(config-router)#add ipv4

R2(config-router-af)#nei 12.1.1.1 route-map fromr1 in

R2(config-router-af)#nei 3.3.3.3 route-map fromr3 in

汇总(聚合)

聚合

huawei :

aggregate 192.168.0.0 255.255.248.0 as-set detail-suppressed 

sike : 

R2(config-router)#address-family ipv4

R2(config-router-af)#aggregate-address 10.1.8.0 255.255.252.0 summer-only as-set

BGP联盟(联邦)

相当于As 之上又嵌套一个As,便于网络管理

BGP联盟使管理者可以将大型AS分割成子AS,从而使大型AS更容易管理。被分割的AS本身是联盟,那些子AS是该AS的成员,在联盟以外的AS将整个联盟看作一个AS,它们看不到联盟内部的成员AS,因为这些成员AS对外部是隐藏的,因此成员AS可以使用公共AS号,也可以使用私有AS号,在实际生产环境中,建议使用私有AS号作为成员AS号。

实验时先建立联盟再peer邻居

不在联盟内peer联盟 直接peer联盟号 As号联盟内用

huawei:

[Huawei-bgp]confederation id  1

[Huawei-bgp]confederation peer-as  65002  //发现同联盟并相连的AS

sike:

R2(config-router)#bgp confederation identifier 1 //定义联盟AS

R2(config-router)#bgp confederation peers 65002 //定义域本AS相连的其他联盟成员AS

路由反射器:

bgp水平分割:同一个As内部的ibgp对等体A从B学习到的路由不会传给C(从ibgp对等体学习的路由不会向其他对等体转发)

解决方法:1.A与C同样建立对等体关系使得C可以从A学习路由(关系复杂不利于网络管理)

                  2.使B成为路由反射器会将其他客户反射给客户以及非客户,路由反射后的所有属性不发生变化(包括下一跳属性)

R2,R3起环回口宣发进bgp但因为水平分割R2看不到R3路由

[Huawei-bgp]peer  2.2.2.2 reflect-client

[Huawei-bgp]peer  3.3.3.3 reflect-client

验证:

sike:

R1(config)#router bgp 1

R1(config-router)#add ipv4

R1(config-router-af)#nei 2.2.2.2 route-reflector-client

R1(config-router-af)#nei 3.3.3.3 route-reflector-client

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

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

相关文章

【c++并发编程】线程池实现

参考https://shanhai.huawei.com/#/page-forum/post-details?postId43796 完整代码 #include <iostream> #include <vector> #include <queue> #include <thread> #include <mutex> #include <condition_variable> #include <functi…

牛企查:性价比很高的企业综合查询小程序

很多人都会有查询企业信息的需求&#xff1a; 入职公司前查询企业的基本信息&#xff1b; 只是需要简单便捷查询到企业的信用代码注册地址等基础信息&#xff1b; 做企业调查&#xff0c;分析时需要用到企业的一些数据&#xff1b; 研究一些单项数据的时候&#xff0c;需要…

拟声 0.37.0 | 拟物风格,超级优美,功能丰富

拟声是一款功能丰富的音视频播放器&#xff0c;支持多种音频来源&#xff0c;并具备独特的歌词弹幕、音源转换、跨设备共享与控制等功能。其创新的LRC歌词编解码器和新拟物风格的UI设计为用户提供了一个全新的视听体验。 大小&#xff1a;36M 百度网盘&#xff1a;https://pan…

代码审计-Python Flask

1.Jinjia2模版注入 Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug &#xff0c;模板引擎则使用 Jinja2。jinja2是Flask作者开发的一个模板系统&#xff0c;起初是仿django模板的一个模板引擎&#xff0c;为Flask提供模板支持&#xff0c;由于…

ubuntu下安装mysql遇到的问题

ubuntu下安装mysql sudo apt install -y mysql-server 出现问题 ……by process 3455 解决 安装 启动 systemctl status mysql.service sudo mysql -u root -p 如何修改密码 与datagrip的连接 查看IP ifconfig 若没安装 参考 Windows10的DataGrip2024.1.4连接ubuntu22.04中的M…

27.第二阶段x86游戏实战2-遍历周围NPC跳出递归循环

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01;0 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

公开课 | 2024清华大模型公开课 第6课 大模型前沿架构 Part 2(长文本、Scaling Law)

本文由readlecture.cn转录总结专注于音、视频转录与总结&#xff0c;2小时视频&#xff0c;5分钟阅读&#xff0c;加速内容学习与传播。 大纲 引言 介绍长文本和Scaling Law的研究方向 强调大型语言模型在日常生活中的应用 长文本处理 长文本的定义和例子 《哈利波特》系列书…

KubeSphere安装mysql8.4.0

背景 KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,完全开源,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面&#xff0c;帮助企业快速构建一个强大和功能丰富的容器云平台。 安装组件前提&am…

Metasploit渗透测试之攻击终端设备和绕过安全软件

概述 在之前&#xff0c;重点讨论了针对服务器端的利用。但在当下&#xff0c;最成功的攻击都是针对终端的&#xff1b;原因是&#xff0c;随着大部分安全预算和关注都转向面向互联网的服务器和服务&#xff0c;越来越难找到可利用的服务&#xff0c;或者至少是那些还没有被破…

阿里商品发布框架如何覆盖海量规则

1688商品发布系统升级发品框架GPF&#xff0c;面对商品模型复杂度极高&#xff0c;发布的海量场景、多重业务逻辑如何覆盖&#xff1f; 本文从手工测试到自动化测试&#xff0c;以及完善的质量保障方案一一解答。 1、项目背景 1688商品发布系统运行多年&#xff0c;架构逐步…

OFDM学习-IP核学习-FIFO IP核和FFT IP核在vavido中的配置以及使用

FIFO IP核和FFT IP核在vavido中的配置以及使用 前言一、FFT IP核配置过程二、FIFO IP核配置过程总结 前言 记录一下OFDM学习中遇到的ip核使用方法&#xff0c;个人之前主要用Quatus&#xff0c;之前用ip核也比较少&#xff0c;记录一下配置过程吧以及一些参数的含义&#xff0…

【linux】Microsoft Edge 的 Bookmarks 文件存储位置

在 Linux 系统中&#xff0c;Microsoft Edge 的书签&#xff08;Bookmarks&#xff09;文件存储在用户的配置目录下。具体路径通常如下&#xff1a; ~/.config/microsoft-edge/Default/Bookmarks说明&#xff1a; 路径解释&#xff1a; ~ 表示当前用户的主目录。.config 是一个…

代替AD作为身份认证组件,深信服零信任aTrust与宁盾身份目录实现互操作

9月25日&#xff0c;经深信服科技股份有限公司和上海宁盾信息科技有限公司共同严格测试&#xff1a;宁盾身份目录服务软件能够与深信服零信任访问控制系统 aTrust 兼容对接运行&#xff0c;双方相互兼容&#xff0c;共同为企事业单位提供身份和零信任管理需求。 本次测试包含了…

笔记整理—linux网络部分(2)Linux网络框架

前文说过&#xff0c;在OSI中将网络分为7层&#xff0c;这是理论上将其分为7层&#xff0c;但实际上可以将其分为4层。如TCP协议就是将其分为4层。理论只是提出一种指导意见&#xff0c;但不是行业范本。 驱动层只关系有没有接到包&#xff0c;不关心包经过多少次转发&#xff…

Java 实战虚拟机 进阶 (一 万字)

实战 Java 虚拟机-高级篇 什么是 GraalVM GraalVM 是 Oracle 官方推出的一款 **高性能JDK&#xff0c;**使用它享受比 OpenJDK 或者 OracleJDK 更好的性能。 GraalVM 的官方网址&#xff1a;https://www.graalvm.org/官方标语&#xff1a;Build faster, smaller, leaner appli…

搭子小程序:全新在线找搭子,满足社交

搭子作为一种新的社交方式&#xff0c;为大众带来的各种陪伴型的社交模式&#xff0c;不管是饭搭子、健身、遛狗、学习等&#xff0c;都可以找到适合自己的搭子。搭子主打各个领域的陪伴&#xff0c;双方都能够在社交相处中保持着边界感&#xff0c;不涉及情感纠葛等&#xff0…

群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP

有nas的相信对公网都不模式&#xff0c;在现在基础上传带宽能有100兆的时代&#xff0c;有公网代表着家里有一个小服务器&#xff0c;像百度网盘&#xff0c;优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip&#xff0c;要么自己买个云服务器做内网穿…

【实战篇】用SkyWalking排查线上[xxl-job xxl-rpc remoting error]问题

一、组件简介和问题描述 SkyWalking 简介 Apache SkyWalking 是一个开源的 APM&#xff08;应用性能管理&#xff09;工具&#xff0c;专注于微服务、云原生和容器化环境。它提供了分布式追踪、性能监控和依赖分析等功能&#xff0c;帮助开发者快速定位和解决性能瓶颈和故障。…

矢量线段摆正-二维旋转

用途&#xff1a;通过一些算法&#xff0c;生成了一些矢量线段&#xff0c;但是没有保持绝对的水平、垂直&#xff0c;需要校正。 如下图所示&#xff0c;白色线为初始的矢量线段&#xff0c;只是能达到大致水平&#xff0c;红色线段为校正后&#xff0c;此时&#xff0c;红色…

Hive优化:Hive的执行计划、分桶、MapJoin、数据倾斜

文章目录 1. hive的执行计划1.1 为什么使用EXPLAIN1.2 使用EXPLAIN的步骤1.3 EXPLAIN在什么场合使用 2. 分桶2.1 为什么要使用分桶 3. Map Join3.1 Map Join3.1.1 大小表关联3.1.2 不等连接 3.2 Bucket-MapJoin3.2.1 作用3.2.2 条件 3.3 SMB Join3.3.1 作用 4. 数据倾斜4.1 表连…