HCIP的学习(15)

第六章,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.mzph.cn/bicheng/10981.shtml

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

相关文章

全国院校及梯度排序深度解析课(免费下载-帮助更多高考生做出人生重要的选择。)

"全国院校及梯度排序深度解析课"旨在深入探讨全国院校的排名及梯度排序原理。通过系统解析各院校的学术声誉、师资力量、科研水平等因素,帮助学员全面了解院校排名的背后逻辑,为选择合适院校提供理论支持。 课程大小:7G 课程下载…

Java面试之分布式篇

分布式锁的实现方案 (1)用数据库实现分布式锁比较简单,就是创建一张锁表,数据库对字段作唯一性约束。加锁的时候,在锁表中增加一条记录即可;释放锁的时候删除锁记录就行。如果有并发请求同时提交到数据库&…

css-页面布局-定位大解析-每文一言(世界上,没有人可以支持你一辈子)

🎐每文一言 世界上,没有人可以支持你一辈子 目录 🎐每文一言 🎁css定位 🧧静态定位 position: static 🎄相对定位 position:relative 🎀绝对定位 position:absolute 🎃固定定位 position…

Yoast SEO Premium插件下载,提升您的网站SEO排名

在当今数字化时代,网站的搜索引擎优化(SEO)至关重要。它不仅影响着网站的可见度,更直接关系到您的在线业务成功与否。如果您正在寻找一个能够显著提升网站SEO表现的工具,Yoast SEO Premium插件将是您的理想选择。 为什…

(docker)进入容器后如何使用本机gpu

首次创建容器,不能直接使用本机gpu 在系统终端进行如下配置: 1.安装NVIDIA Container Toolkit 进入Nvidia官网Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.15.0 documentation,安装NVIDIA Container Toolkit …

AI预测福彩3D采取887定位策略+杀断组+杀和尾+杀和值012缩水测试5月12日预测第1弹

前段时间工作太忙,手头上各种事情较多,没有静下心来对我的AI模型预测结果进行进一步分析筛选,导致最近连续几期与实际开奖结果相差较大。当然,客观来说,搞6码定位的确难度比较大,昨天跟几个常年研究3D的彩友…

【RAG 论文】FiD:一种将 retrieved docs 合并输入给 LM 的方法

论文: Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering ⭐⭐⭐⭐ EACL 2021, Facebook AI Research 论文速读 在 RAG 中,如何将检索出的 passages 做聚合并输入到生成模型是一个问题,本文提出了一…

java基础知识点总结2024版(8万字超详细整理)

java基础知识点总结2024版(超详细整理) 这里写目录标题 java基础知识点总结2024版(超详细整理)java语言的特点1.简单性2.面向对象3.分布式4.健壮性5.安全性6.体系结构中立7.可移植性8.解释性9.多线程10.动态性 初识java中的main方…

Java类与对象(一)

类的定义与使用 在Java中使用关键字class定义一个类,格式如下: class 类名{// 成员变量/字段/属性//成员方法/行为 }Java中类和c语言中的结构体有点类似, 在Java中类名一般采用大驼峰(每个首字母大写)的形式&#xf…

类和对象一(从封装开始讲述)

目录: 一.封装 二.封装扩展之包,自定义包 三.访问限定符 四.static成员 一.封装:封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行 交互。面向对象…

Reactor Netty TCP 服务器端-响应式编程-011

🤗 ApiHug {Postman|Swagger|Api...} = 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace The Next Generation API Development Platform…

一款简约大气的个人单页介绍主页(附加源码)

一款简约大气的个人单页介绍主页(附加源码) 效果图部分源码领取源码下期更新预报 效果图 部分源码 .box_bg{width: 100%;height: 100%; }.wenzi{text-align: center;float: left;display: inline;width: 112px;line-height: 48px; } .wenzi2{text-align…

Hikyuu高性能量化研究框架助力探索

Hikyuu Quant Framework 是一款基于C/Python的开源量化交易分析与研究工具,主要用于A股市场的交易策略分析与回测,目前不支持期货等,需要自行改造。 Hikyuu的目标 Hikyuu的最初目的是为了快速对A股全市场股票进行策略回测和验证&#xff0c…

【C++11】列表初始化、右值引用的详细讲解(上)

前言 在一开始学C之前我们就简单的了解了一下C的发展历史。 相比较而言,C11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率加了许多特性,约140个新特性。使得C…

《A data independent approach to generate adversarial patches》论文分享(侵删)

原文链接:A data independent approach to generate adversarial patches | Machine Vision and Applications author{Xingyu Zhou and Zhisong Pan and Yexin Duan and Jin Zhang and Shuaihui Wang}, 一、介绍 在图像识别领域,与数字域中的攻击相比…

【C++杂货铺铺】AVL树

目录 🌈前言🌈 📁 概念 📁 节点的定义 📁 插入 📁 旋转 1 . 新节点插入较高左子树的左侧---左左:右单旋 2. 新节点插入较高右子树的右侧---右右:左单旋 3. 新节点插入较高左…

工业级路由器的穿透力是不是更强(原创科普)

今天我想和大家聊聊工业级路由器的一个重要特性——穿透力。作为一名从事工业网络通信的工程师,我发现很多用户在选择工业级路由器时,都会问到一个问题:"工业级路由器的穿透力是不是更强?"下面就让我来为大家解答这个疑问。当然如果有通信产品需要也可以关注星创易联…

Kafka效率篇-提升效率三板斧

kafka在效率上做了很多的努力。最初的一个使用场景是处理网页上活跃的数据,它往往有非常大的体量,每个页面都能产生数十条写入。而且我们假设每条消息都会被至少一个消费者消费(通常是多个),因此,我们努力让…

二维费用背包分组背包

二维费用背包&分组背包 一定要做的

真要这么卷?某国产大模型定价下调90%,百万 tokens 只需 1 元!

就在刚刚,国内明星AI公司——智谱AI官宣重磅炸弹: 将能力对标GPT3.5-Turbo的GLM-3的大模型API调用价格最高下调90%,价格仅为原来的十分之一! 废话不多说,直接上图: 官网地址:https://open.big…