BGP边界网关协议基础知识点

2023-05-16

BGP:边界网关协议

AS—自治系统—由单一机构或组织管理的一系列IP网络机器设备的集合

  1. 网络范围太大,协议跑不过来,需要进行划分
  2. 自治管理

为了方便区分和标定不同AS,我们给每个自治系统设计了一个编号–AS号。16位二进制构成—0-65535,其中0和65535为保留值,所以SA真正的取值范围为1-65534,其中64512-65534为私有SA号。

因为传统的AS号不够用,所以目前存在拓展版AS号,32位二进制构成

EGP在之前还存在一款协议—EGP,但是由于功能有限,后来进行优化改进,生成了现在的BGP协议,目前应用最广泛的是BGP

在目前IP v4环境下,使用最广泛的BGP版本是BGPV4。目前市场已经存在BGP v4+又称MPBGp—可以支持多种地址簇应用。

在没有BGP协议的情况下,仅使用重发布技术,也可以实现AS之间的路由信息的共享。但是,之所以不采用这种方案,其原因如下:
1,重发布技术本省存在缺陷—在多点重发布中,因为种子 度量值问题,必然造成选路不佳
2,ASBR设备的归属问题

BGP之间传递路由信息的方式一定是和RIP类似,通过传递路由条目信息来实现。----之所以不使用拓扑信息,主要因为:1,拓扑信息资源占用量太大,而BGP需要传递的数量是巨大的。2,传递拓扑信息将暴露本AS内部的拓扑连接情况。

BGP—无类别的路径矢量型协议:

距离矢量—在距离矢量协议中,距离是开销的体现,将跳数作为开销的评判标准。将一个路由器看作一个单位计算距离。

距离矢量是算法的概念,因为IGP协议本身需要通过算法来计算未知网段信息。

路径矢量—是将一个AS看作一个整体

路径矢量不牵扯算法,因为BGP仅仅是将IGP计算出来的路由信息发送到其他AS之中,相当于仅将现成的路由进行传递而不需要计算。

IGP—选路佳,收敛快,占用资源少

BGP协议关注点:

  1. 可控性—AS间需要传递大量的路由信息,所谓可控,就是可以更方便的干涉选路,更容易做路由策略。

    为了保证可控性,BGP舍弃了开销值,取而代之的是BGP给每条路由信息加了很多路径属性,之后可以通过这些属性来进行选路,因为多种属性的存在,将导致我们的选路变得更加灵活和方便。使得BGP协议具有强大的可操控型。

    因为BGP协议需要传递大量的路由信息,所以,其本身不可能存在周期更新机制。BGP仅存在触发更新。

  2. 可靠性-–需要保证数据传输的可靠。BGP为了保证传输的可靠性,其传输层协议选用TCP,使用TCP的179号端口进行工作。

    IGP协议不选择使用TCP的原因:
    1,TCP传输效率较低

    2,TCP传输占用资源较大

    3,TCP协议只能实现单播,所以,无法通过组播或者广播的形式发送,则将导致lGP协议无法自动发现邻居关系,只能手工指定。

因为BGP选择使用的是TCP协议,所以,BGP需要手工建立邻居关系。

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

在BGP中,我们将邻居关系称为对等体关系。
EBGP对等体关系—如果建立对等体的两台路由器位于不同的AS中,则他们的关系被称为EBGP对等体关系。
IBGP对等体关系—如果建立对等体的两台路由器位于同一个的AS中,则他们的关系被称为IBGP对等体关系。

因为,EBGP对等体之间一般使用直连建邻,所以,EBGP对等体之间发送的数据包中的TTL值我们将其设置为1。如果遇到EBGP对等体之间需要进行非直连建邻,则需要手工修改TTL值。IBGP对等体关系在AS内部一般都是非直连建邻,所以,TTL值设置为255。

  1. AS-BY-AS—在BGP当中,我们将一个AS看作一个整体。

    BGP协议是不支持负载均衡的。----在BGP当中,如果到达同一个目标网段存在多条路径可以走时,BGP将会根据其中的路径属性来选择一条最优的加载到路由表中,而不会进行负载均衡。

    1. BGP数据包:

      BGP协议数据包的传输可靠性均有TCP协议来保证,所有BGP数据包均基于TCP建立的会话发送。

      OSPF-Hello包—可以周期性的发现,建立,保活邻居关系

      在BGP中,发现邻居关系的过程由人手工指定,主要因为TCP需要建立会话通道,之后才会基于通道发送数据包

      **open包:**建立BGP对等体关系—参数协商的过程,BGP建立邻居需要通过OPEN包携带参数,进行对比协商

      1. AS号-–在创建邻居关系时需要指定邻居所在的AS号,这个参数将被携带在OPEN报文中发送给对方,对方将比对这个AS号和本地所在的AS号是否一致,如果一致,则可以正常建立邻居关系。
        认证-–BGP建邻也可以做认证,做认证后将携带认证口令,认证口令双方需要比对,一致则可以正常建立邻居关系。

      2. ROUTE-ID -—区分和标定路由器的。也是由32位二进制构成,按照IP地址的格式来表示。----1,手工配置;2,自动获取(先看设备是否存在环回接口,如果存在则将选择环回接口中IP地址最大的地址作为RID,如果`有环回接口,则将在物理接口中选择IP地址最大的作为RID)

        这个RID将在OPEN包中携带,发送到对端之后,对端将检测这个RID,如果和本地的RID不同,则将可以正常的建立邻居关系。

        手工建立邻居关系时所指定的建邻的IP地址必须和收到的open包中的源IP地址相同才能正常建立邻居关系。否则,邻居关系将建立失败。

        Holdtime —保活时间—默认时间为180S,在保活时间内,如果没有收到对方发送的keeplive包或者update包,则将断开BGP邻居关系。

      **keeplive包:**周期保活,周期发送时间等于保活时间的1/3。默认保活时间180S,则默认的周期发送时间为60S。

      除了保活之外,keeplive包还将在open报文协商参数时临时充当确认包的作用。

      TCP协议进行确认的目的是为了保证数据传输的可靠性,而keeplive报文确认的目的是为了确认认可对方发送的open报文中的参数。

      update包:更新包—携带需要传递的路由信息的数据包。表示一条路由条目信息,需要携带的参数主要就是目标网络号和子网掩码信息,以及路径属性。
      在更新包中,存在一个
      撤销路由条目字段
      ,在这个字段下的路由条目将需要对端删除,而不再需要通过带毒传输的方式来表达。

      **notfication包:**BGP中的一个告警机制

      **Route-refresh包:**用于改变路由策略变更后请求对等体重新发送路由信息。(前提双方均支持刷新功能才行)

  2. BGP状态机:

    BGP的状态机描述的是BGP对等体建立过程中状态的变化。因为BGP这个协议可以将邻居建立过程和路由收发过程分开进行。

在这里插入图片描述

IDLE:空闲状态—路由器启动BGP进程之后,将先处于idle状态。当你手工指定邻居关系后,BGP将进入到一个检查环节,检查指定的IP在本地路由表中是否可达,若可达则进入下一状态。

Connect:连接状态–该状态完成TCP会话连接

若TCP建立会话成功则进入OpenSent状态,发送Open报文,否则进入Active状态,反复尝试TCP会话建立

在建立TcP会话过程中,因为双方都会主动发起建立会话的过程,而最终建立的都是一个双向的会话。所以,最终只需要保持一个会话通道即可。选择方式是通过后续open报文中的RID进行比较,选择保留RID大的设备发起的TCP会话。

Openconfirm — open报文确认状态—对端也收到本地发送的open报文,之后根据里面的参数进行确认。如果确认无误则将发送
keeplive报文。本段收到对方发送的keeplive报文之后将进入下一个状态。

Established —建立状态—标志着BGP对等体关系的建立。

在这里插入图片描述

  1. BGP工作过程:

    1,基于IGP协议实现IP可达
    2,指定邻居关系,通过三次握手,建立TCP的会话通道。之后所有BGP的数据报都将基于TCP会话通道来进行传递。
    3,使用open报文和keeolive报文进行邻居关系的建立。之后将邻居关系收集到一张表中—邻居表。
    4,通过update报文传递路由信息。传递的路由条目信息中主要包含目标网络号,掩码信息,以及各种路径属性。之后,设备会将所有自己发出的以及收到的路由信息记录在一张表中— BGP表。
    5,之后将BGP表中的最优路径加载到路由表中。
    6,收敛完成后,BGP将周期使用keeplive报文进行保活。保活时间默认为180s,周期发送时间默认为保活时间的1/3,即60S。
    7,若出现错误信息,将使用notification报文进行告警。

    8,若发生结构突变,则将使用update报文进行触发更行。

  2. BGP路由黑洞:

    在这里插入图片描述

    由于BGP协议支持非直连建邻,故可能出现BGP协议跨越未运行BGP协议的路由器。导致BGP路由传递后,控制层面可达,但是数据层面,在经过未运行BGP协议的路由器时无法通过。形成路由黑洞。

     1. 在R3上将BGP协议的路由信息重发布到GP当中。
     2. 直接在R4上运行BGP协议
     3. MPLS
    

    为了避免路由黑洞的情况产生,BGP提出了同步机制—即当一台路由器从自己的IBGP对等体学习到一条BGP路由时,他将不能把他通告给自己的EBGP对等体,除非他又从IGP协议当中学习到这条路由。

  3. BGP防环:

    **EBGP的水平分割—**一种专门应用在EBGP对等体之间,用来解决EBGP对等体之间可能出现的环路问题。
    BGP协议将在路由条目中记录所经过的As编号---- AS_PATH—记录As路径的一个属性。(这个属性除了可以完成EBGP的水平分割外,还可以作为选路的依据。)—接收到的BGP路由条目中,其中的AS_PATH属性中,若存在本地的AS号,则将拒绝接受。

    **IBGP的水平分割—**一种专门应用在IBGP对等体之间,用来解决IBGP对等体之间可能出现的环路问题。

在这里插入图片描述

IBGP水平分割—当一个路由器从一个IBGP对等体处学习到某条BGP路由时,他将不能在将这条路由信息通告给其他的IBGP对等体关系。

在这里插入图片描述

因为IBGP水平分割的限制,导致IBGP对等体之间的路由信息只能传递一跳,在这情况下,可能会造成通信障碍。
解决方案:
1,构建全连的IBGP对等体关系—这样的方法弊端在于1,全连建邻会导致资源消耗增加;2,可能会导致网络的可拓展性降低。

2,路由反射器

3,联邦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BGP边界网关协议基础知识点 的相关文章

  • NIST BGP SRx的使用

    NIST BGPsec的使用 地址 xff1a https github com usnistgov NIST BGP SRx 推荐使用centos 7 安装依赖包 xff0c 就是CAT CONTENT grep requires下面那个
  • 信而泰BGP Flow Spec防攻击测试解决方案

    随着互联网行业的迅猛发展 xff0c 越来越多的业务都从线下走到了线上 互联网在给大家生活带来便利的同时也面临着防护自身安全的各种挑战 DoS DDoS攻击是对网络安全的重大威胁 xff0c 攻击者通过多个控制端控制成千上万的攻击设备对同一
  • BGP路由技术详解(一)

    BGP路由技术详解 xff08 一 xff09 前言一 BGP路由协议概述1 BGP定义2 BGP的特点3 BGP分类4 BGP的路径矢量特征5 BGP的路由器6 BGP Peer 二 自治系统AS的概念1 定义2 AS号3 传输AS中的路
  • BGP Extended Communities for OSPF PE-CE Routing-域ID

    要让OSPF路由的特性能够穿过MPLS 骨干网络 xff0c 就需要额外定义一些BGP扩展团体属性 可以通过MP BGP 传递的OSPF属性包括 xff1a MP BGP 扩展属性可是使得OSPF的路由可以完全的在远端PE路由器上重建 LS
  • dis bgp peer 查看状态的 connect_BGP介绍(一)

    BGP简介 介绍BGP的定义 目的和受益 定义 边界网关协议BGP xff08 Border Gateway Protocol xff09 是一种实现自治系统AS xff08 Autonomous System xff09 之间的路由可达
  • bgp状态idle什么原因_BGP报文和BGP邻居状态

    BGP 有 5 种 message 1 Open code 1 xff1a 用于建立连接 xff0c 包含版本号 如 BGP3 BGP4 Hold Time xff1d 90s RFC1771 规定的 是一个协商的过程 xff0c 以较小的
  • BGP协议

    BGP协议 工作层工作原理BGP简单配置 含密码认证配置个人图解BGP 工作层 BGP是工作在应用层的协议 xff0c 但基于传输层的TCP协议 工作原理 路由协议通常分为内部网关协议 xff08 IGP Interior Gateway
  • 边界网关协议BGP——距离矢量路由协议

    目录 动态路由的分类 1 按自治系统分为 2 按协议类型分类 BGP概念自治系统AS xff1a BGP路由协议的特点 xff1a BGP分类 xff1a BGP的路由器号 xff08 Router ID xff09 xff1a BGP工作
  • 什么是BGP

    文章目录 1 基本概念什么是BGPBGP路由协议的特点IBGP水平分割规则BGP的路由器号 Router ID BGP工作原理BGP分类 1 基本概念 自治系统 xff0c 指的是在同一个组织管理下 使用相同策略的设备的集合 xff1b 不
  • BGP路由协议

    特点 BGP是一种外部网关协议 xff08 EGP xff09 xff0c 不擅长路由计算 xff0c 擅长路由控制 OSPF ISIS等内部网关协议 xff08 IGP xff09 xff0c 擅长路由计算 xff0c 不擅长路由控制 B
  • BGP LinkState

    BGP LinkState xff1a 描述链路状态的路由协议 xff0c 一共由3部分组成 xff0c Node 43 Link 43 Prefix 通过查看prefic的detail信息查看sid xff0c 每个prefix都有一个s
  • BGP路由

    内容概要 1 BGP的基本概念2 BGP的特点3 BGP的分类4 BGP的路由器5 BGP的工作原理6 BGP的状态机7 BGP对等体之间的交互原则8 建立对等体注意点9 命令 实验 1 BGP的基本概念 自治系统AS xff1a As是指
  • BGP→→

    BGP 4 提供了一套新的机制以支持无类域间路由 这些机制包括支持网络前缀的通告 取消 BGP 网络中 类 的概念 BGP 4 也引入机制支持路由聚合 xff0c 包括 AS 路径的集合 特点 BGP属于外部或域间路由协议 BGP的主要目标
  • BGP、OSPF、MPLS路由协议RFC分享

    文章目录 1 概述1 1 BGP1 2 OSPF1 3 MPLS 2 分享2 1 rfc 42712 2 rfc 31072 3 rfc 43642 4 rfc 44562 5 rfc 45772 6 rfc 47242 7 rfc 476
  • BGP详解

    BGP协议详解 BGP是一种边界网关协议 但是也属于动态路由协议 一 BGP的特征 xff08 一种外部路由协议 xff0c 用来在AS之间传递路由信息 xff0c 是一种增强版的距离矢量协议 xff09 1 可靠的路由更新机制 传输协议
  • 深入浅出BGP

    文章目录 深入浅出BGP说明一 BGP的产生1 1 动态路由的分类1 2 BGP概述 二 与IGP的区别三 BGP核心3 1 属性3 1 1 属性特点 3 2 选路规则3 3 对等体 深入浅出BGP 说明 此篇主要对BGP的产生 与IGP的
  • 路由器学习总结

    路由器在网络中的作用至关重要 就好像我们坐公交车到某个地方 公交车肯定不是一站直达的 中间要经过许多个公交站点 网络中数据的传输也是一样 源地址与目标地址之间并不是直接到达的 中间也要经过一系列的路由器转发 所以路由器的作用 就是用来转发数
  • BGP距离协议①

    边界网关协议 边界网关协议分为内部网关协议和外部网关协议 IGP 内部网关协议 RIP OSPF EGP 外部网关协议 BGP AS自治系统 由单一的机构 组织所管理的一系列IP网络及设备所构成的集合 使用AS自治系统来划分内部和外部网关协
  • BGP协议关键知识点

    转载以便复习查看 侵联删 原文链接 https www jannet hk zh Hant post border gateway protocol bgp conf
  • BGP实验(路由反射器,联邦,路由优化)

    目录 1 IP地址的规划 2 拓扑结构的搭建 3 IP地址的配置 4 静态路由的配置 5 动态路由的配置 6 EBGP的配置 7 IBGP的配置 8 路由反射器的配置 宣告 9 重发布和路由优化 10 测试 实验要求 实验步骤 1 IP地址

随机推荐

  • 传统交换机或路由器与OpenFlow交换机区别

    OpenFlow交换机分为 xff1a 纯of交换机 xff08 of only xff09 和支持of交换机 xff08 of enable xff09 前者仅需要支持必备行动 xff0c 后者还可以支持NORMAL xff08 NORM
  • Windbg及Dump文件分析方法

    1 WinDbg 1 1WinDbg介绍 WinDbg全称Debugging Tools for Windows xff0c 是windows平台下的调试工具 获取Windbg的三种途径 xff1a xff08 1 xff09 在Visua
  • hadoop实现单表和多表关联

    转载请注明 xff1a http hanlaiming freetzi com p 61 123 在mapreduce上编写简单应用后 xff0c 开始学习稍微高级一点的单表关联和多表关联 在学习过程中我参考了这篇文章 xff0c 谢谢ht
  • 第一个C++程序

    第一个C 43 43 程序 一般每个程序员的第一个C 43 43 程序都从 Hello world 开始 xff0c 不多说 xff0c 直接上代码 include lt iostream gt using namespace std in
  • 《自己动手写操作系统》初学笔记------软盘第一扇区写入问题解决方案

    这个学期刚刚学习了操作系统这门课 xff0c 我始终相信计算机学科是一门注重实践的学科 xff0c 从实践中感受学习计算机知识的快乐才是真谛 xff0c 恰巧让我碰到了 自己动手写操作系统 这本书 xff0c 刚一遇见很是兴奋 xff0c
  • CAS单点登录学习笔记二之部署CAS Server

    CAS Server 服务器部署 b 简介 b CAS Server 是一套基于 Java 实现的服务 xff0c 该服务以一个 Java Web Application 单独部署在与 servlet2 3 兼容的 Web 服务器上 xff
  • STM32标准库的引入视频课程-第3季第6部分-朱有鹏-专题视频课程

    STM32标准库的引入视频课程 第3季第6部分 1017人已学习 课程介绍 本课程是 朱有鹏老师单片机完全学习系列课程 第3季第6个课程 xff0c 本课程详细讲解了STM32官方新标准库3 5版本 xff0c 从理论到实践 xff0c 从
  • VMware虚拟机开机黑屏一系列问题解决方法

    VMware虚拟机开机黑屏一系列问题解决方法 虚拟机一开机就是黑屏 xff0c 网上看了很多方法 xff0c 都是以管理员身份运行VMware 或者是以管理员身份打开cmd 输入netsh winsock reset xff0c 再重启计算
  • vmware workstation vmx进程结束不了!!!

    打开任务管理器会看到有一个这个进程 xff0c 使用vmware的时候出现死机情况 xff0c 然后使用任务管理器结束vmware进程 xff0c 之后却发现资源监视器中有一个vmware vmx exe进程始终关不掉 xff0c 获得管理
  • 形式化方法课程学习笔记(一)|Cop的安装以及简单使用

    一 Cop的介绍以及安装 1 Cop介绍 Coq是一个著名的 xff0c 也被广泛使用的正式证明管理系统 它提供了一种正式的语言来编写数学定义 可执行的算法和定理 xff0c 以及用于机器检查证明的半交互式开发的环境 有关Coq的更多信息
  • 虚拟机共享文件夹制作|Ubuntu与本机文件共享

    一 引言 使用虚拟机 xff0c 经常出现想要把主机文件复制到虚拟机中 xff0c 或者是相反的情况 xff0c 一般来说是不能直接复制的 xff0c 另外个人感觉安装VMware tool的方式并不是很好 xff0c 似乎也容易出问题 x
  • VScode使用Remote - SSH插件实现远程服务器开发

    一 引言 最近做实验需要用到远程服务器开发 xff0c 在windows系统上可以下载Xshell PuTTY 来进行实验 xff0c 因为助教推荐使用VScode 43 Remote ssh来进行实验 xff0c 所以百度了怎么样来操作
  • YUV/RGB颜色空间转换公式

    经过调研 xff0c 最终选择以下转换公式 xff1a Jack Keith Video Demystified a Handbook for the Digital Engineer LLH Technology Publishing 3
  • c语言编程软件有哪些 Win7下用哪种C语言编译器

    C语言是一门历史很长的编程语言 xff0c 其编译器和开发工具也多种多样 xff0c 其开发工具包括编译器 xff0c 现举几个开发工具供大家选择 xff0c 当然也要根据自己的操作系统来选择适合自己的开发工具 好多刚开始接触c语言的朋友都
  • 大数据时代的图表可视化利器——highcharts,D3和百度的echarts

    还记得阿里巴巴那个令人澎湃激情的双十一吗 xff1f 还记得淘宝生动形象地把你的的消费历程一一地展示给你看吗 xff1f 还记得那些酷炫拽的it报告图表吗 xff1f 在这个大数据越来越盛行的年代 xff0c 怎样去表达一些用户的关系 xf
  • 在tinycorelinux上安装lxc,lxd (1)

    本文关键字 xff0c 在tinycorelinux上安装lxc xff0c lxd gcc4 4 self reference struct typedef 在前面的文章中我们讲到过内置虚拟化的os设计 xff0c 它可以使包括裸金属 x
  • STM32上第一个程序-GPIO控制LED-第3季第5部分-朱有鹏-专题视频课程

    STM32上第一个程序 GPIO控制LED 第3季第5部分 759人已学习 课程介绍 本课程是 朱有鹏老师单片机完全学习系列课程 第3季第5个课程 xff0c 从零开始带大家写代码控制板载LED xff0c 并且用三个版本的开发板都实现了功
  • Cas 5.3x cas-overlay-template用iframe实现登录跳转

    Cas 5 3x cas overlay template用iframe实现登录跳转 在上一篇Cas 5 3x 简单配置 xff0c 解决https访问的问题的基础上 xff0c 我尝试了一下如何用iframe实现登录和跳转 xff0c 因
  • Linux自带防火墙基本使用

    文章目录 四 Linux自带防火墙1 查看linux的防火墙状态2 查看已经对外开放的端口3 开放端口 重载防火墙配置4 filewalld常用命令 四 Linux自带防火墙 前言 xff1a CentOS7 端口的开放关闭查看都是用防火墙
  • BGP边界网关协议基础知识点

    BGP xff1a 边界网关协议 AS 自治系统 由单一机构或组织管理的一系列IP网络机器设备的集合 网络范围太大 xff0c 协议跑不过来 xff0c 需要进行划分自治管理 为了方便区分和标定不同AS xff0c 我们给每个自治系统设计了