BGP 初探

BGP的出现

最早的路由协议 GGP(Gateway-to-Gateway Protocol)

IGP(Interior Gateway Protocol) 是在一个自治系统(AS)内网关之间交换路由信息的协议,包括RIP、OSPF、IS-IS、IGRP、EIGRP。而GGP是第一个内部网关协议。随着网络规模的扩大,GGP逐渐被淘汰。

RIP-》OSPF、ISIS

IGRP 和 EIGRP是CISCO私有的协议

EGP(Exterior Gateway Protocol)外部网关协议,实在不同的自治系统之间传递路由信息。EGP 最早见于RFC827。

EGP的缺点:

1. 不做路由优选

2. 不能避免环路

(欢迎补充)...

BGP(Border Gateway Protocol)最早见于1989年发布的RFC1105。

BGP的优势:

1.解决环路问题

2.路由收敛

3.触发更新

...

BGP的发展

TCP 作为传输层协议,保证可靠传输,端口号179。

BGP建立在两个AS之间,不能通过自动发现,需要手动配置邻居,建立TCP连接。

EBGP(external BGP) 与AS外部节点建立的BGP关系

IBGP(Internal BGP) AS内部节点建立的BGP关系

AS号解决AS之间的环路问题,如果某个路由信息携带了自己的AS号,说明这个路由是已知路由,不再处理。如果AS号重复,说明出现了环路。

那么问题来了,在同一个AS内,AS号是不变的,如何防止环路呢?

方法1:

规定从IBGP邻居学到的路由不会传递给另一个IBGP邻居,那么就需要AS内部所有的路由器都要两两建立IBGP关系,这样就有弊端如果AS足够大的话,对于每个路由器要和所有的AS内路由器建连接负荷会很大。

针对以上的弊端,衍生出路由反射器(Route Reflector)和BGP 联盟,见 RFC1966 和 RFC1965

方法2:

路由反射器是在AS内指定一个节点作为反射器,所有的其他节点与反射器建立IBGP连接,反射器作为中间节点,在其他任何两个IBGP间传递路由。

方法3:

BGP联盟是在AS内做重新规划,把一个大的AS分为多个小的私有的AS。

从BGPv2(RFC1163)开始,BGP消息种类分为4种:

OPEN:建立TCP连接后,用OPEN消息出发BGP关系建立过程;

UPDATE:进行路由的发布和撤销;

NOTIFICATION:通告出现的错误;

KEEPALIVE:保活BGP关系。

BGP状态机 6 种,后续介绍。

BGPv2一个重要的概念 BGP路径属性,分为4种,公认必遵属性、公认可选属性、可选可传递属性、可选不传递属性。

公认必遵属性:必须在发布路由时携带,描述所发布路由的基本信息,包括:下一跳、AS_PATH和ORIGIN。下一跳用于路由计算,AS_PATH用于环路避免,ORIGIN用于路由选择。

公认可选属性:这些属性必须被所有的BGP路由器所识别,携带与否是可以选择的

可选可传递属性:后期详述

可选不传递属性:后期详述

BGP的扩展

BGP联盟RFC1965 最新为RFC5065

路由反射器RFC1966最新为RFC4456

原文地址:https://www.cnblogs.com/r-yan/p/13713198.html