华为数通HCIP-BGP基础

AS(自治系统/路由域)

定义:运行相同路由协议,具有相同管理规则的区域(一般为一个企业网);

指具有相同路由管理策略的区域合集,一般为一个园区网;
    标识:通过AS号进行标识;
       范围:0~65535
          其中 0~64511为公网AS,运营商网络使用,固定;
                  64512~65535为私网AS,企业网络使用,一般向运营商租用;
       **一台路由器只能加入一个AS;

按照传递路由时是否携带掩码分类:

1、有类路由协议

路由传递时,无需携带掩码,对端收到后,根据网段的类别,自动生成掩码;

2、无类路由协议(ospf、isis、BGP)

传递路由时,会携带掩码

使用IGP传递路由

使用BGP传递路由

AS之间专门使用BGPBorder Gateway Protocol,边界网关协议)协议进行路由传递,相较于传统的IGP协议:

BGP基于TCP,只要能够建立TCP连接即可建立BGP

只传递路由信息,不会暴露AS内的拓扑信息。

触发式更新,而不是进行周期性更新。

AS 之间需要直连链路,或通过 VPN 协议构造逻辑直连(例如 GRE Tunnel )进行邻居建立。
AS 之间可能是不同的机构、公司,相互之间无法完全信任,使用 IGP 可能存在暴露 AS 内部的网络信息的风险。
整个网络规模扩大,路由数量进一步增加,路由表规模变大,路由收敛变慢,设备性能消耗加大。

BGP在企业中的应用

BGP(边界网关协议)

作用:实现AS之间的互通,传递AS间的路由;

  特点:
   1、具有十三条选路原则,确保无次优;
   2、具有丰富的防环规则,确保网络无环;
   3、工作在TCP之上,每一份BGP报文被接收后,都需要进行TCP ACK确认;
   4、BGP报文均为单播发送,因此可以跨跳建立BGP邻居
        sip默认为物理接口ip;
        dip为peer的地址;
 

BGP使用TCP作为其传输层协议(端口号为179),使用触发式路由更新,而不是周期性路由更新。
BGP能够承载大批量的路由信息,能够支撑大规模网络。
BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。
BGP能够支撑MPLS/VPN的应用,传递客户VPN路由BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。


BGP特征

BGP使用TCP为传输层协议,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立。
运行BGP的路由器被称为BGP发言者(BGP Speaker),或BGP路由器。
两个建立BGP会话的路由器互为对等体(Peer),BGP对等体之间交换BGP路由表。
BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)。
BGP能够承载大批量的路由前缀,可在大规模网络中应用。
 

BGP通常被称为路径矢量路由协议(Path-Vector Routing Protocol)。
每条BGP路由都携带多种路径属性(Path attribute),BGP可以通过这些路径属性控制路径选择,而不像IS-IS、OSPF只能通过Cost控制路径选择,因此在路径选择上,BGP具有丰富的可操作性,可以在不同场景下选择最合适的路径控制方式。

BGP工作过程


   1、建立TCP连接(三次握手)


          主动端:发送TCP SYN(seq=a),用于请求主动端到被动端的连接
          被动端:发送TCP SYN+ACK(ack=a+1,seq=b),用于确认建立主动端到被动端的连接,以及请求被动端到主动端的连接建立;
          主动端:发送TCP ACK(Seq=a+1,ack=b+1),用于确认被动端到主动端的连接建立;

          主动端如何确定:
      (1)如果使用loopback接口建立BGP邻居,则指定了更新源地址的一端为主动端;
      (2)先启动BGP的一端为主动端;
      (3)router id大的一端为主动端;

    TCP连接建立完成后,BGP报文可以开始交互;

 

   2、建立BGP邻居;

建立方式:通过物理接口建立; 
                   通过loopback接口建立;

默认为物理接口ip;

在进行TCP连接时,会进行更新源检查:会检查收到的TCP报文的sip跟自身PEER的地址是否一致,一致则通过,不一致则不通过,无法建立TCP连接;

如果在通过loopback接口建立BGP邻居时,只有一边修改了更新源,则需要修改了更新源的一端作为主动端,可以建立BGP邻居;

BGP邻居分类:
   1、IBGP邻居
        定义:邻居双方处于同一AS;
        一般使用loopback接口建立(一个AS内一般存在多条冗余路径,通过loopback接口建立,可以提高邻居的可靠性);

(1)通过物理接口建立
               bgp 100                                           //进入自身的BGP AS进程;
                peer 10.1.23.3 as-number 100        //peer对端的物理接口,指定对方的AS号;

      (2)通过loopback接口建立
              bgp 100
               peer 2.2.2.2 as-number 100                             //peer对端的loopback接口

                peer 2.2.2.2 connect-interface LoopBack 0      //将自身跟2.2.2.2建立BGP邻居时的更新源修改为自身的loopback 0接口;

              注意事项:1、需要确保peer的地址可达;
                               2、需要修改更新源;
                               3、无需修改多跳(默认建立ibgp邻居时,报文发送的TTL值默认为255)

2、EBGP邻居
        定义:邻居双方处于不同AS;
        一般使用物理接口建立;(一般AS之间的距离较远,处于成本考虑,一般只部署单一链路,使用物理接口配置更方便)

(1)通过物理接口建立
              bgp 100
                peer 10.1.34.4 as-number 65535 

(2)通过loopback接口建立
             bgp 100
                peer 4.4.4.4 as-number 65535 
                peer 4.4.4.4 connect-interface LoopBack 0      //将自身跟4.4.4.4建立BGP邻居时的更新源修改为自身的loopback 0接口;

               peer 4.4.4.4 ebgp-max-hop 2                          //指定跟4.4.4.4建立邻居时,最大跳数为2,发送的报文TTL值修改为2;

 注意事项:1、需要确保peer的地址可达;
                              2、修改更新源;
                              3、修改最大跳数;(默认建立ebgp邻居时,报文发送的TTL值默认为1)

   display bgp peer        //查看BGP邻居


   3、产生、传递BGP路由;

BGP路由的产生方式

1、宣告-network
       前提:需要路由表中存在一摸一样的路由,才能宣告成功;
       注意:宣告可以调用路由策略去修改属性;
       特点:起源属性为i

配置
         BGP   65535
           network 40.1.1.1 32

   2、引入-import
        将其他协议的路由引入到BGP,传递给BGP邻居;
        特点:起源属性为?
       配置
         BGP   65535
           import-route direct


BGP对等体关系

 BGP报文

    结构:BGP——TCP——ip——以太网2;
    发送方式:单播发送;
    分类:
     1、open报文
          作用:用于建立BGP邻居;
          协商内容:
           (1)版本:默认为v4,向下兼容;
           (2)my as:携带发送者的AS号,对方收到后,会对比该字段与自身peer该邻居指定的AS号是否一致,一致则协商通过;
           (3)hold time:指keepalive报文的超时时间,如果两端不一致,则以小的为准;
           (4)router id不能冲突;
           (5)可选字段
                a、多协议扩展能力
                     代表该open报文请求建立的邻居关系;
                     AFI代表建立哪种协议的邻居:IPV4  \  IPV6  \  VPNV4  \  VPNV6.....
                     SAFI代表建立方式:单播/组播

                b、路由刷新能力
                     默认支持

                c、四字节AS号支持能力
                     如果一边是2字节,一边为4字节,则2字节会填充23456与4字节那一端建立BGP邻居

     2、keepalive报文
             作用:用于对open报文进行确认;
                       周期发送维护BGP邻居(默认60s/次,超时为180s)
           bgp 100
             peer 4.4.4.4 timer keepalive 30 hold 90  //修改keepalive周期为30s,超时时间为90s,其中超时时间修改为0,代表邻居永不老化;

    
     3、notification报文
             当双方参数协商不通过时,会发送notification报文,并且进行四次挥手,拆除TCP连接;


  BGP状态机


   1、idle(初始状态)
          设备刚运行BGP,没有收到start事件(没有peer地址/peer的地址不可达);
   2、connect(等待连接状态)
          当设备收到start事件后,会发送TCP连接请求,并且进入该状态;
          如果发送的TCP连接请求,32s内没有收到回应(链路问题、认证不通过),则进入active(重连接)状态,再次发送TCP连接请求,再回到connect状态,如果32s内仍然无法收到回应,则停留在connect状态,直至配置发生改变;

   3、active状态(重连接状态)
          如果发送的TCP连接请求,收到TCP RST回应(拒绝连接)(更新源检测不通过),则进入active状态,并且重新发送TCP连接请求,如果还是收到TCP RST回应则停留在active状态,并且每32s发送一次TCP连接请求;

  4、opensent
          如果TCP连接没有问题,则会在TCP连接建立完成后,由主动端发送open报文,请求BGP邻居的建立,并且进入该状态;

  5、openconfirm
          收到open报文后,协商参数没有问题,则回应keepalive报文进行确认,并且进入该状态;

  6、established
          收到对方的keepalive报文后,进入该状态;
          双方均进入该状态时,代表邻居建立完成;

  注意:bgp路由传递过程中,状态不会改变;
 

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

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

相关文章

制作一个简易的计算器app

1、Ui开发 笔者的Ui制作的制作的比较麻烦仅供参考,在这里使用了多个LinearLayout对屏幕进行了划分。不建议大家这样做最好使用GridLayout会更加快捷简单 笔者大致划分是这样的: 使用了四个大框,在第四个大框里面有多个小框 最终界面如下&am…

机器学习 day31(baseline)

语音识别的Jtrain、Jcv和人工误差 对于逻辑回归问题,Jtrain和Jcv可以用分类错误的比例,这一方式来代替单单只看Jtrain,不好区分是否高偏差。可以再计算人类识别误差,即人工误差,作为基准线Jtrain与baseline对比只高了…

每日一题(注意string里是char)-771. 宝石与石头

题目 771. 宝石与石头 题解思路 题目本身没啥难度,两个for循环就可以解决但是如果使用set可以将时间复杂度优化到o(n) 注:之前python写多了,需要注意c中string类中是char 代码 C class Solution { public:int numJewelsInStones(string…

深入探究 SOCKS5 代理与 IP 代理应用

一、SOCKS5 协议简介及工作原理 SOCKS5(Socket Secure 5)是 SOCKS 协议的最新版本,它允许客户端向代理服务器发送请求,并将数据传输到目标服务器。相较于 SOCKS4,SOCKS5 提供更强大的身份验证和数据加密功能&#xff0…

鸿合一体机怎么系统还原

系统还原方法:先用牙签按住电脑还原按钮不松,然后按一下电源按钮开机,直到电脑进入系统还原画面,就可以松开还原按钮了,系统还原完成后会自动重启,重启完成就可以用了。

YOLOv7改进:CVPR 2023 | SCConv: 即插即用的空间和通道重建卷积

1.该文章属于YOLOV5/YOLOV7/YOLOV8改进专栏,包含大量的改进方式,主要以2023年的最新文章和2022年的文章提出改进方式。 2.提供更加详细的改进方法,如将注意力机制添加到网络的不同位置,便于做实验,也可以当做论文的创新点。 2.涨点效果:添加 SCConv,经过测试,有效涨点。…

UE5 用DLL文件制作第三方插件

本篇博文介绍了,如果在UE 中如何使用第三方库,及制作成插件的方法。 DLL 文件是上篇文章中创键的具体的方法见上篇文章。下面开始介绍方法 首先,创建一个空白的 UE5 C 项目,然后再创建一个空白内容的插件,如下图所示 …

SQL中Partition的相关用法

使用Partition可以根据指定的列或表达式将数据分成多个分区。每个分区都是逻辑上独立的,可以单独进行查询、插入、更新和删除操作。Partition可以提高查询性能,因为它可以限制在特定分区上执行查询,而不是在整个表上执行。 在SQL中&#xff…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)六:后台主页功能实现下

一、本章内容 接上一章,继续实现后端主页内容,主要实现工具栏对应相关内容的实现,包括系统消息、系统公告、全屏切换、语言切换、主题切换等。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 基于VUE3+Layui从头搭建通用后台管理系统合集…

微服务学习笔记-----Nacos安装教程(Windows和Linux版本)

Nacos安装教程 Nacos安装指南1.Windows安装1.1.下载安装包1.2.解压1.3.端口配置1.4.启动1.5.访问 2.Linux安装2.1.安装JDK2.2.上传安装包2.3.解压2.4.端口配置2.5.启动 3.Nacos的依赖 Nacos安装指南 1.Windows安装 开发阶段采用单机安装即可。 1.1.下载安装包 在Nacos的Git…

ClickHouse(一):ClickHouse介绍及OLAP场景特征

目录 1. ClickHouse与其特性 ​​​​​​​2. 什么是ClickHouse ​​​​​​​3. OLAP场景的特征 进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! ​​​​​​​1. ClickHouse与其特性 …

SpringBoot 项目中 Bean 拷贝及工具类封装

在我们SpringBoot 项目的开发中,经常需要做对象的拷贝和转化,例如我们需要把前端传给我们的DTO对象转化为POJO对象存到数据库,返回前端数据时需要把POJO对象转换为VO,这篇文章就讲讲SpringBoot中对象的拷贝及其工具类的封装。 一、…

Kubernetes高可用集群安装部署(版本1.20.15)

1. 环境说明 ip 用途 操作系统 192.168.181.36 k8s-master1 centos7.6 192.168.181.37 k8s-master2 centos7.6 192.168.181.38 k8s-master3 centos7.6 192.168.181.39 k8s-worker1 centos7.6 192.168.181.40 k8s-worker2 centos7.6 192.168.181.41 k8s-work…

Spring Cloud Eureka 服务发现速度慢配置优化总结

文章目录 一、 Eureka-server 服务端缓存问题1.1 服务端缓存1.2 客户端从服务端获取实例数据的过程1.3 优化 二、客户端 Eureka-client 缓存导致2.1 Eureka客户端和服务端交互缓存2.2 Ribbon 缓存了EurekaClient的缓存2.3 优化 使用Eureka时,常常会发现服务发现慢&a…

Java实现店铺ID或店铺昵称获取1688店铺所有商品数据方法

要通过1688的API获取店铺所有商品数据,您可以使用1688开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例,展示如何通过1688开放平台API获取整店商品数据: 首先,确保您已注册成为1688开放平台的开发者,…

安装使用LangChain时的报错解决

刚刚装了LangChain但是引入各种包都报错,原因貌似为 Python3.7 不支持 LangChain,需要开启一个新的Python3.10环境,再重新安装即可正常运行。 创建新的python环境 conda create -n new_env python3.10 重新安装 pip install langchain 这是当…

8款常用系统镜像烧录软件

系统烧录软件是一种用于将操作系统或其他软件程序安装到嵌入式系统、嵌入式设备或存储设备中的工具。它通常用于将预先编译好的二进制文件或源代码烧录到硬件设备的非易失性存储器中,例如闪存芯片、EEPROM、EPROM或其他存储介质。系统烧录软件提供了一个便捷的方式&…

基于深度神经网络的肺炎检测系统实现

一、说在前面 使用AI进行新冠肺炎图像诊断可以加快病例的诊断速度,提高诊断的准确性,并在大规模筛查中发挥重要作用,从而更好地控制和管理这一流行病。然而,需要强调的是,AI技术仅作为辅助手段,最终的诊断决…

leetcode做题笔记40

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 思路一:回溯 int cmp(const …

Unity Shader 消融效果

消融效果 消融广泛运用于各种场合,例如 怪物击杀与道具时区(原神)燃烧 注意:根据噪声图的不同,效果有很大的差异, 第一步:创建着色器 我们要选择Unlit Shader创建 然后定义如下属性 Prop…