BGP概述:
BGP(Border Gateway Protocol,边界网关协议)是一个距离矢量路由协议,和传统的基于下一跳的IGP协议不同,它是基于AS(自治系统)的协议。BGP属于外部网关路由协议,它解决的是AS之间的选路问题,因此,它更适合用于互联网。
BGP的特点:
BGP报文类型:
BGP状态和工作流程
BGP的路由属性
常见的几个BGP路由属性:
1. 源(ORIGIN)属性
ORIGIN属性定义了路由信息的来源,标记一条BGP路由是怎么生成的。它有以下三种类型:
2. AS路径(AS_PATH)属性
该属性按照矢量顺序记录某条路由从本地到目的地址要经过的所有AS编号,在接受路由时,设备如果发现AS-PATH列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路。AS_PATH属性有以下两种类型:
3. 下一跳(NEXT_HOP)属性
BGP的NEXT_HOP属性取值不一定是邻居路由器的IP地址。NEXT_HOP属性取值情况分为几种:
4. MED(Multi-Exit Discriminator,多出口区分)属性
MED属性仅在相邻两个AS之间交换,收到此属性的AS不会再将其通告给其它AS。MED属性相当于IGP使用的度量值(metrics),它用于判断流量进入AS时的最佳路由。当一个BGP路由器通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。
5. 本地优先(LOCAL_PREF)属性
LOCAL_PREF属性仅在IBGP对等体之间交换,不通告给其他AS。它表明BGP路由器的优先级。LOCAL_PREF属性用于判断流量离开AS时的最佳路由。当BGP路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择LOCAL_PREF属性值较高的路由。
6. 团体(COMMUNITY)属性
BGP将具有相同特征的路由归为一组,称为一个团体,通过在路由中携带团体属性标识路由所属的团体。团体没有物理上的边界,不同AS的路由可以属于同一个团体。根据需要,一条路由可以携带一个或多个团体属性值。接收到该路由的路由器可以通过比较团体属性值对路由作出适当的处理(比如决定是否发布该路由、在什么范围发布等),而不需要匹配复杂的过滤规则(如ACL),从而简化路由策略的应用和降低维护管理的难度。
公认的团体属性有:
除了公认的团体属性外,用户还可以使用团体属性列表自定义团体属性,以便更为灵活地控制路由策略。
BGP的选路规则
BGP选择路由的过程为: