BGP
动态路由协议划分
算法:
①距离矢量型(RIP、EIGRP(收敛最快)、BGP):传递的是路由表(路径信息)
②链路状态型(OSPF、ISIS):传递的是链路状态信息(拓扑图)
③路径矢量(BGP)
范围 AS
IGP(内部网关协议)
EGP(边界网关协议)
BGP
BGP 以AS号(1-65535、64512-65525为私有AS)区分 (2^16为扩展的,解决AS号的不足)
特点:
- 可以跨跳建立邻居
- 强调路由传递控制的一种协议(控制:①路由学习选择性②选路的控制)
- 手动建立邻居
- 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路由生成
- network(宣告):(精确掩码宣告,必须和路由表中掩码对应)是逐条将IP路由表中已经存在的路由引入到BGP路由表中。
- **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
- 使用前缀列表过滤
- 使用route-policy来实现过滤