BGP学习一:关于对等体建立和状态组改变

目录

一.BGP基本概念

(1).BGP即是协议也是分类

1.早期EGP

2.BGP满足不同需求

3.BGP区域间传输的优势

(1)安全性——只传递路由信息

(2)跨网段建立邻居

4.BGP总结

5.BGP的应用

(1)大企业内部互通

(2)运营商网络(大骨干区域)

二.BGP特点

三.BGP对等体关系

(1).对等体类型

(2)建立Peer关系报文学习

1.Open报文

(2)

2.BGP Update

3.TCP连接接口源地址

四.BGP报文

1.BGP Header——BGP报文头部

2.BGP Packet——报文类型

(1) Open报文参数

(2).BGP Update

(3).Notification

(4)Keepalive

(5).Router—refresh

五.BGP状态组

(1)BGP不同状态

1.Idle

2.connect

3.Established

(2)BGP状态组如何改变

connect有3种可能

actvie有两种状态


一.BGP基本概念

(1).BGP即是协议也是分类

路由协议分类

那么我们可以发现,按照工作区域BGP是属于EGP,但按照工作机制,BGP好像不属于任何类型。那么我们可以了解到,BGP是一个全新的协议。

1.早期EGP

早期EGP在AS间动态传递路由信息(BGP可以看作是EGP的进化体)。哎,RIP也是传递路由信息,RIP是距离矢量路由信息。

BGP是路径矢量路由协议,不仅是协议,也是一个类型。

2.BGP满足不同需求

早期EGP只传递路由信息,产生次优路径问题不同的网络有不同的需求,如视频要求时延低,传输文件要求带宽高,EGP不能满足根据不同需求筛选不同网络的需求。

BGP代替EGP,加入很多路径属性,如COST,优先级,掩码,路由来源信息。可以筛选出更能满足需求的路径。

3.BGP区域间传输的优势

(1)安全性——只传递路由信息

OSPF传递,会传递路由信息和拓扑信息,使其他区域网络学习到自己区域的内部网络,不安全

BGP只传递路由信息,其他区域不能学习到自己区域的内部网络,而且BGP因为路由属性多,还可以进行筛选,只传想传的。

(2)跨网段建立邻居

OSPF,ISIS建立邻居时,只能与直连网络建立,而且接口的IP地址/掩码必须属于同一网段

BGP只要可以Ping通就能建立邻居

4.BGP总结

(1)BGP封装在传输层TCP协议中,只要能Ping通就能建立邻居

(2)BGP只传递路由信息,不暴露AS内拓扑

(3)触发式更新(根据路由变化更新),不是周期性更新

5.BGP的应用

(1)大企业内部互通

总部分支互联,专线或运营商

(2)运营商网络(大骨干区域)

二.BGP特点

1.BGP使用TCP三次握手(179端口)建立邻居关系,用自己随机端口向对方TCP179发起三次握手,触发式更新

2.BGP承载大量路由信息,百万级别,ISIS十万,OSPF万级别

3.有丰富的路由策略,路由属性多。

三.BGP对等体关系

BGP对等体类似于邻居关系。

(1).对等体类型

(2)建立Peer关系报文学习

1.Open报文

先BGP使能,TCP3次握手(双向),有两个邻接关系,选择Router ID大的保留

open报文用来协商参数。

(2)

2.BGP Update

与对等体建立无关,触发式更新,第一次建立会发,主要是更新BGPLSBD信息

Withdrawn routes(第2个) :不可达路由信息

path attribute(第4个):路由属性,TLV三元组构成

NLRL(最后一个):可达路由信息

3.TCP连接接口源地址

BGP通过TCP3次握手建立连接,自己随机端口向对方TCP179发起三次握手,触发式更新。

那么这个随机端口就是TCP连接接口源地址,一般会选择出接口的IP地址,那么问题来了

假设BGP建立场景是这样

R1向R3发起3次握手,各个物理链路都可以使用,当R2路由器故障时

可以看到,与R2连接的对端接口也down掉了

那么TCP无法正常建立连接。

我们就可以使用环回地址来发起TCP3次握手,这样比较稳定。

EBGP通过直连方式建立连接,AS单链路,环回口没那么重要。

四.BGP报文

1.BGP Header——BGP报文头部

只有3个参数

Marker:没那么重要,全为1

Length,Type:报文类型

2.BGP Packet——报文类型

我们上面已经提到了关于Open :维持对等体关系,keepalive :维持对等体关系,update.:与维持对等体关系无关。

(1) Open报文参数

version:BGP版本,已经更新到BGP 4,现在常用的是GBP 4+

MY Autonomous System用于区分是IGBP/EBGP

Hold Time可以看作是死亡时间,一般为180S,Keepalive用于维护邻接关系

BGP Identifier:要保证ROuter ID不冲突

(2).BGP Update

Withdrawn routes(第2个) :不可达路由信息

path attribute(第4个):路由属性,TLV三元组构成

NLRL(最后一个):可达路由信息

(3).Notification

:差错报文,终止对等体

(4)Keepalive

参数与BGP报文头部一样

Marker:没那么重要,全为1

Length,Type:报文类型

(5).Router—refresh

路由刷新,重新请求update报文

AFI:地址族标识,IPV4                       Res,全为0             SAFI:子地址族

五.BGP状态组

(1)BGP不同状态

1.Idle

初始状态

2.connect

连接状态,正在进行TCP连接

3.Established

3次挥手成功,开始update报文,触发更新

(2)BGP状态组如何改变

connect有3种可能

1.成功TCP3次握手,进入opensent

2.对端没收到3次握手,重复TCP,进入active状态

3.对端拒绝TCP3次握手,回到Idle状态

actvie有两种状态

1.重新发送TCP,对端收到,顺利进入opensent

2.重新发送又没收到TCP握手,回到connect

其他的就只有两种可能,成功顺利进行下一阶段,被拒绝回到Idle状态

BGP状态组非常重要,要记住哦,也可以像我一样,自己画一下过程,很方便记忆

现在附上华为教材中的BGP状态机改变的图

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

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

相关文章

力扣HOT100 - 295. 数据流的中位数

解题思路&#xff1a; 小顶堆 大顶堆 class MedianFinder {Queue<Integer> A, B;public MedianFinder() {A new PriorityQueue<>();B new PriorityQueue<>((x, y) -> (y - x));}public void addNum(int num) {if (A.size() ! B.size()) {A.add(num);B…

如何在Mac 电脑上安装 Homebrew

1、打开终端应用程序 在终端中输入以下命令并回车: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 这个命令会自动下载并运行 Homebrew 的安装脚本。 系统可能会提示您输入管理员密码,请输入您的 Mac 登录…

Django国际化与本地化指南

title: Django国际化与本地化指南 date: 2024/5/12 16:51:04 updated: 2024/5/12 16:51:04 categories: 后端开发 tags: Django-i18n本地化-L10n多语言国际化翻译工具表单验证性能优化 引言 在数字化时代&#xff0c;网站和应用程序必须跨越地域限制&#xff0c;服务于全球…

【MySQL】聊聊你不知道的前缀索引原理以及使用场景

背景 在本周的时候&#xff0c;接到一个需求&#xff0c;需要通过加密后的身份证 md5 去数据库里匹配。由于业务方存储的是身份证 md5username 构建的一列&#xff0c;并且没有加索引。 解决方案&#xff1a;1.新建一列 md5的列&#xff0c;加索引 2.对现有的列进行加前缀索引…

【免费】2024年全新超强版本itvboxfast如意版影视APP源码 TV+手机双端后台PHP源码

首先&#xff0c;让我们了解一下ITVBox如意版影视源码的特点和优势。这一源码基于先进的技术和框架开发&#xff0c;具有稳定、高效的性能&#xff0c;能够满足影视网站的各种需求。与此同时&#xff0c;该源码还提供了丰富的功能和模块&#xff0c;包括影视资源管理、会员系统…

攻防世界-web-file_include

题目 解题 通过阅读php代码&#xff0c;我们明显的可以发现&#xff0c;这个一个文件包含的类型题 文件包含漏洞也是一种“注入型漏洞”&#xff0c;其本质就是输入一段用户能够控制的脚本或者代码&#xff0c;并让服务器端执行。 require()&#xff0c;找不到被包含的文件时…

57. 【Android教程】相机:Camera

相机现在已经不仅仅是手机必备神器了&#xff0c;甚至相机的拍照质量已经是很多人买手机的首选条件了。而对于相机而言主要有两大功能&#xff1a;拍照片和拍视频。Android 为此两种方式&#xff1a; 相机 intent相机 API 本节我们就一起来看看相机的具体用法。 1. 打开 Camer…

Windows快速部署DCNv4(成功版)

文章目录 一、介绍二、编译DCNv42.1 下载源码2.2 编译DCNv4 三、报错提示3.1 Cuda is not available3.2 需要Microsoft Visual C 14.0 一、介绍 论文链接&#xff1a;[https://arxiv.org/pdf/2401.06197.pdf] (https://arxiv.org/pdf/2401.06197.pdf)   在这篇文章中介绍了一…

8种区块链开发者必须知道的顶级编程语言!

我来问你一个问题&#xff1a;请说出一种技术&#xff0c;它以去中心化、不可篡改和透明性等核心特征席卷了全球。 这个问题的答案是&#xff0c;当然是区块链&#xff0c;它在近些年进入大家的视野并颠覆了工商业&#xff0c;没有任何其他技术能够做到这一点。 预计从2020年…

通过python实现Google的精准搜索

问题背景&#xff1a; 我想通过Google或者其他网站通过精准搜索确认该产品是否存在&#xff0c;但是即使该产品不存在Google也会返回一些相关的url链接&#xff0c;现在想通过python实现搜索结果的精准匹配以确认该产品是否为正确的名称【可以通过google搜索到&#xff0c;如果…

Git的安装和配置

一、Git的介绍 代码的一套托管工具&#xff0c;它分为两个仓库&#xff0c;首先将你写的代码提交到本地仓库&#xff0c;这个时候只有你可以看&#xff0c;和你一起开发的同事看不到。将本地仓库的代码推到远程仓库&#xff08;githab、gitee、gitlab等之一&#xff09;&#…

斩获 32k 星!号称下一代知识库工具开源了!

AFFiNE&#xff08;发音为 [ə‘fain]&#xff09;是一个下一代知识库平台&#xff0c;它将规划、整理和创造整合在一个空间。AFFiNE致力于提供一个隐私优先、开源、可定制且即用性强的解决方案&#xff0c;作为 Notion 、Airtable、Miro 的整合“替代品”。 Notion 、Airtable…

数据结构-二叉树-红黑树

一、红黑树的概念 红黑树是一种二叉搜索树&#xff0c;但在每个节点上增加一个存储位表示节点的颜色&#xff0c;可以是Red或者BLACK&#xff0c;通过对任何一条从根到叶子的路径上各个节点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长出两倍&#xff0c;…

Java | Spring框架 | AOP代理机制

大家好&#xff0c;我是程序员影子&#xff0c;一名AI编程深耕者&#xff0c;点击左上角头像了解我的详细信息。 今天来聊一聊关于Java中的Spring AOP代理机制中的JDK动态代理与CGLIB。 一、JDK动态代理 JDK动态代理是Spring AOP默认使用的代理机制。它基于Java反射机制&…

力扣 5-11

704. 二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 这道题目的前提是数组为有序数组&#xff0c;同时题目还强…

边缘计算:数据处理的新范式

在不断发展的科技领域中&#xff0c;我们对数据的处理和管理方式正经历着一场范式转变。边缘计算的兴起正在改变传统的数据处理方法。本文将深入探讨边缘计算的涌现&#xff0c;探讨其对数据处理的变革性影响、带来的优势以及对各个行业的影响。 探索边缘计算 边缘计算的核心理…

Docker搭建ctfd平台

安装docker和docker-compose &#xff08;1&#xff09;安装docker&#xff1a; curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun&#xff08;2&#xff09;安装 Docker Compose&#xff1a; yum install docker-compose安装失败参考下面文章 https:/…

消费金融平台公司如何做大做强自营产品

本文来自于2019年的某次内部分享沟通会&#xff0c;部分敏感内容已做删减。

(2024,KAN,MLP,可训练激活函数,样条函数,分层函数)Kolmogorov–Arnold 网络

KAN: Kolmogorov–Arnold Networks 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. 简介 2. KAN 2.1 KA 表示定理 2.2 KAN 架构 2.3 KAN 的逼近能力和缩放定律 2.4 对于…

mysql的存储结构

一个表就是一个ibd文件 .ibd文件大小取决于数据和索引&#xff0c;在5.7之后才会为每个表生成一个独立表空间即一个ibd文件&#xff0c;在此之前&#xff0c;所有表默认下都会存储在“系统表空间”&#xff08;共享表空间&#xff09;&#xff0c;所有表都在一个ibd文件。 inn…