动态路由协议
# 简介
在[[ENSP]]中,我们曾说到过静态路由,很明显静态路由完全需要人工管控,当网络拓扑发生变化时,也需要人为重新设置,但一旦网络规模变得十分庞大,维护成本也将随之上升。
因此我们需要使用动态路由协议解决该问题。
# 距离矢量 & 链路状态
动态路由协议的原理主要有两派
# 距离矢量
常见协议:RIP, IGRP, EIGRP, BGP
更新的是路由条目,网络能见度只有一跳,计算路由基于邻居,可能有环路风险,一旦重要链路发生变化,意味着需要通告多条相关的路由条目。
距离矢量路由协议由于是根据邻居的路由表更新自己的路由表,因此可能有环路风险
如上图所示,由于R2有直连路由8.8.8.8
因此在第一轮交换时,会将直连路由的信息也一并发送给R1,不幸的是,刚发出去后,直连路由断了,R2此时已经没有直连路由8.8.8.8
了,但在第二轮交换时,R1又重新把8.8.8.8
传给R2,这导致本该删除的线路又一次回到了R2。
因此引入了一个概念叫水平分割,简而言之就是接收者不会将路由发送给发送者。
# 链路状态
常见协议:OSPF, IS-IS
更新的是拓扑,设备相互间传递路由信息和拓扑信息,能见度是整个拓扑结构因此无环,基于自身计算路由,一旦重要链路发生变化,不必再发送所有被波及的路由条目,只需要发生送一条链路通告,告知其他路由器发生故障即可。其他路由器会根据链路状态改变自身的拓扑数据库,重新计算路由条目。
# OSPF邻居建立过程
(19条消息) OSPF邻居建立过程详解_Mr_Bei的博客-CSDN博客_ospf邻居建立过程 (opens new window)
每个广播域都会有一对DR和BDR。