BGP外部路由协议相关介绍

简介

  • 外部网关协议(Exterior Gateway Protocol,EGP)是一个在自治系统网络中两个邻近的网关主机(每个都有它们自己的路由)间交换路由信息的协议。EGP常常被用来在英特网的两个主机间交换路由表信息。
  • 路由表包括已知的路由器清单、它们能到达的地址以及与每个路由的路径相关的成本度量,以便选出最好的可用路径。每个路由器按照一定的时间间隔,通常在120秒到480秒之间,就给它的邻近路由发送信息,然后邻近路由就会将自己的完整路由表发回给它。EGP-2是EGP的最新版本。

1.外部网关路由协议

  • 外部网关协议(Exterior Gateway Protocol)是AS之间使用的路由协议,最初于1982年由BBN技术公司的EricC.Rosen及DavidL.Mills提出。其最早在RFC827中描述,并于1984年在RFC904中被正式规范。EGP是一种简单的(网络)可达性协议,其与现代的距离-矢量协议和路径-矢量协议不同,它仅限适用于树状拓扑的网络。
  • 由于EGP存在很多的局限性,IETF边界网关协议工作组制定了标准的边界网关协议(BGP),当前被广泛使用。

2. EGP协议具有三个基本功能

  1. 支持邻居获取机制,即允许一个路由器请求另一个路由器同意交换可达路由信息;
  2. 路由器持续测试其EGP邻居是否有响应;
  3. EGP邻居周期性地传送路由更新报文来交换网络可达路由信息。

3.BGP的介绍

  • BGP是外部网关路由协议,用来在AS之间传递路由信息;BGP协议属于TCP协议,端口号为179
    在这里插入图片描述

3.1BGP特点

(1)是一种增强的路径矢量路由协议,拥有可靠的路由更新机制;
(2)具备丰富的Metric度量方法;
(3)无环路协议设计;
(4)为路由条目附带多种属性信息;
(5)支持CIDR(无类别域间选路);
(6)丰富的路由过滤和路由策略;
(7)无需周期性更新:
(8)路由更新时只发送增量路由;
(9)周期性发送KeepAlive报文以保持TCP的连通性。

扩展:

  • BGP邻居关系就是对等体关系;
  • BGP邻居就是BGP对等体(peer)。

3.2BGP消息类型

  • 运行BGP的路由器称之为BGP Speaker,BGP Speaker之间将会交换五种类型的报文,其中OPEN报文,KEEPALIVE报文以及NOTIFICATION报文用于邻居关系的建立和维护。

3.2.1BGP的五种报文如下:

  • Open:负责和对等体建立邻居关系;主要包括BGP版本、AS号等信息;试图建立BGP邻居关系的两个路由器在建立了TCP会话连接之后开始交换OPEN信息以确认能否形成邻居关系。
  • KeepAlive:该报文在对等体之间周期性的发送,用于判断对等体之间的可达性,实现BGP邻居关系的维护;
  • Update:该报文用于在BGP对等体之间用于交换路由信息。其中包括撤销路由信息和可达路由信息及其各种路由属性;
  • Notification:BGP的差错检测机制;一旦检测带任何形式的差错,BGP Speaker会发送一个NPTIFICATION报文,随后与之相关的邻居关系将被关闭;
  • Route-refresh:用来通知BGP对等体自己支持路由刷新能力。

3.2.2BGP数据库类型:

  • IP路由表--------------IGP
  • BGP路由表-----------EGP

3.3BGP的6个状态机

在这里插入图片描述

  • Idle–空闲:Idle是BGP连接的第一个状态,在空闲状态,BGP在等待一个启动事件,启动事件出现以后,BGP初始化资源,复位连接重试计时器,发起一条TCP连接,同时转入Connect状态;
  • Connect–连接:在Connect状态,BGP发起第一个TCP连接,如果连接重试计时器(Connect-Retry)超时,就重新发起TCP连接,并继续保持在Connect状态,如果TCP连接成功,就转入OpenSent状态,如果TCP连接失败,就转入Active状态;
  • Active–活跃:在Active状态,BGP总是在试图建立TCP连接,如果连接重试计时器超时,就会退回到Connect状态,如果连接TCP成功,就转入OpenSent状态。如果TCP连接失败,就继续保持在Active状态,并继续发起TCP连接;
  • OpenSent–打开消息已发送:在OpenSent状态,TCP连接已经建立,BGP也已经发送了第一个Open报文,剩下的工作,BGP就在等待其对等体发送Open报文。并对收到的Open报文进行正确性检查,如果有错误,系统就会发送一条出错通知消息并退回到Idle状态,如果没有错误,BGP就开始发送Keepalive报文,并复位Keepalive计时器,开始计时。同时转入OpenConfirm状态;
  • OpenConfirm–打开消息确认:在OpenConfirm状态,BGP发送一个Keepalive报文,同时复位保持计时器,如果收到了一个Keepalive报文,就转入Established阶段,BGP邻居关系就建立起来了。如果TCP连接中断,就退回到Idle状态;
  • Established–连接已建立:在Established状态,BGP邻居关系已经建立,这时,BGP将和它的邻居们交换Update报文,同时复位保持计时器。

4.BGP对等体配置

对等体交互原则:

  • 从IBGP对等体获得的BGP路由,BGP设备只传递给它的EBGP对等体;
  • 从EBGP对等体获得的BGP路由,BGP设备传递给它所有EBGP和IBGP对等体(对等体是IBGP只能传递一跳,对等体是EBGP则不限制);
  • 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体;
  • 路由更新时,BGP设备只发送更行的BGP路由;
  • 所有对等体发送的路由,BGP设备都会接收;
  • 所有EBGP对等体在传递过程中下一跳改变;
  • 所有IBGP对等体在传递过程中下一跳不变;
  • 默认EBGP传递时TTL值为1;
  • 默认IBGP传递时TTL值为255。
    BGP邻居关系类型:
    IBGP和EBGP两种类型

5.BGP属性介绍与BGP策略的选择

5.1BGP属性介绍

起源(origin)属性;

  • AS路径(AS-PATH)属性--------越短越优;
  • 下一跳(Next-Hop)属性;
  • Local-pref 属性;
  • MED属性;MED是可选非过渡属性,区别到达同一邻居AS的多条入口链路(MED值越小。链路越优先),通过EBGP发送MED值给对等体

在这里插入图片描述

5.2BGP策略三种实现方法的选择

路由协议属性方法
IBGP,EBGPAS-PATH
IBGPlocal-preference
EBGPmed

6.BGP选路原则

(1)若去往目的网络的路由下一跳不可达,则可以忽略此路由;
(2) Preferred-Value优先级以数值高的路由优先;
(3) Local-Preference优先级以数值高的路由优先;
(4)聚合路由优先级高于非聚合路由;
(5)本地手动聚合路由的优先级高于本地自动聚合的路由;
(6)本地通过Network命令引入的路由的优先级高于本地通过Import-route命令引入的路由;
(7)AS路径长度最短(最少个数)的路径优先级高;
(8)比较Origin属性,IGP优先级高于EGP,EGP优先级高于Incomplete;
(9)选择MED优先级较小的路由;
(10) EBGP路由优先级高于IBGP路由;
(11) BGP优先选择到BGP下一跳的IGP度量低的路径

当以上全部相同,则为等价路由,可以负载分担(注:AS-PATH必须一致),当负载分担时,以下3条原则无效

(12) 比较Cluster-List长度,短者优先;
(13) 比较Originator_ID(如果没有Originator_ID,则用Router ID比较),选择数值较小的路径;
(14) 比较对等体的IP地址,选择IP地址数值最小的路径。

7.BGP命令的示例

7.1通告BGP路由的两种方法:

  • Network方式和Import方式

(1) Network方式:

在这里插入图片描述

[R1] bgp 100
[R1-bgp] router-id 1.1.1.1
[R1-bgp] peer 12.0.0.2 as-number 100
[R1-bgp] network 1.1.1.1 32
[R1-bgp] network 2.2.2.2 32

命令解释:R1将自身的1.1.1.1/32和2.2.2.2/32通过Network的方式发布到BGP中;
注:BGP通告的是路由而不是接口

(2) Import方式:

在这里插入图片描述

[R2-bgp] import-route ospf 110		//通过Import将学习的OSPF路由信息发布到BGP
[R2] display bgp routing-table 		//命令查看BGP路由

注意:Network方式优先于Import方式

7.2 更新源建立邻居关系

在这里插入图片描述

[R3] bgp 100
[R3-bgp] route-id 3.3.3.3 
[R3-bgp] peer 1.1.1.1 as-number 100
[R3-bgp] peer 1.1.1.1 connect-interface LoopBack0
  • 本地LoopBack接口先要让对等体可达

7.3 保证下一跳可达与EGP多跳

在这里插入图片描述

[R3] bgp 300
[R3-bgp] route-id 3.3.3.3
[R3-bgp] peer 23.0.0.2 as-number 200
[R3-bgp] peer 34.1.1.4 as-number 300
[R3-bgp] peer 34.1.1.4 next-hop-local 

在这里插入图片描述

[R3] bgp 200
[R3-bgp] route-id 3.3.3.3
[R3-bgp] peer 12.0.0.1 as-number 100
[R3-bgp] peer 12.0.0.1 ebgp-max-hop 2		//通过设置TTL值为2,使得邻居下一跳可达
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值