《图解TCP/IP》阅读笔记(第七章 7.6)—— BGP 边界网关协议

news2024/11/25 18:47:20

7.6 BGP

BGP(Border Gateway Protocol),边界网关协议,是用于连接不同组织机构(或者说不同自治系统)的一种协议,其属于EGP(外部网关协议),我们在7.2节中了解过。

更具体一些,BGP主要用于ISP之间相连接的部分。

只有BGP、RIP、OSPF共同进行路由控制,才能够进行整个互联网的路由控制


首先要说明的是,BGP作为上层EGP的协议之一,其不像作用于下层IGP的RIP与OSPF一样是利用IP的网络地址部分进行路由控制,而是放眼于整个互联网进行路由控制。

BGP的路由控制表有网络地址和下一站的路由器组来表示,不过他会根据所要经过的AS个数进行路由控制。

ISP、区域网络等会将每个网络编配成一个个自治系统进行管理。它们为每个自治系统分配一个16比特的AS编号(该编号仍由各国的NIC组织进行管理)。BGP就是根据这个编号进行相应的路由控制。

有了AS编号的域,相当于一个独立的“国家”。AS代表可以决定AS内部的网络运营和相关决策,与其他AS项链的时候,像一个外交官一样签署合约后再进行连接(或者对接Peering)。

如下图所示,为了使AS1和AS3之间可以进行通信,需要有AS2或者AS4与AS5组合起来的两者中之一,进行数据中转(或者转接Transit)才能够实现。而两者是否愿意中转也是由自己决定的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SLE63QFp-1672057819990)(2022年12月26日.assets/image-20221226194501100.png)]

接下来,我们假设它们两者都是愿意中转的,详细介绍BGP协议。

图中可见,根据BGP交换路由控制信息的路由器叫做BGP扬声器,其需要与所有的AS建立对等的BGP连接,才可以在AS之间交换BGP信息。且一个AS内部有多个BGP扬声器。为了使AS内部可以交换BGP信息,就需要建立BGP连接。

BGP中数据包送达目标网络时,会生成一个中途经过的所有AS的编号列表。这个表格叫做AS路径信息访问列表(AS Path List)。如果针对同一个目标地址出现多条路径时,BGP会从该列表中选择一个较短的路由。

读到这里应该能有所发觉,BGP使用AS作为度量单位。让我们回顾一下,RIP的度量为路由器个数,OSPF中则为成本,即每条链路的总代价。BGP虽然基于AS之间的合约进行数据包转发,但是仍要遵循各个AS之间签约的细节进行更细烈度的路由选择。

AS路径信息访问列表中,不仅包含转发方向的距离,还包括途径所有AS的编号,因此不可以成为距离向量型协议。此外,网络构造仅用一元化(AS编号)表示,也不能算作链路状态型协议。像BGP这种根据所要经过的路径信息访问列表进行路由控制的协议属于路径向量(Path Vector)型协议。让我们再回顾一下,距离向量型的RIP因为无法检测出环路,所以可能发生无限计数的问题。而路径向量型则类似链路状态型,由于可以检测出环路,避免了无限计数的问题,令网络更容易进入一个稳定的状态。同时,其还具有支持**策略路由(指发送数据包时,可以选择或指定多要通过的AS的意思)**的优势。

整个过程如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xtPs6U5v-1672057819991)(2022年12月26日.assets/image-20221226201651693.png)]


本篇小结

本篇介绍的是属于EGP的边界网关协议,用于控制不同AS之间的路由信息。

根据BGP交换路由控制信息的路由器叫做BGP扬声器,其需要与所有的AS建立对等的BGP连接。

BGP属于路径向量协议,其使用AS作为度量单位。数据包在送达目标网络时,会生成一个中途经过所有AS的编号列表,也称为AS路径信息访问列表,BGP会从中选择一条较短的路由,用以生成路由控制表。

另外,路径向量型协议可以检测出环路,可以避免无限计数的问题,网络更容易进入一个稳定的状态,同时支持策略路由。

不过本篇仍有一些问题没有交代清楚,比如BGP是否犹如OSPF一样可以更新AS的状态,发送包又是如何得知到达目标网络的所有路径的等。但是AS也不像网络一样,会经常出现“掉线”的问题,所以这些问题就待我阅读更为深刻的书籍后做出解答,或者愿意抢先一步了解的同学给出回复。

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

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

相关文章

01)FastDFS文件服务器安装和测试可用性

FastDFS简介 ​ FastDFS是一个轻量级的开源分布式文件系统。2008年4月份开始启动。类似google FS的一个轻量级分布式文件系统,纯C实现,支持Linux、FreeBSD、AIX等UNIX系统。 ​ 主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。实现了软件方式的…

PicoRV32 笔记 06 压缩指令集

PicoRV32 中实现压缩指令集选项 COMPRESSED_ISA,当设置COMPRESSED_ISA1开启支持16位指令集。压缩指令有很多优点,当我们在FPGA中实现PicoRV32的时候,使用RISCV的C扩展能有效的增大代码密度,原本32位1条指令变为16位一条指令&#…

synchronized 和 ReentrantLock 的区别

🎈专栏链接:多线程相关知识详解 synchronized和ReentrantLock的 区别 缺点 优势 synchronized和ReentrantLock两者都是可重入锁 ReentrantLock的三个核心方法: Ⅰ.lock(加锁) Ⅱ.unlock(解锁) Ⅲ.tryLock(尝试加锁) import java.util.concurrent.locks.Reentrant…

Android并发编程里的线程原理

1.进程和线程的概念 抛开那些官方的概念,我们可以大致理解为:进程就是手机里运行的一个个应用,他们都是一个个的进程(当然,有些App是多进程的,这个先不谈)。线程则是进程中对应的一个任务的执行控制流。如果…

广播机制-案例

广播机制-案例 1.静态注册案例-接收开机广播 1.案例:接收开机的广播 创建自定义的BroadcastReceiver用于处理监听到的系统广播。//接收系统开机的广播事件 public class BootCompleteReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context co…

2023跨境出海指南:马来西亚网红营销白皮书

当前的东南亚市场可谓是是企业出海的大热门,马来西亚作为东南亚地区的第三大经济体,其发展形势也是一片大好。疫情出现后,马来西亚的娱乐和消费转移到线上,对社媒的依赖也催发了网红经济的发展。本文Nox聚星就和大家探讨一下&…

海康威视人脸识别设备对接(一)环境搭建

需要对接海康威视人脸识别设备,这里选择明眸门禁,还有其他的没研究过 打开海康威视开放平台 https://open.hikvision.com/ 选择开放体系,一直选择到设备集成SDK 这里我选择设备网络SDK 点击查看详情 选择对应的版本,我用笔记…

AD入门学习—原理图的绘制3

目录 2.4 CAN&24C02及DS18B20温度传感单元的绘制 2.5 USB单元的绘制 2.6 SD卡及TFT单元的绘制 2.7 NRF24L01单元的绘制 2.8 COM口及PS/2接口的绘制 2.9 DCDC电源输入单元的绘制 2.10 原理图的统一编号及编译检查 学习目录 2.4 CAN&24C02及DS18B20温度传感单元的绘制…

Vue基本指令

1、前端技术的发展(html、CSS、JavaScript) ​ (1)jQuery:是对JavaScript进行了封装,使得操作DOM、事件处理、动画处理、ajax交互变得非常简洁、方便。是JavaScript的 库。 ​ (2&#xff09…

Moonbeam与Wormhole的Relayer Engine之间的跨链互连合约

如果您不了解Moonbeam,用一句话简单概括来说Moonbeam是跨链通信的中心枢纽。像Axelar、LayerZero和Hyperlane等的协议允许不同EVM上的智能合约互相通信,为Web3 dApp解锁功能方面前所未见的规模。但就目前来说,上述的几个协议的智能合约通信仅…

计算机网络——数据报与虚电路

简介 本篇接上一篇数据交换的内容继续 分组交换其实包含数据报交换和虚电路交换 数据报方式:为网咯层提供外连接服务 虚电报:为网络层提供连接服务 无连接服务:不事先为分组传输确定传输的路径,每个分组独立确定传输路径&#x…

如何实现带动画的动态面包屑,来看看?

大家好,我是派大星,最近在自己手动搭建一个后台管理平台,将其命名为 “雷达行动 Radar-Solution” ,在开发的过程中对比了一下其他已经成型的后台解决方案,发现都存在一个共性,就是在Layout的头部都有一个面…

分布式理论之分布式事务

写在前面 我们知道,像MySQL的InnoDB存储引擎提供了事务的能力,严格遵守AICD的事务要求,但是在分布式环境中,一个请求会在多个服务实例存在多个事务,如购物,会有订单系统,支付系统,物…

springboot够用就好系列-1.自定义LengthJudge注解校验字段长度

类似NonNull注解标注在参数之上,表示对应的值不可以为空,利用java的元注解及注解处理器实现检查属性长度的功能。 目录 程序效果 实现过程 样例代码 参考资料 程序效果 截图1.用户名超长提示 检查登录时“用户名”、“密码”字段的长度,此…

安全智能分析 环境迁移

环境迁移 Platfor m Ops for AI 作为整合了 DataOps、MLOps、ModelOps 的复杂技术平台,在项目开发时仅使用一套系统无法支撑平台的稳定搭建,往往需要开发系统、集成测试系统、正式 环境系统在项目生命周期 中协作配合。将表、索引、并发程序、配置内容等…

新手想做短视频可以选择什么领域,这三个可以无脑尝试

大家好,我是蝶衣王的小编 对于小白来说,如果你想通过短视频来赚钱,你不能在流行的领域去做。因为坑不是你能接受的,而且有太多的同行,你的竞争优势没法显现出来。下面分享一下新手适合做的短视频领域​。 一、盘点类型…

海思嵌入式开发-001-基于Ubuntu20.04搭建开发环境

海思嵌入式开发-001-基于Ubuntu20.04搭建开发环境一、虚拟机安装ubuntu20.041、安装虚拟机VMware2、基于虚拟机安装ubuntu20.04二、开发环境配置1、参考资料2、问题汇总一、虚拟机安装ubuntu20.04 1、安装虚拟机VMware 主机配置为Windows 10系统,CPU为i7-8550U 4核…

虹科新闻|ATTO 宣布支持 Apple 最新操作系统 macOS® 13 Ventura

一、即时发布 近期,虹科的合作伙伴ATTO公司宣布支持Apple最新操作系统macOS13 Ventura,所有HK-ATTO适配器、软件和实用程序都已经过新操作系统的测试和验证。 ATTO 34年来为数据密集型计算环境提供网络、存储连接和基础架构解决方案的全球领导者&#…

一文读懂什么是低代码开发?

世界在应用程序上运行,商业世界也不例外。面对变化,企业过去依赖的传统应用程序开发流程可能不再有效。从头开始构建软件解决方案需要花费数月甚至数年的时间来规划、设计、测试和部署。当您的组织需要快速解决方案时,等待负担过重的开发人员…

真实世界的人工智能应用落地——OpenAI篇 ⛵

💡 作者:韩信子ShowMeAI 📘 深度学习实战系列:https://www.showmeai.tech/tutorials/42 📘 本文地址:https://www.showmeai.tech/article-detail/414 📢 声明:版权所有,转…