RA-001BGP协议原理及配置ISSUE2.0日期:杭州华三通信技术有限公司版权所有,未经授权不得使用与传播叙述BGP路由协议的原理配置BGP路由协议调试和维护BGP协议处理大规模网络中BGP的应用课程目标学习完本课程,您应该能够:BGP路由协议的原理BGP路由属性配置BGP路由协议处理大规模网络中BGP的应用目录协议概述BGP是外部路由协议,用来在AS之间传递路由信息是一种距离矢量的路由协议,从设计上避免了环路的发生为路由附带属性信息传送协议:TCP,端口号179支持CIDR(无类别域间路由)路由更新:只发送增量路由丰富的路由过滤和路由策略协议基本概念什么是自治系统(AS)为什么引入自治系统这一概念自治系统内部的路由协议自治系统之间的路由协议两种邻居-IBGP和EBGPEBGPRTAAS100EBGPRTEAS300路由通告原则多条路径时,BGPSpeaker只选最优的给自己使用BGPSpeaker只把自己使用的路由通告给相邻体BGPSpeaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP)BGPSpeaker从IBGP获得的路由不向它的IBGP相邻体通告BGPSpeaker从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定连接一建立,BGPSpeaker将把自己所有BGP路由通告给新相邻体:1.1.1.2/24E0/0:10.1.1.1/24S1/0:1.1.1.1/24S1/0:2.1.1.2/24S1/0:3.1.1.1/24AS100AS200AS300路由的途径之一:纯动态注入OSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由通过import命令注入到RTB的BGP路由表中18.0.0.1/8OSPFRTBAS200路由的途径之一:半动态注入OSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由通过network命令注入到RTB的BGP路由表中18.0.0.1/8RTBAS200OSPF路由的途径之三:静态注入人为配置静态路由18.0.0.1/8把人为配置的静态路由通过network命令注入到RTB的BGP路由表中18.0.0.1/8AS200RTB报文有四种类型:Open:打招呼“你好,跟我交个朋友吧!”KeepAlive:我还活着呢,别不理我。Update:有新闻......Notification:我不跟你玩了!报文的格式是一样的:都是“报文头+报文体”的格式,下面给出的是BGP报文头:Marker(16byte)Length(2byte)Type(1byte)(16byte)Length(2byte)Type(1byte)KeepAlive报文只有报文头协议中消息的应用通过TCP建立BGP连接时,发送open消息连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端路由信息稳定后此时要定时发送KEEPALIVE消息以保持BGP连接的有效性当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对端BGP路由协议的原理BGP路由属性配置BGP路由协议处理大规模网络中BGP的应用目录的路由属性表达了路由的特征过渡和非过渡的必遵和可选的便于扩展截至目前共16种属性、Origin2、AS-Path3、Nexthop4、MED5、Local-Preference6、Atomic-Aggregate7、Aggregator8、Community9、Originator-ID10、Cluster-List11、DestinationPref(MCI)12、Advertiser(Baynet)13、Rcid-Path(Baynet)14、MP_Reach_NLRI15、MP_Unreach_NLRI16、Extended_Communities起点(Origin)属性一般的,具体的实现按如下方式决定一条路由的Origin属性某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP路由是通过EGP得到的,则origin属性为EGP其他情形下,Origin属性都为Incomplete路径(AS-Path)属性D(18.0.0.0/8)AS200AS300AS400AS100AS500RTARTB30.0.0.130.0.0.2D,dl400300200D,d2500200D,d1400300200D,d2500200下一跳(NextHop)属性18.0.0.0/820.0.0.0/8RTARTCRTBRTD19.0.0.0/821.0.0.221.0.0.110.0.0.210.0.0.310.0.0.1AS100AS200IBGPIBGPEBGPRTB可经下一跳10.0.0.2到达18.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8RTA可经下一跳10.0.0.2到达18.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8可经下一跳21.0.0.1到达19.0.0.0/8RTC可经下一跳10.0.0.1到达19.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8本地优先属性(Local-preference)AS400AS100AS300AS200RTARTBRTCRTDRTERTFD(18.0.0.0/8)30.0.0.130.0.0.220.0.0.120.0.0.2D,local-pref1100D,local-pref2200D,local-pref1100D,local-pref2200RTA就会优先选择本地优先级高的local-pref2(Multi-Exit-DISC)属性D(18.0.0.0/8)RTARTBRTC30.0.0.130.0.0.220.0.0.120.0.0.2AS100AS200D,metric110D,metric220D,metric110D,metric220IBGPRTA会选择metric值较小的metric1团体(Community)属性团体是一组有相同性质的目的地的路由,一个团体不限于一个网络或一个自治系统,它没有物理边界。公认的团体:no-export不通告给联盟/AS外的BGP相邻体no-advertise不通告给任何BGP相邻体local-AS不通告给EBGP相邻体Internet通告给所有其他路由器路由选择过程综合起来,本地BGP路由选择的过程为:(1)如果此路由的下一跳不可达,忽略此路由(2)选择本地优先级较大的路由(3)选择本地路由器始发的路由(本地优先级相同)(4)选择AS路径较短的路由(5)依次选择起点类型为IGP,EGP,Incomplete类型的路由(6)选择MED较小的路由(7)选择从EBGP学来的路由(8)选择AS内部最短的路径可达的路由(9)选择BGPRouterID较小的路由BGP路由协议的原理BGP路由属性配置BGP路由协议处理大规模网络中BGP的应用目录基本配置启动BGPbgpas-number创建对等体组groupgroup-name{[internal]|external}将对等体加入对等体组peerpeer-addressgroupgroup-nameBGP路由注入networkip-address[address-mask]import-routeprotocol[medmed-value]:1.1.1.2/24E0/0:10.1.1.1/24S1/0:1.1.1.1/24S1/1:2.1.1.2/24S1/0:3.1.1.1/24AS100AS200AS300S1/1:4.1.1.1/24S1/0:4.1.1.2/24参数配置BGP定时器peer{group-name|peer-address}timerkeep-alivekeepalive-intervalholdholdtime-interval配置向对等体发送update报文的时间间隔peer{group-name}route-update-intervalseconds路由策略配置对等体/对等体组基于ip-prefix的路由过滤策略peer{group-name|peer-address}ip-prefixprefixname{import|export}配置对等体/对等体组基于filter-policy的过滤策略peer{group-name|peer-address}filter-