BGP(一)边界网关协议

BGP协议基础

路由分类

直连路由
非直连路由(间接路由)

  • 静态路由
  • 动态路由
    IGP:内网网关路由协议(在企业内部或数据中心内部使用)
    DV:距离矢量路由协议
  • RIP(v1/v2)
  • IGRP——网络直径:100~255(思科的私有协议)
  • EIGP——思科私有
    LS: 链路状态路由协议
  • ISIS- 中间系统到中间系统
  • OSPF —开放式最短路径优先
    EGP : 外部网关路由协议:在不同公司之间使用,在不同的城市之间
    BGP:边界网关协议 (路径矢量路由协议)

为什么要使用BGP协议

我们要在不同AS之间实现网络通信,需要使用EGP-BGP协议,当然我们还看重BGP的一些优势

  • 非常稳定
  • 可以传输大量的路由,支持大规模网络
  • 具有非常丰富的路由控制策略,可以实现灵活的选路
    拓扑

BGP概述

  • BGP:边界网关协议
  • BGP是公有协议,任何厂商的设备都支持BGP
  • BGP位于OSI的第7层 (应用层)
    ps:OSPF基于IP协议,为了可靠性,数据库同步:协商主从关系,序列号、有确认机制

AS号

AS号(Autonomous System Number):自治系统:

  • 是互联网中的一种标识符,用于标识一个自治系统(AS)的唯一数字。自治系统是指由一组网络和路由器组成的网络。
  • AS号可以帮助互联网中的路由器找到要到达目的地的IP地址的最短路径。
  • AS号由互联网分配机构IANA(互联网分配号码管理局)分配。
  • AS号的范围被划分为两类:公共AS号和私有AS号。
  • 公共AS号是指由IANA分配的AS号,可用于在全球范围内标识自治系统。
  • 私有AS号是指由互联网注册机构(IR)分配的AS号,用于在私有互联网中标识自治系统。
  • AS通常使用“数字”来表示,称为AS号
  • AS号的范围是从0到65535,其中0被保留不使用
  • AS编号取值范围
    之前是2字节表示,取值范围:1-65535
    私有AS号:64512-65534,可以用于在私有互联网中标识自治系统,但不会在公共互联网中出现。这些私有AS号通常用于连接组织的内部网络。
  • 目前是4个字节:1-4294967295
    4字节AS号的范围是从0到4294967295,其中0号AS被保留不使用
    私有AS号范围是4200000000至4294967294
    4字节AS号由IANA管理,并由全球RIR(区域互联网注册局)负责分配
  • AS号的划分方式取决于运营商的具体管理需求和网络架构,可以按照城市、区域、网络、子网等不同的维度进行划分。

BGP协议概述

场景

场景

  • 场景一:遍布全国大型政企单位之间, 或大型数据中心
  • 场景二:运营商骨干网

作用

  • 在AS之间动态的交互路由信息,实现公司与公司之间的互访

优势

  • 稳定,基于TCP协议建立的,使用端口号TCP179,所以非常稳定
  • 传递大量路由,可以跨多跳建立邻居关系
  • 路由控制策略丰富

BGP邻居类型

  • EBGP: 运行于不同的AS
  • IBGP: 运行于同一AS内部

BGP特征

特征图

  • BGP使用传输层协议为TCP,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立
  • 运行BGP的路由器被称为BGP发言者(BGP Speaker),或BGP路由器
  • 两个建立BGP会话的路由器互为对等体(Peer),说人话,就是BGP邻居
  • BGP对等体之间交换BGP路由信息 , 说人话,BGP在邻居之间传递路由
  • BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)
  • BGP能够传递大批量的路由,可在大规模网络中应用

BGP报文类型

  • open : 用于建立邻居关系 (类似于hello报文)
  • keep alive : 保活报文,用于维护邻居关系,周期性发送,60秒发一次, 保持BGP连接 (类似于hello)
  • update : 更新报文,用于传递路由和撤销路由 (类似于LSU报文)
  • notification : 通知报文,用于通知BGP邻居之间的报错信息,用于断开BGP连接
  • router-refresh : 重传报文,请求邻居重新发送路由信息

BGP工作过程

工作过程
工作过程

BGP状态

idle :初始化状态

  • tcp未连接状态,邻居的状态为idle , 当bgp设备和邻居进行tcp 连接时,会从当前的状态转为connect 状态

connect 状态: tcp 连接状态

  • 如果tcp 建立连接成功,bgp 设备会向邻居发送open报文,状态也会转为opensent 状态
  • 如果tcp 建立连接失败,bgp设备的状态会转为active 状态

active 状态:活跃状态

  • 在当前状态下,bgp 设备依然没有放弃希望,依然试图继续建立tcp 连接,如果成功,状态依然可以转为opensent 状态
  • 如果依然失败,bgp会停留在active 状态
    ps:如果重传计时器超时,依然没有收到邻居回应,bgp设备会心灰意冷的返回上一个状态,上一个是connect 状态

opensent 状态:open报文已发送状态,已向邻居发送open报文

  • 如果bgp设备给邻居发送open报文后,如果收到来自邻居的回复,并且回复的报文是正确的,bgp 设备会继续发送报文,发送什么报文呢? 发送keep alive 报文,状态转为 open comfirm 状态
  • 如果bgp设备给邻居发送open报文后,如果收到来自邻居的回复,但是回复的报文有错误,bgp 设备会向邻居发送notification 报文(用于断开bgp连接状态),断开后会跳转到最初的idle 状态

open comfirm : open报文确认状态

  • 如果收到邻居发来的keep alive 报文,状态会转为established 建立状态
  • 如果收到邻居发来的notification 报文,状态会跳转为 idle 状态

established : 连接已建立状态

  • 如果收到邻居发来的正确的update 报文或者keepalive 报文,bgp就会认为邻居是正常的
  • 如果收到邻居发来的错误的update 报文或者keepalive 报文,bgp设备会发送notification 报文,通知邻居,我们分手把,不做邻居了,会回到idle 初始化状态
    在这里插入图片描述

BGP的工作原理

  • 建立邻居
  • 传递路由

BGP路由优先级

  • 默认优先级为255
  • IBGP路由默认优先级为255
  • EBGP路由默认优先级为255

BGP邻居关系建立的完整流程

关系建立图

BGP基础配置案例

拓扑

需求

  • 配置EBGP邻居关系
  • 实现网络互通

配置步骤

配置接口IP地址
配置EBGP邻居

  • 开启BGP功能,进入AS号
  • 配置router-id
  • 指定邻居地址,指定邻居AS号
    注入路由

配置命令

sysname R1

  • [R1]interface GigabitEthernet0/0/0
  • [R1-G0/0/0]ip address 192.168.1.254 255.255.255.0
  • [R1-G0/0/1]interface GigabitEthernet0/0/1
  • [R1-G0/0/1]ip address 192.168.12.1 255.255.255.0
  • [R1]bgp 100
  • [R1-bgp]router-id 1.1.1.1
  • [R1-bgp]peer 192.168.12.2 as-number 200
  • [R1-bgp]network 192.168.1.0

sysname R2

  • [R2]interface GigabitEthernet0/0/0
  • [R2-G0/0/0]ip address 192.168.12.2 255.255.255.0
  • [R2-G0/0/0]interface GigabitEthernet0/0/1
  • [R2-G0/0/1]ip address 192.168.2.254 255.255.255.0
  • [R2]bgp 200
  • [R2-bgp]router-id 2.2.2.2
  • [R2-bgp]peer 192.168.12.1 as-number 100
  • [R2-bgp]network 192.168.2.0

验证:查看邻居表

  • display bgp peer

验证:查看路由表

  • display bgp routing-table

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

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

相关文章

文本转语音软件-TTSMaker

一、TTSMaker介绍 TTSMaker(马克配音)是一款免费的文本转语音工具,提供语音合成服务,支持多种语言,包括中文、英语、日语、韩语、法语、德语、西班牙语、阿拉伯语等50多种语言,以及超过300种语音风格。 可…

Leetcode刷题笔记2:数组基础2

导语 leetcode刷题笔记记录,本篇博客记录数组基础1部分的题目,主要题目包括: 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 知识点 滑动窗口 所谓滑动窗口,就是不断的调节子序列的起始位…

(二)vForm 动态表单设计器之下拉、选择

系列文章目录 (一)vForm 动态表单设计器之使用 目录 系列文章目录 前言 一、后端需提供接口 二、组件配置 总结 前言 动态表单下拉、选择等组件,大概率要使用数据库中的数据,那么vForm如何拿到数据库中的数据呢?跟随…

Xed编辑器开发第二期:使用Rust从0到1写一个文本编辑器

第三篇 这部分接着处理用户退出命令以及一些其他新功能; 3.1 使用CtrlQ退出 modifiers: event::KeyModifiers::CONTROL,使用CONTROL替换之前的NONE值即可; 3.2 重构键盘输入 让我们重构我们的代码,以便我们有一个用于低级按键读取的函数&…

php部分特性漏洞学习

php部分函数漏洞学习 简单总结一些我遇到的ctf中的php的一些函数或特性的漏洞,我刷题还是太少了,所以很多例子来自ctfshow,以后遇到相关赛题再更新 1.MD5和其他hash 弱类型比较 php中,有两中判断相等的符号,和&…

flutter使用dbus插件时,在终端无法使用“dart-dbus”命令

不用flutter的人,可能都不会找到这儿,遇到这个问题,所以这里默认flutter已经装过了,且对flutter如何使用插件也有所了解了。 由于我在项目中用到了dbus插件,用法如图所示,我需要使用这条命令来生成一个sou…

前端javascript包管理,npm升级用pnpm

一 pnpm 介绍 pnpm(Package Manager)是一个快速、节省磁盘空间的 JavaScript 包管理器,它是 Node.js 生态系统中 npm 的一个替代品。pnpm 解决了传统包管理工具在处理依赖时的一些痛点,特别是关于存储空间使用和依赖地狱的问题。…

vite vue-cli 之vue3安装Vue devtools调试工具

一.vite的官方配置-vite-plugin-vue-devtools vite.config.js import { fileURLToPath, URL } from node:urlimport vue from vitejs/plugin-vue import vueJsx from vitejs/plugin-vue-jsx import { defineConfig } from vite import VueDevTools from vite-plugin-vue-devt…

Android JetPack ViewModel

一、什么是ViewModel? Android ViewModel在我们使用MVVM开发模式时会经常用到,对我来说就是好用,好维护。 它相对于MVC模式, 一来可以减少Activity层的代码,可以把一些业务逻辑和对数据的交互到ViewModel层去&#…

Excel模板计算得出表格看板

背景 表格看板及导出,单元格时间年是根据筛选器时间变化的 较往年和往年是计算单元格 思路 1.通过excel模板来把数据填入excel再数据清洗得到数据返回前端 2.数据填充,通过行列作为key 列如:key整体20241月,根据key匹配数据填…

计算机操作系统总结(1)

1操作系统的概念(定义)功能和目标 (1)什么是操作系统? (2)操作系统的功能和目标—作为系统资源的管理者 (3)操作系统的功能和目标—向上层提供方便易用的服务 (4)操作系…

中银基金软件开发工程师春招群面记录

本文介绍2024届春招中,中国银行下属中银基金管理有限公司的软件开发工程师岗位1场面试的基本情况、提问问题等。 2024年04月投递了中国银行的共计4个部门或单位,包括中银基金管理有限公司的软件开发工程师岗位,暂时不清楚所在部门。目前完成了…

平均分配问题

将dwd_phone_shop这六行数据按照1 3 5,2 4 6的排序分为两组,与dwd_phone_base连接,分别与为其中1 3 5 为shop_Id为1的那一组 2 4 6 为shop_Id为2 的那一组 取余法 开窗函数法

南加州大学字节提出MagicPose,提供逼真的人类视频生成,实现生动的运动和面部表情传输,以及不需要任何微调的一致的野外零镜头生成。

MagicPose可以精确地生成外观一致的结果,而原始的文本到图像模型(如Stable Diffusion和ControlNet)很难准确地保持主体身份信息。 此外,MagicPose模块可以被视为原始文本到图像模型的扩展/插件,而无需修改其预训练的权重。 相关链接 论文链…

javaSwing飞机订票系统

摘要 Java swing实现的飞机票预定系统,系统数据库原本采用的是Oracle,我又改了一个mysql版本的,所以这套系统有两个版本,一个是mysql数据库版的,一个是Oracle数据库版 一. 已经完成的功能 : …

Linux基础命令[27]-gpasswd

文章目录 1. gpasswd 命令说明2. gpasswd 命令语法3. gpasswd 命令示例3.1 不加参数3.2 -a(将用户加入组)3.3 -d(从组中删除用户)3.4 -r(删除组密码)3.5 -M(多个用户一起加入组)3.6 …

excel里如何将数据分组转置?

这个表格怎样转换为下表?按照国家来分组,把不同年份对应的不同序列值进行转置?? 这演示用数据透视表就完成这个数据转换。 1.创建数据透视表 选中数据中任意单元格,点击插入选项卡,数据透视表,…

C++设计模式|结构型 适配器模式

1.什么是适配器模式? 可以将⼀个类的接⼝转换成客户希望的另⼀个接⼝,主要⽬的是 充当两个不同接⼝之间的桥梁,使得原本接⼝不兼容的类能够⼀起⼯作。 2. 适配器模式的组成 (1)接口类,给客户端调用&…

vue打包部署到springboot,通过tomcat运行

tomcat默认端口 8080springboot端口 9132vue 端口 9131 框架 项目是基于SpringBootVue前后端分离的仓库管理系统 后端:SpringBoot MybatisPlus前端:Node.js Vue element-ui数据库:mysql 一. 打包Vue项目 cmd中输入命令 npm run build 后…

PHP在线制作表白网源码

PHP在线制作表白网源码,送女友个惊喜吧,无数据库,上传就能用,后台/admin,账号密码都是admin 百度网盘:https://pan.baidu.com/s/1rbD2_8IsP9UPLK-cdgEXfA?pwdre59