IGP (内部网关协议) : RIPv1 RIPv2 IGRP EIGRP OSPF ISIS
EGP(外部网关协议) : BGP

一、何时使用BGP
1. AS(自主系统)允许分组(数据)穿过它前往其它自主系统(例如,服务提供商)
2. AS 有多条到其它自主系统的连接
3. 必须对数据流进入和离开AS 的方式进行控制

二、何时不使用BGP(满足以下条件之一时,不要使用BGP)
1. 只有一条到Internet 或另一个AS 的连接
2. 路由器没有足够的内存和处理器能力来处理BGP 的更新
3. 对路由过滤和BGP 路径选择过程的了解有限
4. 自主系统之间的链路的带宽较低

三、BGP 的特性
1. BGP 是一个路径矢量协议,在距离矢量路由协议上增进以下的功能:
2. 可靠的更新,运行和结束使用TCP(port 179)
3. 触发更新时,发送增量更新
4. 周期性的保持信息和校验TCP 的连接性
5. 有充足的距离矢量的属性值(为选择路径而用的)
6. 设计的对象是一个巨大的互联网网络
7. 建立BGP 的邻居条件为:TCP 可达。

四、BGP 的数据库
1. 邻居表:列出所有BGP 的邻居
Router# show ip bgp neighbor //查看BGP 的邻居
2. BGP 表(转发数据库):
a. 列出从每个邻居学习到所有网络的信息
b. 包含多条路径到达目标网络
c. 每个路径都包含BGP 的属性
Router# show ip bgp //查看BGP 表
3. IP 路由表 (又称为IGP 表): 列出最佳的路径到达目标网络
Router# show ip route

五、BGP 的消息类型
1. Open 打开消息(在对等路由器间打开一个BGP通信会话,是建立传输协议后发送的第一个消息,初始消息由对等设备发送的keep-alive消息确认,且必须得到确认后才可以交换更新、通知和keep-alive消息。)

2. Keepalive 存活消息(通知对等BGP路由器该设备仍然alive。keep-alive消息发布足够频繁以防止会话过期)

3. Update 更新消息(用于提供到其它BGP系统的路由更新,使路由器可以建立网络拓扑的一致视图。更新用TCP发送以保证传输的可靠性。 更新消息可以从路由表中清除一条或多条失效路由,同时发布若干路由。

4. Notification 通知消息(在检查到有错误时发送。通知消息用于关闭一条活动的会话,并通知其它路由器为何关闭该会话。)

六、关于IBGP 与EBGP 之间的关系
IBGP:在同一个AS 之内设备之间建立的邻居关系
EBGP:在不同的AS 之间建立的邻居关系
说明:建立BGP 邻居的首要条件为:TCP 可达
1、由 EBGP 邻居学来的信息会传递给IBGP 邻居
2、由IBGP 邻居学来的信息,不会传递给另外的IBGP 邻居(水平分割原理)
3、由IBGP 邻居学来的信息,会传递给EBGP 邻居(条件为:R2 的BGP 同步被关闭)
4、由EBGP 邻居学来的信息,会传递给其它的EBGP 邻居
5、BGP 路由传递过程中出现的路由黑洞现象(BGP没有全互联)