4.6.4、边界网关 BGP 的基本工作原理

news2024/12/25 13:23:58

1、力求寻找较好的路由

因特网采用分层次的路由选择协议

image-20230101175956241

内部网关协议(例如:路由信息协议 RIP 或开放最短路径优先 OSPF

  • 它们都是设法使分组在一个自治系统内尽可能有效地从源网络传输到目的网络
  • 无需考虑自治系统外部其他方面的策略

外部网关协议 EGP

  • 在不同自治系统内,度量路由的 “代价” (距离,带宽,费用等)可能不同。
  • 因此,对于自治系统之间的路由选择,使用“代价”作为度量来寻找最佳路由是不行的。

image-20230101180506343

那么,AS4 可以通过哪些路径到达 AS5 呢?

image-20230101180633218

等等…


我国国内的站点在互相传送数据报时,不应该经过国外兜圈(特别是有安全威胁的)

image-20230101180746437


如下:本来应该最优时通过 AS3,但是AS3 不愿意让这些数据报经过自己自治系统内的网络

  • 因为这是那两个自治系统的事情,与我这个自治系统无关

AS2 愿意让某些相邻自治系统的数据报通过自己的网络,只要支付相应的服务费用即可

image-20230101181014304


由此可见,自治系统之间的路由选择协议应当选取多种选择策略

  • 这些策略包括政治、经济、安全等

  • 它们都是由网络管理人员对每一个路由器进行设置的


BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子)

  • 而并非要寻找一条最佳路由

2、BGP 发言人

在配置 BGP 时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的 “ B G P 发言人 \color{red}BGP发言人 BGP发言人"

一般来说:两个 BGP 发言人都是通过一个共享网络连接在一起的

  • BGP 发言人往往都是 BGP 边界路由器

image-20230101181358460

2.1、建立 TCP 连接(端口:179)

不同自治系统的 BGP 发言人要交换路由信息,首先必须建立 TCP 连接,端口号为 179 179 179

  • 在此 TCP 连接上交换 BGP 报文以建立 B G P 会话 \color{red}BGP 会话 BGP会话

  • 利用 BGP 会话 交换路由信息 \color{red}交换路由信息 交换路由信息(例如,增加新的路由,或撤销过时的路由,以及报告出错的情况等)

  • 使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此称为对方的 邻站 \color{red}邻站 邻站(neighbor)或 对等站 \color{red}对等站 对等站(peer)

BGP 发言人除了运行 BGP 外,还必须运行自己所在自治系统所使用的内部网关协议 IGP ,例如 OSPFRIP

image-20230101181719571


2.2、交换信息与构造自治习题连通图

BGP 发言人 交换网络可达性的信息 \color{red}交换网络可达性的信息 交换网络可达性的信息(要到达某个网络所要经过的一系列自治系统)

BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就 根据 \color{red}根据 根据所采用的 策略 \color{red}策略 策略从收到的路由信息中 找出到达各自治系统的较好的路由 \color{red}找出到达各自治系统的较好的路由 找出到达各自治系统的较好的路由

  • 也就是构造出树形结构、 不存在回路的自治系统连通图 \color{red}不存在回路的自治系统连通图 不存在回路的自治系统连通图

例如:这是自治系统 AS1 的某个 BGP 发言人构造出的自治系统连通图

image-20230101182055125


3、BGP 适用于多级结构的因特网

BGP 适用于多级结构的因特网

如下,给出一个 BGP 发言人交换路径向量的例子

image-20230101182216395

自治系统 AS2BGP 发言人通知主干网的 BGP 发言人,

  • 要到达网络 N1N2N3N4,可以过 AS2

主干网在收到这个通知后,要发送通知

  • 要到达网络 N1N2N3N4,可沿路径( AS2AS2)(路径向量)。

自治系统 AS3 收到这条信息后,若 AS3 自身也包含在其中

  • 则不能采用这条路径,否则会兜圈子

image-20230101182605438


4、BGP-4 的四种报文

BGP-4 有以下四种报文

OPEN (打开)报文 \color{red}\texttt{OPEN}(打开)报文 OPEN(打开)报文:用来与相邻的另一个 BGP 发言人建立关系,使通信初始化。

UPDATE (更新)报文 \color{red}\texttt{UPDATE}(更新)报文 UPDATE(更新)报文:用来通告某一路由的信息,以及列出要撤销的多条路由。

KEEPALIVE (保活)报文 \color{red}\texttt{KEEPALIVE}(保活)报文 KEEPALIVE(保活)报文:用来周期性地证实邻站的连通性。

NOTIFICATION (通知)报文 \color{red}\texttt{NOTIFICATION}(通知)报文 NOTIFICATION(通知)报文:用来发送检测到的差错。

BGP 协议刚刚运行时,BGP 的邻站交换整个 BGP 路由表

  • 但以后只需要在发生变化时更新有变化的部分
  • 这样做节省网络带宽和减少路由器的处理开销都有好处。

5、习题

image-20230101183052041

image-20230101184711464


image-20230101184740573

image-20230101184830907

6、小结

image-20230101185133369

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

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

相关文章

内网渗透-src挖掘-外网打点到内网渗透-3层内网渗透测试记录-2023年1月

1、通过信息搜集,发现目标有一个外网访问的通达OA系统 2、通达OA的漏洞是非常多的,这里利用大佬写好的通达OA一键getshell工具 成功获取webshell 3、连接webshell,上传cs马儿到服务器 4、执行获取主机权限 成功上线 5、通过Ladon插件发…

百分之80新手都不知道,SEO搜索引擎优化【sitemap网站地图 配置】

Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等&am…

浅析oauth2.0及应用场景

讲OAuth2.0之前,我们先理解一个概念,授权用户和资源权限的概念授权用户:用户访问某个应用系统,该应用系统请求认证中心授权以获取这个登录用户的信息,但并没有得到这个用户的密码,这个就是OAuth2.0实现的要…

N个点,求距离最近的两个点---分治策略(1)

设平面有n个点的直角坐标是,i 1, 2, ...,n,求距离最近的2个点,距离计算: 首先这个问题是可以使用蛮力算法,一共n(n-1)/2个点对,每对点对计算需要常数的时间,蛮力算法需要的时间。 由于点对有二维的空间坐标&#xf…

(三十)Vue之回顾本地存储webStorage

文章目录webStorageLocalStoragesessionStorage改造TodoList案例为本地存储Vue学习目录 上一篇:(二十九)Vue之组件化编码流程 下一篇:(三十一)Vue之自定义事件 webStorage 使用HTML5可以在本地存储用户…

Python基础(二十二):文件操作

文章目录 文件操作 一、文件操作的作用 二、文件的基本操作 1、文件操作步骤

同时开启的revit模型和navisworks如何同步呢?

一、 Navisworks与Revit同步问题 同时开启的revit模型和同时开启的navisworks如何同步呢? 1.如图1所示打开了一个revit模型 将模型保存在指定的路径上,然后通过直接拖拽的方式在navisworks manage打开模型文件,过程中会出现读条状态,如图2所…

【MySQL进阶教程】 索引使用与设计原则

前言 本文为 【MySQL进阶教程】 索引使用与设计原则 相关知识,下边将对索引的使用(包括:验证索引效率,最左前缀法则,范围查询,索引失效情况,SQL提示,覆盖索引,前缀索引&a…

Struts2获取表单数据

Struts2获取表单数据Struts2获取表单数据1、原始Servlet方法2、属性封装3、表达式封装4、模型驱动封装Struts2获取表单数据 在Struts2中获取表单数据或提交路径的参数值的方式有4种。如下: 原始Servlet方法属性封装表达式封装模型驱动封装 1、原始Servlet方法 该…

文章书写方法

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

Python爬虫 xpath解析基础

今天继续给大家介绍Python爬虫相关知识,本文主要内容是Python爬虫 xpath解析基础。 一、xpath简介 xpath,即XML Path Language,是一种用来确定XML文档中某部分位置的语言,Xpath以XML为基础,可以提供用户在数据结构树…

8、可观测性--链路追踪

文章目录链路追踪服务之间的依赖Span 的构成Span 之间关系链路图链路追踪与 Dapper链路追踪的作用链路查询性能分析拓扑图依赖关系跨应用/语言采样率链路追踪 首先,我来带你了解一下什么是链路追踪? 服务之间的依赖 在前言中介绍了数据的来源&#xf…

运营|为什么需要配置https?

什么是HTTPS、它带来了什么? 从名字来看,它比http多了一个“s”,这个“s”表示安全。目的在于提供更安全的HTTP通道,即HTTP下加入SSL层并且加密。太详细的我就不再这里说了,再说我就要抄百度百科了。简单来说,不同于HTTP使用80端口,HTTPS使用443端口,HTTPS还需要一个付…

【手写 Vue2.x 源码】第七篇 - 阶段性梳理

一,前言 上篇,介绍了 Vue 数据初始化流程中,Vue 实例上数据代理的实现,核心思路如下: 将 data 暴露在 vm._data 实例属性上利用 Object.defineProperty 将 vm.xxx 操作代理到 vm._data 上 本篇,对当前版本的数据劫持…

[VP]河南第十三届ICPC大学生程序竞赛 J.甜甜圈

前言 传送门 : https://ac.nowcoder.com/acm/contest/17148/J 题意 : 给定两个甜甜圈堆 , 每次只能吃所有中最甜的那一个 , 否则的话就移动 询问最小的移动步骤 思路 : 很明确的一个目标 , 寻找当前最大值并且求出距离 那么我们考虑将两个甜甜圈堆进行合并 , 使得变成一个…

LeetCode:17. 电话号码的字母组合

17. 电话号码的字母组合1)题目2)思路3)代码4)结果1)题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同…

【C++入门】C向C++过渡(上)

前言在正式进入C之前,我们首先要对C有一个基本的认知。这里我就不过多的进行描述了,有兴趣的可以去网络搜索一番。总而言之,从名称上面我们也可以看得出来,C是在C的基础上进行不断地优化发展。事实上确实是这样,C语言中…

k8s部署gitlab

Gitlab以容器方式运行,需要持久化如下几个目录中的数据: 持久化本地位置 容器位置 使用 ${sc}/data /var/opt/gitlab 用于存储应用程序数据。 ${sc}/logs /var/log/gitlab 用于存储日志。 ${sc}/config /etc/gitlab 用于存储 GitLab 配置 文件。 1、下载…

C语言柔性数组的‘美‘

目录 柔性数组的使用和概念 柔性数组的特点 柔性数组与指针的区别 柔性数组的好处 柔性数组的使用和概念 arr[]编译 C99 中,结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。 柔性数组的特点 1、柔性数组成员前必须至少有一个其他…

黑龙江创维E900V22C_S905L3(B)_安卓9.0_开启设置隐藏无线_完美线刷固件包

黑龙江创维E900V22C_S905L3(B)_安卓9.0_开启隐藏设置无线WIFI_完美线刷固件包 提示:大部分芯片均为S905L3A/AB,这两个是可以通刷的。 1、此分享固件包芯片特殊,芯片为S905L3,还有S905L3B芯片,理论上通刷…