BGP
工作范围 EGP
距离矢量
无类路由协议
封装 封装在TCP上,TCP=179。TCP在IP上 IP=6 单播建立邻居,且邻居不需要相连,只要IGP可达
更新方式 触发更新,增量更新
AD 内部IBGP=200 外部EBGP=20
度量值 不会计算度量,有个类似的MED值,但med不会计算路由从头到尾的值,只会影响相邻的值
BGP 自制系统
- 共同技术管理的网络集合
- IGP 运行自制系统内部
- BGP 运行在姿势系统之间
- 必须交换无环路的信息
自制系统号:1-65535 ,最后的1024个是私有AS号(64512-65525)
1-64511需要去公有化组织申请。
BGP 是路径矢量协议
- IGPs 宣告网络,及描述到这个网络的度量
- BGP 宣告路径,以及到达相应网络所经过的AS
BGP 使用属性来描述路径,他类似于度量
- BGP 运行管理员定义策略或规则,定义如何将数据穿过AS 自制系统
BGP 路由策略
BGP支持任何策略,符合AS-BY-AS 的路由模式
GBP 的特征
路径矢量协议,增强的距离矢量协议
- 可靠的路由更新 使用TCP 179
- 增量更新,触发更新
- 利用keepalive来提供保活和验证连接
- 支持超大规模的网络
-BGP 最适合用于以下情况
- 一个AS 允许数据通过他透传到其他自制系统(例如 ISP)
- 有多个连接到其他自制系统
- 在流量进入或离开AS 时,必须实施路由策略以及路由选择
- BGP is not always appropriate.当满足如下要求是,将不能使用
- limited understanding of route filtering and BGP path-selection process
- 只有单一的连接到其他AS 或 ISP
- 在路由器上没有足够的内存和处理器来执行BGP
BGP 数据库
- 邻居表
列出了所有BGP 邻居
- BGP表 (转发数据库)
列出了所有从每一个邻居学到的网络
到一条目的网络可以包含多个路径
每个路径都包含BGP 属性
- IP 路由表
列出到达目的地最好的路径
BGP 消息类型
- open
包含hold time以及BGP router ID
- keepalive
- update
发送如何到达目的网络的路由更新
包含路径属性及网络
- notification
检测到错误
BGP 连接关闭消息的发送
对等体 = 邻居
- 一个BGP 对等体,可以理解为一个BGP 邻居。是一个特定的术语,用来描述BGP发言人,建立邻居 关系
- 任何两个运行BGP的路由器,建立一个TCP连接交换BGP路由信息被称为BGP对等体或者BGP邻居
EBGP
- 当正在运行的BGP邻居之间属于不同的自治系统,称为EBGP
- EBGP 邻居,默认需要直接连接
IBGP
- 当两个运行的BGP 邻居之间属于相同的自治系统
- 邻居不需要直接连接
自治系统内,在IGP基础上还要配置BGP的原因:IBGP邻居不需要直接相连,但是BGP运行在TCP上,TCP运行在IP上,如果不直连的路由器直接要建立BGP邻居,必须IP可达,所以这时,IGP就是为了让BGP通信起来。
IBGP 在中转AS中(ISP)
- 重分布BGP到IGP (强烈不建议)
- 代替方法,所有设备运行BGP
路由黑洞:
A产生路由,通过EBGP告诉B,B通过IBGP告诉E,E通过EBGP告诉F。这样F就学到去往A的路由,但是当数据从F去往A时,从F出发通过EBGP到达E,E通过IBGP学到去往A的路由吓一跳是B,数据到达D或C时,D,C没有去往A的路由,所以就出现控制层面可达,数据层面不可达的现象(路由黑洞)
解决 路由黑洞:
BGP同步:从IBGP学到一个路由而并没有从IGP,学到,那么这个路由器将不会通告给他的EBGP邻居
在整个AS中,确保了路由信息的一致性
若要关闭它而不带来任何问题,就要整个AS每个邻居要全互联
cisco 12.2(8)T 开始,这个功能是关闭的
no synchronization
关闭同步,因此即使没有从IGP学到路由,也可以学习路由
synchronization
开启同步,因此没有从IGP学到路由,就不接受这个路由
BGP 水平分割
默认下,经过IBGP学习的路由,永远不传递给其他IBGP 对等体,所以需要全网状IBGP邻居关 系
虽然全互联运行BGP可以解决路由黑洞,但是造成链路过多,BGP条目过多,造成路由器不堪重负,所以优化解决方案是,路由反射器或联邦,解决BGP邻居过多
防环机制
IBGP -- 水平分割
EBPG -- 通过AS号,当收到本地还有的AS号的路由,就丢弃