静态路由,动态路由区别:

静态路由:配置简单,设备开销低      过大的网络工作量大,排错复杂,扩展性较差
动态路由:扩展性较强,易于满足各种需求,适合较大的网络
 
动态路由协议分类:
DV:路由是以矢量(距离—多远Metric,方向—在哪Next hop)的方式被通告出去的,这里的距离是根据度量来决定的。每个路由器维护一张矢量表,表中列出了当前已知的到 每个目标的最佳距离,以及所使用的线路。通过在邻居之间相互交换信息,路由器不断地更新它们内部的表。
特点:1、定期更新          
         2、包含整个路由表的更新
         3、依照传闻进行路由选择
         4、路由计时器5、水平分割
         6、计数到无穷大7、触发更新
         8、抑制计时器
         9、异步更新
 
LS:链路状态路由选择协议又称为最短路径优先协议,它基于Edsger Dijkstra的最短路径优先(SPF)算法。优点:1、创建拓扑图2、快速收敛3、事件驱动更新4、层次式设计
 
RIP路由协议:
RIP(路由信息协议)是一种在网关与主机之间交换路由选择信息的标准.RIP是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。文档见RFC1058、RFC1723。
RIP 主要设计来利用同类技术与大小适度的网络一起工作。因此通过速度变化不大的接线连接,RIP 比较适用于简单的校园网和区域网,但并不适用于复杂网络的情况。
 
RIP协议的特点:
IGP的一种,DV协议
基于UDP,端口520

RIP(Routing Information Protocol)精析01 _CISCO

周期性的向邻居发送路由表的完整更新
只支持等价负载均衡 最多16条
AD为120
 
RIP的消息类型:
请求和应答,前者用来请求一个update消息,后者用来承载一个update给请求的邻居(update)。路由器运行RIP之初 每个启动RIP协议的路由器接口广播(RIPV1)出带有请求消息的数据包,然后就开始循环不断侦听来自其他路由器的请求或响应消息。收到请求消息的路由器会发送一个含有自己所有路由表的响应消息作为回复

RIP(Routing Information Protocol)精析01 _职场_02

将某接口宣告进RIP进程后,马上发送请求消息,请求消息中包含一个AFI(地址标识符)为0 Metric为16的代表请求所有路由。收到请求消息以后,路由器会返回一个单播的回复消息

RIP(Routing Information Protocol)精析01 _CISCO_03

RIP(Routing Information Protocol)精析01 _职场_04

除了RIP建立之初第一个包的AFI格式特殊,用来请求路由。
回复报文可以是对请求的应答,或者的主动更新用
 
特殊情况:

RIP(Routing Information Protocol)精析01 _职场_05

如果一路由器除了共享链路通告进RIP,其他没有任何接口参与RIP协议,则不会发送回复消息,(即使接收到请求报文也不发送)也不会去主动的做周期更新,因为路由表中没有路由需要发送给对端。V1V2都一样
    如图,如果R1只将自己和R2连接的链路通告进RIP。则R1除了发送第一个请求报文 来请求路由,不会发送其他任何RIP报文。
 
RIP路由器收到响应报文的两种情况:
1.如果收到的路由条目都是新的,路由器将新的路由连同这些路由的通告路由器地址(source ip)一起加入到自己的路由表当中。卷一上说是包含的下一跳?多半是早期IOS的差异。报文中,确实包含下一跳,都是0.0.0.0 应该是source ip ,加入到路由表,作为下一跳。
2.如果收到的路由条目已有,只有跳数小的才能替换原来的路由进入路由表
 
RIP计时器:
更新(Update):固定时间从启动RIP的所有接口发出消息,其中包含了自己所有的路由(除了被水平分割规则抑制的路由).时间在25.5S——30S之间 之所以有这个时间差,所有的路由器取的是这段时间之内的一个随机值。RIP使用异步更新,同步更新容易造成碰撞,大量的重复路由,低效的带宽利用率

RIP(Routing Information Protocol)精析01 _CISCO_06

无效(Invalid):新路由建立成功,无效计时器启动,收到更新报文就刷新无效计时器,180S之内收不到关于此路由的更新报文,会将此条路由标记为16跳。
抑制(holddown):当收到路由条目的跳数大于自己路由表中的跳数 抑制180S,
刷新(flush):刷新计时器到期后,清空无效路由。
timers basic    update   invalid   holddown   flush    
默认计时器结果是 flush=invalid+holddown
如果更改计时器则遵循如下原则
当flush timer 不大于 invalid timer 10秒时,在invalid timer 到期后10s flush 数据库
当 flush timer 超过 invalid timer 10 秒以上时,按flush timer 为准
 就是说最少要等 invalid 以后10秒才会 flush                              
不同的IOS版本会不一样,12.2的是20S,12.3的是10S
 20 40 60 30  这时候 第50秒flush
 20 40 60 70  这时第70秒flush