3 BGP特性配置
3.1 IGP及EGP
每个自治系统AS用AS号来标识,是一个有管理机构独自管理的互联网络。每个AS内,管理机构可以自主选择IGP协议,如OSPF、ISIS等;AS之间通过EGP协议来共享信息,即BGP,从此达到整个互联网络的互联互通。
3.2 BGP基本特点
- BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议(IGP)不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由;
- BGP使用TCP作为其传输层协议(端口号为179),提高了协议的可靠性;
- BGP支持无类别域间路由CIDR;
- 路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占的带宽,适用于在Internet上传播大量的路由信息;
- BGP是一种距离矢量路由协议,从设计上避免了环路的发生;
- BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。
3.3公有自治系统和私有自治系统
公有自治系统的号码范围为1~64511;
私有自治系统的号码范围为64512~65535。
3.4 BGP路由传递过程
- BGP邻居关系建立;
- IGP路由注入到BGP;
- BGP邻居之间通过BGP路由通告原则互相传递路由。
3.5 BGP协议报文
BGP协议报文分为四类,分别是
- Open报文:建立邻居关系;
- Keepalive报文:保证BGP连接的可持续性;
- Update报文:更新报文(路由);
- Notification报文:通知运行错误报文。
3.6 BGP通告原则
原则1:BGP只通告在本地BGP路由表中的最优且有效地路由;
原则2:本地始发的路由都是最优且有效路由,都是会被通告给邻居路由器的,包括IBGP邻居和EBGP邻居;
原则3:从EBGP对等体获得的BGP路由将向除路由获取端以外的其他所有BGP邻居通告,包括IBGP邻居与EBGP邻居;
原则4:从IBGP邻居接收到的BGP路由不再向其他IBGP邻居通告;(防环原则);
原则5:从IBGP获得的路由是否通告给他的EBGP对等体要依IGP和BGP同步的情况来确定;(同步原则)
3.7 BGP路由通告
Update协议报文用于在对等体之间交换路由信息
- Update消息可以发布多条属性相同的可达路由信息,也可以撤销多条不可达的路由信息;
- 一条Update消息可以发布多条具有相同路由属性的可达路由,这些路由可共享一组路由属性。所有包含在一个给定的Update消息里的路由属性适用于该Update消息中所有目的地;
- 一条Update可以撤销多条不可达路由;
- 一条Update消息可以只用于撤销路由;也可以只用于通告可达路由。
3.8 BGP路由属性分类
- 公认必须遵循:所有BGP路由器都可以识别,且必须存在于Update中,若缺少,则报错;
- 公认任意:所有BGP路由器都可以识别,不要求存在Update中;
- 可选过渡:BGP不支持此属性但仍会接受并通告给其他对等体;
- 可选非过渡:如果BGP不支持此属性,则会被忽略,且不会通告。
3.9 Next Hop
- BGP向EBGP对等体发布时,路由信息的下一跳要设置为本地更新源的接口地址;
- BGP将本地始发路由发布给IBGP对等体时,指定下一跳为自己;
- 向IBGP对等体发布从EBGP对等体学来的路由时,并不改变该路由信息的下一跳;
3.10团体属性
- 团体属性用来简化路由策略的应用和降低维护管理的难度;
- 没有物理上的边界,与其所在的AS无关,这些目的地址共享一个或多个共同的属性;
- 团体属性用一组4字节为单位的列表表示,格式为aa:nn,aa和nn的取值范围1~65536。
3.11 BGP最优路径选择过程
- 首先丢弃下一跳不可达的路由;
- 优选协议值(PrefVal)最大的路由;
- 优选本地优先级(Local_Pref)最高的路由;
- 优选聚合路由(聚合路由优先级高于非聚合路由);
- 优选AS路径最短的路由;
- 比较起点属性IGP>EGP>INCOMPLETE;
- 优选MED值最低的路由;
- 优选从EBGP学来的路由(外高于内);
- 优选AS内部的IGP的Metric最低的路由;
- 优选Cluster_List最短的路由;
- 优选Originator_ID最小的路由;
- 优选Router ID最小的路由器发布的路由;
- 比较对等体的IP地址,优选从具有较小IP地址的对等体学来的路由。
小知识点整理
- 公有自治系统号码范围是1~64511、私有自治系统号码范围是64512~65535;
- BGP通过携带AS路径信息,可以解决路由循环问题;
- 路由更新时,BGP只发送增量路由,大大减少了BGP传输路由所占用的带宽,适用于在Internet上传播大量的路由信息;
- BGP邻居关系类型有:IBGP邻居和EBGP邻居;
- BGP建立邻居关系需要用到Open报文,传递消息需要用到Update报文,撤销路由信息需要用到Update报文;
- 成为BGP路由的途径有:一用import-route命令把IGP发现的路由注入到BGP的路由表中;二用network命令把IGP发现的路由注入到BGP的路由表中。
- 起点属性三个值的优先顺序是IGP>EGP>INCOMPLETE;
- AS_Path作用:一是优选路径,二是防环作用;
- MED作用在两个AS之间,越小越优先,影响该属性的AS的入方向流量;
- Local_Pref作用在一个AS内部,越大越优先,影响该属性的AS的出方向流量。
- 路由过滤的作用:避免路由引入导致次优路由,避免路由回馈导致的路由环路,进行精确的路由引入和路由通告控制。