




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章BGP学习目标和素质目标掌握BGP的特征和相关术语。了解BGP的报文类型及其作用。掌握BGP邻居关系的建立过程和邻居状态机及其配置实现。掌握BGP路径属性的分类和作用。掌握BGP路由判定规则和路由选择策略的配置实现。掌握BGP路由反射器和联盟的应用场景、作用。了解BGP路由衰减的特征、作用及配置实现。培养学生的辩证思维。提高学生的团队协作精神。形成科学严谨的学习态度。3.1BGP路由协议概述BGP发展历史AS100AS200EGP…………AS100AS200BGP-1…………AS100AS200BGP4+…………多年的发展历程,关于BGP的多个RFC发布,BGP-4(RFC1771)开始BGP成为无类路由协议,BGP4+支持多种地址族。现在,BGP4+1980年左右,随着网络规模变大,路由数量不断增加,为了解决该问题提出了AS概念,AS间使用EGP(ExternalGatewayProtocol,外部网关协议)。1980年左右,AS概念提出EGP只发布路由,不控制路由优选、无环路避免机制。1989年发布了第一个BGPRFC–RFC1105,即BGP-1。1990年发布的RFC1163提出了路径属性概念,自此BGP可以基于路径属性进行路由优选、路径控制。1989年,BGP第一个RFC发布3.1BGP路由协议概述AS的内部使用IGP来计算和发现路由,同一个AS内部的路由器之间是相互信任的,因此IGP的路由计算和信息泛洪完全处于开放状态,人工干预很少。不同AS之间的连接需求推动了外部网关协议的发展,BGP作为一种外部网关协议,用于在AS之间进行路由控制和优选。3.1BGP路由协议概述企业内部互通企业与运营商互通大型企业分支间采用BGP进行路由传递,不同的分支属于不同的BGPAS,它们通过BGP进行路由交互。企业与运营商之间可使用BGP进行路由交互,使得企业网络获得到达运营商网络的具体路由,运营商也可获得到达企业内部的路由。AS100AS200AS800BGP总部分支1分支8AS200AS800运营商X企业B企业NBGPBGPBGP企业AAS10003.1.1BGP特征BGP功能:BGP被称为是基于策略的路径向量路由协议,它的任务是在自治系统(AutonomousSystem,AS)之间交换路由信息,同时确保没有路由环路。AS内部使用IGP来计算和发现路由,如OSPF,ISIS,RIP等。AS之间使用BGP来传递和控制路由。AS65001AS65000BGPBGPIGPBGPAS65002AS65003IGP3.1.1BGP特征用属性(attribute)描述路径,丰富的属性特征方便实现基于策略的路由控制,同时BGP路由通过携带AS路径信息彻底解决路由环路问题。路由器R1BGP路由表中/24路由的AS路径信息为:6500265003。AS65001AS65000BGPBGPIGPBGPAS65002AS65003IGP/24R13.1.1BGP特征使用TCP(端口179)作为其传输协议,并通过Keepalive报文来检验TCP的连接。可以通过IGP或静态路由来提供TCP连接的IP可达性。AS200AS300IProutingTableRoutenumber:70W+BGPSpeakerBGPSpeakerBGPTCP179端口IP3.1.1BGP特征拥有自己的BGP邻居表、BGP路由表和IP路由表。邻居表对等体邻居清单列表displaybgppeer命令用来查看BGP对等体信息。BGP路由表BGP路由信息库,包括本地BGPSpeaker选择的路由信息。displaybgprouting-table命令用来查看BGP的路由信息。IP路由表:全局路由信息库,包括所有IP路由信息displayiprouting-table命令用来查看IPv4路由表的信息。3.1.1BGP特征为了保证BGP免受攻击,BGP支持MD5验证和Keychain验证,对BGP邻居关系进行验证是提高安全性的有效手段。MD5验证只能为TCP连接设置验证密码,而Keychain验证除了可以为TCP连接设置验证密码外,还可以对BGP协议报文进行验证。采用增量更新和触发更新,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。BGP采用路由聚合和路由衰减防止路由振荡,有效提高了网络的稳定性。BGP易于扩展,能够适应网络新技术的发展。3.1.2BGP术语自治系统(AS):由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。每个自治系统都有唯一的自治系统编号,这个编号是由IANA分配的。自治系统的编号范围是从1到65535,其中1到64511是注册的因特网编号,64512到65535是私有网络编号。BGP路由更新BGPAS100AS200IS-IS………OSPF………OSPF3.1.2BGP术语查看中国地区AS号码申请信息:/bgp/cn3.1.2BGP术语对等体(Peer):当两台BGP路由器之间建立了一条基于TCP的连接,并且相互交换报文,就称它们为邻居或对等体。若干采用相同更新策略的BGP对等体可以构成对等体组(PeerGroup)。AS65002AS65001AS65003BGPBGPBGP3.1.2BGP术语BGP邻居类型–IBGP:运行在相同AS内的BGP路由器建立的邻居关系为IBGP(InternalBGP)邻居关系。BGP邻居类型–EBGP:运行在不同AS之间的BGP路由器建立的邻居关系为EBGP(ExternalBGP)邻居关系。3.1.2BGP术语网络层可达性信息(NetworkLayerReachabilityInformation,NLRI):是BGP更新报文的一部分,用于列出通过该路径可到达的目的地的集合,由一个或者多个前缀和前缀长度二元组构成。3.1.2BGP术语IBGP水平分割(IBGPSplitHorizon):通过IBGP学到的路由信息不能通告给其他的IBGP邻居,其主要目的是防止AS内产生路由环路。IBGP水平分割解决方案:全互联(FullMesh)路由反射器BGP联盟3.1.3BGP报文类型BGP报文有五种类型:Open:负责和对等体建立邻居关系。KeepAlive:该消息在对等体之间周期性地发送,用以维护连接。Update:该消息被用来在BGP对等体之间传递路由信息。Notification:当BGPSpeaker检测到错误的时候,就发送该消息给对等体。Route-refresh:用来通知对等体自己支持路由刷新能力。3.1.3BGP报文类型BGP报文头部1–OPEN2–UPDATE3–NOTIFICATION4–KEEPALIVE3.1.3BGP报文类型Open报文:是TCP连接建立后发送的第一个报文,用于建立BGP对等体之间的连接关系3.1.3BGP报文类型BGPUpdate报文:用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达的路由信息。3.1.3BGP报文类型BGPNotification报文:当BGP检测到错误状态时,就向对等体发出Notification报文,之后BGP连接会立即中断。Page20========||=================ErrorCode错误类型123456消息头错误OPEN消息错误UPDATE消息错误保持时间超时状态机错误终止3.1.3BGP报文类型BGPKeepalive报文:BGP会周期性(默认为60秒)地向对等体发出Keepalive报文,用来保持连接的有效性。Keepalive报文格式中只包含BGP包头,没有附加其他任何字段。Keepalive报文的发送周期是保持时间的1/3,但该时间不能低于1秒。如果协商后的保持时间为0,则不发送Keepalive报文。3.1.3BGP报文类型BGPRoute-refresh报文:用来要求对等体重新发送指定地址族的路由信息。地址族标识可以是IPv4或IPv6等;子地址族标识可以是单播或组播路由等;在所有BGP路由器使能Route-refresh能力的情况下,如果BGP的入口路由策略发生了变化,本地BGP路由器会向对等体发布Route-refresh消息,收到此消息的对等体会将其路由信息重新发给本地BGP路由器。这样,可以在不中断BGP连接的情况下,对BGP路由表进行动态刷新,并应用新的路由策略。3.1.3BGP报文类型BGP协议中各种报文的应用通过TCP建立BGP连接时,发送OPEN消息连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端路由信息稳定后要定时发送KEEPALIVE消息以保持BGP连接的有效性当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对等体ROUTE-REFRESH消息用来通知对等体自己支持路由刷新能力。3.1.4BGP邻居状态机先启动BGP的一端先发起TCP连接,如左图所示,R1先启动BGP,R1使用随机端口号向R2的179端口发起TCP连接,完成TCP连接的建立。三次握手建立完成之后,R1、R2之间相互发送Open报文,携带参数用于对等体建立,参数协商正常之后双方相互发送Keepalive报文,收到对端发送的Keepalive报文之后对等体建立成功,同时双方定期发送Keepalive报文用于保持连接。BGP对等体关系建立之后,BGP路由器发送BGPUpdate(更新)报文通告路由到对等体。WANTCPSYNAS300AS200TCPSYN+ACKTCPACKOpenOpenKeepaliveKeepalive123R1R2UpdateUpdate43.1.4BGP邻居状态机BGP状态机3.1.4BGP邻居状态机WANAS300AS200R1R2Idle状态Connect、ActiveWANAS300AS200R1R2TCPSYNRetransmitTCPSYN………..RetransmitTCPSYNConnectActive配置完BGP对等体并成功查找到去往对等体地址的路由之后,会发起TCP三次握手,TCP三次握手建立过程中处于Connect状态,如果TCP连接长期无法建立则进入Active状态。缺乏去往BGP对等体的路由是导致BGP路由器其状态机一直处于idle状态的常见原因。配置完BGP对等体之后,设备会尝试建立TCP连接,此时如果无法发起TCP连接,设备将会一直处于Idle状态。3.1.4BGP邻居状态机OpenSent、OpenConfirmEstablishedWANAS300AS200R1R2OpenSentTCPConnectionEstablishedOpenOpenTCP三次握手建立完成之后,发送Open报文建立对等体关系,此时进入OpenSent状态,当收到对端回应的Open报文,并且参数检查无误,在发送keepalive报文之后进入OpenConfirm状态。进入OpenConfirm状态之后,BGP路由器如果收到了对端发送的Keeaplive报文,则进入Established状态,对等体关系建立过程就此完成。OpenConfirmWANAS300AS200R1R2OpenOpenConfirmKeepaliveEstablishedKeepaliveKeepalive3.1.5BGP路径属性BGP选路遇到的问题如图,AS7中有一个/24的用户网段,通过BGP发布给各个AS,各个AS都能学到/24的路由,但是路由在传递过程中存在两个主要的问题:AS3可以从AS4与AS6两个AS收到/24的路由,但AS3与AS4之间的链路带宽较大,有哪些方法可以影响AS3选择AS4访问/24的网段?AS1,AS2与AS3之间存在拓扑上的环路,因此数据包在传递的过程中可能出现环路,怎么解决类似的环路问题?AS1AS2AS3AS4AS5AS6AS7/24100M50M50M100M100M3.1.5BGP路径属性可选过渡可选非过渡公认属性是所有BGP路由器都必须能够识别的属性公认属性可以分为两类:公认必遵(Well-knownMandatory):必须包括在每个Update消息里。公认任意(Well-knownDiscretionary):可能包括在某些Update消息里。可选属性不需要都被BGP路由器所识别可选属性可以分为两类:可选过渡(OptionalTransitive):BGP设备不识别此类属性依然会接受该类属性并通告给其他对等体。可选非过渡(OptionalNon-transitive):BGP设备不识别此类属性会忽略该属性,且不会通告给其他对等体。公认必遵公认任意OriginAS_PathNext_hopLocal_PreferenceAtomic_aggregateAggregatorCommunityMEDCluster-ListOriginator-ID公认可选3.1.5BGP路径属性BGPUpdate报文举例BorderGatewayProtocol-UPDATEMessageMarker:ffffffffffffffffffffffffffffffffLength:53Type:UPDATEMessage(2)WithdrawnRoutesLength:0TotalPathAttributeLength:28PathattributesPathAttribute-ORIGIN:IGPPathAttribute-AS_PATH:65536123PathAttribute-NEXT_HOP:NetworkLayerReachabilityInformation(NLRI)/8NLRIprefixlength:8NLRIprefix:BGPUpdate报文中的路径属性3.1.5BGP路径属性Origin属性为公认必遵属性,它标识了BGP路由的起源。如上表所示,根据路由被引入BGP的方式不同,存在三种类型的Origin。Origin属性定义路径信息的来源,标记一条路由是怎么成为BGP路由的。当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP>EGP>Incomplete。起源名称标记描述IGPi如果路由是由始发的BGP路由器使用network命令注入到BGP的,那么该BGP路由的Origin属性为IGPEGPe如果路由是通过EGP学习到的,那么该BGP路由的Origin属性为EGPIncomplete?如果路由是通过其他方式学习到的,则Origin属性为Incomplete(不完整的)。例如通过import-route命令引入到BGP的路由3.1.5BGP路径属性Origin在BGP表中的显示[R2]displaybgprouting-tableBGPLocalrouterIDisStatuscodes:*-valid,>-best,d-damped,h-history,i-internal,s-suppressed,S-StaleOrigin:i-IGP,e-EGP,?-incompleteTotalNumberofRoutes:4Network NextHop MEDLocPrf PrefVal Path/Ogn*>i/24 0 200 0 i*i 0 100 0 iOrigin3.1.5BGP路径属性AS_Path属性为公认必遵属性,是前往目标网络的路由经过的AS号列表;作用:确保路由在EBGP对等体之间传递无环;另外也作为路由优选的衡量标准之一;路由在被通告给EBGP对等体时,路由器会在该路由的AS_Path中追加上本地的AS号;路由被通告给IBGP对等体时,AS_Path不会发生改变。AS300AS200AS100R2R3R1BGP
Update/24BGPUpdateAS_Path:100NLRI:/24BGPUpdateAS_Path:200
100NLRI:/243.1.5BGP路径属性AS_Path防止环路:R1从R4收到的BGP路由更新中AS_Path属性数值为:400300200100,存在自身AS号,不接收该路由,从而防止了路由环路的产生。AS300AS200AS100R2R1AS400R3R41234BGP
UpdateBGPUpdateAS_Path:400
300
200
100NLRI:/24/243.1.5BGP路径属性AS_Path影响路由优选AS400AS500AS200R5R2AS300R4R3R1/24BGP
UpdateBGPUpdateAS_Path:200100NLRI:/24AS100BGPUpdateAS_Path:400300100NLRI:/24AS_Path的重要作用之一便是影响BGP路由的优选,图中,R5同时从R2及R4学习到去往/24网段的BGP路由,在其他条件相同的情况下,R5会优选R2通告的路由,因为该条路由的AS_Path属性值较短,也即AS号的个数更少。3.1.5BGP路径属性AS_SEQENCEAS_SETAS300AS200AS100R2R3R1表示AS_Path内的AS号是一个有序的列表,默认情况下AS_Path为该类型。BGP
UpdateAS_PATHtype=AS_SEQENCEvalue=200100AS300R3R1R2AS100AS200R4AS400/24/24/24/24在R3上对/16执行聚合并添加AS_SET关键字,此时AS_PATH属性值如下:AS_PATH=300{100,200}(包含AS_SEQENCE及AS_SET两种类型)3.1.5BGP路径属性Next_Hop属性是一个公认必遵属性,用于指定到达目标网络的下一跳地址,属性类型代码为3。当路由器学习到BGP路由后,需对BGP路由的Next_Hop属性值进行检查,该属性值(IP地址)必须在本地路由可达,如果不可达,则这条BGP路由不可用。在不同的场景中,设备对BGP路由的缺省Next_Hop属性值的设置规则如下:BGP路由器在向EBGP对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址。BGP路由器将本地始发路由发布给IBGP对等体时,会把该路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址。路由器在收到EBGP对等体所通告的BGP路由后,在将路由传递给自己的IBGP对等体时,会保持路由的Next_Hop属性值不变。如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体。3.1.5BGP路径属性Next_Hop的缺省操作(1):路由器将BGP路由通告给自己的EBGP对等体时,将该路由的Next_Hop设置为自己的TCP连接源地址。AS100AS200R1R2R3BGP
Update/24BGPUpdateNext_Hop:NLRI:/243.1.5BGP路径属性Next_Hop的缺省操作(2):路由器在收到EBGP对等体所通告的BGP路由后,在将路由传递给自己的IBGP对等体时,会保持路由的Next_Hop属性值不变。AS100AS200R1R2R3BGP
Update/24BGPUpdateNext_Hop:NLRI:/24BGPUpdateNext_Hop:NLRI:/243.1.5BGP路径属性Next_Hop的缺省操作(3):如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体。AS100AS200R2R3BGP
Update/24R3上收到的/24路由,Next_hop属性值为。R1EBGPIBGP3.1.5BGP路径属性Local_Preference即本地优先级属性,是公认任意属性,属性类型代码为5,可以用于告诉AS中的路由器,哪条路径是离开本AS的首选路径。Local_Preference属性值越大则BGP路由越优。缺省的Local_Preference值为100。该属性只能被传递给IBGP对等体,而不能传递给EBGP对等体。AS200IBGPR2R1R3R4R5/24EBGPEBGPBGP
UpdateBGPUpdateLocal_Preference:200NLRI:/24BGPUpdateLocal_Preference:100NLRI:/243.1.5BGP路径属性在BGP路由表中查看Local_Preference属性值[R2]displaybgprouting-tableBGPLocalrouterIDisStatuscodes:*-valid,>-best,d-damped,h-history,i-internal,s-suppressed,S-StaleOrigin:i-IGP,e-EGP,?-incompleteTotalNumberofRoutes:4Network NextHop MEDLocPrf PrefVal Path/Ogn*>i/240 200 0 i*i 0 100 0 iLocal_Preference3.1.5BGP路径属性Community技术背景AS200AS100R3R1R2BGPRoutesCommunity100:10BGPRoutesCommunity100:20生产路由/24/24/24…..办公路由/24/24/24…..BGP
Update3.1.5BGP路径属性Community(团体)属性为可选过渡属性,是一种路由标记,用于简化路由策略的执行。团体(Community)分为标准团体属性和扩展团体属性。可以将某些路由分配一个特定的Community属性值,之后就可以基于Community值而不是网络前缀/掩码信息来匹配路由并执行相应的策略了。AS200AS100R1R2/24/24Community=12:10000/24Community=12:10000BGP
Update3.1.5BGP路径属性Community属性值长度为32bit,也就是4Byte。可使用两种形式呈现:十进制整数格式。AA:NN格式,其中AA表示AS号,NN是自定义的编号。RFC格式12100000x000C0x2710AANN0x000C2710796432Community16进制2Byte2Byte十进制3.1.5BGP路径属性公认Community属性团体属性名称团体属性号说明Internet
0(0x00000000)设备在收到具有此属性的路由后,可以向任何BGP对等体发送该路由。缺省情况下,所有的路由都属于Internet团体No_Advertise4294967042(0xFFFFFF02)设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由No_Export4294967041(0xFFFFFF01)设备收到具有此属性的路由后,将不向AS外发送该路由No_Export_Subconfed4294967043(0xFFFFFF03)设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内其他子AS发布此路由RFC1997(BGPCommunitiesAttribute)定义了几个公认的Community属性值,如上表所示。3.1.5BGP路径属性MED(Multi-ExitDiscriminator,多出口鉴别器)是可选非过渡属性,是一种度量值,用于向外部对等体指出进入本AS的首选路径,即当进入本AS的入口有多个时,AS可以使用MED动态地影响其他AS选择进入的路径。MED属性值越小则BGP路由越优。MED主要用于在AS之间影响BGP的选路。MED被传递给EBGP对等体后,对等体在其AS内传递路由时,携带该MED值,但将路由再次传递给其EBGP对等体时,缺省不会携带MED属性。AS200AS100R2R3R4R5BGP
UpdateAS300BGP路由/24MED=10/24BGP路由/24MED=20BGP路由/24不携带MED3.1.5BGP路径属性缺省情况下,路由器只比较来自同一相邻AS的BGP路由的MED值,也就是说如果去往同一个目的地的两条路由来自不同的相邻AS,则不进行MED值的比较。一台BGP路由器将路由通告给EBGP对等体时,是否携带MED属性,需要根据以下条件进行判断(不对EBGP对等体使用策略的情况下):如果该BGP路由是本地始发(本地通过network或import-route命令引入)的,则缺省携带MED属性发送给EBGP对等体。如果该BGP路由为从BGP对等体学习到,那么该路由传递给EBGP对等体时缺省不会携带MED属性。在IBGP对等体之间传递路由时,MED值会被保留并传递,除非部署了策略,否则MED值在传递过程中不发生改变也不会丢失。3.1.5BGP路径属性如果路由器通过IGP学习到一条路由,并通过network或import-route的方式将路由引入BGP,产生的BGP路由的MED值继承路由在IGP中的metric。如果路由器将本地直连、静态路由通过network或import-route的方式引入BGP,那么这条BGP路由的MED为0,因为直连、静态路由cost为0。AS200AS100R1R2R3/24BGP路由/24MED=100OSPFBGP
Update3.1.5BGP路径属性如果路由器通过BGP学习到其他对等体传递过来的路由,那么将路由更新给自己的EBGP对等体时,默认是不携带MED的。这就是所谓的:“MED不会跨AS传递”。可以使用defaultmed命令修改缺省的MED值,defaultmed命令只对本设备上用import-route命令引入的路由和BGP的聚合路由生效。例如在R2上配置defaultmed999,那么R2通过import-route及aggregate命令产生的路由传递给R3时,路由携带的MED为999。AS200AS100R1R2R3R4AS300BGP路由/24不携带MED/24BGP路由/24MED=999OSPFBGP
Update3.1.5BGP路径属性原子聚合(Atomic_Aggregate)属于公认任意属性,而聚合者(Aggregator)属性属于可选过渡属性。AS300R3R1R2AS100AS200R4AS400/24/24/24/24R3上对明细路由进行聚合,聚合成:/16Atomic_Aggregate聚合路由丢失明细路由的路径属性,因此需要给下游对等体告警,并提示“聚合点”及聚合设备所属的AS号。bgp300aggregate16detail-suppressed3.1.5BGP路径属性在BGP路由详细信息中可与看到Aggregator属性记录了聚合设备的AS号、RouterID,同时通过Atomic-Aggregate属性标明该路由为聚合路由。[R4]displaybgprouting-table16BGPlocalrouterID:LocalASnumber:400Paths:1available,1best,1selectBGProutingtableentryinformationof/16:From:()RouteDuration:00h00m21sDirectOut-interface:GigabitEthernet0/0/0Originalnexthop:Qosinformation:0x0AS-path300,originigp,pref-val0,valid,external,best,select,active,pre255Aggregator:AS300,AggregatorID,Atomic-aggregateNotadvertisedtoanypeeryet3.1.5BGP路径属性Preferred-Value(协议首选值)是华为设备的特有属性,该属性仅在本地有效。当BGP路由表中存在到相同目的地的路由时,将优先选择Preferred-Value值高的路由。取值范围:0~65535;该值越大,则路由越优先。Preferred-Value只能在路由器本地配置,而且只影响本设备的路由优选。该属性不会传递给任何BGP对等体。AS200AS100EBGPR2R1R3/24R2访问/243.1.5BGP路径属性Preferred-Value为300的BGP路由优于Preferred-Value为0的路由,在BGP路由表中来自的BGP路由为最优。[R2]displaybgprouting-tableBGPLocalrouterIDisStatuscodes:*-valid,>-best,d-damped,h-history,i-internal,s-suppressed,S-StaleOrigin:i-IGP,e-EGP,?-incompleteTotalNumberofRoutes:4Network NextHop MEDLocPrf PrefVal Path/Ogn*>/24 0 300 100i* 0 200 100iPreferred-Value3.1.5BGP路径属性Originator_ID和Cluster_List两个属性是路由反射器使用的属性,都被用来防止路由环路。Originator_ID(起源者ID):属性类型代码为9,为了防止引入路由反射器之后出现环路,增加Originator_ID属性来标识,反射器在发布路由时加入Originator_ID,当反射器收到的路由信息中的Originator_ID就是自己的路由器ID时,就可以发现路由环路的出现,将该路由丢弃,不再转发。Cluster_List(簇列表):属性类型代码为10,路由反射器和它的客户机组成一个集群(Cluster),使用AS内唯一的ClusterID作为标识。为了防止集群间产生路由环路,路由反射器使用Cluster_List属性记录路由经过的所有集群的ClusterID。在路由经过路由反射器时路由反射器会将自己的Cluster_ID添加到路由携带的Cluster_List中,当路由反射器发现接收的路由的Cluster_List中包含有自己的Cluster_ID,则将该路由丢弃,不再转发。3.1.6BGP路由引入和发布策略BGP本身不发现路由,因此需要将其他路由引入到BGP路由表,实现AS间的路由互通。当一个AS需要将路由发布给其他AS时,AS边缘路由器会在BGP路由表中引入IGP的路由。为了更好地规划网络,BGP在引入IGP的路由时,可以使用路由策略进行路由过滤和路由属性设置,也可以设置MED值指导EBGP对等体判断流量进入AS时选路。BGP引入路由时支持Import和Network两种方式。Import方式是按协议类型,将OSPF和IS-IS等协议的路由引入到BGP路由表中。为了保证引入的IGP路由的有效性,Import方式还可以引入静态路由和直连路由。Network方式是逐条将IP路由表中已经存在的路由引入到BGP路由表中,比Import方式更精确。3.1.6BGP路由引入和发布策略BGP路由的生成方式–Network:Network命令是逐条将IP路由表中已经存在的路由引入到BGP路由表中。RTARTBRTCAS100AS200OSPFArea0EBGP/24/24.2.2.3.1/24/24routeridbgp200peeras-number100routeridbgp100peeras-number200
ipv4-familyunicastnetwork
network
network3.1.6BGP路由引入和发布策略BGP路由的生成方式–Network:通过display命令在RTC上查看是否学到BGP发布的路由条目。<RTB>displayiprouting-tableDestination/MaskProtoPre Cost FlagsNextHopInterface/24 Direct0 0 DGigabitEthernet0/0/0/24 Static60 0 RDGigabitEthernet0/0/0/24OSPF
10 1 DGigabitEthernet0/0/0<RTC>displaybgprouting-tableNetworkNextHop MED LocPrf PrefVal Path/Ogn*>/24 0 0 100i*>/24 0 0 100i*>/24 1 0 100iRTARTBRTCAS100AS200OSPFArea0EBGP/24/24.2.2.3.1/24/243.1.6BGP路由引入和发布策略BGP路由的生成方式–Import:Import命令是根据运行的路由协议(OSPF,ISIS等)将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由。routeridbgp200peeras-number100routeridbgp100peeras-number200
ipv4-familyunicast
import-routedirectroute-policyimport
import-routestaticroute-policyimport
import-routeospf1route-policyimport#route-policyimportpermitnode10
if-matchip-prefiximport#ipip-prefiximportindex10permit24ipip-prefiximportindex20permit24ipip-prefiximportindex30permit24RTARTBRTCAS100AS200OSPFArea0EBGP/24/24.2.2.3.1/24/243.1.6BGP路由引入和发布策略BGP路由的生成方式–Import:通过display命令在RTC上查看是否学到BGP引入的路由条目。RTARTBRTCAS100AS200OSPFArea0EBGP/24/24.2.2.3.1/24/24<RTC>displaybgprouting-tableNetworkNextHopMEDLocPrfPrefValPath/Ogn*>/2400100?*>/2400100?*>/2410100?<RTB>displayiprouting-tableDestination/MaskProto PreCostFlagsNextHopInterface/24Direct00DGigabitEthernet0/0/0/24Static600RDGigabitEthernet0/0/0/24
OSPF
101DGigabitEthernet0/0/03.1.6BGP路由引入和发布策略BGP通过Network和Import两种方式生成BGP路由,BGP路由封装在Update报文中通告给邻居。BGP在邻居关系建立后才开始通告路由信息。Update消息主要用来公布可用路由和撤销路由,Update中包含以下信息:网络层可达信息(NLRI):用来公布IP前缀和前缀长度。路径属性:为BGP提供环路检测,控制路由优选。撤销路由:用来描述无法到达且从业务中撤销的路由前缀和前缀长度。在通告BGP路由时,由于各种因素的影响,为了避免路由通告过程中出现问题,BGP路由通告需要遵守一定的规则,下面进行详细介绍。3.1.6BGP路由引入和发布策略BGP通告原则之一:仅将自己最优的路由发布给邻居AS100AS300AS200RTARTBRTCRTD/24/24/24/24EBGPEBGPIBGPIBGPEBGP/24/24RTE/24OSPF<RTE>displaybgprouting-tableNetwork NextHopMEDLocPrfPrefVal Path/Ogn*>/24 0 200100i*> 00 200i<RTD>displaybgprouting-table
Network NextHopMEDLocPrfPrefValPath/Ogn*>i/24 01000100i*i 01000100i*> 00i3.1.6BGP路由引入和发布策略BGP通告原则之二:通过EBGP获得的最优路由发布给所有BGP邻居<RTD>displaybgprouting-tableNetworkNextHopMEDLocPrfPrefValPath/Ogn*>/240200100iAS100AS200AS300RTARTBRTCRTDEBGPEBGPIBGP/24/24/24/24<RTC>displaybgprouting-tableNetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/2401000100i3.1.6BGP路由引入和发布策略BGP通告原则之三:通过IBGP获得的最优路由不会发布给其他的IBGP邻居IBGPIBGPIBGP/24/24/24RTARTBRTCAS100/24<RTC>displaybgprouting-tableNetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/2401000i3.1.6BGP路由引入和发布策略当从BGP邻居接收到Update报文时,路由器将会执行路径选择算法,来为每一条前缀确定最佳路径;得出的最佳路径被存储到本地BGP路由表(Local_RIB)中,然后被提交给本地IP路由表(IP_RIB),以用作安装考虑;被选出的有效的最佳路径路由将会被封装在Update报文中,发送给对端的BGP邻居。IP_RIB从BGP邻居来的更新信息路径选择Local_RIB向BGP邻居发送的更新信息BGP路由信息处理3.1.7BGP路由选择BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:该路由是到达目的地的唯一路由,直接优选。对到达同一目的地的多条路由,优选优先级最高的。对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。3.1.7BGP路由选择路由优选规则:当到达同一个目的网段存在多条路由时,BGP通过如下的次序进行路由优选
丢弃下一跳不可达的路由。优选Preferred-Value属性值最大的路由。优选Local_Preference属性值最大的路由。本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。优选AS_Path属性值最短的路由。优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及Incomplete。优选MED属性值最小的路由。优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)。优选到Next_Hop的IGP度量值最小的路由。优选Cluster_List最短的路由。优选RouterID(Orginator_ID)最小的设备通告的路由。优选具有最小IP地址的对等体通告的路由。↑取值越大越优↓取值越小越优当前8条属性全部相同时可以形成路由负载分担3.1.7BGP路由选择AS300OSPFAS200R1AS100R2R3R4R5丢弃下一跳不可达的路由:R4、R5将BGP路由/24通告给AS200时Next_Hop属性值为、。R2、R3将路由通告给R1时不修改Next_Hop属性值,R1学习到的两条BGP路由/24下一跳为、。R1进行BGP路由下一跳迭代查询时,由于R2、R3未在连接外部AS的接口上激活OSPF,导致路由迭代失败,R1上的BGP路由/24下一跳不可达。在R1上通过displaybgprouting查看BGP路由表,此时BGP路由/24为非有效路由条目。
TotalNumberofRoutes:2NetworkNextHopMEDLocPrfPrefValPath/Ogn
i/24
01000100?
i
01000300?BGPUpdate…..PathAttribute:Nexthop
BGPUpdate…..PathAttribute:Nexthop
BGP
Update/243.1.7BGP路由选择AS300OSPFAS200R1AS100R2R3R4R5BGPUpdate…..PathAttribute:Nexthop
BGPUpdate…..PathAttribute:Nexthop
bgp200Peernext-hop-local丢弃下一跳不可达的路由:在R2、R3上通过next-hop-local命令修改Next_Hop属性值为本地更新源地址。R2、R3向R1通告BGP路由时Next_Hop属性值将会变为:、。这两个下一跳地址在R1上能够成功进行路由迭代,BGP路由的下一跳地址将会变成可达。BGP
Update/243.1.7BGP路由选择AS300OSPFAS200R1AS100R2R3R4R5BGPUpdate…..PathAttribute:Nexthop
BGPUpdate…..PathAttribute:Nexthop
TotalNumberofRoutes:2NetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/24
01000100?*i01000300?BGP
Update两条BGP路由下一跳都可达的情况下,为什么下一跳为的BGP路由为最优?/243.1.7BGP路由选择AS300OSPFAS200R1AS100R2R3R4R5bgp200peerpreferred-value100R1访问/24数据报文BGP
Update/24修改Preferred-Value[R1]displaybgprouting-tableBGPLocalrouterIDisStatuscodes:*-valid,>-best,d-damped,h-history,i-internal,s-suppressed,S-StaleOrigin:i-IGP,e-EGP,?-incompleteTotalNumberofRoutes:4NetworkNextHopMEDLocPrfPrefVal Path/Ogn*>i/240100100 300i*i01000 100i3.1.7BGP路由选择修改Local_PreferenceAS300OSPFAS200R1AS100R2R3R4R5BGPUpdate…..PathAttribute:LocPrf100BGPUpdate…..PathAttribute:LocPrf200ipip-prefixlocal_prefindex10permit24route-policylocal_prefpermitnode10if-matchip-prefixlocal_prefapplylocal-preference200bgp200peerroute-policylocal_prefexportBGP
Update/24TotalNumberofRoutes:2NetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/2402000300?*i01000100?3.1.7BGP路由选择修改AS_PathCAS300OSPFAS200R1AS100R2R3R4R5BGPUpdate…..PathAttribute:AS_Path:400100BGPUpdate…..PathAttribute:AS_Path:300BGP
Updateipip-prefixas_pathindex10permit24route-policyas_pathpermitnode10if-matchip-prefixas_pathapplyas-path400additiveroute-policyas_pathpermitnode20bgp200peerroute-policylocal_prefexport/24TotalNumberofRoutes:2NetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/2401000300?*i01000400100?3.1.7BGP路由选择Origin属性验证AS300OSPFAS200R1AS100R2R3R4R5BGPUpdate…..PathAttribute:Origin:?BGPUpdate…..PathAttribute:Origin:?TotalNumberofRoutes:2NetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/2401000100?*i01000300?在R5上修改注入路由的方式为network后的R1BGP路由表BGP
Update/24TotalNumberofRoutes:2NetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/2401000300i*i01000100?3.1.7BGP路由选择修改MED属性AS300OSPFAS200R1AS100R2R3R4R5BGPUpdate…..PathAttribute:MED:20BGPUpdate…..PathAttribute:无MED值ipip-prefixmedindex10permit24route-policymedpermitnode10if-matchip-prefixmedapplycost20route-policymedpermitnode20bgp200peerroute-policymedexportcompare-different-as-medBGP
Update/24TotalNumberofRoutes:2NetworkNextHopMEDLocPrfPrefValPath/Ogn*>i/2401000300?*i201000100?3.1.7BGP路由选择优选从EBGP对等体学来的路由iproute-staticnull0ipip-prefixebgpindex10permit24route-policyebgppermitnode10if-matchip-prefixebgpapplyas-path500additiveroute-policyebgppermitnode20bgp200import-routestaticpeerroute-policyebgpexportOSPFR3AS200R1/24R5AS300/24NetworkNextHopMEDLocPrfPrefValPath/Ogn*>/2400300?*i01000500?3.1.7BGP路由选择BGP路由等价负载分担:在大型网络中,到达同一目的地通常会存在多条有效BGP路由,设备只会优选一条最优的BGP路由,将该路由加载到路由表中使用,这一特点往往会造成很多流量负载不均衡的情况。通过配置BGP负载分担,可以使得设备同时将多条等代价的BGP路由加载到路由表,实现流量负载均衡,减少网络拥塞。值得注意的是,尽管配置了BGP负载分担,设备依然只会在多条到达同一目的地的BGP路由中优选一条路由,并只将这条路由通告给其他对等体。在设备上使能BGP负载分担功能后,只有满足条件的多条BGP路由才会成为等价路由,进行负载分担。形成BGP路由等价负载分担的条件形成BGP路由等价负载分担的条件:Preferred-Value属性值相同。Local_Preference属性值相同。都是聚合路由或者非聚合路由。AS_Path属性长度相同。Origin类型(IGP、EGP、Incomplete)相同。MED属性值相同。都是EBGP路由或都是IBGP路由。AS内部IGP的Metric相同。AS_Path属性完全相同。配置BGP路由负载分担配置BGP路由负载分担举例AS45OSPFAS200R1R2R3R4R5bgp200maximumload-balancingibgp2BGP
Update/24[R1]displaybgprouting-tableBGPLocalrouterIDisStatuscodes:*-valid,>-best,d-damped,h-history,i-internal,s-suppressed,S-StaleOrigin:i-IGP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作服定做合同协议
- 冷链物流体系建设与维护合同
- 承包韵达快递业务合同书
- 路面硬化施工合同协议书
- 抵押房屋借款合同
- 新能源研发及生产供应合同
- 南京艺术学院《生物化学上实验》2023-2024学年第二学期期末试卷
- 华南师范大学《护理学基础实验(2)》2023-2024学年第二学期期末试卷
- 山西财贸职业技术学院《化学与创业》2023-2024学年第二学期期末试卷
- 烟台工程职业技术学院《管理工程数学基础一》2023-2024学年第二学期期末试卷
- 2025年度光伏电站光伏组件回收处理合同示范文本
- 2025年春季少先队工作计划及安排表(附:少先队每月工作安排表)
- 中央2025年公安部部分直属事业单位招聘84人笔试历年参考题库附带答案详解
- 《教育强国建设规划纲要(2024-2035年)》全文
- 2025年春新人教PEP版英语三年级下册全册教学课件
- 体育老师篮球说课
- 浙江省金华市义乌市2024年中考语文二模试卷含答案
- GB/T 45015-2024钛石膏综合利用技术规范
- 2025-2025学年度第二学期仁爱版七年级英语下册教学计划
- 车站信号自动控制(第二版) 课件 -2-室外设备接口电路
- 国开电大、普通本科、成考毕业论文-《电子商务对传统零售业的影响及其对策》(电子商务专业)
评论
0/150
提交评论