自治系统(AS):由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。
IGP | 内部网关协议 | 运行于AS内部 | 着重于发现和计算路由 | 主要有:RIP、OSPF、ISIS |
EGP | 外部网关协议 | 运行于AS之间 | 着重于控制路由的传播和选择最优的路由 | 主要有:BGP |
BGP边界网关协议 距离矢量算法
BGP是外部路由协议,用来在AS之间传递路由信息
是一种增强的距离矢量路由协议
可靠的路由更新机制
丰富的Metric度量方法
从设计上避免了环路的发生
为路由附带属性信息
支持CIDR(无类别域间选路)
丰富的路由过滤和路由策略
BGP可靠的路由更新,采用TCP179端口,无需周期性更新,路由更新只发送增量路由,周期性发送keepalive报文检测TCP的连通性
运行BGP协议的路由器称为BGP发言者 BGP speaker
相互之间存在TCP连接、相互交换路由信息的BGP发言者之间胡成为BGP对等体(BGP Peer)
BGP两种邻居关系
IBGP:两个BGP speak位于同一个AS内
EBGP:两个BGP speak位于不同一个AS内
BGP如何方式环路
1、AS内防止环路 从IBGP邻居获得的路由不会向其他IBGP邻居发送
2、AS间如何防止 通过AS_PATH属性
BGP基本作用:AS之间使用BGP来传递和控制路由。
运行在不同AS之间的BGP路由器建立的邻居关系为EBGP(External BGP)邻居关系。
运行在相同AS内的BGP路由器建立的邻居关系为IBGP(Internal BGP)邻居关系。
BGP路由生成方式
BGP路由生成方式--network
Network命令是逐条将IP路由表中已经存在的路由引入到BGP路由表中。
BGP路由生成方式--import
Import命令是根据运行的路由协议(RIP,OSPF,ISIS等)将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由。
BGP通告原则:
1,BGP通告原则之一:仅将自己的最优的路由发布给邻居
2,BGP通告原则之二:通过EBGP获得最优路由发布给所有BGP邻居(包括IBGP邻居和EBGP邻居)
3,BGP通告原则之三:通过IBGP获得的最优路由不会发布给其他的IBGP邻居(防止环路)
在AS要求所有BGP路由器全互联
4、BGP通告原则之四:BGP与IGP同步
BGP五种报文类型:
Open:负责和对等体建立邻居关系
KeepAlive:该消息在对等体之间周期性地发送,用以维护连接
Update:该消息被用来在BGP对等体之间传递路由信息
Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体
Route-refresh:用来通知对等体自己支持的路由刷新能力
BGP属性
公认属性是所有BGP路由器都必须识别的属性
公认必遵(Well-known Mandatory)所有BGP路由器都可以识别,且必须存在于Update消息中。如果缺少这种属性,路由信息就会报错。
公认任意(Well-known Discretionary)所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来决定是否添加到Update消息中。
可选属性不需要都被BGP路由器所识别
可选过渡(Optional Transitive)BGP路由器可以选择是否在Update消息中携带这种属性。接受的路由器如果不识别这种属性,可以转发给邻居路由器,邻居路由器可能会识别并使用到这种属性。
可选非过渡(Optional Non-Transitive)BGP路由器可以选择是否在Update消息中携带这种属性。在整个路由发布的路径上,如果部分路由器不能识别这种属性,可能会导致该属性无法发挥效用。因此接收的路由器如果不识别这种属性,将丢弃这种属性,不必再转发给邻居路由器。
属性功能
起点
通过network命令注入BGP的路由 | IGP |
通过EGP(RFC904)学到的路由 | EGP |
通过import命令注入BGP的路由 | Incomplete |
AS路径(AS_PATH)属性
记录途径过之后的AS编号,对于含有自己AS编号的路由进行丢弃,防止环路
Next_hop下一跳属性
向内网BGP通告时,不会更改下一跳
本地优先级属性 (Local-Preference)
用以出去进行选路 优先级来比较 默认是100 该值越大越优先
MED (Multi-Exit-DISC) 属性
用以进入进行选路 默认是0 该值越小越优先
Community团体属性
限定路由的传播范围,打标记,便于对符合相同条件的路由进行统一处理
Preference Value是BGP的私有属性(华为私有属性),Preference Value相当于选路规则中Weight值,仅在本地路由器生效。Preference Value值越大,越优先。
BGP路由优选原则
BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:
- 该路由是到达目的地的唯一路由,直接优选。
- 对到达同一目的地的多条路由,优选优先级最高的。
- 对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。
一般来说,BGP计算路由优先级的规则如下:
- 丢弃下一跳不可达的路由。
- 优选Preference_Value值最高的路由(私有属性,仅本地有效)。
- 优选本地优先级(Local_Preference)最高的路由。
- 优选手动聚合>自动聚合>network>import>从对等体学到的。
- 优选AS_Path短的路由。
- 起源类型IGP>EGP>Incomplete。
- 对于来自同一AS的路由,优选MED值小的。
- 优选从EBGP学来的路由(EBGP>IBGP)。
- 优选AS内部IGP的Metric最小的路由。
- 优选Cluster_List最短的路由。
- 优选Orginator_ID最小的路由。
- 优选Router_ID最小的路由器发布的路由。
- 优选具有较小IP地址的邻居学来的路由。
路由聚合:减少路由条目
RIP支持自动聚合和手动聚合
OSPF只支持手动聚合(必须是ABR或者ASBR)
BGP支持自动聚合和手工聚合
BGP路由聚合方法
1、静态
2、自动聚合
3、手动聚合
BGP路由聚合带来的问题--潜在的环路
解决方法:路由聚合带AS_SET(记录了被聚合路由所经过的AS)