




免费预览已结束,剩余86页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
超详细破析BGP路由选择协议详细版141 谁需要BGP BGP是一种路径矢量路由协议,用于传输自治系统间的路由信息,BGP在启动的时候传播整张路由表,以后只传播网络变化的部分触发更新,它采用TCP连接传送信息,端口号为179,在Internet上,BGP需要通告的路由数目极大,由于TCP提供了可靠的传送机制,同时TCP使用滑动窗口机制,使得BGP可以不断地发送分组,而无需像OSPF或EIGRP那样停止发送并等待确认。 142 BGP简介 BGP是路径矢量协议,它使用一个AS号列表,数据包必须通过这些AS才能到达目的,同时对产生的AS-path做一定的策略。AS-Path对于路由环路非常容易检测到,如果路由器接受到一条含有本地AS号的AS-path,说明出现环路。 BGP没有给出每个AS域内的拓扑结构,因此BGP只能看到AS树,而IGP只能看到AS域内拓扑结构, 下图是一个典型的BGP路由表 route-servershow ip bgp当某个特殊目的网络有并列的,等开销的路径时,Cisco缺省执行EBGP只选择一条路径,但可以使用maximum-paths改变并行路径缺省的最大数目,但仅对EBGP有效。143 BGP消息类型Open Message TCP对话建立以后,两个邻居都要发送一个Open消息,每个邻居都用该消息来标示自己,并规定自己的BGP运行参数BGP version 它明确了发起者正在运行的BGP版本号(2,3,4),可以通过neighbor version修改,缺省版本号为4。如果版本号不相同,路由器将自动降低版本号重发Open消息,直到版本一致AS number 发起会话路由器的AS号,用于确认EBGP或者IBGP会话Hold time 路由器必须收到一个keepalive或者更新消息之前允许经过的最大秒数。Holdtime必须是0(在这种情况下,必须是没有发送Keepalive)或者至少3s。Cisco默认的holdtime为180s,如果两个邻居间holdtime不一致,选较短的那个做为两者可接受的时间BGP router-ID 选取方式和OSPF相同,使用数值最大的loopback口地址,没有loopback则使用物理接 口上数值最大的地址Optional parameters 用于一些可选功能的支持.例如鉴别,多协议支持及路由刷新等Keepalive Message 如果路由器接受了他在邻居的Open消息中的参数,它就会发送一个应答的Keepalive消息。 默认情况Keepalive间隔 60s,或者是达成一致的保持时间的1/3Update MessageNotification Message 当检测到差错的时候就会发送Notification消息,通常会导致BGP连接终止,例如使用Notification消息进行BGP版本的协商144 BGP有限状态机Idle Statea) BGP通常以Idle State开始(此时拒绝接收所有入连接)。当一个开始事件出现,BGP过程初始化所有BGP资源,打开重试连接(ConnectRetry)计时器,初始化到邻居的TCP连接,接听来自邻居的TCP初始化消息并将它的状态转到Connect状态.b) 开始事件是由一个操作者配置一个BGP过程,或者重置一个已经存在的过程或者路由器软件重置BGP过程引起c) 一个差错的出现会将BGP过程的状态转为Idle.路由器可能会试图发起另外一个开始事件.为了防止在持续差错条件下导致的摆动,在第一次转回到空闲状态后,路由器会自动开启重试连接计时器,当计时器终止后,路由器就会放弃重新开始BGP.重试计时器第一次的时间为60s,下一次为前一次的2倍120s,成指数形式增加Connect State 此状态下BGP过程会等到TCP连接完成以后再决定后续的动作.1. 如果TCP连接建立成功,BGP连接将ConnectRetry清零,完成初始化并给邻居发送一个Open消息,转移到Open状态2. 如果TCP连接建立失败,BGP继续监听由邻居发起的连接,重置ConnectRetry计时器并转移到Active状态3. 如果在连接状态下,ConnectRetry超时,计时器将重新开始,并再一次试图与邻居建立TCP连接,BGP保持Connect状态,此时如果有任何其他输入事件,转入Idle状态Active State 在此状态,BGP过程试图与邻居建立一个TCP连接1. 如果连接成功,BGP过程将ConnectRetry计时器清零,完成初始化,给邻居发送一个Open消息并转移到发送Open消息状态,Hold计时器设置为4mins2. 如果在激活状态,ConnectRelay计时器超时,将回到ConnectState并且重置ConnectRelay计时器.也发起一个到对等的TCP连接并继续监听来自对等体的连接.3. 如果邻居试图与一个未知IP建立TCP会话,同时ConnectRelay计时器重置,连接被拒绝并保持在Active状态4. 任何一个事件(除开始事件)都回导致状态转向idleOpen send State在此状态下,已经发送了Open消息,BGP等待邻居发来的Open消息,1. 当收到一个Open消息,如果发现差错,将给邻居发一个Notification消息并转入Idle状态2. 如果收到的Open消息没有差错,将给邻居发送一个Keepalive消息并将Keepalive计时器清零,此时协商一个较短的holdtime,如果为0,则没有启动Hold和keepalive计时器,根据AS号选择IBGP或者EBGP,同时将状态转移到OpenConfirm状态3. 如果收到一个TCP断开消息,本地断开BGP连接,重置ConnectRetry计时器,并转入Active状态Open Confirm State此状态下BGP会等待一个Keepalive消息或者Notification消息1. 如果收到一个Keepalive消息,转移到Establish状态2. 如果收到一个Notification消息,转入Idle状态,并断开TCP连接3. 如果Hold计时器超时,检测到一个差错或出现stop事件,BGP将给邻居发送一个Notification并断开连接,转入Idle状态Establish State 此状态下,BGP对等体间的连接已经完全建立,可以交换Update Keepalive和Notification消息,如果收到Notification自动转入Idle,并中断连接145 路径属性BGP路径属性分为4类1. Well-known mandatory 公认必遵 所有的BGP路由器必须识别(Update消息必须包含该属性)2. Well-known discretionary 公认可遵 所有BGP路由器都能识别,但不是一定需要(Update消息可以不包含该属性或者该属性任选)3. Optional transitive 可选传递 不是所有的BGP路由器都能识别,但所有BGP路由器都能传递它 (此属性即使BGP路由器不接受也可以传递)4. Optional nontransitive 可选非传递 不是所有的BGP路由器都能识别,不能识别BGP路由器丢弃它 (此属性如果BGP路由器不接受则立即丢弃此消息,不再传递)ORIGIN 属于公认必选属性,明确了路由更新的来源,用于判断路由可信度,当BGP有多条路由来源时,路由器会将ORIGIN做为路由决策的参考 来源有如下几类: IGP-从AS内部学到,ORIGIN为0 EGP-NLRI从EGP学到,ORIGIN为1 Incomplete-NLRI通过其他手段获得,ORIGIN为3 一般来说具有较低ORIGIN值得前缀被优先选取, IGPBGP重分布 例如通过重分布进入BGP,ORIGIN属性为3,通过Network命令注入其ORIGIN为0 AS_PATH 描述一个路由传递过程中经过那一些AS(不算自己,从离自己最近的AS开始,以目的网段的AS结束),为了避免AS环路,如果从外部收到一条包含自己AS的路由,就说明有环路,此时BGP将丢弃该路由 通常一条AS_PATH含有多个同一AS号,用于加长AS_PATH,提供策略选路,如下图Next_Hop 该属性描述了到公布目的地址的路径的下一跳路由器的IP地址 1 如果正在进行路由通告的路由器和接收的路由器在不同的AS中,Next_Hop为正在宣告的路由器接口的ip2 如果正在宣告的路由器和接收的路由器在同一个AS内,并且更新消息中NLRI目的地也在同一个AS中,则next_hop为一宣告的路由的邻居的ip3 如果正在宣告的路由器和接收的路由器是内部对等体,并且更新消息的NLRI指向不同AS,则Next_hop为学习到路由的外部对等实体的ipLocal_Pref仅用在本地AS,不会传到其他AS,具有较高Local_pref的路由将被优先考虑,默认值100 如下图,优先考虑ISP1的路由Multi_Exit_Disc(MED) Local_Pref仅影响离开AS的业务量,而MED用于影响流入AS的业务量,它允许一个AS将其首选入口通知给另一个AS,具有最低MED值的路由作为首选Atomic_Aggregate and Aggregator BGP支持向另一个BGP路由器传递重叠的路由,BGP有如下重叠处理选项1 同时公布精细和初略的路由2 只公布精细路由3 之公布路由中没有重叠的部分4 聚合两条路由并公布聚合后的路由5 两者都不公布如右图即为在进行聚合时导致了路由信息丢失Atomic_Aggregate属性即是用来警告下游路由器聚合时产生路径信息丢失,可设置附加属性Aggregate来通告汇聚点,Cisco采用BGP-RID来作为Aggregator地址,如下图Weight Cisco专有,对于离开AS的报文,从多条路径中选择哪一条。它是不传递的。缺省下从对等体学到的所有路由器的权重值是0,由本地路由器产生的所有路由的权重值是32768选路时优先选用权值最高的路径Comunity 使可以向一组源路由使用相同的策略,即一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同特性。它有4个字节 前面两个字节的AS号,后面两个字节的管理上定义表示符,而Cisco正好反过来,用ip bgpcommuity new-format改过来 当对团体路由进行聚合时,聚合路由继承了所有路由的全部团体属性NO_EXPORT的团体属性,携带该属性的路由允许在邻居AS内公布但不允许邻居AS把路由公布其他AS NONE属性删除现存的团体属性 NO_ADVERTISE属性指不在IBGP邻居间传递带有该属性的路由 DELETE属性用于只删除匹配特定团体列表的属性ORIGINATOR_ID 由路由反射器(RR)使用,它是有路由发起者产生的一个32比特的值,该值是本地AS里路由发起者的RID,如果路由器发起者从该属性值中看到了自己的RID,就说明有环路,该路由忽略 Cluster_LIST 由路由反射器使用,它是路由经过反射器簇ID的一个序号。如果路由反射器在该属性值中发现自己的本地簇ID,就说明有环路,忽略掉。如果一个簇里不止一个RR,要在进程下用bgp cluster-id手工指定簇ID,因为默认RR将自己的RID当成cluster-idAS_SET 由于聚合时AS_PATH中数据丢失,导致产生环路的潜在因素增加,因此加入AS_SET字段,通告汇聚时包含的AS号AS_PATH替代了ATOMIC_AGGREGATE的功能, 但也有其缺点:如聚合的网络出现故障,AS_SET的改变将通告到聚合点以外146 BGP选路规则 BGP路由信息库(RIB)包括 13, 选择邻居ip地址最小的路由147 BGP路由惩罚 路由抑制可以阻止公布不稳定的路由,它为每条路由分配一个动态的度量数字用来反映稳定程度,当一条路由出现摆动,就给他分配一个惩罚值,摆动得越多,惩罚值越大。当一段时间不摆动,惩罚值降低,在一个半衰期后,降到原来的一半。如果惩罚值超过抑制上限,该路由就被抑制,只有当一个半衰期后惩罚值降低到重新使用界限时,才重新使用。 缺省下, 惩罚值 每次摆动1000 抑制界限 2000 重新使用界限 750 半衰期 15分钟 最大抑制时间 60分钟,或者半衰期的4倍148 iBGP和IGP的同步 在某些情况下将IGBP当IGP使用,但是每个IBGP路由器必须与其它每一个IBGP路由器建立对等,即必须保证AS内IBGP全互连,全互连可以防止AS内产生BGP环路,同时保证BGP路由上的所有路由器都知道如何转发数据包到目的地14.8.1 IBGP和IGP同步规则 一条从IBGP邻居学习到的路由在进入IGP路由表或者公布给一个BGP对端之前,通过IGP必须知道该路由. 同步可以防止没有足够信息的IGP造成路由黑洞.但也会带来很多缺陷,为了使IBGP工作正常,可以采用2种方法:1将外部路由重分发到IGP中从而保证IGP和BGP同步,但对于IGP路由器一般无法承受巨大的internet路由条目,在几个大型的中断事故中,多数是BGP无意中被分发到了OSPF或者IS-IS中 2。IBGP为逻辑上全网状连接,且关闭同步功能,所有路由器通过BGP知道外部路由,且不用通知IGP就能将路由加入到路由表中,但如果一个AS中有多个IBGP路由器,一个路由器将于其他每个路由器建立对等,十分耗时,故常采用联盟或者路由反射器来控制IBGP逻辑上的全互连.同步是一个较老的BGP特性,在新版的IOS中,同步默认被关闭 下图为关闭同步前后的区别,前者为同步打开,后者为同步关闭Seattle#show ip bgp BGP table version is 7, local router ID is 206.25.193.1149 管理大型网络中的BGP 在一个较大规模的AS中试图生成全互连的IBGP对等关系是一个规模庞大的工作,同时对于BGP对等关系的管理也十分复杂。BGP设计了如下4种方式对对等关系进行管理14.9.1 对等体组(Peer Group) 在大型互联网络中,一个路由器的策略会应用到多个对等关系,在Cisco路由器中可以使用一个名字和一系列的路由策略来定义一个对等组(Peer Groups),任何对等策略对整个group生效,对等组提高了路由器性能,只需访问一次策略数据库,生成一个Update消息,并将副本发给所有的对等体即可。14.9.2 团体属性(Communities) 相对于PeerGroups是对一组路由器使用策略,而团体(Communities)是对一组路由是用策略,团体可设置成为一个公用的值或者管理员定义的特有团体,一条路由可以属于多个团体,路由聚合可以继承所有路由的全部团体属性14.9.3 路由反射器(Route reflectors) 由反射器(Route reflectors) 在大型的AS中,全互连带来极大的工作量,通过路由反射器(RR)可以建立一种C/S结构,如一个含有N个路由器的AS内,全互连将使用对等会话数目为(N-2)N/2,如果选取一个RR,则对等会话数目将降为N-1。对一个C/S结构称其为一个RR-Cluster。RR公布路由的规则:1,如果路由是从非客户的IBGP对等学习到的,只将它反射给客户 2,如果路由是从客户处学习到的,将它反射给除了发起该路由的客户外 所有的客户以及非客户 3,如果路由是从EBGP邻居学来的,将它反射给所有的客户和非客户 将一个路由器配置成路由反射器(RR),用neigbhor route-reflect-client把自己配成反射器,由该命令所定义的IBGP邻居路由器当成客户机,这些客户机只与RR建立对等关系。RR不能改动它从客户处收到的路由的属性。在一个AS内可以做RR冗余,因为客户并不知道自己是客户,所有一个RR可以是另一个路由反射器的客户。只需要RR支持路由反射,客户不需要支持RR使用了2个BGP路径属性:ORIGINATOR_ID由路由反射器(RR)使用,它是有路由发起者产生的一个32比特的值,该值是本地AS里路由发起者的RID,如果路由器发起者从该属性值中看到了自己的RID,就说明有环路,该路由忽略Cluster_LIST由路由反射器使用,它是路由经过反射器簇ID的一个序号。如果路由反射器在该属性值中发现自己的本地簇ID,就说明有环路,忽略掉。如果一个簇里不止一个RR,要在进程下用bgp cluster-id手工指定簇ID,因为默认RR将自己的RID当成cluster-id14.9.4 联盟属性(Confederations)1410 BGP消息格式 14.10.1 BGP Message Header BGP消息信头包含了标记,长度和类型3个字段14.11.2 BGP和IGP间的重分发 通过在BGP路由进程模式下 redistribute eigrp 300 可将IGP注入到BGP中,其度量值为以前路由协议的度量值,可以通过Default-metric 修改,重分发到BGP后有部分管理员不想公开的IGP路由,需使用路由过滤器过滤掉。另一方面,AS内的非运行BGP的路由可能需要一定的外部路由信息,如左图中的AngelFire需要从Taos知道AS300 AS100的路由信息,则需要在Taos上做重分发 redistribute bgp 200 metric 10000 100 255 1 1500不过一般禁止这样使用,如果Taos是一个internet上的BGP路由器,重分发后极大数目的路由将会进入IGP,导致IGP崩溃,此种重分发一般只用在具有有限前缀的企业网络,此时Taos可以加入一条静态路由 ip route 192.168.250.0 255.255.255.0 Serial0此时192.168.1.212/30将不会通告给AngelFire,同时192.168.250.0的摆动仅会影响到Taos,不会影响到Angelfire14.11.3 BGP默认路由 对于上图的AS200,仅有一个出口,则可以在出口上做默认路由 ip route 0.0.0.0 0.0.0.0 Serial0也可以配置成BGP通告的默认路由,此时只需ip route 0.0.0.0 0.0.0.0 Null0同时也可以使用neighbor 192.168.1.225 default-originate 此时类似于OSPF的default-information-originate always此时不管路由器实际上有没有缺省路由,neighbor 192.168.1.225 distribute-list 1 out ! access-list 1 permit 0.0.0.0 access-list 1 deny any都将公布一条默认路由。如果只想发布默认路由,通过distribute-list过滤14.11.4 IBGP without an IGP 如图,通过配置AS100的3台路由器的neighbor使其全互连此时必须关闭同步功能,如果同步功能打开,IBGP路由无法加入路由表注:关闭工作状态的BGP进程的同步后,需要重新启动BGP进程在Vail和Telluride上可以使用 neighbor next-hop-self此后,在公布学到的EBGP路由时将会以自己的地址做为下一跳,使用回环口做BGP进程接口 neighbor 1.1.1.1 update-source loopback 014.11.5 EBGP多跳 由于EBGP需要直接连接,且数据报文TTL值为1,update-source为loopback时,需要经过多跳,所以可以定义:14.11.6 聚合路由一种方法是建立一条静态的到Null0的路由,让BGP通告出去,另一种方法是采用Aggregate-address 192.168.192.0 255.255.248.0Summary-only:用于只公布聚会和的路由,不公布具体地址,并且在BGP路由表中用S表示如上图, AS100-AS200需要通告精细路由和汇聚路由,200-300只通告汇聚地址。配置如下:suppress-map: 利用suppress-map 也可以抑制选中的前缀 例如 在Stowe链路上公布192.168.192194.0 在mammoth上公布196197.0不公布195.0 199.0attribute-map: 用于改变聚合路由属性attribute-map: 用于改变聚合路由属性aggregate-address 192.168.192.0 255.255.248.0 as-setAdvertise-map: 在公布带有as-set的聚合路由时,不希望该聚合路由继承所有被聚合路由的所有属性1412 管理BGP连接1413 路由策略14.13.1 重置BGP连接 运行BGP的路由器,当如下配置出现变化后必须重置BGP连接1 补充或者改变与BGP有关的访问列表2 改变与BGP有关的权值3 改变与BGP有关的分配列表4 改变与BGP有关的计时器的相关规定5 改变BGP的管理距离6 改变与BGP有关的route-map可以使用软重置连接,但软重置连接将会带来较大的内存消耗,需要留意内存使用情况 首先需要对邻居配置neighbor 192.168.1.253 soft-reconfiguration inboundClear ip bgp 192.168.1.253 soft out|in14.13.2 Distribute-list 过滤路由14.13.3 正则表达式14.13.4 AS-PATH过滤 Neighbor distribute-list可以对NLRI处理,as_path过滤则是对AS的处理。14.13.5 Route-Map过滤14.13.7 管理距离和后门路由14.13.8 Local_Pref和MED属性14.13.9 调整AS_path14.13.10 路由标记14.13.11 路由惩罚bgp dampening half-life reuse suppress max-suppress 被抑制的BGP路由表里标记d 和h show ip bgp flap-statistics | dampened-paths可以查看被抑制的路由 可以使用 clear ip bgp flap-statistics|dampened-paths 清楚被抑制的路由条目 例如 clear ip bgp flap-statistics regexp _30_ 来清除所有As_path含有AS 30的被抑制的路由条目1414 大型 BGPBGP Communities 团体可以对一组路由使用相同的策略BGP Confederations BGP联盟可以使管理者将大型的AS分割成小型的AS,而这些小型AS对外部是隐藏的 联盟属性如下:1 在联盟内部保留联盟外部的路由的NEXT_HOP属性2 公布给联盟的路由的MED属性在整个联盟范围内予以保留3 路由的Local_pref属性在整个联盟范围内予以保留4 在联盟范围内,将成员AS号加入AS_PATH,但并不公布到联盟外,使用type 3,4 的AS_PATH5 AS_PATH中的联盟AS号用于避免环路,当联盟内选择一个最短的AS_PATH可以考虑不使用联盟AS号Route Reflectors1415 BGP命令解析Aggregate-address address mask 用于手工汇聚路由,不加参数表示创建一条汇聚路由,但并不抑制精细路由Aggregate-address address mask as-set 用于手工汇聚路由,AS-set用于在汇聚时加入汇聚地址和AS_SET字段,防止产生路由环路 neighbor ip-address | peer-group-name default-originate route-maproute-map-nameneighbor ip-address | peer-grp distribute-list acl-number-or-name prefix-list-name in|out例如CCIE_lab考试一道题目:要求aggregate 不使用no-summary参数而抑制精细路由,其配置如下:neighbor ip-address | peer-group-name ebgp-multihop maximum-hop-countEBGP多跳,用于如下的网络拓扑结构,EBGP邻居间没有直接连接,需要EBGP多跳解决,默认EBGP多跳开启后,Default 255不打开,EBGP多跳为1。neighbor ip-address | peer-group-name filter-list as-path-list-number in|outneighbor ip-address | peer-group-name filter-list as-path-list-numberweight weightneighbor ip-address | peer-group-name next-hop-self 当一个BGP路由器学到一条EBGP路由,他发送给IBGP路由器时Next-hop属性是默认不更改的RouterB从A学到一条IBGP路由,当他通告给EBGP邻居C时,将不会修改下一跳,依旧保留A的下一跳属性对于一个NBMA型的网络neighbor ip-address | peer-group-name password password在BGP对等链路上启用TCP MD5认证neighbor ip-address peer-group peer-group-name定义对等体组,简化配置neighbor ip-address | peer-group-name prefix-list prefix-list-name in|outneighbor ip-address | peer-group-name send-community在配置BGP路由器团体属性时必须加入send-community参数 show ip bgp prefix1416 调整BGP性能 14.16.1 BGP收敛调整对于边缘路由器,对等路由器以及路由反射器的初始化,将会产生大量的数据流。1 有关TCP的考虑主要有2个参数影响TCP性能, 最大分段尺寸MSS 和 TCP窗口大小a) MSS一个Session的MSS会在初始化的时候确定,Cisco默认值按RFC971定为536,可以按照MTU 1500 将其修改为1460,减少报文ACk的数量b) 窗口大小TCP窗口大小用来控制TCP数据报发送速度的一种机制,后文队列优化将详细讲解如何调整窗口大小c) 路径MTU发现对于一个路由器可以通过PMTUD自动发现路径上的MTU,对于一个环状网络,若所有接口为POS口,则MTU为4470,如果其中加入一段fastEthernet链路,则MTU降为1500 将严重影响性能,不过GigabyteEthernet中有了Jumbo Frame的概念来消除MTU影响2 队列优化1 保持队列优化接口上可以配置 hold-queue value in, 保持队列大小= 窗口大小/(2*MSS)*对等体个数2 SPDSPD是运行输入保持队列上的队列管理机制,标准的SPD配置建议如下:Ip spd mode aggressive Ip spd headroom 1000Ip spd queue min-threshold 998Ip spd queue max-threshold 9993 BGP只读模式Bgp update-delay RO_limit 来配置BGP停留在只读模式的时间,处在只读模式的BGP对等体只接收更新,不通告任何前缀,仅在收到Keepalive消息后,自动脱离只读模式14.16.2 减轻网络故障影响 1BGP快速外部切断 拆除BGP绘画的缺省行为需要保持计时器超时,缺省值180s, BGP可以启用快速切断某个 EBGP故障路由器的会话 Ip bgp fast-external-fallover permit|deny2. IGP/BGP收敛时间增量在IS-IS中设置过载位 Set-overload-bit on-startup timeout Set-overload-bit on-startup wait-for-bgp 在OSPF中设置max_Metric Max-metric router-lsa on-startup timeout Max-metric router-lsa on-startup wait-for-bgp3. BGP不中断转发14.16.2 减轻网络故障影响 1BGP快速外部切断 拆除BGP绘画的缺省行为需要保持计时器超时,缺省值180s, BGP可以启用快速切断某个 EBGP故障路由器的会话 Ip bgp fast-external-fallover permit|deny2. IGP/BGP收敛时间增量在IS-IS中设置过载位 Set-overload-bit on-startup timeout Set-overload-bit on-startup wait-for-bgp 在OSPF中设置max_Metric Max-metric router-lsa on-startup timeout Max-metric router-lsa on-startup wait-for-bgp3. BGP不中断转发1417 BGP in CCIE_lab14.17.1 评估路由器的BGP能力BGP的性能很大程度上决定于路由器的平台,处理器,内存,背板带宽,从对等体收到的路由条目,发送的路由条目,是否做RR等有关。14.17.4 Local_As属性如上,如果AS8的路由器Day将进行迁移,假设为Day 和Night合并为AS9,而不修改AS141AS143的路由器(他们依旧认为Day属于AS8),这种迁移需要加入一个loca-as参数,即将Day的BGP进程改为9后,对指向的邻居做如下修改但是8上的AS-Path将会为 8 9 . 在做As_path 过滤时需要添加这个local-as 可以在local-as后加入no-prepend参数修改这个属性然后再配置BGP的时候 network 通告这个199.172.1.0/21的网段,这样的好处是,如果查找路由时,例如199.172.6.0网段down掉后,查找路由表精细路由发现丢失后,不必查遍整个路由表,直接查到这条null0的路由,丢弃报文,这样是一种避免路由黑洞的方法。当然更常用的方法是使用BGP自带的聚合命令2.Aggregate-address命令汇总路由 Aggregate-address 199.172.1.0 255.255.248.0 这条命令可以挂接6种参数,具体分析如下:1 Summary-only默认的不加任何参数,将会同时通告精细路由和汇总路由,Summary-only参数可以抑制精细路由的通告,但是可能会导致路由黑洞2 Suspress-map抑制路由表,可以抑制一些路由的发送,例如,我谨希望汇聚后,发送5.0和6.0两条精细路由,可以做如下配置3 AS-setAS-set参数用于在聚合时保留精细路由的一些属性,完善AS_path以防止环路产生,在实际聚合时为了避免一些环路或者其他故障,此参数应该一直打开4 Attribute-map5 Advertise-map如上2个参数十分特别,都可以和router-map参数一样控制,修改汇总路由的属性。不同点是,Attribute-map用于修改聚合路由的属性,而不关心具体的精细路由属性是什么,而对于Advertise-map 主要就是参考某条或者某几条精细路由属性而不去强行修改聚合路由的属性 聚合时,如果起源不同,则选择精细路由更高编号的起源属性,明细路由的团体属性全部被继承14.17.6 条件路由通告 条件路由通告体噢铬镍钢允许对路由通告进行更多控制的用户定义路由通告方式。 Non-exist-map指定了在BGP RIB中需要跟踪的网段, 当non-exist-map中的路由存在的时候, advertise-map中指定的路由将不会被通告,如果non-exist-map中指定的路由被撤销,在重新出现之前,通告advertise-map中的路由条目。Show ip bgp neighbors ip-addr | begin condition 监控条件路由通告14.17.7 BGP路由过滤 Distribute-list和Route-map的优先级 在同时使用Distribute-list 和Route-map时,Distribute-list优先级高于Route-map 它将首先进 路由过滤,然后再将过滤后的路由转发给Route-map进一步处理 相比之下Distribute-list相对较为简单,而Route-map可以修改很多参数。例如MED Local_pref Community 属性等.14.17.8 BGP起源属性修改 通过Route-map设置 set origin egp as-no | igp | incomplete14.17.9 修改AS_Path属性更改路由 Neighbor ip-addr allowas-in num-of-occrrences 允许IOS在接收BGP更新的时候最多接收10次本地AS号码重复,但这样会关闭环路预防功能 例如一个AS有多个出口,我们可以人为的增加一些本地AS进入AS_Path来影响选路。14.17.10 AS-path filter 通过一个AS-path filter 可以过滤来自某些AS的路由条目,AS过滤采用正则表达式的方法。正则表达式的使用方法前文已有叙述。下面介绍几种常用的过滤方法14.17.11 后门路由 后门路由用于一些特殊的情况将IGP路由的优先级调高于EBGP,下面看一种比较特殊的情况 例如如上拓扑结构,BB2中的199.172.0.0网段,通过重分布进入OSPF路由。在R5和R3上将会学到来自R4的IGP路由,同时R5做为R4的IBGP邻居将会学到一条IBGP的路由,由于IBGP路由管理距离大,在R5上对于选路没有影响,但对于R3而言,它将学到一条来自R5的EBGP路由,同时收到R4的IGP路由,此时,R3将把199.172.0.0的下一跳定义为R5,此时就产生了环路了。解决此问题的方法就是在R5和R3上的neighbor后挂接backdoor参数14.17.12 下一跳参数 默认的下一跳规则如下,自己产生的路由的下一跳为0.0.0.0,收到来自EBGP路由将下一跳改为EBGP对端的IP,对IBGP通告时不修改下一跳的值。但是可以通过next-hop-self修改此规则,将对IBGP也通告下一跳地址为自己。另可以采用next-hop-unchanged,防止收到EBGP路由后,修改下一跳的值,例如如上环路问题,也可通过在R5和R4上宣告Next-hop-unchanged来解决 对于下一跳属性,还可以使用route-map来更改 14.17.13 Local_Pref和Weight属性控制路由 Local_Pref属性只能在AS内传递,也就是说可以定义一个route-map,修改本地路由的Local_Pref, 同时也可以做对IBGP邻居的通告,或接收的路由进行Local_Pref修改,配置时,同样是先建立一个ACL,然后建立一个routemap来match ip address ,然后set local_preference来修改, Weight,只具有本地意义,在本地上对路由进行选择,同样也采用set weight来做14.17.14 MED控制路由条目 在BGP选路规则中,比较完Weight, Local_pref, local_path, Origin AS_PATH后才会比较MED值 MED用于AS有多个出口的时候,向其它AS公告最佳的入口。 MED可以通过同样的方法使用Route-map Set Metric 来修改。 对于MED属性,有如下特殊情况对于联盟内的MED是不会比较的,如果上拓扑需要比较可以使用 bgp bestpath med confed默认情况下,没有MED,MED值将设置为0,但可以更改 bgp bestpath med missing-as-worst这样,就不会将MED丢失的路由MED=0作为选择标准MED的值是如下方法设计的:1 IGP进入的,则为IGP的Metric2 直连进入的,则为03 聚合路由,MED丢失14.17.15 团体属性团体属性是BGP属性非常强大的属性,它通过一系列的标记,将路由条目分组,进行过滤,控制等 常有用。常见的属性有1. Internet 默认的团体,支持在任何AS内发布2. No_Export 不能宣告到本地以外的AS,同时也不能宣告到联盟以外3. No_Advertise 不能通告给任何对等体4. Local_AS 不能宣告到本地AS以外 团体属性配置如下:首先建立一个ACL或前缀列表,然后route-map中match ip。Set Community就行了,ip bgp-community new-format 将使用AA:NN的新格式。此后set community可以有additve参数, 这个参数类似ip地址中的Se参数,就是在原有属性上附加其他的团体属性, 同时可以使用 set comm. -list community-lis-no delete来删除某些团体属性。最后在Neighbor上挂接route-map注意:必须加入 neighbor ip-addr send-community 参数团体过滤列表:Ip community-list number permit | deny AA:nn | internet | local-as | no-export | no-advertise Ip community
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病房日常消毒与终末消毒程序考试试题(附答案)
- 树立良好班风的课件
- 2024届水泥厂环保类知识竞赛题库及答案
- 危重患者的肠内营养护理考核试题及答案
- 口腔预防医学考试题含参考答案
- (2024)时事政治试题库附答案(考试直接用)
- 2024年《服装结构及款式设计师》专业技术及理论知识考试题与答案
- WST368-2025医院空气净化管理标准培训
- 标本采集培训课件
- 北京咖啡知识培训课件
- 2025-2030中国近红外光谱分析仪行业市场发展趋势与前景展望战略研究报告
- 2025年广西职业院校技能大赛中职组(婴幼儿保育赛项)参考试题库及答案
- 胆囊结石病人的护理业务学习
- 高中主题班会 高一下学期《安全教育-开学第一课》主题班会课件
- 烘焙店员工劳动合同(2025年度)含社会保险与福利
- 职业健康知识培训
- 2025年度家政服务合同终止及服务费用退款协议
- 龋病龋病的临床表现及诊断讲解
- 2025年全球及中国3D打印机铜冷却元件行业头部企业市场占有率及排名调研报告
- 《护理相关法律法规》课件
- 输变电工程接地工艺的设计和施工要求
评论
0/150
提交评论