首页 > 其他分享 >BGP基础

BGP基础

时间:2023-12-22 19:32:18浏览次数:33  
标签:IBGP 建立 报文 基础 BGP 对等体 路由

BGP基础概念

    特点:1. 基于TCP179端口封装报文

              2.支持跨跳建立邻居

              3.属于路径矢量路由协议,在通过BGP路由时,携带大量路由属性

                    1.控制路由传递     2.路由优选

              4.支持承载大量的路由

    一、BGP对等体

           IBGP对等体:同一个AS内部建立BGP对等体

           EBGP对等体:AS之间建立BGP对等体

    二、BGP报文

          Open报文:携带本端参数,用于协商建立对等体  

                       参数:版本、Router-ID、AS号、Hold-Time(180s)、扩展能力  

          Keepalive报文:首次发送用于表示协商成功,对等体建立成功

                                   后续周期性发送用于维护TCP连接、维护对等体关系

          Update报文:通告路由信息,携带路由属性信息

                               撤销路由信息,撤销路由时不需要携带路径属性信息

                        通告路由:NLRI(可达前缀/前缀长度)、Path attributes(属性列表)

                        撤销路由:Withdrawn routes(不可达前缀/前缀长度)

          Route-refresh报文:刷新路由,策略改变后发送该报文进行路由刷新

          Notification报文:用于通知对等体之间错误信息

           

   三、状态机

           Idle状态:BGP初始状态,BGP对等体建立失败

           Connect状态:BGP建立TCP连接

                                 1.建立超时,停留在Connect状态,一直尝试建立TCP连接

                                                    最终仍然建立失败,退回到Idle状态

                                 2.建立失败,进入Active状态

           Active状态:BGP尝试建立TCP连接

                                最大时间:180s,如果仍然未建立成功,则回退Connect,最后

                                回退到Idle状态

                *在Connect状态、Active状态如果TCP连接建立成功,进入OpenSent

           OpenSent状态:BGP发送Open报文,携带本端的参数进行协商

                                    参数:版本、Router-ID、AS号、Hold-Time(180s)、扩展能力

              接收对等体Open报文,检查报文携带的参数,参数合法则进入OpenConfirm状态

           OpenComfirm状态:BGP发送Keepalive报文,表示协商完成对等体建立成功

               接收对等体Keepalive报文,收到报文立马进入Established状态

           Established状态:表示对等体建立完成


       *BGP对等体建立过程

-------------------------------------------------------------------------------------------    

   


建立对等体时,更新源的区别

  1.使用物理接口建立对等体

        默认使用去往对等体最优路由的出接口IP地址作为更新源地址

        peer 10.1.13.3 as-number 300

  2.使用Loopback接口建立对等体

       必须手工指定更新源地址为本地的Loopback接口地址

       peer 172.16.1.4 as-number 300  

       peer 172.16.1.4 connect-interface LoopBack0  /*指定更新源地址*/

    *Loopback接口一旦创建,除非手工删除,否则接口状态一直为Up,可靠性更高  


  *建立BGP对等体时发送报文跳数

            默认建立EBGP对等体,建立对等体发送的报文的TTL:1

            默认建立IBGP对等体,建立对等体发送的报文的TTL:  255

    如果使用非直连接口建立EBGP对等体,必须配置EBGP多跳

            peer 172.16.1.2 ebgp-max-hop 2(跳数/TTL值)


*在建立EBGP对等体时,建立使用直连的物理接口地址建立对等体

  在建立IBGP对等体时,AS内部存在冗余链路使用Loopback建立对等体可靠性更高

BGP路由生成方式:

   默认BGP对等体建立后,不会产生任何路由

   1.network宣告:逐条路由宣告,宣告的路由必须在本地IP路由表中存在

         *建立对等体使用的Loopback0接口路由宣告后,对等体收到后视为无效路由

   2.import引入:将某个协议的所有路由引入到BGP,通常会对引入的路由进行过滤

   3.summary聚合

   注入本地BGP的路由会立马通告自身给所有的BGP对等体

   

BGP路由通告原则:

    1.仅发布有效且最优的路由

        *路由的下一跳可达则为有效路由

         peer 172.16.1.4 next-hop-local  /*强制修改路由的下一跳为本地更新源地址*/

    2.从EBGP对等体收到的路由可以通告给自身所有的BGP对等体(EBGP、IBGP对等体)

    3.从IBGP对等体收到的路由只能通告给自身的EBGP对等体,不能通告给自身IBGP

          对等体(IBGP水平分割:防止AS内部路由环路)

    4.IBGP和IGP协议同步

         从IBGP对等体收到的路由,必须在IGP协议路由表中存在,才能通告给自身的

         EBGP对等体,否则不通告(防止AS内部路由黑洞)(华为默认不遵循该原则)

      解决路由黑洞:IBGP全互联,在AS内部所有设备之间都需要建立IBGP对等体

       

标签:IBGP,建立,报文,基础,BGP,对等体,路由
From: https://blog.51cto.com/u_15735404/8937831

相关文章

  • Java基础
    importcom.XXX.XXX.*注意这个.*,会导入这个包下所有的类JavaDocJava帮助文档https://docs.oracle.com/javase/8/docs/api/`packagebase;publicclassD1类型转换{publicstaticvoidmain(String[]args){inti=128;doubleb=i;System.out.println(b);//输出-......
  • 7.内存管理基础+连续分配
    程序执行基本原理程序是一条一条被读入寄存器内执行的内存卡是一个临时保存中介,磁盘是永久保存介质地址总线的选中原理(译码器原理)四大存储器的速度和所处位置寄存器>Cache>内存卡>磁盘概念辨析CPU位数、OS位数、内存地址总线数、内存数据总线数、逻辑地址位数、......
  • 20211327 嵌入式基础
    嵌入式基础信息安全系统有时间戳的需求,因此密码系统有实时钟芯片。假设实时钟芯片的IO映像基址是全局变量unsigntedintTIME的指针地址,时间存放在(基址+2)的寄存器中(默认值为当前时间),寄存器是16位,结构如附件中图所示按照下图给出TIME的注释(6‘)定义基于16位寄存器的宏(4‘)使......
  • 嵌入式基础问题1,2,3
    图片中的寄存器结构表示了一个16位的时间格式,其中包含了小时、分钟和秒。这个16位的寄存器被分为三个部分:位15到位11表示小时(Hours),总共5位。位10到位5表示分钟(Minutes),也是6位。位4到位0表示秒(Seconds),这里注意到是“Seconds+2”,意味着这5位的值需要加上2才是实际的秒数。这......
  • 嵌入式基础
    time1317.h文件位运算使用位域实现main1317函数1317%24为21,结果输出。......
  • day 03-3 Python基础-运算符
    3.运算符3.1常见的运算符算数运算符运算符描述示例+加-减*乘/除%取模-返回除法的余数10%3结果输出1**指数-幂,x的y次幂2**3结果输出位8//整除-返回商的整数部分9//2结果输出为49.0//2.0结果输出位4.0比较运算符运算符......
  • 计算机 JAVA 语言的基础小总结
    计算机JAVA语言的基础小总结一维数组和二维数组的定义及初始化在Java中,数组是一种数据结构,用于存储多个数据。数组中的元素是相同类型的数据。数组是一个引用数据类型,数组的变量只是一个引用,数组元素和数组变量在内存里是分开存放的。一维数组的定义和初始化一维数组在Jav......
  • Python DRF基础使用01
    目录1,web应用模式(了解)2,restful风格介绍(了解)3,restful设计风格(了解)4,restful案例(了解)5,数据准备6,查询所有数据(理解)7,创建对象(理解)8,获取单个对象(理解)9,修改单个对象(理解)10,删除单个对象(理解)11,DRF魅力展示(了解)12,序列化器概述(了解)13,序列化器定义(掌握)1......
  • Python DRF基础使用02
    目录1,ModelSerializer2,fields3,read_only_fields4,extra_kwargs5,APIView之request6,APIView之Response7,APIView实现列表视图8,APIView实现详情视图(带着id请求,所以叫做详情)9,二级视图,实现列表视图10,二级视图,实现详情视图11,get_object方法(三属性三方法其中一个)12,MiXin(提......
  • 01--python基础回顾
    一关于爬虫的特殊性1.网站的多变性:这个是爬虫的魅力.要全方位的去思考.就像找漏洞一样.思维逻辑不可能是固定的达到目的即可,不要死磕牛角尖2.访问频率调低爬虫程序如果编写的不够完善.访问频率过高.很有可能会对服务器造成毁灭性打击所以不要死盯着一个网站干.请......