IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 第十天-BGP(1) -> 正文阅读

[网络协议]第十天-BGP(1)

BGP --- 边界网关协议

AS --- 自治系统 --- 由单一机构或组织管理的一些列 P网络及其设备的集合。

1,网络范围太大,协议跑不过来,需要进行划分;

2,自治管理

为了方便区分和标定不同的AS,我们给每个自治系统设计了一个编 号 --- AS号 --- 16位二进制构成 --- 0 - 65535;其中0和65535为保留值,不用,所以,AS号真正的取值范围为1 - 65534;我们将64512 - 65534AS号称为私有AS号。 --- 因为传统的AS号存在不够用的问题,所以目前也存在拓展版的AS号 --- 32位构成 --- 目前绝大多数设备已经支持拓展版的AS号

EGP协议在之前还存在一款协议 --- EGP,回是由于其功能有限,后来在其基础上进行优化和改进,生成了现在的BGP协议。目前AS之间使用 最广泛的协议就是BGP协议。

在目前 PV4环境下,使用最广泛发BGP版本是BGPV4。目前市场上已经存在BGPV4+。BGPV4+又可以称为MP-BGP --- 可以支持多种地址族的应用。

在没有BGP协议的情况下,仅使用重发布技术,也可以实现AS之间的路由信息的共享。回是,之所以不采用这种方案,其原因如下:

1,重发布技术本省存在缺陷 --- 在多点重发布中,因为种子度最值问题,必然造成选路不佳

2,ASBR设备的归属问题

BGP之间传递路由信息的方式一定是和RIP类似,通过传递路由条目信息来实现。 ---- 之所以不使用拓扑信息,主要因为:1,拓扑信息资源占用最太大,而BGP需要传递的数最是巨大的。2,传递拓扑信息将暴露本AS内部的拓扑连接情况。

BGP --- 无类别的路径矢最型协议

距离矢最 --- 在距离矢最型协议中,距离是开销的体现,将跳数作为开销值的评判标准。将一个路由器看作是一个单位计算距 离。

距离矢最是算法的概念,因为 GP协议本身需要通过算法来计算出未知网段的路由信息。

路径矢最 --- 是将一个AS看作一个整体

路径矢最不牵扯算法,因为BGP仅仅是将IGP计算出来的路由信息发送到其他AS之中,相当于仅将现成的路由进行传递而不需要计算。

IGP --- 选路佳,收敛快,占用资源少

BGP协议的关注点

1,可控性 --- AS之间需要传递大最的路由信息,所谓可控,就是可以更方便的干涉选路,更容易做路由策略。

为了保证可控型,BGP舍弃了开销值。取而代之的是BGP给 每条路由信息附加了很多路径属性。之后,可以通过这些属性来进行选路。因为多种属性的存在,将导致我们的选路变的更加的灵活和方便。使得BGP协议具有强大的可操控型。

因为BGP协议需要传递大最的路由信息,所以,其本身不可能存在周期更新机制。BGP仅存在触发更新。

2,可靠性 --- 需要保证数据传输的可靠。BGP为了保证传输的可靠性,其传输层协议直接选择使用TCP协议。使用TCP的179 号端口进行工作。

IGP协议不选择使用TCP的原因:

1,TCP传输效率较低

2,TCP传输占用资源较大

3,TCP协议只能实现单播,所以,无法通过组播或者广播的形式发送,则将导致IGP协议无法自动发现邻居关系,只能手工指定。

因为BGP选择使用的是TCP协议,所以,BGP需要手工建立邻居关系。

BGP因为传输层使用的是TCP协议,所以,只要在TCP协议可以正常建立会话的基础上就可以完成BGP的建邻工作。 ---- BGP支持非直连建邻(网络可达) --- BGP的非直连建邻建立在 IGP(静态)之上

在BGP中,我们将邻居关系称为对等体关系。

EBGP对等体关系 --- 如果建立对等体的两台路由器位于不同的AS中,则他们的关系被称为EBGP对等体关系。

?BGP对等体关系 --- 如果建立对等体的两台路由器位于同一个的AS中,则他们的关系被称为 BGP对等体关系。

因为,EBGP对等体之间一般使用直连建邻,所以,EBGP对等体之间发送的数据包中的TTL值我们将其设置为1。如果遇到EBGP对等体之间需要进行非直连建邻,则需要手工修改TTL 值。 BGP对等体关系在A 内部一般都是非直连建邻,所以, TTL值设置为255。

3,ASBYAS--- 在BGP当中,我们将一个AS看作一个整体。

BGP协议是不支持负载均衡的。---- 在BGP当中,如果到达同一个目标网段存在多条路径可以走时,BGP将会根据其中的 路径属性来选择一条最优的加载到路由表中,而不会进行负载均衡。

1,BGP的数据包

BGP协议所有数据包的传输的可靠性均由TCP协议来保证。所有BGP数据包均基于TCP建立的会话通道发送。

OSPF的Hello --- 可以周期性的发现,建立和保活邻居关系。

在BGP中,发现邻居关系的过程变为由人手工指定。主要因为TCP协议需要建立会话通道,之后才会基于通道发送数据包。

open包 --- 建立BGP对等体关系。---- 邻居关系的建立无非就是参数协商的过程。BGP建立邻居关系需要通过OPEN包来携带参数,进行比对协商。

AS--- 在创建邻居关系时需要指定邻居所在的AS号,这个参数将被携带在OPEN报文中发送给对方,对方将比对这个AS号和本地所在的AS号是否一致,如果一致,则可以正常建立邻居关系。

认证 --- BGP建邻也可以做认证,做认证后将携带认证口令,认证口令双方需要比对,一致则可以正常建立邻居关系。

ROUTEID ---- 区分和标定路由器的。也是由32位二进制构成,按照 P地址的格式来表示。 ---- 1,手工配置;2,自动获取(先看设备是否存在环回接口,如果存在则将选择环回接口中 IP地址最大的地址作为RID,如果没有环回接口,则将在物理接口中选?IP地址最大的作为RID)这个RID将在OPEN包中携带,发送到对端之后,对端将检测这个RID,如果和本地的RID不同,则将可以正常的建立邻居关系。

手工建立邻居关系时所指定的建邻的IP地址必须和收到的open 包中的源IP地址相同才能正常建立邻居关系。否则,邻居关系将建立失败

Holdtime --- 保活时间 --- 默认时间为180S,在保活时间内,如果没有收到对方发送的keeplive包或者update包,则将断开BGP 邻居关系。这个参数在open报文中将被携带,回是,双方不一 致不会影响邻居关系的建立,回是在执行时,这个时间必须是一致的,则将采用双方中较小的保活时间来使用。

路由器是否支持刷新功能也将成为OPEN报文中所携带的一个协商参数。

keeplive包 --- 周期保活 --- 周期发送时间等于保活时间的1/3。默认保活时间180S,则默认的周期发送时间为60S。除了保活之外,keeplive包还将在open报文协商参数时临时充当确认包的作用。

TCP协议进行确认的目的是为了保证数据传输的可靠性,而keeplive报文确认的目的是为了确认认可对方发送的open报文中的参数。

update包 --- 更新包 --- 携带需要传递的路由信息的数据包。表示一条路由条目信息,需要携带的参数主要就是目标网络号和子网掩码信息,以及路径属性。

在更新包中,存在一个撤销路由条目字段,在这个字段下的路由条目将需要对端删除,而不再需要通过带毒传输的方式来表达。

notification包 --- BGP中设计的一个告警机制。

Route-refresh包--- 用于改变路由策略变更后请求对等体重新发送路由信息。(前提条件是双方均支持路由刷新功能才行。)

2,BGP的状态机

BGP的状态机描述的是BGP对等体建立过程中状态的变化。因为BGP 这个协议可以将邻居建立过程和路由收发过程分开进行。

BGP的状态机 --- 6种

?

?DLE --- 空闲状态 --- 路由器启动BGP进程之后,将先处于id e状态。当你手工指定邻居关系后,BGP将进入到一个检查环节,检查指定的

?IP地址在本地路由表中是否可达。如果可达,则将进入到下一个状态 --- connect。

Connect --- 连接状态,该状态完成TCP会话的建立。

如果TCP会话建立成功,则将进入到opensent状态,发送open报文。

如果TCP会话建立失败,则将进入ACTIVE状态,尝试重新建立TCP 会话。

在建立TCP会话过程中,因为双方都会主动发起建立会话的过程,而最终建立的都是一个双向的会话。所以,最终只需要保持一个会话通道即可。选择方式是通过后续open报文中的RID进行比较,选择保留RID大的设备发起的TCP会话。

Opensent --- 发出本地的open报文。收到对端发送的open报文,查看里面的参数,之后,如果确认参数无误。则将回复keeplive报文作为确认。

Openconfirm --- open报文确认状态 --- 对端也收到本地发送的open报文,之后根据里面的参数进行确认。如果确认无误则将发送

keeplive报文。本段收到对方发送的keeplive报文之后将进入下一个状态。

Established --- 建立状态 --- 标志着BGP对等体关系的建立。

?3,BGP的工作过程

????????1,基于 GP协议实现IP可达

????????2,指定邻居关系,通过三次握手,建立TCP的会话通道。之后所有BGP的数据报都将基于TCP会话通道来进行传递。

????????3,使用open报文和keeolive报文进行邻居关系的建立。之后将邻居关系收集到一张表中 --- 邻居表

????????4,通过update报文传递路由信息。传递的路由条目信息中主要包含 目标网络号,掩码信息,以及各种路径属性。之后,设备会将所有自已发出的以及收到的路由信息记录在一张表中 --- BGP

????????5,之后将BGP表中的最优路径加载到路由表中。

????????6,收敛完成后,BGP将周期使用keeplive报文进行保活。保活时间默认为180 ,周期发送时间默认为保活时间的1/3,即60 。

????????7,若出现错误信息,将使用notification报文进行告警。

????????8,若发生结构突变,则将使用update报文进行触发更行。

4,BGP的路由黑洞

?

由于BGP协议支持非直连建邻,故可能出现BGP协议跨越未运行BGP协议的路由器。导致BGP路由传递后,控制层面可达,回是数据层面,在经过未运行BGP协议的路由器时无法通过。形成路由黑洞。

1,在R3上将BGP协议的路由信息重发布到IGP当中。

2,直接在R4上运行BGP协议

3,MPL

为了避免路由黑洞的情况产生,BGP提出了同步机制 --- 即当一台路由器从自已的 BGP对等体学习到一条BGP路由时,他将不能把他通告给自已的EBGP对等体,除非他又从IGP协议当中学习到这条路由。

5,BGP的防环

BGP使用的防环机制 --- 水平分割机制

EBGP的水平分割 --- 一种专门应用在EBGP对等体之间,用来解决EBGP对等体之间可能出现的环路问题。

BGP协议将在路由条目中记录所经过的A 编号 ---- A S_PATH --- 记录AS 路径的一个属性。(这个属性除了可以完成EBGP的水平分割外,还可以作为选路的依据。) --- 接收到的BGP路由条目中, 其中的AS_PATH属性中,若存在本地的AS号,则将拒绝接受。

?BGP的水平分割 --- 一种专门应用在 BGP对等体之间,用来解决

?BGP对等体之间可能出现的环路问题。

?BGP水平分割 --- 当一个路由器从一个 BGP对等体处学习到某条BGP路由时,他将不能在将这条路由信息通告给其他的 BGP对等体关系。

?

因为 BGP水平分割的限制,导致 BGP对等体之间的路由信息只能传递一跳,在这情况下,可能会造成通信障碍。解决方案:

????????1,构建全连的 BGP对等体关系 --- 这样的方法弊端在于1,全连建邻会导致资源消耗增加;2,可能会导致网络的可拓展性降低。

????????2,路由反射器

????????3,联邦

6,BGP的基本配置

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:50:39  更:2022-07-21 21:51:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 20:21:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计