1、BGP培训学习目标掌握掌握BGP协议的基本原理协议的基本原理掌握掌握BGP协议的路由属性及其应用协议的路由属性及其应用掌握掌握BGP协议的应用协议的应用掌握掌握BGP协议的配置和排错的方法协议的配置和排错的方法学学习完本完本课程,您程,您应该能能够:课程内容第一章第一章 BGP路由协议的原理路由协议的原理第二章第二章 BGP路由属性路由属性第三章第三章 BGP的应用的应用第四章第四章 BGP基本配置和排错基本配置和排错BGP协议概述BGP是“唯一”的EGP路由协议,主要用来在AS之间传递路由信息在AS之间是一种距离矢量的路由协议,应用特定的属性避免环路的发生路由信息携带丰富的属性传送协议:TC
2、P,端口号179支持CIDR(无类别域间选路)路由更新:只发送增量路由丰富的路由过滤和路由策略BGP协议基本概念(一)什么是自治系统(AS)?自治系统指由同一个技术管理机构管理、使用内部路由策略的一些路由器的集合。每个自治系统都有唯一的自治系统编号。自治系统的编号范围是1到65535,其中1到65411是注册的因特网编号,65412到65535是专用网络编号。BGP协议基本概念(二)为什么引入自治系统这一概念?引入自治系统的基本思想就是通过不同的编号来区分不同的自治系统。自治系统内部的路由协议 IGP如OSPF、IS-IS、RIP、EIGRP(cisco专有)自治系统之间的路由协议 BGP如:
3、EGP、BGPBGP工作机制(一)BGP工作机制(二)BGP邻居刚建立时,发送整个BGP路由表交换路由信息,之后为了更新路由表只交换更新消息(update message)。系统在运行过程中,通过接收和发送keep-alive消息来检测相互之间的连接是否正常的。一般情况下一条路由由自治系统内部的某种内部路由协议发现和计算产生,由自治系统边界路由器(ASBR)通过EBGP连接传播到其它自治系统中。路由在传播过程中可能会经过若干个自治系统,这些自治系统称为过渡自治系统(如:AS5)。若这个自治系统有多个边界路由器,这些路由器之间运行IBGP来交换路由信息。另外一种自治系统称为Stub AS(如:A
4、S1),其内部只有一个ASBR通过EBGP连接外部,同外部其他AS的通信要靠过渡自治系统来转接。BGP两种邻居IBGP和EBGPEBGPEBGPRTBRTCIBGPRTARTDRTEBGP路由通告原则存在多条路径时,BGP Speaker只选取最优的使用(非负载分担)BGP Speaker只把自己使用的路由通告给相邻体BGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP)BGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告(如果存在RR呢)BGP Speaker 从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况
5、来决定连接一建立,BGP Speaker按照以上原则,把自己所有BGP路由通告给新相邻体BGP路由表与系统路由表的关系存在多条路径时,BGP Speaker只选取最优的使用(非负载分担时)BGP Speaker只把自己使用的最优路由通告给相邻体BGP Speaker只把自己使用的最优的路由加入到路由表中BGP同步EBGPEBGPRTBRTCIBGPRTARTDRTERTFS0:1.1.1.2/24E0:10.1.1.1/24S0:1.1.1.1/24S1:2.1.1.2/24S0:2.1.1.1/24AS100AS200AS300成为BGP路由的途径之一:纯动态注入18.0.0.1/8OSPF
6、RTBAS200OSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由纯动态地注入到RTB的BGP路由表中成为BGP路由的途径之二:半动态注入18.0.0.1/8RTBAS200OSPFOSPF发现路由18.0.0.1/8把IGP(OSPF)发现的路由半动态地注入到RTB的BGP路由表中成为BGP路由的途径之三:静态注入18.0.0.1/8AS200人为配置静态路由18.0.0.1/8把人为配置的静态路由注入到RTB的BGP路由表中RTBBGP报文种类BGP报文有四种类型:Open:打招呼“你好,跟我交个朋友吧!”KeepAlive:我还活着呢,别不理我Update:有新闻.Not
7、ification:我不跟你玩了!BGP报文头BGP报文的格式是一样的,都是”报文头+报文体“的格式,下面给出的是BGP报文头:Marker(16 byte)Length(2 byte)Type(1 byte)Open报文Open报文是由报文头加如下结构构成的。Optional Paramenters LengthHold TimeVersionMy Autonomous SystemBGP IdentifierOptional ParamentersKeepAlive报文KeepAlive报文只有报文头。Marker(16 byte)Length(2 byte)Type(1 byte)Upd
8、ate报文Update报文由报文头加如下结构构成。Withdrawn RoutesUnfeasible Routes LengthPath Attribute LengthNetwork Layer Reachability InformationPath AttributeNotification报文Notification报文由报文头加如下结构构成。DataError CodeError Subcode错误代码123456错误类型消息头错OPEN消息错UPDATE消息错保持时间超时状态机错退出BGP协议的状态机ActiveOpen-sentOpen-confirmEstablishedId
9、leConnectConnect-Retrytimer expiryTCP connection failsConnect-Retrytimer expiryStartOthersTCP connection failsErrorErrorErrorKeepAlivetimer expiryKeepAlive packet received1.KeepAlive timer expiry2.Update received3.KeepAlive receivedCorrect OPENpacket receivedTCP connection setupTCP connection setupO
10、thersBGP协议中消息的应用通过TCP建立BGP连接时,发送open消息连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端路由信息稳定后此时要定时发送KEEPALIVE消息以保持BGP连接的有效性当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对端课程内容第一章第一章 BGP路由协议的原理路由协议的原理第二章第二章 BGP路由属性路由属性第三章第三章 BGP的应用的应用第四章第四章 BGP基本配置和排错基本配置和排错BGP的路由属性表达了路由的特征便于扩展过渡和非过渡的,必遵和可选的公认必遵(well-known mandatory)公认自
11、决(well-known discretionary)可选过渡(optional transitive)可选非过渡(optional non-transitive)常见BGP路由属性1、Origin2、AS-Path3、Next hop4、MED5、Local-Preference6、Atomic-Aggregate7、Aggregator8、Community9、Originator-ID10、Cluster-List11、Destination Pref(MCI)12、Advertiser(Baynet)13、Rcid-Path(Baynet)14、MP_Reach_NLRI15、MP_U
12、nreach_NLRI16、Extended_CommunitiesOrigin 属性一般的,具体的实现按如下方式决定一条路由的Origin属性某条路由是直接而具体的注入到BGP路由表中的,则origin属性为IGP路由是通过EGP得到的,则origin属性为EGP其他情形下,Origin属性都为 IncompleteAS-Path 属性D(18.0.0.0/8)AS200AS300AS400AS100AS500RTARTB30.0.0.130.0.0.2D,dl 400 300 200D,d2 500 200 D,d1 400 300 200D,d2 500 200Next Hop 属性18
13、.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.1AS100AS200IBGPIBGPEBGP RTB可经下一跳10.0.0.2到达18.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8 RTA可经下一跳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/8 RTC 可经下一跳10.0.0.1到达19.0.0.0/8可经下一跳10.0.0.3到达20.0.0.0/8Local-Pref
14、erence 属性AS400AS100AS300AS200RTARTBRTCRTDRTERTFD(18.0.0.0/8)30.0.0.130.0.0.220.0.0.120.0.0.2D,local-pref1 100D,local-pref2 200 D,local-pref1 100 D,local-pref2 200RTA就会优先选择本地就会优先选择本地优先级高的优先级高的local-pref2MED(Multi-Exit-DISC)属性D(18.0.0.0/8)RTARTBRTC30.0.0.130.0.0.220.0.0.120.0.0.2AS100AS200D,metric1 10
15、 D,metric2 20D,metric1 10D,metric2 20RTA会选择metric值较小的metric1IBGP团体(Community)属性团体是一组有相同性质的目的地的路由,一个团体不限于一个网络或一个自治系统,它没有物理边界。公认的团体:no-export带有该属性的路由信息不通告给AS外的BGP相邻体no-advertise带有该属性的路由信息不通告给任何BGP相邻体local-AS带有该属性的路由信息只通告给联盟EBGP相邻体Internet通告给所有其他路由器BGP路由选优过程综合起来,本地BGP路由选优的过程为:如果此路由的下一跳不可达,忽略此路由;选择本地优先级
16、较大的路由(Local-Preference);选择本地路由器始发的路由(network/aggregate);选择AS路径较短的路由(AS-Path);依次选择起点类型为IGP,EGP,Incomplete类型的路由(Origin);选择MED较小的路由;优选从EBGP学来的路由;优选AS内部IGP的Metric最低的路由;选择RouterID较小的路由;课程内容第一章第一章 BGP路由协议的原理路由协议的原理第二章第二章 BGP路由属性路由属性第三章第三章 BGP的应用的应用第四章第四章 BGP基本配置和排错基本配置和排错没有BGP的日子里OSPFRIPISISEIGRP有了BGP之后OS
17、PFRIPISISEIGRPBGPBGPBGP链路层协议生成生成路由,IGP收集收集路由,BGP加工加工路由AS的分类单口AS(stub AS)多归路非过渡AS(multihomed AS)过渡AS(transit AS)BGP强大的过滤功能可按照路由的IP地址过滤可依照路由经过的AS-Path过滤可以依照路由的属性过滤可以依照路由到来的接口过滤可以按照过滤的结果设置路由的属性BGP在大规模网络中需要解决的问题路由表庞大 超过85000条BGP聚合IBGP相邻体过多,逻辑全连接不现实BGP联盟BGP反射复杂网络环境中路由的变化十分频繁BGP衰减路由聚合两种常用的路由聚合方法1.使用networ
18、k命令发布一条聚合路由,前提是该聚合路由必须在路由表中存在2.使用aggregate命令进行聚合,前提是路由表中至少存在一条需要聚合的详细路由,可以使用参数控制只发布聚合路由还是发布聚合路由和详细路由或者部分详细路由3.路由聚合后,有可能产生环路,使用aggregate命令的时候使用参数 as-set来避免环路路由反射器的使用为了减少由于IBGP全连接而造成的N平方问题,产生了路由反射器。RR路由传播规则:(1)从EBGP邻居收到的路由发布自己所有客户机和非客户机(2)从IBGP邻居收到的路由发布自己所有客户机和EBGP邻居(3)从client邻居收到的路由发布自己所有客户机和非客户机A:RR
19、B:RRClientClientC D E F A:RRB:RRC D E FBGP衰减BGP对于频繁更新的路由引入了惩罚值的概念,当惩罚值达到一定值,该路由将被抑制。课程内容第一章第一章 BGP路由协议的原理路由协议的原理第二章第二章 BGP路由属性路由属性第三章第三章 BGP的应用的应用第四章第四章 BGP基本配置和排错基本配置和排错BGP基本配置说明:以下所有命令均为VRP3.1版本的命令行格式设置BGP的ROUTER IDquidway router id 10.0.0.1启动BGPquidway bgp 65500设置BGP邻居quidway-bgp peer 10.1.0.1 as
20、-number 17633quidway-bgp peer 10.1.0.1 connect-interface LoopBack0创建对等体组quidway-bgp group huawei将BGP邻居加入到对等体组中quidway-bgp peer 10.1.0.1 group huaweiBGP基本配置将其他协议的路由引入BGPquidway-bgp network 10.0.20.0 255.255.255.0quidway-bgp import-route static设置BGP反射器的群IDclientquidway-bgp reflect cluster-id 10.0.0.1设
21、置BGP反射器客户机 quidway-bgp peer 10.0.0.1 reflect-clientBGP路由协议排错BGP协议自身维护一张独立的路由表,用作路由信息选优,BGP speaker只把“有效”并且“最优”的路由信息传递给邻居。N确认邻居之间的确认邻居之间的TCP可达性可达性Y查看查看BGP邻居状态邻居状态检查设备配置检查设备配置Y修正设备配置修正设备配置NNY完成邻居之间完成邻居之间TCP可达性可达性拨打拨打800技术技术支持热线求支持热线求助!助!查看查看BGP路由表路由表NYBGP路由协议排错确认邻居之间的确认邻居之间的TCP可达性可达性N完成邻居之间完成邻居之间TCP可达
22、性可达性确认BGP邻居之间的TCP可达性:命令:命令:ping a source-ip-add destination-ip-add Interface loopback 0 ip address xxx.xxx.xxx.xxx 255.255.255.255Bgp 100 peer peer-ip-add as-number 100 peer peer-ip-add connect-interface loopback 0BGP路由协议排错查看查看BGP邻居状态邻居状态NY拨打拨打800技术技术支持热线求支持热线求助!助!查看查看BGP路由表路由表Y查看BGP邻居状态:查看BGP speak
23、er之间的邻居状态,如果达到“Established”状态,表示邻居正常建立display bgp peerNeighbor V AS MsgRcvd MsgSent OutQ Up/Down State 220.163.42.62 4 100 6818 6895 0 14h48m Established查看BGP路由表:display bgp routFlags:#-valid -active I internal D-damped H-history S-aggregate suppressed Dest/Mask Next-hop Med Local-pref Origin As-path-#10.110.48.0/21 0.0.0.0 IGP 课程总结在本课程中我们学习了BGP协议的基本原理和丰富的属性特征,和这些属性的应用,还学习了BGP路由协议在大规模网络中的应用,最后学习了BGP协议配置和排错的方法。