BGP 相关概念

BGP

  •   BGP的特点
    • BGP是一种EGP(Exterior Gateway Protocol,外部网关协议),与OSPF、RIP等IGP(Interior Gateway Protocol,内部网关协议)不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由。 BGP使用TCP作为其传输层协议(端口号179),提高了协议的可靠性。 BGP是一种路径矢量(Path-Vector)路由协议,它采用到达目的地址所经过的AS列表来衡量到达目的地址的距离。 BGP支持CIDR(Classless Inter-Domain Routing,无类域间路由)。 路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。 BGP路由通过携带AS路径信息彻底解决路由环路问题。 BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。 BGP易于扩展,能够适应网络新的发展。
  • BGP发言者和BGP对等体
    • BGP发言者
      • 运行BGP协议的路由器称为BGP发言者
    • 根据对等体所在的AS
      • IBGP对等体:对等体与本地路由器位于同一AS。
      •  EBGP对等体:对等体与本地路由器位于不同AS
    • 根据对等体的IP地址类型
      • IPv4对等体:通过IPv4地址创建的对等体。
      •  IPv6对等体:通过IPv6地址创建的对等体。
  • BGP的消息类型
    • Open:TCP连接建立后发送的第一个消息,用于在BGP对等体之间建立会话。
    • Update:用于在对等体之间交换路由信息。一条Update消息可以发布具有相同路径属性的多条可达路由,也可以同时撤销多条不可达路由。
    • Keepalive:BGP周期性地向对等体发送Keepalive消息,以保持会话的有效性。
    • Route-refresh:用来要求对等体重新发送指定地址族的路由信息。
    • Notification:当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP会话会立即中断。
  • BGP的路由属性
    • 1. 源(ORIGIN)属性
      • IGP:优先级最高,表示路由产生于本AS内。EGP:优先级次之,表示路由通过EGP学到。Incomplete:优先级最低,表示路由的来源无法确定。例如,从其它路由协议引入的路由信息。
    • 2. AS路径(AS_PATH)属性
      • AS_SET:AS号只是经过的AS的简单罗列,没有顺序要求。AS_SEQUENCE:AS号按照一定的顺序排列。
      • AS号码AS_PATH属性指示了数据包从源AS(AutonomousSystem)到目的AS的路径。它是一个由AS号码序列构成的有序列表,标识了数据包经过的每个AS。AS_PATH属性可以用于路由选择、路由过滤和路由策略的制定。在BGP协议中,AS_PATH属性是一个必需属性。
    • 3. 下一跳(NEXT_HOP)属性
      • BGP发言者把自己产生的路由发给所有邻居时,将该路由信息的NEXT_HOP属性设置为自己与对端连接的接口地址;
      • BGP发言者把接收到的路由发送给EBGP对等体时,将该路由信息的NEXT_HOP属性设置为自己与对端连接的接口地址;
      • BGP发言者把从EBGP邻居得到的路由发给IBGP邻居时,并不改变该路由信息的NEXT_HOP属性。如果配置了负载分担,等价路由被发给IBGP邻居时则会修改NEXT_HOP属性。关于“负载分担”的概念请参见“1.7  BGP负载分担”。
    • 4. MED(Multi-Exit Discriminator,多出口区分)属性
      • MED属性仅在相邻两个AS之间交换,收到此属性的AS不会再将其通告给其它AS。 value 小优先
    • 5. 本地优先(LOCAL_PREF)属性
      • LOCAL_PREF属性仅在IBGP对等体之间交换,不通告给其他AS。它表明BGP路由器的优先级  value 大优先
    • 6. 团体(COMMUNITY)属性
      • BGP将具有相同特征的路由归为一组,称为一个团体,通过在路由中携带团体属性标识路由所属的团体。团体没有物理上的边界,不同AS的路由可以属于同一个团体。
      • 公认的团体属性有:
        • INTERNET:缺省情况下,所有的路由都属于INTERNET团体。具有此属性的路由可以被通告给所有的BGP对等体。NO_EXPORT:具有此属性的路由在收到后,不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子ASNO_ADVERTISE:具有此属性的路由被接收后,不能被通告给任何其他的BGP对等体。NO_EXPORT_SUBCONFED:具有此属性的路由被接收后,不能被发布到本地AS之外,也不能发布到联盟中的其他子AS。
      • 扩展团体属性
  • BGP的选路规则
    • (1)丢弃下一跳(NEXT_HOP)不可达的路由;(2)优选首选值(Preferred-value)最大的路由;(3)优选本地优先级(LOCAL_PREF)最高的路由;(4)依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;(5)优选携带AIGP属性的路由,AIGP属性值越小优先级越高;(6)优选AS路径(AS_PATH)最短的路由;(7)依次选择ORIGIN类型为IGP、EGP、Incomplete的路由;(8)优选MED值最低的路由;(9)依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由;(10)优选IGP Metric值最小的路由;(11)优选迭代深度值小的路由;(12)如果当前的最优路由为EBGP路由,则BGP路由器收到来自不同的EBGP邻居的路由后,不会改变最优路由;(13)优选Router ID最小的路由器发布的路由。如果路由包含RR属性,那么在路由选择过程中,就用ORIGINATOR_ID来替代Router ID;(14)优选下一跳地址为IPv4地址的路由。(15)优选CLUSTER_LIST长度最短的路由;(16)优选IP地址最小的对等体发布的路由。
  • BGP发布路由的策略
    •  存在多条有效路由时,BGP发言者只将最优路由发布给对等体。如果配置了advertise-rib-active命令,则BGP发布IP路由表中的最优路由;否则,发布BGP路由表中的最优路由。GP发言者只把自己使用的路由发布给对等体。 BGP发言者会将从EBGP获得的路由发布给它的所有BGP对等体(包括EBGP对等体和IBGP对等体)。BGP发言者会将从IBGP获得的路由发布给它的EBGP对等体,但不会发布给它的IBGP对等体。会话一旦建立,BGP发言者将把满足上述条件的所有BGP路由发布给新对等体。之后,BGP发言者只在路由变化时,向对等体发布更新的路由。
  • BGP负载分担
    •  基于迭代路由实现负载分担
    • 通过改变BGP选路规则实现负载分担
      • ORIGIN属性、LOCAL_PREF属性、AIGP属性和MED属性完全相同。对AS_PATH属性的要求为:    如果同时配置balance as-path-neglect和balance as-path-relax命令,或者仅配置balance as-path-neglect命令,则AS_PATH属性可以不同。    如果仅配置balance as-path-relax命令,则AS_PATH属性内容不同但长度相同的路由之间能够形成BGP负载分担。    如果未配置balance as-path-neglect和balance as-path-relax命令,则要求AS_PATH属性也必须相同。同为标签路由(具有对应MPLS标签值的路由)或同为非标签路由。
  • 大规模BGP网络所遇问题的解决方法
    • 聚合路由
    • 路由震荡
      • 惩罚值-半衰期
    • 对等体组
    • 团体
    • 路由反射器
    • 联盟

BGP 相关概念_第1张图片
 

 

你可能感兴趣的:(路由交换,网络)