华为路由器之BGP路由技术总结及配置命令

博文大纲:

  • 一、BGP的概念
    1、自治系统是什么?
    2、动态路由分类
    3、BGP的特征
  • 二、BGP的工作原理
    1、BGP邻居关系
    2、通告BGP路由的方法
    3、BGP对等体的交互原则
    4、更新源建立邻居关系
    5、保证IBGP下一跳可达
    6、EBGP多跳
    7、控制BGP选路
    8、BGP的选路原则
  • 三、BGP的配置实例
    1、AS之间、AS内部建立邻居关系
    2、使用BGP协议宣告网段
    3、控制路由选路的多个方法
    4、向BGP注入本地路由条目
    5、建立非直连的EBGP邻居关系
  • 四、配置总结

BGP的概念及属性实在是太多太多,并且一般只有运营商才会使用BGP路由协议,我工作也不是走网络方面,所以并没有实际配置过BGP协议,只能说是纸上谈兵了,这篇博文主要将BGP涉及到的概念写下来,并不会写的太深入(好吧,我懒),其实了解大概BGP的大概工作原理,那么在排错时将会容易一些,不废话了。

一、BGP的概念

BGP(Border Gateway Protocol,边界网关协议)是一个距离矢量路由协议,和传统的基于下一跳的IGP协议不同,它是基于AS(自治系统)的协议。BGP属于外部网关路由协议,它解决的是AS之间的选路问题,也正是这样,它更适合用于互联网。BGP的关键在于理解BGP的报文,邻居的建立、BGP路由属性、选路原则等。

1、自治系统是什么?

自治系统(autonomous system,简称“AS”),是由同一个技术管理机构管理,使用统一选路策略(运行同一动态路由协议)的一组路由器的集合。自治系统的编号取值范围是1~65535。其中1~64511是互联网上注册的公有AS号类,类似于公有IP地址,是全球唯一且不可重复使用的;64512~65535是私有AS号,类似于私有IP地址,可以重复使用但是互联网上不可见。

2、动态路由分类

动态路由协议有很多分类方法,按自治系统分类、按协议类型分类是最常用的两种。

1、按自治系统分类:

IGP:内部网关路由协议,主要包含RIP、OSPF、ISIS、EIGRP(思科私有协议)。IGP路由协议运行在AS内部,解决的是AS内部的选路问题。主要作用是发现、计算路由。

EGP:外部网关路由协议,通常就是指BGP,它运行在AS与AS之间,解决的是AS之间的选路问题。BGP的主要作用是控制路由条目的传播和选择最优路由。

一般会先使用IGP协议在自治系统内部计算和发现路由条目,再通过BGP协议将IGP协议产生的路由传递至其他的AS(自治系统)。

3、BGP的特征

BGP解决的是AS之间的路由学习问题,当今互联网是全球互联,在中国,互联网运营商有移动、电信和联通。每个公司都有自己的自治系统,并且内部运行IGP协议。但是互联网又要求互联,所以通过BGP就可以在电信和联通等之间学习对方的AS内部路由,使电信和联通的用户之间互相通信。

BGP具有以下特征:

  • 传输协议:TCP,端口号179
  • BGP是外部路由协议,用来在AS之间传递路由信息
  • 是一种增强的路径矢量路由协议
  • 拥有可靠的路由更新机制
  • 具备丰富的Metric(一种度量标准)度量方法
  • 无环路协议设计
  • 为路由条目附带多种属性信息
  • 支持CIDR(就是支持子网划分后地址域间选路)
  • 丰富的路由过滤和路由策略
  • 无需周期性更新
  • 路由更新时只发送增量路由
  • 周期性发送KeepAlive(保活)报文以保持 TCP连通性

二、BGP的工作原理

BGP是跨公网、跨AS(自治系统)的路由协议,可以在AS之间学习路由。BGP的动态学习路由也是基于邻居,只有邻居关系正常,BGP才可以正常工作。

1、BGP邻居关系

运行BGP的路由器通常被称为BGPSpeaker(发言者),相互之间传递报文的speaker之间互称为对等体(peer)。BGP邻居关系的建立、更新和删除是通过对等体之间的5种报文、6种状态机和5个表等信息来完成,最终形成BGP邻居。

(1)BGP报文类型及作用:

BGP报文头中的type定义了BGP的报文类型。BGP对等体之间通过5种报文进行路由信息的交互,5种报文分别有:Open、Update、Notification、KeepAlive和Route-Refresh。

  • Open报文:是TCP连接建立后发送的第一个报文,用于建立BGP对等体之间的连接关系,主要包括BGP版本、本地AS编号、Holdtime(维持时间)等信息。
  • update报文:update报文用来在BGP对等体之间更新路由信息,update报文可以通告多条属性相同的可达路由信息,也可撤销多条不可达路由信息。
  • Notification报文:当BGP检测到错误状态时,立刻向对等体发出Notification报文,之后BGP连接就会立即中断。不管当前BGP状态处于何种状态,只要收到Notification报文就会返回idle状态。
  • Route-Refresh报文:用来告知对等体本地所支持路由的刷新能力,在所有BGP路由器拥有Route-Refresh能力的情况下,如果BGP入口路由策略发生了变化,本地BGP路由器会向对等体发送Route-Refresh报文,收到此消息的对等体会将其路由信息重新发给本地BGP路由器。
  • KeepAlive报文:该报文在对等体之间周期性发送,用以保持连接的有效性,类似于OSPF协议中的hello包。
(2)BGP状态:

BGP状态描述的是BGP邻居的建立过程,BGP状态共有六种,分别是Idle(空闲)、Connect(连接)、Active(活动)、OpenSent(打开发送)、OpenConfirm(打开确认)和Established(建立成功)。

  • Idle状态:BGP拒绝任何进入的连接请求,Idle状态是BGP的初始状态。
  • Connect状态:该状态下,BGP等待TCP连接的建立完成后在决定后续操作。
  • Active状态:该状态下,BGP将尝试进行TCP连接的建立,是BGP的中间状态。
  • OpenSent状态:该状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、Holdtime等进行检查。
  • OpenConfirm状态:在该状态下,BGP等待KeepAlive或Notification报文。
  • Established状态:在该状态下,BGP可以在对等体之间交换所有报文,也是BGP正常工作的状态。

在BGP对等体建立的过程中,通常可见的三种状态是Idle、Active、Established。BGP对等体双方的状态必须都为Established,BGP邻居关系才能成立,双方通过Update报文交换路由信息。

(3)BGP数据库:

BGP数据库是BGP正常工作所需要的存储空间,基于保存的内容不同,可分为以下几种:

  • IP路由表(IP-RIB):全局路由信息库,包括所有最优的IP路由信息。
  • BGP路由表(Loc-RIB):BGP路由信息库,包括本地BGP Speaker通告的路由信息,将其中最优路由添加到IP路由表中。注意:先要关注BGP路由表、若BGP路由表中不是最优路由,则无法在IP路由表中可见。
  • 邻居表:对等体邻居清单列表,包括对等体两端的邻居信息即邻居列表。
  • Adi-RIB-In:对等体宣告给本地Speaker的未处理的路由信息库。
  • Adj-RIB-Out:本地Speaker宣告给指定对等体的路由信息库。
(4)BGP邻居关系类型:

在BGP中大致可分为两种邻居关系:IBGP邻居和EBGP邻居。

  • IBGP:同一个AS内部的BGP邻居关系,IBGP邻居通常是指运行BGP协议的对等体两端均在同一个AS域内,属于同一个BGP AS内部。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值