前言

BGP通常用於大型的網絡結構中,用作不同AS之間的路由資訊,通過不同的Configuration和Attribute,可以更好的調整BGP的路由結果。早期发布的三个版本分别是BGP-1(RFC 1105)、BGP-2(RFC 1163)和BGP-3(RFC 1267),当前使用的版本是BGP-4(RFC 1771,已更新至RFC 4271)。BGP-4作为事实上的Internet外部路由协议标准,被广泛应用于ISP(Internet Service Provider,因特网服务提供商)之间。
发送BGP消息的路由器称为BGP发言者(BGP Speaker),它接收或产生新的路由信息,并发布(Advertise)给其它BGP发言者。当BGP发言者收到来自其它自治系统的新路由时,如果该路由比当前已知路由更优、或者当前还没有该路由,它就把这条路由发布给自治系统内所有其它BGP发言者。

eBGP是什麼

eBGP的全稱是 External Border Gateway Protocol, 用於互聯網上不同獨立的AS自建的連接
eBGP is used between autonomous systems. It is used and implemented at the edge or border router that provides inter-connectivity for two or more autonomous system. It functions as the protocol responsible for interconnection of networks from different organizations or the Internet.
eBGP 用於自治系統之間。它在邊緣或邊界路由器上使用和實施,為兩個或多個自治系統提供互連。它作為負責來自不同組織或互聯網的網絡互連的協議。

  1. 在不同AS中運行
  2. 默認距離是20
  3. default peers are set with TTL = 1

iBGP是什麼

iBGP的全稱是 Internal Border Gateway Protocol,用於AS內部連接路由器。Edge router是指在AS边缘,用来连接其他AS的router,那么edge router肯定是运行了EBGP。同时这个edge router也会有对端AS的路由。通过IBGP,edge router会将学习到的对端AS的路由,传递给其他的edge router。这样,可以实现跨AS的连通。
IBGP is used inside the autonomous systems. It is used to provide information to your internal routers. It requires all the devices in same autonomous systems to form full mesh topology or either of Route reflectors and Confederation for prefix learning.
IBGP 在自治系統內部使用。它用於向您的內部路由器提供信息。它要求同一自治系統中的所有設備形成全網狀拓撲或路由反射器和聯盟中的任一個進行前綴學習。

  1. 在同個AS中運行
  2. 默認距離是200
  3. default peers are set with TTL = 255

BGP的路由属性(BGP Attributes)

BGP Attributes是在BGP與Peer建立時路由時需要包含在BGP信息內的內容。BGP路由属性是一组参数,它对特定的路由进行了进一步的描述,使得BGP能够对路由进行过滤和选择。BGP Attributes分為四類:

1.Well-known mandatory:Recognized by all BGP peers, passed to all peers, and present in all Update messages. Well-known mandatory attributes include:- Next-hop- Origin- AS PATH
2.Well-known discretionary:Recognized by all routers, passed to all peers, and optionally included in the Update message. Well-known discretionary attributes include:- Local Preference- Atomic Aggregate

  1. Optional transitive:Possibly recognized by BGP routers and passed to BGP peers. Optional transitive attributes are marked as partial when not recognized. Optional transitive attributes include:- Aggregator- Community
    4.Optional non-transitive:Possibly recognized by BGP routers but not passed to peers. Optional non-transitive attributes include:- Multi-exit discriminator (MED)- Originator ID- Cluster-ID

1.公认必须遵循(Well-known mandatory):所有BGP路由器都必须能够识别这种属性,且必须存在于Update消息中。如果缺少这种属性,路由信息就会出错。
2.公认可选(Well-known discretionary):所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来选择。
3.可选过渡(Optional transitive):在AS之间具有可传递性的属性。BGP路由器可以不支持此属性,但它仍然会接收带有此属性的路由,并通告给其他对等体。
4.可选非过渡(Optional non-transitive):如果BGP路由器不支持此属性,该属性被忽略,且不会通告给其他对等体。

在Attributes中有多項欄位:

  1. Neighbor:Peer Router的IP Addr
  2. V:BGP Version,目前基本上都使用V4
  3. AS:Peer Router的ASN,如果與Local ASN一致,即代表建立了iBGP,否則就是eBGP