BGP学习总结

更新时间:2023-11-19 19:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

BGP一.BGP的基本概念

协议学习总结

1.边界网关协议(Border Gateway Protocol,BGP)是一个用于自治系统(AS)之间的域间路由协议,它的主要功能是在运行BGP协议的自治系统之间交换网络可达性信息。 2.自治系统是拥有同一选路策略,由同一技术部门管理下运行的一组路由器。自治系统内部的路由协议有RIP、IGRP、EIGRP、OSPF、IS-IS,自治系统之间运行的协议有BGP。自治系统的指示符是一个16bits的值,范围1~65535,其中1~32767可供分配,32768~64511暂时保留,64512~65534用于私有AS(类似于IP地址中的私网地址)。 3.BGP使用TCP作为其传输层协议,其端口号为179。它是一个距离矢量路由协议,从设计上避免了路由环路的发生:方法一,判断AS-PATH属性序列;方法二,从AS内部学到的路由不在AS内部转发。另外BGP也支持CIDR。

4.BGP邻居又称为对等体分为两种,如果两个交换BGP报文的对等体属于不同的自治系统那么这两个对等体就是EBGP对等体 (External BGP) ;如果两个交换BGP报文的对等体属于同一个自治系统那么这两个对等体就是IBGP对等体(Internal BGP),一个AS内的不同边界路由器之间也要建立BGP连接只有这样才能实现路由信息在整个AS内的传递。EBGP必须物理连接,IBGP只需要能建立TCP链接就可以了。 5.BGP使用原则:

*多条路径时,BGP只选最优的给自己使用 *BGP Speaker只把自己使用的路由通告给相邻体

*BGP Sperker从EBGP获得的路由会向它所有的相邻体(包括EBGP和IBGP)通告 *BGP Sperker从IBGP获得的路由不会向它的IBGP相邻体通告

*BGP Sperker从IBGP获得的战船由是否通告给它的EBGP相邻体要看IGP和BGP同步的情况来决定

*连接一建立,BGP Sperker将把自己所有BGP路由通告给新相邻体。以后将只通告变化的路由 6.BGP路由通告及同步

BGP把从EBGP获得的路由向它所有的BGP对等体通告包括IBGP和EBGP;而把从IBGP获得

的路由不向它的IBGP对等体通告,向EBGP通告时要保证IGP同BGP同步。同步是指BGP一直要等到IGP在本AS中传播了同一条路由后再给其它各AS通告这条路由,也就是说在通

告给其它AS一条路由时先要保证本AS内部的路由器要知道该路由。

7.成为BGP路由的途径(以下命令中的网络地址为AS其它路由器连接的网段) *纯动态注入,即BGP路由来自OSPF等IGP协议发现,命令如下: RT(config)#router bgp 1

RT(config-router-bgp)#redistribute ospf

*半动态注入,即BGP把IGC协议发现的某条路由注入到BGP路由表,命令如下: RT (config)#router bgp 1

RT (config-router-bgp)#network 18.0.0.0 mask 255.0.0.0

*静态注入,即把人为增加的静态路由注入到BGP的路由表中,命令如下: RT(config)#ip route 18.0.0.0 255.0.0.0 serial 0

RT(config)#router bgp 1

RT(config-router-bgp)#network 18.0.0.0 8.BGP的报文

BGP有4种类型的报文分别为OPEN、 UPDATE、 NOTIFICATION和KEEPALIVE。

BGP对等体间通过发送OPEN报文来交换各自的版本、自治系统号、保持时间、BGP标识符等信息进行磋商。

UPDATE报文携带的是路由更新信息,其中包括撤销路由信息和可达路由信息及其路径属性。

当BGP检测到差错连接中断磋商出错报文差错等时发送NOTIFICATION报文关闭同对等体的连接。

KEEPALIVE报文在BGP对等体间周期地发送以确保连接保持有效。 另外在MBGP中增加了一种Route Refresh报文,用于动态交换路由刷新请求。

二.BGP的属性

路由器向其对等体发送关于目的网络的BGP更新消息时,这些消息中包括有关BGP度量值的信息,被称为路径属性。路径属性分为独立的四类: 1.公认的,必遵的属性:该属性必须出现在路由描述中。

*AS路径(AS-path):是路由经过的AS的序列,记录了此路由所穿过的所有AS区域。

它可以防止路由循环并用于路由的过滤和选择。

*下一跳(next-hop):在非多路网络中,在跨AS的情况下,一下跳是通告此路由的

对等体地址,在AS内部的IBGP之间传递路由时,下一跳不变。在多路网络中,下一跳是多路网络与路由地址最后的对等体的接口地址。

*起源(origin): 路由是用“network”命令注入到BGP路由表中的,则origin属

性为IGP。路由是用“redistribute”命令注入到BGP路由表中的,则origin属性为Incomplete。由于IGP比Incomplete人为操纵的程度更高,因此在选路时拥有较高的优先级。

2.公认的,自决的属性:该属性不是必须在路由描述中出现。

*本地优先(local preference):当某个AS有多个出口点时(有多个IBGP), 对于

AS内的路由器访问AS外的路由器,此属性用来帮助一个较好的出口点,即选择本地优先级较高的出口点。

3.任选的,可传递属性:该属性不要求所有BGP的实施都必须支持,如果支持,就可以将其传给BGP邻居,不被当前路由器所支持的应该被继续传递给其它BGP路由器。 *团体(community):标识了一组具有相同特征的路由器,与它所在的IP子网和自治

系统无关。BGP的团体是一组有公共性质的目的地,不限于一个网络或一个自治系统,这些网络可以属于任何自治系统,没有物理边界。团体可用于简化选路策略,BGP Speaker可以用这个属性并与其他属性结合来控制哪个路由可接受、优选或传递给其他对等体。下面是三种公认诉团体:

NO_EXPORT: 传递这一团体值的路由不应被通告给一个联盟之外的对等体。

NO_ADVERTISE:传递这一团体值的路由,在收到后,不应通告给任何的BGP对

等体。

LOCAL-AS :传递这一团体值的路由,在收到后,不应通告给任何的EBGP对等体

(包括联盟内的EBGP对等体)。

4.任选的,非传递属性:该属性表明不支持该属性的路由器应该将其删除。

*多出口标识(Multi-exiy-discriminator,MED):当某个AS有多个入口点时(多个EBGP

对等体),此属性用来帮助选择一个较好的入口点,即选择MED

较小的入口点。引属性不跨AS传播,通过route-map设定。

除以上属性外,权重属性(CISCO定义)也是一种常用属性。 5.BGP如何根据属性完成选路策略

*首先丢弃下一跳(next hop)不可达的路由; *优选最大衡重(weight)的路由;(Cisco所独有) *优选最高本地优先级(local-preference)的路由; *优选本路由器始发的路由 (network / aggregate); *优选经过AS(AS-Path)最少的路由; *优选起点类型(origin)最低的路由; *优选MED值最低的路由; *优选从EBGP学来的路由;

*优选AS内部IGP的Metric最低的路由; *优选BGP ID最低的路由器发布的路由。 三.BGP的过滤功能及对路由的处理过程

1.BGP的过滤功能

*可按照路由的IP地址过滤 *可依照路由经过的AS-Path过滤 *可以依照路由的各种属性过滤 *可以依照路由到来的接口过滤 *可以按照过滤的结果设置路由的属性 2.BGP路由器对路由的处理过程 如下图所示:

四.BGP在大规模网络中需要解决的问题

1.路由表庞大

BGP聚合:聚合路由就是把各段路由综合到一个或多个聚合或CIDR块中,以便把路由表中的路由数目减少到最小。有三种聚合方式,只通告聚合路由、通告聚合路由和和具体路由、通告聚合路由和部分具体路由。 2. IBGP相邻体过多,逻辑全连接不现实

BGP联盟:为了解决AS内IBGP数量过多的问题,提出BGP联盟,将AS分成几个小AS,联盟号使用私有的AS号,可以有效的减少IBGP相邻体的数目。

BGP反射:路由反射器概念的基本思路是:指定一个集中路由器作为内部对话的焦点,多个BGP路由器可以与一个中心点对等化,然后多个路由反射器再进行对等化。路由反射器的IBGP对等体分为两类:客户机和非客户机。一个路由反射器和它的客户机构成一个群,路由反射器的不属于这个群的所有对等体就是非客户机。 3. 复杂网络环境中路由的变化十分频繁

BGP衰减:引入了惩罚值的概念,对频繁更新的路由,惩罚值到一定程度后抑止该路由,直至其恢复稳定方可重新投入使用。

本文来源:https://www.bwwdw.com/article/4iov.html

Top