BGP用户培训材料_第1页
BGP用户培训材料_第2页
BGP用户培训材料_第3页
BGP用户培训材料_第4页
BGP用户培训材料_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以下给出一简单的配置:配置以上拓扑结构的BGP协议的命令为:RTA的配置:!RTArouterbgp100neighbor10.0.0.2remote-as200neighbor10.0.0.3remote-as200redistributeripneighbor129.102.1.2remote-as100!RTB的配置:!RTBrouterbgp100neighbor129.102.1.1remote-as100!RTC的配置:!RTCrouterbgp200neighbor10.0.0.1remote-as100neighbor139.102.1.2remote-as200noredistributerip!RTD的配置:!RTDrouterbgp200neighbor10.0.0.1remote-as100neighbor139.102.1.1remote-as200noredistributerip!2、BGP同步本地BGP在收到一条路由时,要检查此路由的下一跳是否可达。在同步状态下,此BGP路由直到IGP也通告了此路由,BGP路由才被加入到路由表中。在非同步状态下,BGP路由被直接加入到路由表。BGP在通过EBGP收到其它AS自治区域BGP对端的UPDATE消息后,将此消息中的路由不加修改(<信宿地址,下一跳>不变)地通过IBGP发送给IBGP同伴。对于IBGP对端,在此路由的下一跳不可达的情况下,路由是应该是无效的;同时,在IGP通告此路由前,此路由也应该是无效的,因为此时此路由还未在AS区域内由IGP收敛,此信宿的IP包会因为只运行IGP的路由器无此路由而被丢弃。如何判断下一跳是否可达呢?BGP在路由表中递归查找,直到找到一个直接相连的接口,从而确认此下一跳可达,否则不可达;同时,到达此下一跳的路径上的所有路由器必须也被通告了此路由,即AS区域内此路由已经由IGP扩散。由于IBGP是通过TCP连接的,其间可能经过若干路由器,IBGP消息中路由的下一跳的可达信息不能通过BGP来通告给途径的路由器,而必须通过IGP在IBGP的发端通过引入BGP路由来完成。AS自治区域内部的路由可达信息的传播应该由IGP完成,AS自治区域间的路由可达信息的传播则由BGP完成。"同步"在这里指的是IGP和BGP的同步。以下举例说明同步。RTC通过EBGP通告RTA路由170.10.0.0,下一跳为2.2.2.1。RTA将此路由通过IBGP通告给RTB,下一跳不变,也是2.2.2.1。RTB知道为了到达2.2.2.1,应该将IP包发送到RTE,而RTE如果并不知到网络路由170.10.0.0,则会把丢弃此IP包。同时,RTB通过EBGP将路由170.10.0.0通告给RTD,结果,AS400到网络170.10.0.0的流量在RTE出全被丢弃了。为了避免此情况,RTA处的IGP应该引入BGP的路由170.10.0.0并通告给RTE。RTB在收到IGP通告的网络路由170.10.0.0时,说明RTA和RTB之间至少有一条通路上的路由器全部被通告了170.10.0.0的路由,因此可以安全地把路由加入到路由表中,并可以通告RTD。如果把AS自治区域视为一个大的AS路由器,AS路由器组成了Internet网络。则BGP就成为了这个由AS路由器组成的更高一级的自治区域的IGP了,只不过这个更高一级的自治区域只有一个,即因特网本身。在AS路由器内部,BGP运行于各个端口上(AS边界的与其它AS连通的路由器)。当AS从一个端口上得到了一条其它AS的路由时,它通告给所有其它的端口(收到EBGP消息后通过IBGP通告AS内部的所有BGP同伴)。而此AS路由器是分布式的,端口之间的可达信息是由AS内部的IGP(RIP,OSPF)保证的,只有这条IBGP通告的路由的下一跳的可达信息通过IGP到达本地后,此IBGP通告的路由才加入本地路由表。之所以有"同步"问题,是因为IGP的收敛需要一定时间,而IBGP通过TCP连接直接发送无收敛时间,如果未等IGP收敛,就将IBGP通告的路由加入路由表,会造成"黑洞"。在路由器中,BGP缺省处于同步状态。通过上例可以看出,在IBGP同步直接相连的情况下,不需要同步。3、路由的过滤(1)定义访问列表请参见防火墙的配置(2)定义AS路径列表每个AS路径列表是用数字来标识的。在配置模式下使用命令:ipas-pathaccess-listlist-numpermit|denyAS正则表达式可以配置一条AS路径访问列表。其中,AS正则表达式规定了路由AS属性的模式,用于指定符合此模式的路由集合。可以参考RFC1164Section4.2。CISCO正则表达式的符号意义:字符符号特殊意义句号.匹配任意单字符星号*匹配模式中0或更多的序列加号+匹配模式中1或更多的序列问号?匹配模式0或1次出现加字符^匹配输入字符串的开始美元符$匹配输入字符串的结束下划线_匹配逗号,括号,字符串的开始和结束,空格方括号[范围]表示一个单字符模式的范围连字符-把一个范围的结束点分开例如:"100200300" 匹配_300$ "AS300始发的路径""300400100" 匹配^300_ "AS300为相邻的AS自治区域"所有AS路径 匹配.* "所有AS路径""300100200400" 匹配_100_ "经过AS100的路径"(3)指定对路由的过滤根据配置的地址访问列表和AS路径列表可以指定对特定的路由集合进行过滤。此过滤可以施加于所有的同伴或特定的同伴。在BGP中,使用distribute-list指定地址访问列表,使用filter-list指定AS路由列表。以下分别举例说明地址过滤和路径过滤:如图,由于各种原因,网络路由160.10.0.0不能经过RTC通告给AS100中的RTA,但要通告本AS区域的网络路由170.10.0.0,此时应使用基于地址访问列表的路由过滤。路由器RTC的匹配为:!RTCrouterbgp300network170.10.0.0neighbor3.3.3.3remote-as200neighbor2.2.2.2remote-as100neighbor2.2.2.2distribute-list1out!access-list1deny160.10.0.00.0.255.255access-list1permit0.0.0.0255.255.255.255!路由器RTC在向RTA通告路由时,要通过地址访问列表1,如果一条路由的信宿地址被地址访问列表拒绝,则不发送此路由。从而完成过滤路由160.10.0.0的目的。用上图说明基于AS路径属性的过滤。此时也要RTC过滤掉所有发自AS200的路由。RTC使用的配置:!RTCrouterbgp300neighbor3.3.3.3remote-as200neighbor2.2.2.2remote-as100neighbor2.2.2.2filter-list1out!ipas-pathaccess-list1deny^200$ipas-pathaccess-list1permit.*!路径访问列表1定义了只有AS号200的路径属性的路由集合,属于此集合的路由将在RTC发送给RTA的UPDATE消息中过滤掉。从AS400始发的路由被RTC正常的通告。4、路由属性控制和策略路由的过滤也属于路由策略。但路由策略的灵活性主要体现于BGP对于路由属性的控制。BGP通过Route-map完成路由属性的控制,从而施加BGP的路由策略。Route-map定义了若干序列,每个序列中定义了一种匹配路由和的路由属性赋值的集合。路由通过一个Route-map时,按序列号从小到大依次匹配各序列。当路由属性匹配某序列的匹配条件时,根据此序列的赋值属性对此路由的指定的路由属性进行操作,同时中断匹配操作,路由通过此Route-map。若路由未匹配任何一序列,则路由未通过此Route-map,之后的操作被终止。在一个序列中,可以根据一条路由的信宿地址、AS路径、Metric花费、BGP路由的源类型等对路由进行匹配;同时,可以设置路由的下一跳、AS路径、Metric花费、源类型、本地优先级等路由属性。可以看出,Route-map也可以用作路由过滤,但更灵活一些。同时Route-map通过修改路由属性来影响对端BGP的路由选择。以下举例说明Route-map的应用:例一:使用Route-map令RTC从RTB引入AS200区域中的路由,并将其Metric设置为20,而丢弃其它AS区域的路由。配置如下:!RTCrouterbgp300network170.10.0.0neighbor3.3.3.3remote-as200neighbor3.3.3.3route-mapstampin!route-mapstamppermit10matchas-path1setmetric20!ipas-pathaccess-list1permit^200$!其中使用的AS路径列表1匹配AS200发出的路由。Route-map的序列10,使用AS路径列表1作为匹配规则,如匹配,将匹配路由的Metric设置为20。对于其它AS属性的路由,由于未匹配任何一条Route-map序列,即未匹配此Route-map,则拒绝引入此路由。例二:要求引入AS200发送的路由,并设置此路由的Metric属性为20,丢弃AS400发送的路由,引入其它AS区域发送的路由,并匹配此路由的Metirc为10。路由器的配置为:!RTCrouterbgp300network170.10.0.0neighbor3.3.3.3remote-as200neighbor3.3.3.3route-mapstampin!route-mapstamppermit10matchas-path1setmetric20!route-mapstampdeny20matchas-path2!route-mapstamppermit30setmetric10!ipas-pathaccess-list1permit^200$ipas-pathaccess-list2permit^400.*!匹配AS路径列表1的路由metric被设置为20,匹配AS路径列表2的路由被拒绝引入,其余的路由metric被设置为10。使用上图说明Route-map中setas-pathprepend的作用:AS600中的路由器通过2条路径收到了网络路由170.10.0.0,AS路径属性分别为(100,300)和(400,200,300)。在其它因素相同的情况下,AS600会选择AS100发送的路由,因为它具有较短的AS路径。为了影响这种选择,可以使用setas-pathprepend功能。!RTCrouterbgp300network170.10.0.0neighbor2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论