【网络技术】BGP 基础与概述

该笔记主要作用与 BGP 路由协议的基础和概述讲解,其萌芽作用

参考视频:红茶三杯

关键词阐述:AS = 独立自治网络系统机构

前置知识
在我们学习 BGP 路由之前所学习的所有动态路由策略,都同属一个路由类中:IGP

BGP 路由协议应用环境:

在一般的小型园区网,或者中小型公司中是用不到 BGP 路由协议的,一般采用 IGP 协议,比如 OSPF,RIP,EIGRP 等,BGP 使用在大规模网络环境部署中,通常部署在运营商中,政府网络中等

如果在大规模网络跑 IGP 协议,可能就把 IGP 协议跑死了,因为路由条目会变的非常多

我们可以把 部署了 BGP 路由协议的设备比作一个 AS,不同 AS 之间 跨省交换路由信息,跨城通信,BGP 协议不着重于内部通信,主要着重于不同域点的 AS 通信,域内主要由 IGP 路由来完成

本章笔记所分知识点如下:

  • BGP 概述

0x01 BGP 概述

我们先来回头看望以下 IGP 协议

IGP 具有以下某些特性或全部特性

  • 执行拓扑发现
  • 尽力完成快速收敛
  • 需要周期性的跟新来确保路由选择信息的精确性
  • 受同一个管理机构的控制
  • 采用了共同的路由选择策略
  • 提供了优先的策略控制能力

以下为 BGP 路由部署环境的艺术图:

我们需要注意,如果在 BGP 路由边界 AS 路由器重发布到 IGB 路由中,一定要做路由策略,减少路由条目,因为 BGP 的路由条目一定是十分庞大惊人的。

image-20231221184947847

关于 BPG

  • AS:autonomous system 自治系统,指的是一在同一个组织管理下使用相同策略的设备的集合
  • 不同 AS 通过 AS 号区分,AS 号取值范围 1 - 65535 ,曲中 64512 - 65535 为私有 AS 号,IANA 负责1 AS 号的分发
  • 中国电信 163 AS号:4134
  • 中国电信CN2 AS号:4809
  • 中国网通 AS 号:9929
  • 所以,BGP 路由之间,也存在一点 IPv4 地址的缩影

BGP 🔺

  • BGP 为 Border Gateway Protocol 边界网关路由协议 ( 路径矢量 )
  • 主要作用是在 AS 之间传递路由信息
  • 目前 BGP 由 4 个版本:V1,V2,V4,V4+(即 MGBP)

使用 BGP 的三大理由

  • 大量路由需要承载,IGP 只能容纳千条,而 BGP 可以容纳上万
  • 支撑 MPLS / VPN 的应用,传递客户 VPN 路由
  • 策略能力强,可以很好的实现路由决策与数据控制

BGP 路由协议中的路径属性拥有许多,在 IGP 中来来去去都是 metric 值,而在 BGP 中则不是,BGP 路由策略与数据控制非常的强大,可以很好的控制流量路径

BGP AS 之间连接关键词 🔺

  1. Single homed 单宿:只连接到一家 ISP 且没有冗余链路
  2. Dual homed 双宿:只连接到一家 ISP,使用两条链路来提供冗余
  3. Multihomed 多宿:连接到多家 ISP
  4. Dual Multihomed 双多宿:连接到多家 ISP,同时使用两条链路实现冗余

0x02 BGP 的路径矢量特征 (AS-PATH) 🔺

image-20231221185205064

其中 AS-PATH,主要用于:传递路径矢量信息,防止环路

1:其实到这里,我们抛开 BGP 其他路径属性不谈,BGP 协议与 RIP 协议十分的相似,只不过 RIP 使用的是跳数来衡量路径,而 BGP 则是使用 AS 号来衡量路径

2:这里为什么能防止环路呢,观察上图,我们发现每个 AS 自治系统边界路由器中,只要有传递 BGP 路由信息,就会带入一个自己的 AS 号,通过 AS 号,AS 们知道该将路由信息传递给谁,同时,只要在传递过程中到自己的时候,发现里面有自己的 AS 号,那么就直接丢弃,从而防止环路

  • 路径矢量信息中包含一个 BGP 自治系统号列表
  • BGP 路由器不接收路径列表中包含其 AS 号的路由跟新,BGP 是天生规避环路的
  • BGP 支持对 BGP 自治系统路径应用路由策略
  • BGP 路由器只能将其使用的路由通告给邻接自治系统中的对等体,简单说就是 Peer 邻居

0x03 BGP 特征 🔺

BGP 允许 AS 之间不直连建立 Peer

在 IGP 协议中,比如 OSPF,我们只要开启本地 OSPF 进程,network 宣告直连,该 OSPF 路由器就会自己去组播 224.0.0.6 发现 Peer 对等体,而 BGP 则不会,需要我们手工去指定,源和目的,才能建立 Peer 对等体关系

  • BGP 使用 TCP 为传输层协议,TCP 端口号为 179
  • BGP 路由器之间建立 TCP 连接,这些路由器成为 BGP 对等体 Peer,也叫 BGP 邻居:EBGP、IBGP
  • 对等体之间交换整个 BGP 路由表
  • BGP 路由器只发送增量更新或触发更新 (不会周期性更新)
  • 具有丰富的路径属性
  • BGP 通告成千上万的路由,可采用 TCP 滑动窗口的机制 ???什么东东,停止并等待确认前,可以发送 65578 个字节

0x04 BGP packets 🔺🔺🔺

其中一些常识需要去记住,TCP 179 传输,IP 协议号为 6

BGP 报文信息参考图如下

image-20231221185234246

BGP 报文作用如下

image-20231221185244285

0x05 BGP 的有限状态机 🔺

所谓状态机,即为机器的状态,在建立邻居关系之前,要去发现跟自己一样的人,否则一个人不得闷死?

参考图如下:

其主要发现邻居的 Peer 状态改变

image-20231221185249225

发送过程如下:参考即可

image-20231221185253148

0x06 BGP Peer BGP 邻居关系讲述

1:EBGP 特点:处于直连中的 BGP 路由邻居关系 TTL 值为 1

2:IBGP 特点:不一定直连,通过 IGP 协议在不同 AS 之间传输 BGP 路由信息

详述如下:

1:EBGP

  • EBGP:BGP 位于不同自治系统的路由器之间,称为 EBGP
  • 建立 EBGP 邻接关系,必须满足如下三个条件
  1. EBGP 之间的自治系统号不同
  2. 定义邻居建立 TCP 会话
  3. neighbor 中指定的 IP 地址要可达

参考如下:

image-20231221185315664

我们可以很简单的观察到,EBGP 之间是不同自治 AS 区域的邻居关系

2:IBGP

  • IBGP:位于同一个自治系统的路由器之间运行,用于同一个 AS 中交换 BGP 信息
  • 建立 IBGP 邻接关系,必须满足的条件如下
  1. 自治系统号相同
  2. 定义邻居建立 TCP 会话

参考图如下:

image-20231221185325469

而 IBGP 则是同一区域之间的 两个 AS BGP 工作路由器,才能建立 IBGP 邻居关系,其之间通过内部 IGP 协议来传输和 update

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

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

相关文章

为什么越来越多公司开始用低代码开发?

时代洪流的走向,我们无法左右,能够把握的,只有做好自己。如何在寒冬来之不易的机会中,生存并且壮大。 不知道大家有没有发现,今年的低代码赛道异常火热,但火热的背后才值得思考,市场需求持续被挖…

信号与线性系统翻转课堂笔记7——信号正交与傅里叶级数

信号与线性系统翻转课堂笔记7——信号正交与傅里叶级数 The Flipped Classroom7 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、要点 (1,重点&a…

音视频类App广告变现如何破局,最大化广告变现收益,让应用增收?

音视频App已然成为了我们日常获取、发布和交换信息的重要方式,在音视频行业不断的拓展中,用户的渗透率提升。 据数据显示,我国网络视听用户的规模已达9亿人次,网民使用率也突破了90%。庞大的市场规模和用户需求吸引了大批开发者和…

[已解决] Ubuntu远程桌面闪退+登录显示“远程桌面由于数据加密错误 , 这个会话将结束“

两个月前,由于跑代码在Ubuntu配置环境,乱七八糟的下载了很多东西,导致了一系列问题..... 问题1 Ubuntu远程桌面闪退 实验室有两台服务器,IP后三位分别为141和142,其中141在输入密码后立即闪退,142可以正常…

Open3D点云处理简明教程

推荐:用NSDT编辑器快速搭建可编程3D场景 这是“激光雷达入门”文章的延续。 在这篇文章中,我们将查看用于处理点云的 python 库和 Open3D 数据结构,执行可视化并操作点云数据,以便进行后续的分析处理。 如果你需要快速预览3D点云…

不明觉厉,Meta宣布了Fairy——快速并行指令引导视频到视频合成

Meta 刚刚宣布了Fairy——一项快速并行指令引导视频到视频合成的创新技术。这一引入图像编辑扩散模型的简约而强大的改进,极大地增强了其视频编辑应用程序的性能。 他们的方法聚焦于基于锚的跨帧注意力的概念,这是一种隐式跨帧传播扩散特征的机制&#…

Ninja H2 HySE川崎的氢能增压摩托车真的来了,像在开火箭?

川崎最近发布了第一款氢能源的摩托车,而HySE则是日本四大厂(本田、雅马哈、川崎、铃木)联合丰田针对氢作为燃料的动力研发机构,值得一提的是这H2仍然采用的999cc直喷增压发动机,具体的动力数据暂时没有曝光。 车辆后方…

Python Selenium中的强大等待设置详解

更多资料获取 📚 个人网站:ipengtao.com 在Web自动化测试中,等待是至关重要的一环,而Selenium提供了丰富的等待设置来确保测试脚本的可靠性和稳定性。本文将深入研究Python Selenium中常用的必备等待设置,包括显式等待…

2023.12.19 关于 Redis 通用全局命令

目录 引言 Redis 全局命令 SET & GET KEYS EXISTS DEL EXPIRE TTL TYPE redis 引入定时器高效处理过期 key 基于优先级队列方式 基于时间轮方式 引言 Redis 是根据键值对的方式存储数据的必须要进入 redis-cli 客户端程序 才能输入 redis 命令 Redis 全局命令 R…

antdv中的slider组件会默认将min值传递给value

如果是使用响应式变量,会将min的值传递到v-model对应的变量里

VPN理论入门及GRE、L2TP、IPsec(HCIP)

一、VPN概述 IPsec-VPN: 1、应用范围:用于分公司和总部之间。 2、作用:机密性、证书(身份认证) VPN概述 VPN概述:VPN(Virtual Private Network)是指依靠Internet服务提供商ISP&a…

【深度学习】序列生成模型(六):评价方法计算实例:计算ROUGE-N得分【理论到程序】

文章目录 一、BLEU-N得分(Bilingual Evaluation Understudy)二、ROUGE-N得分(Recall-Oriented Understudy for Gisting Evaluation)1. 定义2. 计算N1N2 3. 程序 给定一个生成序列“The cat sat on the mat”和两个参考序列“The c…

CSS-计数器 counter-reset、counter-increment、counter-reset

计数器 CSS的计数器通过在 content 上应用 counter() 或 counters()函数来显示计数的。其中计数器是由counter-reset和counter-increment 来进行操作的。 counter-increment 语法 counter-increment参数1:计算器名称 该标识符由不区分大小写的字母 a 到 z&#xf…

Ubuntu 常用命令之 top 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 top命令是Linux下常用的性能分析工具,可以实时动态地查看系统中各个进程的资源占用状况,类似于Windows的任务管理器。它可以显示系统总的和分区的CPU使用率、内存使用率、交换区使用率、系统负载、进程数、…

微搭低代码密码加密存储

目录 1 加密密码2 密码存入用户表中总结 我们在用户登录注册部分,给出了用户注册的例子。但是有一个问题,密码是在数据库中明文存储的,很容易就被破解。为了提高登录的安全性,我们本次讲解一下如何解决密码的加密存储。 1 加密密码…

FISCO BCOS(十六)多机部署及相关操作

多机部署通常指的是在多台计算机或虚拟机之间搭建一个联合系统,以实现分布式计算或服务的目的。这可以提高系统的可靠性、性能和扩展性。确保虚拟机之间能够互相通信,可以使用静态IP或者动态分配IP的方式,接下来一步步带大家进行操作搭建一条…

限量25台,川崎亮相Ninja ZX-10RR冬季限量款

最近川崎发布了自家ZX-10RR的超级限量版,官方称之为冬季测试版,之前也有一些车型推出过冬季测试版,通常是在年底推出,因为这个时候北半球都是非常寒冷的冬天。 不过这台ZX-10RR冬季测试版,并不仅仅只是限量那么简单&am…

前后端分离下的鸿鹄电子招投标系统:使用Spring Boot、Mybatis、Redis和Layui实现源码与立项流程

在数字化时代,采购管理也正经历着前所未有的变革。全过程数字化采购管理成为了企业追求高效、透明和规范的关键。该系统通过Spring Cloud、Spring Boot2、Mybatis等先进技术,打造了从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通过…

Ubuntu 常用命令之 df 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 在Ubuntu系统下,df命令是用来查看文件系统的磁盘空间占用情况的。df是disk free的缩写,这个命令可以获取硬盘被占用了多少空间,还有多少空间是可用的,硬盘的挂载点等信息。 df命令的…

AI中的强化学习是怎么做的呢?

1. 什么是强化学习 其他许多机器学习算法中学习器都是学得怎样做,而强化学习(Reinforcement Learning, RL)是在尝试的过程中学习到在特定的情境下选择哪种行动可以得到最大的回报。在很多场景中,当前的行动不仅会影响当前的rewar…