BGP原理和基本配置日期:杭州华三通信技术有限公司版权所有,未经授权不得使用与传播BGP的基本原理是理解和掌握BGP的基础,在本章节中将讲解BGP的基本术语、BGP消息格式和状态机以及BGP的基本属性,同时也会讲到BGP选路的原则。掌握了这些BGP的基本知识是灵活应用BGP的基础。概述BGP概述BGP基本术语BGP同步BGP消息和状态机BGP属性BGP的选路规则目录起源不同自治系统(路由域)间路由交换与管理的需求推动了EGP的发展,但是EGP设计太简单,最终被BGP取代BGP(BorderGatewayProtocol,边界网关协议)是一种用于自治系统间的动态路由协议协议特性BGP是自治系统外部路由协议,用来在AS之间传递路由信息路径矢量路由协议,从设计上避免了环路的发生由TCP协议承载,端口号是179支持CIDR和路由聚合路由附带丰富的属性只发送增量路由更新路由过滤和路由策略BGP概述BGP基本术语BGP同步BGP消息和状态机BGP属性BGP的选路规则目录:10.10.10.254RID:10.10.10.253RID:192.168.0.253AS65331AS65201AS65550BGPSpeakerRTARTBRTCRTDRTE发送BGP消息的路由器称为BGP发言者(BGPSpeaker)相互交换消息的BGP发言者之间互称为BGP对等体(BGPPeer)对等体处于不同AS的BGP对等体为EBGP对等体,通常情况下EBGP对等体是物理上直连BGP发言者从EBGP对等体获得的路由会向它所有BGP对等体通告(包括EBGP和IBGP)192.168.0.0/16AS65331AS65201AS65550RTARTBRTCRTDRTEEBGP对等体处于同一个AS的BGP对等体为IBGP对等体从IBGP获得的路由不向它的IBGP对等体发布从IBGP获得的路由是否发布给它的EBGP对等体与BGP是否同步相关AS65550IBGPpeersRTARTBRTCRTDIBGP全连接BGP会话是基于TCP的点到点的单播连接BGP发言者从IBGP对等体获得的路由不向其他的IBGP对等体发布AS65550RTARTBRTCRTDAS65550RTARTBRTCRTDIBGP部分连接IBGP全连接BGP概述BGP术语和基本原理BGP同步BGP消息和状态机BGP属性BGP的选路规则目录中转发“黑洞”的产生100.10.1.1/24AS200AS100AS300RTBRTCRTDRTARTEIBGP连接如果位于AS200的RTD上没有到达8.0.0.0/24网段的IGP路由信息,那么在RTD上去往8.0.0.0/24网段的数据包就会被丢弃EBGP连接EBGP连接D=8.0.0.0/24D=8.0.0.0/24D=8.0.0.0/24同步BGP同步是指IBGP和IGP之间的同步开启同步后,只有在IGP也知道这条IBGP路由时,才会被发布给EBGP对等体100.10.1.1/24AS200AS100AS300RTBRTCRTDRTARTEIBGP连接EBGP连接EBGP连接D=8.0.0.0/24D=8.0.0.0/24D=8.0.0.0/24BGP概述BGP基本术语BGP同步BGP消息和状态机BGP属性BGP的选路规则目录消息,用来保持连接的有效性Update携带的是路由更新(删减、增加)信息Notification当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即被关闭BGP概述BGP基本术语BGP同步BGP消息和状态机BGP属性BGP的选路规则目录属性、AS_PATH属性、NEXT_HOP属性公认可选属性LOCAL_PREF属性、ATOMIC_AGGREGATE属性可选传递属性COMMUNITY属性、AGGREGATE属性可选非传递属性MED属性、CLUSTER_LIST属性、ORIGINATOR_ID属性(65101)99.0.3.0/22(65101)99.0.3.0/22(65223,65101)99.0.3.0/22(65330,65101)99.0.3.0/22(65201,65223,65101)是公认必遵属性是路由到达一个目的地所经过的一系列自治系统号码的有序列表当BGP将一条路由通告到其他AS时,便会把自己的AS号添加在AS_PATH列表的最前面RTARTBRTCRTD=8.0.0.0/24NEXT_HOP=10.2.1.3AS65330AS65022D=8.0.0.0/24NEXT_HOP=10.3.1.1D=8.0.0.0/24NEXT_HOP=10.3.1.110.2.1.1/2410.2.1.3/2410.2.1.2/2410.3.1.1/2410.1.2.1/2410.1.1.1/24RTBRTCRTDRTARTERTF是公认必遵属性为BGP发言者指示去往目的地的下一跳8.0.0.0/24属性ORIGIN属性定义路由信息的来源,标记一条路由是怎么成为BGP路由的三种ORIGIN属性类型:IGP:表明路由信息产生于AS内部,一般是聚合路由或者通过Network命令引入的路由EGP:路由信息是通过EGP协议引入的Incomplete:路由信息是通过其他方式的来的,一般是通过Import引入的IGP路由或者静态路由在其它选路因素相同的情况下,BGP会比较ORIGIN属性来确定到达相同目的地的最佳路由IGP优先于EGP,EGP优先于Incomplete=100LOCAL_PREF=200是公认可选属性用于AS内IBGP邻居选择离开本AS时的最佳路由,它表明BGP路由器的优先级仅在IBGP对等体之间交换,不传递或通告给其他EBGP对等体D=8.0.0.0/24NEXT_HOP=2.1.1.1LOCAL_PREF=100D=8.0.0.0/24NEXT_HOP=3.1.1.1LOCAL_PREF=200(MULTI_EXIT_DISC)属性是可选非传递属性相当于IGP路由协议使用的度量值metric,当一个AS有多个入口点时,用于判断流量进入AS时的最优路径仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS9.0.0.0/24RTAAS65330AS651013.1.1.22.1.1.2RTBRTCRTDMED=100MED=0D=9.0.0.0/24NEXT_HOP=2.1.1.2MED=0D=9.0.0.0/24NEXT_HOP=3.1.1.2MED=100属性是私有BGP属性为从对等体接收的路由分配首选值,从而影响选路只在本地有效,不随路由信息传播9.0.0.0/24RTAAS65330AS651013.1.1.22.1.1.2RTBRTCRTDMED=100MED=0D=9.0.0.0/24NEXT_HOP=2.1.1.2Preferred-value=0D=9.0.0.0/24NEXT_HOP=3.1.1.2Preferred-value=100BGP概述BGP基本术语BGP同步BGP消息和状态机BGP属性BGP的选路规则目录的路由优选首先丢弃下一跳(NEXT_HOP)不可达的路由;优选Preferred-value值最大的路由;优选本地优先级(LOCAL_PREF)最高的路由;优选聚合路由;优选AS路径(AS_PATH)最短的路由;依次选择ORIGIN属性为IGP、EGP、Incomplete的路由;优选MED值最低的路由;依次选择从EBGP、联盟、IBGP学来的路由;优选下一跳度量值最低的路由;优选CLUSTER_LIST长度最短的路由;优选ORIGINATOR_ID最小的路由;优选RouterID最小的路由器发布的路由。优选地址最小的对等体发布的路由。负载分担时的选路BGP协议本身一定能选出唯一一条到达目的网段的最优路由通过配置允许BGP负载分担BGP的负载分担与IGP的负载分担有所不同:IGP是通过协议自身定义的路由算法,对到达同一目的地址的不同路由,将度量值(metric)相等的路由进行负载分担BGP本身并没有路由计算的算法,但BGP有丰富的选路规则,可以在对路由进行一定的选择后,有条件地进行负载分担路由的发布策略只将最优路由发布给对等体;只把自己使用的路由发布给对等体;从EBGP获得的路由会向它所有BGP对等体发布;从IBGP获得的路由不向它的IBGP对等体发布;从IBGP获得的路由发布给它的EBGP对等体;关闭BGP同步的情况下,IBGP路由被直接发布开启BGP同步的情况下,该IBGP路由只有在IGP也发布了这条路由时才会被发布给EBGP对等体BGP连接一旦建立,BGP发言者将把自己所有的BGP路由发布给新对等体。BGP基本概念以及常用术语BGP同步BGP消息与协议状态机BGP属性分类与定义BGP路由优选策略BGP路由发布策略小结本章介绍了