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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《动手学深度学习》V2(11-18)

文章目录 十一、二 模型选择与过拟合和欠拟合1、模型的选择2、过拟合和欠拟合3、估计模型容量4、线性分类器的VC维5、过拟合欠拟合的代码实现 :fire:①生成数据集②定义评估损失③定义训练函数④三阶多项式函数拟合⑤线性函数拟合(欠拟合)⑤高阶多项式函数拟合(过拟合) 十三、权…

docker私有仓库部署与管理

一、搭建本地公有仓库 1.1 首先下载registry镜像 docker pull registry 1.2 在daemon.json文件中添加私有镜像仓库地址并重新启动docker服务 vim /etc/docker/daemon.json 1.3 运行registry容器 docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restartal…

VP Codeforces Round 944 (Div 4)

感受&#xff1a; A~G 其实都不难&#xff0c;都可以试着补起来。 H看到矩阵就放弃了。 A题&#xff1a; 思路&#xff1a; 打开编译器 代码&#xff1a; #include <iostream> #include <vector> #include <algorithm> #define int long long using na…

Ansible——playbook编写

目录 环境配置 一、简介 1.什么是playbook 2.playbook组成 二、应用实例 1.基础命令 1.编写 ceshi1.yaml 文件 2.运行Playbook 2.定义、引用变量 1.编写ceshi2.yaml文件 3.指定远程主机sudo切换用户 1.编写ceshi3.yaml文件 2.修改被控主机sudoers文件 3.给zhangsa…

等保一体机能过三级等保吗?过等保无需再买安全设备如何做到?

等保一体机能过三级等保吗&#xff1f;过等保无需再买安全设备如何做到&#xff1f; 全云在线 2024-03-28 12:08 广东 尽管等保建设的标准是统一的&#xff0c;但由于不同行业和用户规模的差异&#xff0c;建设方案呈现出多样化的特点。 虽然重点行业过等保现象确实已经十分…

Unity图文混排EmojiText的使用方式和注意事项

​​​​​​​ 效果演示&#xff1a; 使用方式&#xff1a; 1、导入表情 2、设置图片格式 3、生成表情图集 4、创建/修改目标材质球 5、测试 修复换行问题 修复前&#xff1a; 修复后&#xff1a; 修复代码&#xff1a; 组件扩展 1、右键扩展 2、组件归类&#…

南京信工一班IP(2)

第六章&#xff0c;BGP—边界网关协议 自治系统—AS ​ 定义&#xff1a;由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合。 ​ AS的来源&#xff1a; 整个网络规模过大&#xff0c;会导致路由信息收敛速度过慢&#xff0c;设备对相同目标认知不同。AS之间…

LeetCode题目104: 二叉树的最大深度(递归\迭代\层序遍历\尾递归优化\分治法实现 )

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…

Android system property运作流程源码分析

一.序 前文分析了build.prop这个系统属性文件的生成&#xff0c;每个属性都有一个名称和值&#xff0c;他们都是字符串格式。属性被大量使用在Android系统中&#xff0c;用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性&#x…

【IMX6ULL项目】IMX6ULL下Linux实现产测工具框架

电子产品量产测试与烧写工具。这是一套软件&#xff0c;用在我们的实际生产中&#xff0c; 有如下特点&#xff1a; 1.简单易用&#xff1a; 把这套软件烧写在 SD 卡上&#xff0c;插到 IMX6ULL 板子里并启动&#xff0c;它就会自动测试各个模块、烧写 EMMC 系统。 工人只要按…

数据库系统理论——关系数据库标准语言SQL

文章目录 一、数据定义1、基本表的定义、删除与修改2、索引的建立于删除&#xff08;了解&#xff09; 二、数据查询&#xff08;会其中一种&#xff09;1、单表查询&#xff08;1&#xff09;这里出现重复元组&#xff0c;怎么处理&#xff1f;&#xff1f;&#xff08;2&…

渗透测试-信息收集

网络安全信息收集是网络安全领域中至关重要的一环&#xff0c;它涉及到对目标系统、网络或应用进行全面而细致的信息搜集和分析。这一过程不仅有助于理解目标网络的结构、配置和潜在的安全风险&#xff0c;还能为后续的渗透测试、风险评估和安全加固提供有力的支持。 在网络安…

单调栈问题

原理 单调栈的核心原理是&#xff1a;在栈内保持元素的单调性&#xff08;递增或递减&#xff09; 单调递增栈&#xff1a; 用于处理“下一个更小的元素”问题。当新元素比栈顶元素小或等于时&#xff0c;直接入栈&#xff1b;否则&#xff0c;一直从栈顶弹出元素&#xff0c…

信息系统项目管理师0102:可行性研究的内容(7项目立项管理—7.2项目可行性研究—7.2.1可行性研究的内容)

点击查看专栏目录 文章目录 7.2项目可行性研究7.2.1可行性研究的内容1.技术可行性分析2.经济可行性分析3.社会效益可行性分析4.运行环境可行性分析5.其他方面的可行性分析记忆要点总结7.2项目可行性研究 可行性研究是在项目建议书被批准后,从技术、经济、社会和人员等方面的条…

在STM32中用寄存器方式点亮流水灯

文章目录 实验资料一、对寄存器的理解1.通俗认识寄存器2.深入了解寄存器&#xff08;1&#xff09;端口配置低寄存器&#xff08;配置0到7引脚的寄存器&#xff09;&#xff08;2&#xff09;端口配置高寄存器&#xff08;配置8到15引脚&#xff09; 3.GPIO口的功能描述 二、配…

【网络】网络基础

目录 一、前言 1.计算机网络背景 2.认识协议 二、网络协议初识 1.OSI七层模型 2.TCP/IP五层(或四层)模型 3.网络传输基本流程 4.数据包封装和分用 5.网络中的地址管理 1.IP地址 2.MAC地址 一、前言 1.计算机网络背景 网络之前&#xff0c;我们所有在电脑上的操作都是…

LeetCode题练习与总结:二叉树的中序遍历--94

一、题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2]示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[]示例 3&#xff1a; 输入&#xff1a;roo…

Github学习

1.Git与Github 区别: Git是一个分布式版本控制系统&#xff0c;简单的说就是一个软件&#xff0c;用于记录一个或若干个文件内容变化&#xff0c;以便将来查阅特点版本修订情况的软件。 Github是一个为用户提高Git服务的网站&#xff0c;简单说就是一个可以放代码的地方。Gi…

韩顺平0基础学Java——第10天

p202-233 类与对象&#xff08;第七章&#xff09; 成员方法 person类中的speak方法&#xff1a; 1.public表示方法是公开的 2.void表示方法没有返回值 3.speak&#xff08;&#xff09;中&#xff0c;speak表示方法名&#xff0c;括号是形参列表。 4.大括号为方法体&am…

重塑数据架构:云器Lakehouse如何简化组装式架构实现性能与成本的精益平衡

导读本文将介绍云器科技自研的 Lakehouse 产品。通过本次分享&#xff0c;您将了解云器 Lakehouse 产品特性&#xff0c;了解一体化数据平台如何提升数据处理和数据分析的效率&#xff0c;使之更轻松、更简洁、更高效&#xff0c;了解增量计算如何做到平衡数据新鲜度、查询性能…