华为网络配置(bgp)

1风天云月 1风天云月     2023-02-15     278

关键词:

目录

前言

一、BGP概述

1、BGP介绍

2、BGP的起源

3、BGP作用

4、BGP的特点

5、BGP的分类和区别

(1)分类

(2)区别

6、BGP报文交互中的角色

7、BGP的路由器号(Router ID)

8、BGP的报文

9、BGP状态机

(1)Idle

(2)Connect

(3)Active

(4)OpenSent

(5)OpenConfirm

(6)Established

10、BGP对等体之间的交互原则

11、BGP的路由属性

12、常见的BGP路由属性

(1)Origin属性

(2)AS_Path属性

(3)Next_Hop属性

(4)Local_Pref属性

(5)MED属性

13、BGP的选路规则

14、路由环路

二、BGP配置

1、案例

2、配置过程

(1)AR1

(2)AR2

(3)AR3

(4)AR4

(5)AR5

(6)AR6

(7)AR7

3、测试

(1)AR1 

(2)AR2 

结语


前言

     BGP运行在TCP上,采用TCP179端口,BGP是唯一设计用于处理互联网规模的网络协议,也是唯一可以很好地处理与不相关路由域的多个连接的协议,BGP系统的主要功能是与其他BGP系统交换网络可达性信息,此网络可达性信息包括可达性信息经过的自治系统(AS)列表中的信息,此信息足以构建AS连接图,从中可以修剪路由环路,并可以实施AS级别的一些策略决策

一、BGP概述

1、BGP介绍

     边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议,早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP-4(RFC1771),2006年之后单播IPv4网络使用的版本是BGP-4(RFC4271),其他网络(如IPv6等)使用的版本是MP-BGP(RFC4760),MP-BGP是对BGP-4进行了扩展,来达到在不同网络中应用的目的,BGP-4原有的消息机制和路由机制并没有改变,MP-BGP在IPv6单播网络上的应用称为BGP4+,在IPv4组播网络上的应用称为MBGP(Multicast BGP)

     AS是指在一个实体管辖下的拥有相同选路策略的IP网络,BGP网络中的每个AS都被分配一个唯一的AS号,用于区分不同的AS,AS号分为2字节AS号和4字节AS号,其中2字节AS号的范围为1至65535,4字节AS号的范围为1至4294967295,支持4字节AS号的设备能够与支持2字节AS号的设备兼容

2、BGP的起源

     为方便管理规模不断扩大的网络,网络被分成了不同的自治系统,1982年,外部网关协议EGP(Exterior Gateway Protocol)被用于实现在AS之间动态交换路由信息,但是EGP设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求,而BGP就是为取代最初的EGP而设计的另一种外部网关协议,不同于最初的EGP,BGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息,虽然BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP,比如在数据中心上行的连入Internet的出口上,为了避免Internet海量路由对数据中心内部网络的影响,设备采用静态路由代替BGP与外部网络通信

3、BGP作用

     BGP从多方面保证了网络的安全性、灵活性、稳定性、可靠性和高效性

  • BGP采用认证和GTSM的方式,保证了网络的安全性
  • BGP提供了丰富的路由策略,能够灵活的进行路由选路
  • BGP提供了路由聚合和路由衰减功能用于防止路由振荡,有效提高了网络的稳定性
  • BGP使用TCP作为其传输层协议(端口号为179),并支持BGP与BFD联动、BGP Tracking和BGP GR,提高了网络的可靠性

4、BGP的特点

BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议(IGP)不同,其着眼点不在于发现和计算路由,而在于在AS之间选择最佳路由和控制路由的传播

BGP使用TCP作为其传输层协议,提高了协议的可靠性

  • BGP进行域间的路由选择,对协议的稳定性要求非常高,因此用TCP协议的高可靠性来保证BGP协议的稳定性
  • BGP的对等体之间必须在逻辑上连通,并进行TCP连接,目的端口号为179,本地端口号任意

BGP支持无类别域间路由CIDR(Classless Inter-Domain Routing)
 

路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息

BGP是一种距离矢量(Distance-Vector)路由协议


BGP从设计上避免了环路的发生

  • AS之间:BGP通过携带AS路径信息来标记途经的AS,带有本地AS号的路由将被丢弃,从而避免了域间产生环路
  • AS内部:BGP在AS内学到的路由不再通告给AS内的BGP邻居,避免了AS内产生环路

BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择


BGP提供了防止路由振荡的机制,有效提高了Internet网络的稳定性


BGP易于扩展,能够适应网络新的发展

5、BGP的分类和区别

(1)分类

     BGP按照运行方式分为EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)

  • EBGP:运行于不同AS之间的BGP称为EBGP,为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃
  • IBGP:运行于同一AS内部的BGP称为IBGP,为了防止AS内产生环路,BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立全连接,为了解决IBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟

(2)区别

  • EBGP在不同的AS号之间建立BGP关系,而IBGP与相同的AS号建立BGP关系
  • 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体
  • 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体

6、BGP报文交互中的角色

     BGP报文交互中分为Speaker和Peer两种角色

  • Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker
  • Peer:相互交换报文的Speaker之间互称对等体(Peer),若干相关的对等体可以构成对等体组(Peer Group)

7、BGP的路由器号(Router ID)

     BGP的Router ID是一个用于标识BGP设备的32位值,通常是IPv4地址的形式,在BGP会话建立时发送的Open报文中携带,对等体之间建立BGP会话时,每个BGP设备都必须有唯一的Router ID,否则对等体之间不能建立BGP连接

8、BGP的报文

     BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式发送

  • Open报文:用于建立BGP对等体连接
  • Update报文:用于在对等体之间交换路由信息
  • Notification报文:用于中断BGP连接
  • Keepalive报文:用于保持BGP连接
  • Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息,只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文

9、BGP状态机

     BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established),在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established

(1)Idle

     Idle状态是BGP初始状态,在Idle状态下,BGP拒绝邻居发送的连接请求,只有在收到本设备的Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态,任何状态中收到Notification报文或TCP拆链通知等Error事件后,BGP都会转至Idle状态

(2)Connect

     在Connect状态下,BGP启动连接重传定时器(Connect Retry),等待TCP完成连接

  • 如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态
  • 如果TCP连接失败,那么BGP转至Active状态
  • 如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其它BGP对等体进行TCP连接,停留在Connect状态

(3)Active

     在Active状态下,BGP总是在试图建立TCP连接

  • 如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态
  • 如果TCP连接失败,那么BGP停留在Active状态
  • 如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态

(4)OpenSent

     在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查

  • 如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态
  • 如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态

(5)OpenConfirm

     在OpenConfirm状态下,BGP等待Keepalive或Notification报文,如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态

(6)Established

     在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文

  • 如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接
  • 如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态
  • Route-refresh报文不会改变BGP状态
  • 如果收到Notification报文,那么BGP转至Idle状态
  • 如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态

10、BGP对等体之间的交互原则

     BGP设备将最优路由加入BGP路由表,形成BGP路由,BGP设备与对等体建立邻居关系后,采取以下交互原则

  • 从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体
  • 从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体
  • 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体
  • 路由更新时,BGP设备只发送更新的BGP路由
  • 所有对等体发送的路由,BGP设备都会接收
  • 所有EBGP对等体在传递过程中下一跳改变
  • 所有IBGP对等体在传递过程中下一跳不变
  • 默认EBGP传递时, TTL值为1
  • 默认BGP传递时,TTL值为255

11、BGP的路由属性

     在BGP路由表中,到达同一目的地可能存在多条路由,此时BGP会选择其中一条路由作为最佳路由,并只把此路由发送给其对等体,BGP为了选出最佳路由,会根据BGP的路由优选规则依次比较这些路由的BGP属性

     路由属性是对路由的特定描述,所有的BGP路由属性都可以分为以下4类

  • 公认必须遵循(Well-known mandatory):所有BGP设备都可以识别此类属性,且必须存在于Update报文中,如果缺少这类属性,路由信息就会出错
  • 公认任意(Well-known discretionary):所有BGP设备都可以识别此类属性,但不要求必须存在于Update报文中,即就算缺少这类属性,路由信息也不会出错
  • 可选过渡(Optional transitive):在AS之间具有可传递性的属性,BGP设备可以不支持此属性,但它仍然会接收这类属性,并传递给其他对等体
  • 可选非过渡(Optional non-transitive):BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,则会被忽略该属性,且不会通告给其他对等体

12、常见的BGP路由属性

     BGP常见属性类型

(1)Origin属性

     Origin属性用来定义路径信息的来源,标记一条路由是怎么成为BGP路由的,它有以下3种类型

  • IGP:具有最高的优先级,通过network命令注入到BGP路由表的路由,其Origin属性为IGP
  • EGP:优先级次之,通过EGP得到的路由信息,其Origin属性为EGP
  • Incomplete:优先级最低,通过其他方式学习到的路由信息,比如BGP通过import-route命令引入的路由,其Origin属性为Incomplete

(2)AS_Path属性

     AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号,在接收路由时,设备如果发现AS_Path列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路

     当BGP Speaker传播自身引入的路由时

  • 当BGP Speaker将这条路由通告到EBGP对等体时,便会在Update报文中创建一个携带本地AS号的AS_Path列表
  • 当BGP Speaker将这条路由通告给IBGP对等体时,便会在Update报文中创建一个空的AS_Path列表

     当BGP Speaker传播从其他BGP Speaker的Update报文中学习到的路由时

  • 当BGP Speaker将这条路由通告给EBGP对等体时,便会把本地AS编号添加在AS_Path列表的最前面(最左面),收到此路由的BGP设备根据AS_Path属性就可以知道去目的地址所要经过的AS,离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列
  • 当BGP Speaker将这条路由通告给IBGP对等体时,不会改变这条路由相关的AS_Path属性

(3)Next_Hop属性

     Next_Hop属性记录了路由的下一跳信息,BGP的下一跳属性和IGP的有所不同,不一定就是邻居设备的IP地址,通常情况下,Next_Hop属性遵循下面的规则

  • BGP Speaker在向EBGP对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址
  • BGP Speaker将本地始发路由发布给IBGP对等体时,会把该路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址
  • BGP Speaker在向IBGP对等体发布从EBGP对等体学来的路由时,并不改变该路由信息的下一跳属性

(4)Local_Pref属性

  • Local_Pref属性表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由,当BGP的设备通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由
  • Local_Pref属性仅在IBGP对等体之间有效,不通告给其他AS,Local_Pref属性可以手动配置,如果路由没有配置Local_Pref属性,BGP选路时将该路由的Local_Pref值按缺省值100来处理

(5)MED属性

  • MED(Multi-Exit Discriminator)属性用于判断流量进入AS时的最佳路由,当一个运行BGP的设备通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由
  • MED属性仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS,MED属性可以手动配置,如果路由没有配置MED属性,BGP选路时将该路由的MED值按缺省值0来处理

13、BGP的选路规则

  • 若去往目的网络的路由下一跳不可达,则可以忽略此路由
  • Preferred-Value优先级以数值高的路由优先
  • Local-Preference优先级以数值高的路由优先
  • 聚合路由优先级高于非聚合路由
  • 本地手动聚合路由的优先级高于本地自动聚合的路由
  • 本地通过Network命令引入的路由的优先级高于本地通过import-route命令引入的路由
  • AS路径长度最短(最少个数)的路径优先级高
  • 比较Origin属性, IGP优先级高于EGP, EGP优先级高于Incomplete
  • 选择MED优先级较小的路由
  • EBGP路由优先级高于IBGP路由
  • BGP优先选择到BGP下一跳的IGP度量低的路径
  • 比较Cluster-List 长度,短者优先
  • 比较Originator_ID ,如果没有Originator_ID,则用Router ID比较,选择数值较小的路径
  • 比较对等体的IP地址,选择IP地址数值最小的路径

14、路由环路

     EBGP路由撤销时,IBGP对等体之间会出现路由环路

     当RouterC发送同一条路由给它的EBGP邻居RouterA和RouterB,根据BGP选路规则从EBGP收来的路由会发给他的IBGP邻居的,所以RouterA会把从RouterC收来的路由发给它的IBGP邻居RouterB,并且RouterB也会把从RouterC收来的邻居发给它的IBGP邻居RouterA,根据选路规则RouterA和RouterB上都会优选自己从RouterC收来的路由,这样在RouterA和RouterB上分别会有两条相同前缀的路由:一条是自己从RouterC上收来的路由,一条是从IBGP邻居学习来的路由

     当RouterC撤销此路由的时候,RouterA和RouterB上会收到RouterC发的一个withdraw报文,在路由表完成收敛之前,RouterA和RouterB就会根据选路规则把从对端收来的路由变成优选路由,这样,在RouterA和RouterB之间可能会产生短暂的路由环路

     这个路由环路的产生会占用一定的网络带宽,有可能有造成短时间的网络拥塞,但通常情况下,路由在1S之内就可以完成收敛,对用户业务影响不大

二、BGP配置

1、案例

     通过配置BGP和修改BGP属性,实现R1到R7的路径为R1->R2->R4->R5->R7,R7到R1的路径为R7->R6->R4->R3->R1

2、配置过程

(1)AR1

(2)AR2

(3)AR3

(4)AR4

(5)AR5

(6)AR6

(7)AR7

3、测试

(1)AR1 

(2)AR2 

结语

     BGP是为了在AS之间更高效率的传递路由和维护大量的路由而产生的一个外部网关协议,BGP作为事实上的Internet外部路由协议标准,被广泛应用于ISP(Internet Service Provider)之间

华为路由器bgp联盟详解(代码片段)

本篇文章为大家分享下华为路由BGP联盟的基本配置,通过BGP联盟最终实验BGP内部邻居之间路由条目的传递,最终实现网络互通。实验拓扑图如下:实验说明:路由器R2、R3、R4、R5路由器所在配置为联盟区域,联盟AS号码为200,R1的AS... 查看详情

华为设备bgp路由技术

华为设备BGP路由技术说明:1:R1为运营商的路由器,R2、R3、R4为公司网络,所有路由器运行BGP路由协议2:R1和R2之间、R1和R3之间都建立EBGP连接3:R2、R3、R4之间建立IBGP全连接4:运营商网络为AS100,公司网络为AS2005:在AS200内,使... 查看详情

华为路由器bgp邻居详解(代码片段)

本篇文章为大家分享下华为路由BGP邻居的建立,主要包括三部分类容:BGP配置一:非直连邻居;BGP配置二:IBGP通过回环口建立邻居;BGP配置三:EBGP通过回环口建立邻居。基本网络配置:R1sysnameR1interfaceg0/0/0ipaddress192.168.12.124interf... 查看详情

思科&新华三&华为边做边学专题,交换路由无线防火墙bgp组播

...的配置使用,同时包括高级路由技术BGP专题。第三阶段:华为技术阶段2门课程6小时20分钟主要介绍华为无线网络的部署(包括AC、AP),另外包括组播专题。 查看详情

思科&新华三&华为边做边学专题,交换路由无线防火墙bgp组播

...的配置使用,同时包括高级路由技术BGP专题。第三阶段:华为技术阶段2门课程6小时20分钟主要介绍华为无线网络的部署(包括AC、AP),另外包括组播专题。 查看详情

华为28-11ospf和bgp协议配置

例:设备型号:华为28-11接入地址:172.30.21.19/30,网关172.30.21.18内网地址:10.10.0.0/16求华为28-11的相关配置命令,令需要配置OSPF和BGP协议。本人外行,求外加中文解释,满意高分追加,谢谢首先说明一下,你的接入地址:172.30.21.... 查看详情

【网络工程师配置篇】——bgp路由基础配置(ensp)

...主要功能是在不同的自治系统(AutonomousSystems,AS)之间交换网络可达信息,并通过协议自身机制来消除路由环路。BGP使用TCP协议作为传输协议,通过TCP协议的可靠传输机制保证BGP的传输可靠性。运行BGP协议的Router称为BGPSpeaker,建... 查看详情

华为ne40e路由器实验配置示例|配置非标签公网bgp路由迭代sr-mplsbe隧道(代码片段)

组网需求当用户通过运营商网络访问互联网时,如果报文采用IP转发的话,则从用户到互联网路径上的运营商核心设备都需要学习到大量的互联网路由,这给运营商的核心设备带来了很大的负担,影响核心设备的... 查看详情

bgp协议测试——信而泰网络测试仪实操

...输已经成为了日常工作和生活必不可少的重要组成部分,网络服务的易得性和可靠性也因此得到广泛关注。这其中负责网络正常工作的诸多协议,作为保证网络数据传输的有力支持,也成为了研究的重点对象。另外,随着网络发... 查看详情

华为的mpls/vpm/bgp和思科的配置一样吗

配置思路一致,命令格式不一致。对于一个mpls单域,配置思路如下:1、配置各路由器接口ip及IGP路由选择协议,保证as内网络通畅;这是标签生成的基础;2、配置mpls和ldp,ldp根据igp路由表生成标签;同时在相关接口运行mpls和ldp... 查看详情

华为路由器之bgp路由技术总结及配置命令(代码片段)

一、BGP的概念:BGP(BorderGatewayProtocol,边界网关协议)是一个距离矢量路由协议,和传统的基于下一跳的IGP协议不同,它是基于AS(自治系统)的协议。BGP属于外部网关路由协议,它解决的是AS之间的选路问题,也正是这样,它... 查看详情

华为路由器mplsvpn综合实验(代码片段)

目录【实验题目】【实验思路】【实验记录】一、公网部分二、客户A的MPLSVPN三、客户B的MPLSVPN四、配置R7缺省指向公网【实验题目】【实验思路】由题目可知,实验目的是要将客户A的站点1和站点2通过MPLSVPN连成一个私网࿰... 查看详情

bgp——原理精讲及内外部邻居配置(代码片段)

...量算法的自治系统之间的路由。二、BGP并非要找到具体的网络信息,而是提供可以用与找到自治系统的信息。而运行于自治系统内部的路由协议,用于找到具体的网络。BGP作用(特点)作用:在不同的大型网络之间,长时间以稳... 查看详情

《深入浅出——bgp邻居联盟路由反射器综合配置》(代码片段)

本篇文章为大家分享下华为路由BGP邻居、联盟、路由反射器综合实验配置,通过BGP邻居建立、联盟、路由反射器,实现BGP内部邻居之间路由条目的传递,最终实现R1的LoopBack0与R6的LoopBack0网络互通。**实验拓扑图如下:****第一步... 查看详情

calicoipip变更bgp配置(代码片段)

calico网络 包含 overlay 和underlay网络overlay  IPIP和VXLAN模式, IPIP可以使用BGP协议,VXLAN不能使用BGP协议, 可以跨网段,建立隧道underlay BGP模式, 必须同一个C网1、修改ippool,需要把ipipMode从Always修... 查看详情

bgp项目实验案例(基于华为设备)

一:BGP概述1:自治系统自治系统是由同一个技术管理机构管理、使用同一选录策略的一组路由器的集合。2:动态路由的分类(1)按自治系统分类IGP:自治系统内部路由协议,包括RIP、OSPF、ISIS、EIGRPEGP:自治系统之间的路由协... 查看详情

华为bgp导入默认路由

参考技术A导入默认路由的命令为:import-route0.0.0.0/0 查看详情

bgp是什么?bgp用于哪些地方?

...统(AS)之间引导数据包-由单个企业或服务提供商管理的网络。在单个网络AS内路由的流量称为内部BGP或iBGP。更常见的是,BGP用于将一个AS连接到其他自治系统,然后将其称为外部BGP或eBGP。BGP用于在不同的主机网关,Internet或自... 查看详情