BGP协议初入门

1、什么是bgp?

    BGP称为:边界网关协议,主要是用于路由的传递与选择。BGP使用TCP作为传输层协议(端口号:179),因为使用TCP连接,所以网络的可靠性得到了巨大的保证。

2、拥有IGP后,为啥还需要BGP呢?

    首先,我们企业网中所用到IGP,比如:ISIS,ospf,RIP,都是能够通告网络可达性的协议,而与BGP比,他们的缺点却显而易见。

  (1)IGP适合于小型网络,而BGP适用于大型的网络(如网络运营商);

  (2)IGP主要用于:计算和发现路由,而BGP主要控制和选择路由;

  (3)BGP可以工作在非直连邻居之间,且使用TCP协议作为传输介质,提高其网络稳定性;

3、BGP邻居关系的建立

     BGP邻居关系分为2种:IBGP与EBGP。

  (1)IBGP:工作在同一个AS内部的BGP。

  (2)EBGP:工作在不同AS之间的BGP。

     那么什么是AS号,IBGP关系,EBGP关系呢?从下图分析:

   通过上图可知,AS号为Autonomous systems(自治系统),图中红框与黄框分别代表的2个不同的AS,且AS200中的R2与AS100的R1关系为EBGP,而AS200中,3台路由器的关系为IBGP。

 4、BGP的状态机与报文

  BGP的状态机共6种:idle,connect,active,opensent,openconfirm,established。

       报文共5种:open,update,keepalive,notification,refresh。

BGP报文类型
open报文 用于建立BGP连接
update报文 用于通告路由
keepalive报文 用于保持BGP连接
notification报文 用于处理BGP进程中的各种错误
refresh报文 用于动态的请求BGP路由发布者重新发布UPDATE报文,进行路由更新

  

5、BGP交互原则

 (1)从EBGP对等体收到的路由,会发送给所有BGP路由器。

 (2)从IBGP对等体收到的路由,只会发送给所有EBGP路由器。

 (3)BGP设备只会发送最优路由。

 (4)路由更新时,只会发送更新路由。

6、BGP路径属性

公认必遵(所有路由器都必须识别此属性,且必须存在与update报文中):origin,as-path,next-hop。

公认任意(所有路由器都必须识别此属性,根据需求存在与update报文中):local-preference,atomic-aggregate。

可选过度(所有路由器不需要识别此属性,但路由器可以转发此属性报文):aggregator,community。

可选非过度(所有路由器不需要识别此属性,且路由器不需要转发此属性报文):med。

7、BGP选路原则

(1)如果此路由的下一跳不可达,忽略此路由
(2)Preferred-Valnue值数值越高越优先,华为私有属性,仅本地有意义
(3)Local-Preference值最高的路由优先
(4)聚合路由优先于非聚合路由(手动聚合>自动聚合>network>从对等体学习到的)。可理解为:0.0.0.0>邻居
(5)本地手动聚合路由的优先级高于本地自动聚合的路由
(6)本地通过Network命令引入的路由的优先级高于本地通过Import-route命令引入的路由
(7)AS路径的长度最短的路径优先
(8)比较Origin属性,IGP优于EGP,EGP优于Incomplete
(9)选择MED较小的路由
(10)EBGP路由优于IBGP路由
(11)BGP优先选择到BGP下一跳的IGP度量值最低的路径
当以上全部相同,则为等价路由,可以负载分担(注意: AS_Path必须一致,当负载分担时,以下3条原则无效)
(12)比较Cluster_list长度,短者优先
(13)比较Originator_ID(如果没有Originator_ID,则用Router_ID比较),选择数值较小的路径。
(14)比较对等体的IP地址,选择IP地址数值最小的路径。

猜你喜欢

转载自www.cnblogs.com/jyb0824/p/11534201.html