【HCIP】BGP总结

news2024/10/6 14:27:46

一、bgp介绍

1.概念

边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS之间的路由可达,并选择最佳路由的路径矢量路由协议。目前在IPV4环境下主要使用BGPV4,目前市场上也存BGPV4+,BGPV4+在BGPV4的基础上支持多个地址族,如IPv6。

BGP协议本身不产生路由,而是转发本地路由表中来自其他协议生成的路由条目;AS之间正常存在大量的BGP邻居关系,且BGP协议不会计算最佳路径;因此在BGP协议中管理员需要进行策略来干涉选路。

2.BGP和重发布的区别
重发布要求AS间需要有ASBR,ASBR同时具有两个AS的路由信息,通过ASBR实现路由共享;而BGP是没有ASBR的,由于AS是自治系统,如果有ASBR,那这个ASBR归谁管理?如果只归一方管理,那他可以通过路由策略提高自己AS的流量的转发速度,所以BGP是AS间各出一个或多个运行BGP的路由器,让这些运行BGP的路由器建立邻居关系后交换路由信息。

重发布在导入路由时会洗掉开销值,会造成选路不佳的问题,而BGP具备强大的路由策略,BGP为路由信息设计了路径属性,通过属性进行选路,是的选路过程更加灵活,可控性更高。

3.BGP特点总结

  • 无类别路径矢量 -----距离矢量的升级版—AS–BY–AS
  • 使用单播更新来发送所有信息;基于TCP 179端口工作
  • 增量更新,仅触发更新,无周期更新
  • 具有丰富的属性来取代IGP中度量进行选路,有多个参数控制协议
  • 可以在进项和出项对流量实施强大的策略,可控性非常强大
  • 默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
  • BGP支持认证和聚合(将现有的IP地址合并成较大的、具有更多主机地址的路由域)
4.BGP的数据包

BGP协议中所有的数据包均需要在tcp会话建立后,基于TCP的会话来进行传输及可靠性的保障。

5.BGP的工作过程
  • 配置完成后,邻居间单播TCP三次握手,目标端口179,建立TCP的会话;之后所有的BGP协议数据包基于该会话进行传输
  • 会话建立后,邻居间正常收发一次open报文,并互发keeplive包进行确认建立BGP的邻居关系,并生成邻居表
  • 邻居关系建立后,默认每1min,使用keeplive周期保活邻居关系,周期保活TCP会话
  • 邻居关系建立后,管理员选择性将本地路由表中通过任意来源获取的路由条目,向BGP协议中进行宣告;使用updata数据包进行邻居间路由共享;之后生成BGP表;
  • 本地对BGP表中的路由进行选择,默认将最优路径加载于路由表中(最优-仅仅基于BGP的选路规则,不一定为最佳路径;BGP默认不支持负载均衡)
  • 若出现错误信息,邻居间将使用Notification报文进行报错操作
  • 收敛完成,仅keeplive周期保活即可,默认保活时间为180S,周期发送时间为60S。
  • 若发生结构突变,则将直接发送UPdate报文进行触发更新。

6.BGP中的关系

  • 邻居---直连  因为BGP协议中存在非直连邻居的需求,故BGP邻居称为毗邻关系;
  • EBGP邻居关系 ----  外部BGP邻居关系,建邻的两台设备处于不同的AS中
  • IBGP邻居关系  ----  内部BGP邻居关系,建邻的两台设备处于相同的AS中

7.BGP基本配置


EBGP对等体直连建邻
启动BGP进程,1 指的时该路由器所在的AS号;因为一个路由只能属于一个AS中,所以一个路由器只能启动一个BGP进程 

[r1]bgp 1
[r1-bgp]

配置RID,BGP要求邻居间的RID不能相同,可以手工配置,也可以自动获取

[r1-bgp]router-id 1.1.1.1

指定建邻的IP地址和邻居所在的AS的编号,指定邻居IP后,如果该邻居可达,则尝试建立TCP会话。


[r1-bgp]peer 12.0.0.2 as-number 2 -- #邻居关系指定是双向的

IBGP对等体环回建邻
由于,IBGP邻居处于同一个AS中,正常一个AS中存在大量的备份路径,若使用物理接口建立邻居关系,将浪费这些备份或者负载均衡的路径;故建议使用环回接口来进行IBGP对等体关系的建立。

[r2-bgp]peer 3.3.3.3 as-number 2 --- #指定建邻的IP地址和邻居所在的AS的编号
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0 ---- #指定发送给邻居的数据包的源IP为该接口的IP

由于邻居在收到数据包时,会检测该包的源IP和本地指定的邻居IP是否相同,不同则无法建邻。所以一旦使用环回地址作为建邻地址,同时需要修改源IP地址未本地环回地址。
EBGP对等体环回建邻

  • EBGP间使用环回建邻首先要有一条路由可以去往邻居的环回,一般我们使用静态路由’

[r1]ip route-static 2.2.2.2 32 12.1.1.2

  • 因为EBGP对等体之间一般采用直连建邻的方法,所以,EBGP对等体之间的数据包中的TTL值设置为1,这意味着R1只能与R2的g 0/0/0口通信而不能与R2的环回通信,所以使用EBGP对等体环回建邻时需要修改数据报的TTL值。

[r1-bgp]peer 2.2.2.2 ebgp-max-hop 2 --- #将发往该邻居的数据包的ttl值修改为2
[r1-bgp]peer 2.2.2.2 ebgp-max-hop ---- #后面不加数字,相当于将TTL值改为最大值,255。

 总结:再建立对等体关系时,建议EBGP对等体间直连建邻;IBGP对等体间建议使用环回接口进行建邻。

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

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

相关文章

VectorStyler for Mac: 让你的创意无限绽放的全新设计工具

VectorStyler for Mac是一款专为Mac用户打造的矢量设计工具,它结合了功能强大的矢量编辑器和创意无限的样式编辑器,让你的创意无限绽放。 VectorStyler for Mac拥有直观简洁的用户界面,让你能够轻松上手。它提供了丰富的矢量绘图工具&#x…

深度学习中的优化器原理(SGD,SGD+Momentum,Adagrad,RMSProp,Adam)

SGD 梯度下降 记住这里是减去,因为梯度的方向指出了函数再给定上升最快的方向,或者说指引函数值增大的方向,所以我们需要沿着梯度的反方向走,才能尽快达到极小值(使其损失函数最小)。 SGDMomentum 加上动量…

Linux 进程替换

一、进程替换 把一个进程替换为另外一个进程。对于进程,如果单纯只看复制或者单纯只看替换,没有太大的意义。将复制和替换结合在一起(forkexec),就是系统去产生一个全新进程的一种方式。 将复制和替换结合在一起&…

Android glide框架及框架涉及到的设计模式

目录 原文链接Android glide框架 简单使用介绍Glide 框架整体结构设计Glide 框架的优点基本使用:Glide占位符 Android glide框架涉及到的设计模式 原文链接 Android glide框架 简单使用介绍 Glide:快速高效的Android图片加载库,可以自动加载…

第十三课:QtCmd 命令行终端应用程序开发

功能描述:开发一个类似于 Windows 命令行提示符或 Linux 命令行终端的应用程序 一、最终演示效果 QtCmd 不是因为它是 Qt 的组件,而是采用 Qt 开发了一个类似 Windows 命令提示符或者 Linux 命令行终端的应用程序,故取名为 QtCmd。 上述演示…

小程序 CSS-in-JS 和原子化的另一种选择

小程序 CSS-in-JS 和原子化的另一种选择 小程序 CSS-in-JS 和原子化的另一种选择 介绍快速开始 pandacss 安装和配置 0. 安装和初始化 pandacss1. 配置 postcss2. 检查你的 panda.config.ts3. 修改 package.json 脚本4. 全局 css 注册 pandacss5. 配置的优化与别名 weapp-pand…

澎峰科技|邀您关注2023 RISC-V中国峰会!

峰会概览 2023 RISC-V中国峰会(RISC-V Summit China 2023)将于8月23日至25日在北京香格里拉饭店举行。本届峰会将以“RISC-V生态共建”为主题,结合当下全球新形势,把握全球新时机,呈现RISC-V全球新观点、新趋势。 本…

spring ico容器 spring注入方式 spring与tomcat整合

一、简介 1、什么是spring? Spring是一个开源的轻量级Java应用开发框架,它提供了一种简单、高效、灵活的方式来构建企业级应用程序。Spring框架的核心特点是依赖注入(Dependency Injection)和面向切面编程(Aspect-Ori…

华为网络篇 RIP的负载均衡-29

难度2复杂度2 目录 一、实验原理 二、实验拓扑 三、实验步骤 四、实验过程 总结 一、实验原理 RIP是使用跳数(经过路由的数量)作为metric值的,当网络上存在去往目标的路由有两条以上都是相同metric时,就出现了流量负载均衡。…

星际争霸之小霸王之小蜜蜂(一)

目录 前言 一、安装pygame库 1、pygame库简介 2、在windows系统安装pygame库 二 、搭建游戏框架 1、创建游戏窗口 2、改变窗口颜色 总结 前言 大家应该都看过或者都听说过python神书“大蟒蛇”,上面有一个案例是《外星人入侵》,游戏介绍让我想起了上…

Quivr 基于GPT和开源LLMs构建本地知识库 (更新篇)

一、前言 自从大模型被炒的越来越火之后,似乎国内涌现出很多希望基于大模型构建本地知识库的需求,大概在5月底的时候,当时Quivr发布了第一个0.0.1版本,第一个版本仅仅只是使用LangChain技术结合OpenAI的GPT模型实现了一个最基本的…

Mariadb高可用MHA (四十二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 概念 1.2 组成 1.3 特点 1.4 工作原理 二、构建MHA 2.1 ssh免密登录 2.2 主从复制 2.3 MHA安装 2.3.1所有节点安装perl环境 2.3..2 node 2.3.…

clickhouse-监控配置

一、概述 监控是运维的一大利器,要想运维好clickhouse,首先就要对其进行监控,clickhouse有几种监控数据的方式,一种是系统本身监控,一种是通过exporter来监控,下面分别描述一下 二、系统自带监控 我下面会对监控做一…

github拉取自己的私有仓库(Token方式、本地秘钥方式)

github拉取自己的私有仓库(Token方式、本地秘钥方式) 问题背景 日常开发和学习过程中,经常碰到需要从GitHub或者其他类似网站,拉取私有仓代码的需求。本文将总结常用的两种方式,Token方式和本地秘钥方式,方便后续查阅和优化。 …

C++ 11 新特性 学习笔记

1、字符串原始字面量 R“()”用于取消转义,可用于路径表示 运行成功 这两个RawValue起到描述作用(可以不写),并不参与输出 注意,这里输出中文乱码 2、nullptr NULL在C中表示0,在非C中表示万能指针 nullpt…

Ordinals 之后,以太坊铭文协议 Ethscriptions 如何再塑 NFT 资产形态

随着加密市场的发展,NFT 赛道逐渐形成了其独有的市场。但在加密熊市的持续影响下,今年 NFT 赛道的发展充满坎坷与挑战。据 NFTGO 数据显示,截至 8 月 7 日,与去年相比,NFT 市值总计约 56.4 亿美元,过去 1 年…

nginx部署时http接口正常,ws接口404

可以这么配置 map $http_upgrade $connection_upgrade {default upgrade; close; }upstream wsbackend{server ip1:port1;server ip2:port2;keepalive 1000; }server {listen 20038;location /{ proxy_http_version 1.1;proxy_pass http://wsbackend;proxy_redirect off;proxy…

人工智能学习框架—飞桨Paddle人工智能

1.人工智能框架 机器学习的三要素:模型、学习策略、优化算法。 当我们用机器学习来解决一些模式识别任务时,一般的流程包含以下几个步骤: 1.1.浅层学习和深度学习 浅层学习(Shallow Learning):不涉及特征学习,其特征…

python编程小游戏简单的,利用python编写小游戏

这篇文章主要介绍了python编程小游戏简单的,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 虽然大家老调侃程序员没头发,看起来比实际年龄大。但其实咱们却是非常有…

RabbitMq:Topic exchange(主题交换机)的理解和使用

RabbitMq:Topic exchange(主题交换机)的理解和使用 在RabbitMq中,生产者的消息都是通过交换机来接收,然后再从交换机分发到不同的队列中去,在分发的过程中交换机类型会影响分发的逻辑,下面主要讲解一下主题交换机。 ​ 主题交换…