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

news2024/10/5 17:26:08

目录

一.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状态机改变的图

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

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

相关文章

MySQL-索引篇

文章目录 什么是索引?索引的优缺点索引底层数据结构选型Hash表二叉查找树AVL树红黑树B树&B树 索引类型总结主键索引二级索引聚集索引与非聚集索引聚集索引非聚集索引 覆盖索引与关联索引覆盖索引联合查询最左前缀匹配原则 索引下推如何正确使用索引选择合适的字…

Linux基础命令(续)

17,wc命令 作用:统计行数、单词数、字符个数 格式: wc 选项 文件 wc passwd 26 36 1159 passwd26:行数 36:单词数 1159:字符数 passwd:文件名wc autofs.conf 426 2604 15137 autofs.conf426…

CentOS7 安装 Kamailio

https://www.kamailio.org/wiki/packages/rpms 官方文档说 yum -y install yum-utils yum-config-manager --add-repo https://rpm.kamailio.org/centos/kamailio.repo 但目前这样其实行不通 需要这样做: yum install --disablerepokamailio --enablerepokamai…

在Linux操作系统中LVM逻辑券管理指令

1.PV物理券相关指令 1.查看机器中的PV pvscan 命令 这个叫做/dev/sda2 的PV,被加入到了名叫centos的卷组中,并且这个券组的大小是小于19.51GB 2.创建物理券 pvcreate 磁盘/分区名称 pvcreate /dev/sdc 3.删除物理券 pvremove 磁盘/分区名称 2.…

微信授权登录02-移动端

目录 ## 前言 1.准备工作 1.1 网站域名 1.2 微信公众号 2.授权登录开发 2.1 前端开发 2.1.1 调起微信授权页面 ## 调起微信授权页面效果图 2.1.2 用户允许授权后回调处理 2.2 后端开发 2.2.1 根据code查询用户信息 2.2.2 自动注册登录 ## 后记 ## 前言 上一篇写…

力扣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…

HCIP的学习(14)

过滤策略—filter-policy ​ 思科中&#xff1a;分发列表 ​ 过滤策略是只能够针对于路由信息进行筛选&#xff08;过滤&#xff09;的工具&#xff0c;而无法针对于LSA进行过滤。 在R4的出方向上配置过滤策略&#xff0c;使得R1不能学习到23.0.0.0/24路由信息1、抓取流量 […

【谷粒商城】03创建商品模块

1.创建模块 2.创建项目微服务 商品服务、仓储服务、订单服务、优惠券服务、用户服务 共同&#xff1a; 1&#xff09;、web、openfeign 2&#xff09;、每一个服务&#xff0c;包名 com.atguigu.gulimall.xxx(product/order/ware/coupon/member) 3&#xff09;、模块名&#x…

ABAP ZCL_EXCEL 实际用的案例 对账单

ABAP ZCL_EXCEL 实际用的案例 FORM GETITEMSANDOUTPUT USING PGS_HEAD TYPE GSHEAD.DATA:FILENAME TYPE STRING.DATA:LKUNNR TYPE KNA1-KUNNR.DATA:PROW TYPE I.DATA:LSDATE TYPE STRING.DATA:SUMXSJE TYPE DMBTR,ZYMYE TYPE DMBTR, "月末余额SUMBYXSYE TYPE DMBT…

java项目之英语知识应用网站源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的英语知识应用网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 英语知识应用网站的主要…

文心一言 VS 讯飞星火 VS chatgpt (257)-- 算法导论19.2 1题

一、给出图19-4(m)中的斐波那契堆调用 FIB-HEAP-EXTRACT-MIN 后得到的斐波那契堆。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 由于我不能直接画出图19-4(m)中的斐波那契堆&#xff0c;我将基于斐波那契堆的基本结构和操作FIB-HEAP-EXTRACT-MIN的一般行为来…

3D 生成重建009-DreamGaussian使用gaussian splatting在两分钟内生成3d

3D 生成重建009-DreamGaussian使用gaussian splatting在两分钟内生成3d 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 DreamGaussian是第一个使用gaussian splatting方法进行3d生成的工作。论文最先使用gaussian splatting替代原来用nerf表示3d。整体架构依然保留了原来的…

探索数据结构:树与二叉树

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 树 1.1. 树的定义 树是一种非线性的数据结构&#xff0c;它是由n&a…

nodejs复习笔记

最近在复习nodejs&#xff0c;整理了一些笔记来记录和分享。 非常惭愧&#xff0c;我之前关于nodejs学习的一篇文章《nodejs全栈开发学习笔记》已经是2019年6月份的时候了&#xff0c;大概浏览了一下&#xff0c;发现当时很多不明白的地方&#xff0c;现在通过复习&#xff0c…

【MySQL数据库开发设计规范】之表设计规范

欢迎点开这篇文章&#xff0c;自我介绍一下哈&#xff0c;本人姑苏老陈 &#xff0c;是一名JAVA开发老兵。 本文收录于 《MySQL数据库开发设计规范》专栏中&#xff0c;该专栏主要分享一些关于MySQL数据库开发设计相关的技术规范文章&#xff0c;定期更新&#xff0c;欢迎关注&…

Java反射(含静态代理模式、动态代理模式、类加载器以及JavaBean相关内容)

目录 1、什么是反射 2、Class类 3、通过Class类取得类信息/调用属性或方法 4、静态代理和动态代理 5.类加载器原理分析 6、JavaBean 1、什么是反射 Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息&#xff0c;从而操作类或对象的属性和方法。本质是JVM得…

【计算机毕业设计】基于微信小程序文章管理系统

随着 计算机技术的成熟&#xff0c;互联网的建立&#xff0c;如今&#xff0c;PC平台上有许多关于文章管理方面的应用程序&#xff0c;但由于使用时间和地点上的限制&#xff0c;用户在使用上存在着种种不方便&#xff0c;而开发一款基于微信小程序的文章管理系统&#xff0c;能…

基于机器学习的网络流量识别分类(完整资源收米)NetFlow-Sentry

项目介绍 这是一个名为NetFlow-Sentry的项目&#xff0c;项目实现了对网络流量的实时检测&#xff0c;特征抓取&#xff0c;内置了基于Pytorch的深度学习模型来进行流量分类。该项目除可以进行实时特征提取&#xff0c;还提供了网络流量数据的输入口&#xff0c;可以直接识别分…

并发——进程

1. 程序 程序&#xff08;program&#xff09;是什么&#xff1f; 计算机程序&#xff08;computer program&#xff09;一般是指以某些程序设计语言编程&#xff0c;能够运行于某种目标体系结构上 程序 数据结构 算法 数据结构&#xff1a;用来表示人们思维对象的抽…

mysql的存储结构

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