BGP

动态路由协议划分

算法:

①距离矢量型(RIP、EIGRP(收敛最快)、BGP):传递的是路由表(路径信息)

②链路状态型(OSPF、ISIS):传递的是链路状态信息(拓扑图)

③路径矢量(BGP)

范围 AS

IGP(内部网关协议)

EGP(边界网关协议)

BGP

BGP 以AS号(1-65535、64512-65525为私有AS)区分 (2^16为扩展的,解决AS号的不足)

特点:

  1. 可以跨跳建立邻居
  2. 强调路由传递控制的一种协议(控制:①路由学习选择性②选路的控制)
  3. 手动建立邻居
  4. BGP有多种路由属性

BGP的建邻

BGP是通过单播使用TCP协议建邻 端口号179

邻居类型:

  • IBGP邻居 AS内部建立的BGP邻居,邻居路由器的AS号是一致的。
  • EBGP邻居 AS之间建立BGP邻居,邻居路由器的AS不一致。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b6iDY4E1-1633867420718)(C:\Users\丫丫丫\AppData\Roaming\Typora\typora-user-images\image-20211009102505855.png)]

一般而言BGP的EBGP建邻会使用直连建立,IBGP建邻会使用回环建立。

如果我们用回环建立EBGP邻居需要修改建邻跳数

bgp 200
router-id 2.2.2.2
peer 10.1.24.2 as-number 300
peer 10.4.4.4 as-number 300
peer 10.4.4.4 ebgp-mac-hop 2	//修改跳数
peer 10.4.4.4 connect-interface LoopBack0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YJLNTZPR-1633867420723)(C:\Users\丫丫丫\AppData\Roaming\Typora\typora-user-images\image-20211009102715147.png)]

BGP没有周期更新,只有触发更新,update包可以更新路由也可以撤销路由,BGP更新速度非常慢。

BGP路由生成

  1. network(宣告):(精确掩码宣告,必须和路由表中掩码对应)是逐条将IP路由表中已经存在的路由引入到BGP路由表中。
  2. **import(重发布):**Import命令是根据运行的路由协议(RIP, OSPF, ISIS等) 将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由。

BGP路由学习

  • BGP通告原则之一:仅将自己最优的路由发布给邻居
  • BGP通告原则之二:通告EBGP获得的最优路由发布给所有BGP邻居
  • BGP通告原则之三:通告IBGP获得的最优路由不会发布给其他的IBGP邻居 ---- 为了防环,是一种水平分割的设置(IBGP之间没有设置防环计算)
  • BGP通告原则之四BGP与IGP同步 (BGP会查看自身路由有没有被重发布到IGP中,若有,就是同步,若没有,就是不同步(不同步的路由在BGP中不优))
    路由黑洞问题
    ①BGP全互联:在黑洞路由器上配置BGP并且与其他BGP路由器建立邻居
    重发布:把BGP路由引入IBGP
    ③MPLS做隧道
  • BGP通告原则之五:IBGP之间传递路由时路由的下一跳不变

(会导致下一跳不可达,解决:peer 10.4.4.4 next-hop-local)

  • BGP通告原则之六:EBGP之间传递路由时路由的下一跳会修改为自己的更新地址

BGP的路由更新

本地路由(BGP-RIB) —> 过滤—> 出向BGP-RIB—update —>邻居的入向BGP-RIB—>过滤—>邻居的本地BGP-RIB

BGP的过滤

刷新BGP refresh bgp all import/export

  1. 使用前缀列表过滤
  2. 使用route-policy来实现过滤