【温馨提示】需要资料或者需要进群交流划到最底部
动态路由协议概述及RIP
为什么要有动态路由协议
路由器是依赖自己维护的路由表来进行数据转发的,而路由表又是由许多路由条目构成的,路由器要将数据转发到目的地就必须有路由。一台路由器可以从多种来源学习到路由条目:
直连路由
路由器在初始启动后,如果我们为其接口配置IP地址,并且接口的物理及协议的状态都为UP,则路由器能够自动地学习该接口的网络号,将这条直连路由装载进路由表,这其实很好理解,因为这是我“家门口”的网络嘛,无需干预,自动学习。
静态路由
直连网络能够自动学习,可是非直连网络可就无法自动学习了,那么一种最简单的方式,就是通过手工配置的方式为路由器创建静态的路由表项,这叫静态路由,静态路由由于其是静态手工配置,因此可管理性非常高,但是也有明显的缺陷,因为你要到一个目的地,就必须做一条静态路由的配置,那么如果网络特别庞大、设备数量特别多呢?工作量就相当大了,这是低效且不切实的;再者静态路由无法根据网络拓扑的变更做出动态的感知,因此当网络发生变化时,管理员可能不得不重新配置或调整静态路由。因此,我们迫切需要一种动态的机制,来帮助路由器更加灵活的维护路由信息。
动态路由协议的分类
根据作用的范围,路由协议可分为:
内部网关协议(Interior Gateway Protocol,简称IGP):在一个自治系统内部运行
外部网关协议(Exterior Gateway Protocol,简称EGP):运行于不同自治系统之间
所谓的AS自治系统指的就是,一个独立自治的、自我管理的路由选择域。
根据使用的算法,路由协议可分为:
距离矢量协议(Distance-Vector):包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector)
链路状态协议(Link-State):包括OSPF和IS-IS
关于距离矢量路由协议
我们先初步认识一下距离矢量路由协议。
动态路由协议,大家可以理解为赋予了路由器一种“语言”交流能力。在静态路由环境下,路由器之间都互相不交流的,比较闷骚。但是一旦激活了动态路由协议,路由器之间就能够进行互相的通告和学习。
在上图中,初始情况下,R2是无法知道远程网络、R1的直连1.1.1.0/24的,在R1和R2激活了距离矢量的动态路由协议后,R1将自己家门口的路由1.1.1.0/24通告给R2,在通告路由的同时,还告诉R2你要前往1.1.1.0/24所需花费的“代价,或成本”,这样一来R2就能动态的从R1学习到这条路由并且装载进路由表。于是当R2要发送数据去往1.1.1.0/24的时候,就会将数据包丢给下一跳路由器、也就是路由的通告者R1。这就是所谓的距离矢量。最具代表性的距离矢量路由协议是RIP,RIP是一个有着悠久历史的路由协议,简单、小巧,但是也存在很大局限,这使得它几乎很少在现今的网络环境中被使用。但是经典毕竟是经典,从它入手,我们将更快速的理解动态路由协议。
使用距离矢量路由协议的路由器并不了解网络的拓扑。该路由器只知道:
自身与目的网络之间的距离,应该往哪个方向或使用哪个接口转发数据包
实际上,运行距离矢量路由协议的路由器,是将自己的整张路由表更新给直连的其他路由器,彼此之间都进行更新,而路由器也会从其他直连路由器收到他们发来的路由更新,于是就进行一系列的路由收发行为,最终的结果是,大家都心满意足的填充好了自己的路由表。
关于链路状态路由协议