动态选路协议,是在路由器间路由信息交换使用的协议,它分为内部网关协议(内网使用)和外部网关协议(外网使用)两大类。每一类又含有多种具体的的协议。程序员
自治系统中各个路由器之间的选路协议网络
RIP(Routing Infromation Protocol)基于UDP协议,经常使用端口号为520。学习
RIP是一种__距离向量协议__,所使用的度量是以跳(hop)计算的,直接链接接口的跳数为1。开始时每一个路由器维护的路由表(只记载相邻的接口跳数),而后经过广播将路由表传播开去,从而使每一个路由表都拥有所有的路由信息。测试
RIP的报文以下:优化
初始化:spa
向每一个接口上发送一个请求报文,要求其余路由器发送完整路由表。code
触发更新 每当一条路由的度量发生变化时,就对它进行更新。不须要发送完整路由表,而只须要发送那些发生变化的表项。cdn
按期选路更新:blog
每过30秒,全部或部分路由器会将其完整路由表发送给相邻路由器。接口
每条路由都有与之相关的定时器。若是运行 RIP的系统发现一条路由在3分钟内未更新,就将该路由的度量设置成无穷大(16),并标注为删除。再过60秒,将从本地路由表中删除该路由。(由此可知,从失效到删除一共进行了两次传播,一次是设置为无穷大,一次是路由项被删除)
OSPF是一个__链路状态协议__,它直接基于__IP协议__实现。它采用的是每一个路由器__主动测试__与其邻站相连链路的状态,将这些信息发送给它的其余邻站,而邻站将这些信息在自治系统中传播出去。每一个路由器接收这些链路状态信息,并创建起完整的路由表。
因为OSPF是链路状态协议,因此它比起RIP在发生故障时可以更快的稳定下来(收敛性强)。
不一样自治系统之间的路由器的选路协议
Internet的总拓扑结构由如下几种自治系统组成:
残桩自治系统和多接口自治系统经过运行EGP(与外部网关协议同名,但应该清楚它指的是外部网关协议大类型下的明确的协议。已通过时,如今改成使用BGP协议)在自治系统之间交换可到达信息
BGP是基于__TCP__的协议,两个运行BGP的系统之间创建一条TCP链接,而后交换整个BGP路由表。从这个时候开始,在路由表发生变化时,再发送更新信号。
BGP容许使用基于策略的选路。由自治系统管理员制订策略,并经过配置文件将策略指定给BGP。制订策略并不是协议的一部分,但指定策略容许BGP实如今存在多个可选路径时选择路径,并控制信息的重发送。
BGP是一个__距离向量协议__,可是与(通告到目的地址跳数的)RIP不一样的是, BGP列举了到每一个目的地址的路由(自治系统到达目的地址的序列号,这些信息包括数据到达这些网络所必须通过的自治系统 AS中的全部路径)。
准确来讲RIPv2不只能用于外部网关协议,并且也能用于内部网关协议。看了开头的RIP报文,相信你们都会以为不少不用的空间被浪费掉很惋惜。所以RIPv2将这些空间利用起来。传递更多的信息。RIPv2是兼容RIP协议的,若是路由器忽略RIPv2的特有字段,那么就能够将RIPv2当作RIP报文。但前提是RIPv2没有启用报文认证。如下是它的报文:
相比RIP报文它增长的字段说明以下:
虽然比起一代,表示距离的范围仍然没有改变,而且因为运行机制相同,仍然没法解决,路由错误时,更新缓慢的问题。可是从它的报文中能够看出它具备以下的优势:
此外它还有一个隐藏的功能,那就是路由认证功能。须要认证报文的路由器生成认证口令,对有权限的路由器发放口令,路由器经过RIPv2通讯时将口令携带发送。具体发送报文为:将RIP报文的前20字节表项地址系列置为0xffff,路由标记设为2,表项中其他16字节携带口令。
最后用一张表格概括下,这四个协议
公众号二分之一程序员,专一计算机基础的学习,欢迎关注 :)
复制代码