什么是路?就是从没有路的地方践踏出来的,从只有荆棘的地方开辟出来的。以前早有路了,以后也该永远有路。---鲁迅
一、路由器的任务与BGP的概念
1-1、路由器需要完成的任务
让每个IP网段都知道其他IP网段的信息
路由协议将网络中每一条路由在路由器之间传递
最终让网络中所有路由器都拥有完整的路由信息
1-2、收敛状态
全网所有路由器拥有所有路由信息,并且完全一致
1-3、收敛状态对网络规模的要求
网络规模越大,收敛越慢 当网络中路由器数量非常多的时候,可能永远无法达到收敛状态
2-1、自治系统与路由协议
自治系统(Autonomous System)
· 限制路由条目的更新范围,提高收敛速度,降低路由器的负载
· 路由器可以在AS内单独定义路由策略与安全策略,各个AS之间互相不受干扰
· 路由在各自的AS内部收敛以后,再通过BGP相互传递
2-2、IGP与EGP的区别
IGP
· 运行于AS内部的路由协议
· 主要有静态路由,RIP,OSPF及ISIS
· IGP着重于发现和计算路由,负责全网收敛
EGP
· 运行于AS之间的路由协议,现通常都是指BGP
· BGP着重于控制路由的传播和选择最优的路由
· BGP不负责全网收敛
二、BGP基础知识
1、BGP的特征
· BGP是外部路由协议,用来在AS之间传递路由信息
· 是一种增强的距离矢量路由协议
· 可靠的路由更新机制
· 丰富的Metric度量方法
· 从设计上避免了环路的发生
· 为路由附带属性信息
· 支持CIDR(无类别域间选路)
· 丰富的路由过滤和路由策略
2、BGP AS
· BGP AS号码
· 由IANA机构来统一分配
· 通常使用2字节长度的AS号码(1-65535)
· 公有AS号码只能用于互联网,并且全球唯一
· 私有AS号码:64512-65534
· 私有AS号码可以被企业重复使用,所以私有AS不允许传入互联网
三、如何建立BGP邻居关系
1、BGP建立邻居
两台运行BGP的路由器只要通信正常就可以建立BGP邻居
BGP邻居必须手工指定
BGP要传递路由之前,需要先建立邻居。根据两台BGP Device所属的AS号码是否相同,BGP分IBGP和EBGP
iBGP
· 两台BGP设备的AS号码相同
· 一般用于MPLS VPN的骨干网络区域,传递VPNv4路由
· 可以用于BGP-EVPN,建立VxLAN隧道,SR网络的底层协议
· 两台ASBR之间做备用邻居
eBGP
· 两台BGP设备的AS号码不相同
· ibgp和ebgp不仅是在不在一个AS内部的区别。对于路由携带的属性,ibgp和ebgp也有区别的。
2、BGP更新源
在指定BGP邻居的同时,需要加上BGP源地址
· 源地址匹配只需要单方面符合条件
· 通常情况下都将BGP两端的源和目标保持一致
· 源地址可以随意更改,但必须是路由器上的接口地址
通常情况下,iBGP邻居采用Loopback地址作为更新源,因为Loopback地址更加稳定,且AS内部路由器之间都运行有IGP,iBGP邻居也能互相得知对方的Loopback地址。 而eBGP邻居一般无法得知对方的Loopback地址,更多的采用直连的物理接口作为更新源。
3、BGP的报文种类
· BGP报文有五种类型
· Open:负责和对等体建立邻居关系
· KeepAlive:该消息在对等体之间周期性地发送,用于维护连接
· Update:该消息被用来在BGP对等体之间传递路由信息
· Notification:当BGP Speaker检测到错误的时候,就发送该消息
· Route-refresh:用来通知对等体自己支持路由刷新能力
4、BGP建立邻居的过程
BGP邻居成功建立的最终状态是Established状态
5、BGP邻居状态
四、什么是AFI模式
在AFI模式下,可以手动选择BGP需要传输的网络协议
· IPv4、IPv6单播
· IPv4、IPv6组播
· vpnv4及包含了VRF的的地址族
使用AFI模式配置BGP,不仅可以使得BGP配置命令逻辑性显得更加清晰,而且还有额外的安全加强的作用。它可以防止BGP的IPv4邻居自动建立。