HCIP的学习(15)

news2024/11/28 0:51:04

第六章,BGP—边界网关协议

自治系统—AS

定义:由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合

​ AS的来源:

  • 整个网络规模过大,会导致路由信息收敛速度过慢,设备对相同目标认知不同。
  • AS之间可能是不同的机构或企业,相互之间无法完全信任,使用IGP协议会存在暴露网络信息的风险。

AS号,16bit和32bit。---->IANA组织进行分配

  • 取值范围1-65534(0和65535保留)(常用16bit)
    • 1-64511---------公有AS号
    • 64512-65534-----------私有AS号

BGP基础

在这里插入图片描述

运行了BGP协议的路由器,其所维护的路由表,是包含了整个互联网的所有路由信息

BGP特点

  • BGP是基于TCP协议进行数据传输,必须先建立TCP连接,再建立BGP会话连接。
  • 仅具备触发更新,而不再进行周期更新。
  • BGP协议只传递路由信息,不会暴露AS内部的拓扑信息。
  • 通常BGP被称为无类别的路径矢量协议
    • 无类别----传递时携带掩码信息
    • 矢量----方向性:谁传递给我的路由信息,谁就是我的下一跳。
    • 路径矢量----将一个AS看做一个整体,从而计算下一跳。

BGP与IGP协议有本质上的区别,IGP协议主要的任务是将AS内部的未知网段信息计算获取到路由信息,而BGP则主要是将通过IGP协议计算出的路由信息进行搬运,并不会计算路由信息

BGP特征

  • 可控性
    • BGP使用大量的路径属性,取代了IGP协议中的Cost,来对路由信息进行管控。
  • 可靠性
    • 依靠TCP完成可靠性建设。TCP端口179
    • 两台运行BGP协议的设备,需要网络管理员手工配置邻居的IP地址,从而实现数据通讯。
  • AS-BY-AS
    • 在BGP的视角当中,会将一个AS看做为一个整体
    • 因为BGP是将一个AS看做一个整体,但是在该整体内部数据传输时,并非相同,故BGP默认不支持负载均衡功能

BGP的对等体关系

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

​ 对等体关系可以简单理解为邻居关系,建立连接。

  • EBGP
    • 位于不同自治系统的BGP路由器之间的BGP对等体关系。
    • EBGP对等体一般使用直连方式建立邻居关系,故而,TTL数值被设定为1
    • 两台路由器之间要建立EBGP对等体关系,需要满足如下条件
      • 两台路由器所属的AS不同—>判别方式:本地设备通过网络管理员的配置知晓对端的AS,从而判断是否处于相同AS。
      • 配置EBGP时,peer命令所指定的邻居IP地址必须为网络可达(因为有时不一定代表直连数据可通,可能直连串口线,另一端借用环回IP),保证TCP连接可以正常建立。
  • IBGP
    • 位于相同自治系统的BGP路由器之间的BGP对等体关系。
    • IBGP对等体一般使用非直连建邻,故而TTL数值被设定为255

​ 缺省情况下,BGP协议使用报文出接口作为TCP连接的本地接口IP。但是在某些情况下,我们可以指定BGP对等体之间的会话IP地址;例如,在IBGP对等体关系中,常使用环回接口地址作为通讯的源地址。原因是因为loopback接口非常稳定,而且可以借助AS内的IGP协议实现冗余来保证可靠性。

总结:

  • 无类别路径矢量协议
  • BGP使用单播更新来发送数据,基于TCP实现通讯。
  • 增量更新(触发更新(删除/修改)是直接发一条新的路由信息,而增量更新是发送两条,第一条用于删除,第二条用于添加)
  • 具有丰富的路径属性来取代IGP中的度量值参数,从而控制选路。
  • 可以在控制层流量的出入口通过路由策略实现可控性
  • 默认不被用于负载均衡-----会通过各种选路规则选择出一条最优路径信息。
  • BGP支持认证以及路由聚合。

BGP数据包

在这里插入图片描述

Marker(标记位):全为1,代表开始接收BGP报文

Length:整个BGP报文长度

Type:1-5表示后面5种报文类型(按顺序)

在这里插入图片描述

Route-refresh-----路由刷新包

作用:用来要求对等体重新发送指定地址族(IPv4、IPv6)的路由信息

​ 一般为本端修改了相关路由策略之后让对方重新发送update报文,本端执行新的路由策略重新计算BGP路由。----前提提交为双方均支持路由刷新功能。

open包

​ 是TCP建立之后发送的第一个BGP报文,用于建立BGP对等体之间的连接关系。该过程无非就是进行参数协商的过程。

在这里插入图片描述

  • Version :版本BGP4
  • AS号(My AS:发送者出于的AS区域)
    • 不管接收到的open报文中的AS号是否与本地AS号相同,都不会影响到BGP对等体关系的建立。
    • 但是,如果open报文中的AS号,与本地建邻时由网络管理员编写的AS号不同,则邻居关系无法建立
      • BGP对等体在建立邻居时,会配置对等体所在的AS号,如果对端发送的open报文中所包含的AS号与本地配置不同,才会导致建邻失败。
  • RID(= BGP Identifier:BGP标识符)
    • 如果两端RID相同,则对等体关系建立失败。
  • Opt Parm Len:可选项字段长度
  • Optional parameters:可选项字段
  • 认证字段
    • 如果认证方式或者认证数据不同,则导致建邻失败。
    • 该字段永远以MD5形式,存储在TCP的选项字段中。
  • Hold Time----保活时间
    • BGP在建立对等体关系时两端需要协商该参数,并保持一致。但是该参数并不会影响BGP对等体关系的建立
    • 如果两端的保活时间不同,则按照较小的一端数值来执行。
    • 如果在该时间内未收到对端发送来的报文信息,则认为BGP连接断开。该时间默认为180S,报文的周期发送时间为保活时间的三分之一,即60S。
    • 该参数可以设置为0,此时代表不发送keepalive报文周期保活。
    • 因为BGP会话是基于TCP会话建立,只要TCP判断连接断开,则BGP会话断开,故保活机制对于BGP而言并不那么重要,而设定保活机制原因仅仅是因为TCP判断会话断开所需要的时间过长,为了加快收敛速度,添加保活机制。
  • 路由刷新功能(在可选项字段携带,支持就携带)

keepalive包与notification包

作用:主要用来进行周期保活,临时充当确认报文

​ keepalive报文没有数据部分,只有头部19字节,类型中是4。

​ keepalive报文发送时间默认为保活时间的三分之一。

keepalive报文的确认实际上是针对open报文中的参数信息进行确认。而非open报文本身。TCP协议进行确认的目的是为了保障数据传输的可靠性,而keepalive报文确认的目的是为了告知对端本地认可你的参数内容。

​ 当收到的open报文中的参数通过验证,则回复keepalive报文;如果未通过验证,则回复notification报文

Update包-----更新包

作用:用于在对等体之间传递路由信息,可以用于发布和撤销路由(不能更改,更改只能两次Update包)

在这里插入图片描述

  • 撤销路由字段长度(撤销路由列表的长度)
  • 撤销路由列表
    • length---->待撤销路由的掩码信息
    • perfix---->传输的IP地址前缀信息。
  • 路径属性字段长度
  • 路径属性列表
  • NLRI---->网络层可达信息(无条件学习)
    • 内容与撤销路由列表相同

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

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

相关文章

MATLAB实现遗传算法优化选址-路径LRP问题(Location-Routing Problem)

MATLAB实现遗传算法优化选址-路径LRP问题(Location-Routing Problem) 一、模型 选址车辆路径问题(Location-Routing Problem, LRP)是一个组合优化问题,旨在同时优化设施位置的选择和车辆的配送路径。在这个问题中,我们考虑一个由…

栈与队列的实现

前言 本次博客将要实现一下栈和队列,好吧 他们两个既可以使用动态数组也可以使用链表来实现 本次会有详细的讲解 栈的实现 栈的基础知识 什么是栈呢? 栈的性质是后进先出 来画个图来理解 当然可不可以出一个进一个呢,当然可以了 比如…

C++笔记(STL标准库)

1.STL六大部件 容器 Containers分配器 Allocators:帮容器分配内存算法 Algorithms迭代器 Iterators:算法通过迭代器操作容器里的数据,是一种泛化的指针适配器 Adapters:修改或扩展已有类或函数的接口以满足特定的需求仿函数 Func…

Python深度学习基于Tensorflow(9)注意力机制

文章目录 注意力机制是怎么工作的注意力机制的类型 构建Transformer模型Embedding层注意力机制的实现Encoder实现Decoder实现Transformer实现 注意力机制的主要思想是将注意力集中在信息的重要部分,对重要部分投入更多的资源,以获取更多所关注目标的细节…

2024最新商业视频打赏系统源码 多套模板 有代理后台 已对接支付

简介: 2024最新商业视频打赏系统源码 多套模板 有代理后台 已对接支付 图片: 源码下载

清华发布Temporal Scaling Law,解释时间尺度对大模型表现的影响

众所周知, 语言模型调参! 预训练语言模型调参!! 预训练大语言模型调参!!! 简直就是一个指数级递增令人炸毛的事情,小编也常常在做梦,要是只训练几步就知道现在的超参…

【优选算法】—Leetcode—11—— 盛最多水的容器

1.题目 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#…

K邻近算法

简介 介绍了非常简单的算法:K邻近算法,即KNN。 基本介绍 K-近邻算法(K-Nearest Neighbors,简称KNN)是一种基本且广泛应用的监督学习算法,主要用于分类和回归任务。 工作原理非常简答直观:所谓…

改变浏览器大小,图片(img)内容居中显示img标签,不是背景图

改变浏览器大小,图片&#xff08;img&#xff09;内容居中显示&#xff0c;img标签&#xff0c;不是背景图 效果直接上图&#xff1a; 上代码&#xff1a; <!DOCTYPE html> <html> <head><title>测试图片居中显示&#xff0c;高度不变只变宽度<…

面试集中营—Seata分布式事务

一、分布式事务 本地事务 在计算机系统中&#xff0c;更多的是通过关系型数据库来控制事务&#xff0c;这是利用数据库本身的事务特性来实现的&#xff0c; 因此叫数据库事务&#xff0c;由于应用主要靠关系数据库来控制事务&#xff0c;而数据库通常和应用在同一个服务器&am…

SQLite利用事务实现批量插入(提升效率)

在尝试过SQLite批量插入一百万条记录&#xff0c;执行时长高达20多分钟后&#xff0c;就在想一个问题&#xff0c;这样的性能是不可能被广泛应用的&#xff0c;更不可能出现在真实的生产环境中&#xff0c;那么对此应该如何优化一下呢&#xff1f; 首先分析一下批量插入的逻辑 …

社交媒体数据恢复:脉脉

在使用社交软件脉脉的过程中&#xff0c;可能会遇到数据丢失的情况&#xff0c;如误删了重要信息或者更换手机后数据未能同步等问题。那么如何恢复脉脉中的数据呢&#xff1f;本文将为您提供详细的步骤指导。 注意&#xff1a;以下操作需要在脉脉账户登录状态下进行。 登录脉…

红米K60Pro/K50/K40系列澎湃OS解锁BL降级出厂MIUI14稳定版本方法

最新红米K60/60pro/K50/K50至尊/K40等多个系列手机都已经推送了澎湃OS系统&#xff0c;但新版的系统适配周期短或者等其他原因&#xff0c;导致很多小伙伴希望降级回到MIUI14系统&#xff0c;多个小米售后都拒绝降级服务&#xff0c;并且官方也没有开通1个自助降级的方法&#…

速戳!高考生做近视手术须知,避免错过心仪大学

距离高考还有不到一个月的时间&#xff0c;考生们在紧张复习的同时&#xff0c;不要忘了了解意向专业、院校的视力要求。一些专业和院校录取不仅靠实力,还需要“视力”,考了个好成绩却因视力不达标而被专业、院校退档,这样的结果是我们不想看到的。如果你想圆军旅梦、警校梦、航…

软考--信息系统项目管理师课程笔记

第一章 信息化发展 1.国家信息化&#xff1a;应用&#xff08;上&#xff09;&#xff0c;技术&#xff08;下&#xff09;&#xff0c;人才&#xff08;左&#xff09;&#xff0c;规范&#xff08;右&#xff09; 2.广域网协议包括&#xff1a;ISDN&#xff0c;ASDL&#xf…

Android的视图显示和管理机制:layout view window WindowManager Canvas Surface

在Android系统中&#xff0c;Layout view window WindowManager Canvas Surface SurfaceFlinger这些组件协同工作&#xff0c;以实现图形的绘制和显示。需要搞明白这些组件是什么时候创建的以及他们之间的结构关系。 从上到下的层级关系&#xff1a;用户在View上进行操作&…

SQLite .journal 文件

在之前插入大量数据测试的时候&#xff0c;发现在数据库文件同级目录下会产生一个同名.journal的文件&#xff0c;并且不是一直会存在&#xff0c;而是生成一会就会自动删除&#xff0c;然后继续生成继续删除&#xff0c;直到数据插入完成。 初步猜测&#xff0c;应该是类似 re…

代码-功能-Python-运用bs4技术爬取汽车之家新闻信息

第三方库安装指令&#xff1a; pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple pip install BeautifulSoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple 运行代码&#xff1a; #这个代码并不完整&#xff0c;有很大的问题&#xff0c;但目前不知道怎么…

05-Fortran基础--Fortran文件操作

05-Fortran基础--Fortran文件操作 0 引言1 文件操作有关的关键字介绍1.1 打开文件&#xff08;OPEN&#xff09;1.2 文件关闭&#xff08;CLOSE&#xff09;1.3 文件查询&#xff08;INQUIRE&#xff09;1.3 文件读写&#xff08;read/write&#xff09;1.4 文件操作符&#xf…

机器学习作业4——朴素贝叶斯分类器

目录 一、理论 一个例子&#xff1a; 二、代码 对于代码的解释&#xff1a; 1.fit函数&#xff1a; 2.predict函数: 三、实验结果 原因分析&#xff1a; 一、理论 朴素贝叶斯分类器基于贝叶斯定理进行分类&#xff0c;通过后验概率来判断将新数据归为哪一类。通过利用贝…