目录
RIP路由信息协议
OSPF开放式最短路径优先协议
RIP和OSPF 的区别
RIP路由信息协议
RIP路由信息协议(Routing Information Protocol)是DV距离矢量(Distance Vector)中路由选择协议,利用跳数来作为计量标准。
工作原理
(1)路由建立
路由器运行RIP后,会首先发送路由更新请求,收到请求的路由器会发送自己的RIP路由进行响应;网络稳定后,路由器会周期性(30s)发送路由更新信息。
(2)距离矢量的计算
RIP度量的单位是跳数,其单位是1,也就是每经过一台路由器+1跳,而不考虑链路的实际带宽的问题,RIP的最大跳数为15跳。
RIP利用度量来表示它和所有已知目的地间的距离。
当一个RIP更新报文到达时,接收方路由器和自己的RIP路由表中的每一项进行比较,并按照距离矢量路由算法对自己的RIP路由表进行修正。
(3)定时器
周期更新定时器:用来激发RIP路由器路由表的更新,每台启动RIP协议的路由器只有一个更新定时器,周期为30s。每30s路由器会向自己的邻居广播自己的路由表信息。
无效计时器:用来判定某条路由是否可用。每条路由项都有一个无效计时器,为180s。当一条路由激活或更新时,该定时器开始计时,如果在180s之内没有收到对端路由的更新报文,则将该路由置为无效,暂存于缓存中,此时不会立马删除。
垃圾收集计时器:判定是否需要删除一条路由。每条路由有一个垃圾收集计时器,为120s。当某条路由无效时,该计时器开始计时,如果在120s内没收到对端路由的更新,就从路由表中彻底删除这条路由。
(4)RIP环路
当网络中某台设备宕机或者网络结构发生突变时,RIP有可能产生路由环路。
解决办法:
水平分割---从此口学到的路由,不再从此口发出
毒性逆转---从此口学到的路由,会从此口发出,但是跳数置位16,也就是一条带毒的路由
触发更新--当某一个路由器中的路由项发生改变时,不需要等待下一次更新周期的到来,就可以直接将发生变化的路由项通过更新报文发送出去
最大跳数---RIP的最大跳数为15
RIP版本
- 更新方式
- RIPV1使用广播更新
- RIPV2使用组播更新(224.0.0.9)
- 更新时是否携带真实掩码
- RIPV1不携带真实掩码
- RIPV2携带真实掩码
- RIPV2支持手工认证和自动汇总
缺点
由于最大跳数为15,RIP协议只能应用于小规模的网络;
收敛速度慢(周期更新);
基于跳数选择的路由,不一定是最优路由。
OSPF开放式最短路径优先协议
OSPF开放式最短路径优先(Open Shortest Path First)是LS链路状态(Link State)路由选择协议,隶属内部网关协议(IGP),度量标准是带宽和延迟。
rip协议是距离矢量路由选择协议,它选择路由的度量标准是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
ospf协议是链路状态路由选择协议,它选择路由的度量标准主要是带宽。
OSPF的工作过程
- 协议启动后,路由器A向本地所有启动协议的直连接口,使用组播地址224.0.0.5发送hello报文;hello报文中携带了本地的全网唯一的RID;之后对端路由器B也将回复hello报文,该报文中若携带了对端A的RID值,则A与B建立邻居关系,并生成邻居表
- 邻居关系建立后,邻居间进行条匹配,匹配失败停留在邻居关系,匹配成功后后,则可以开始建立邻接关系
- 邻接间共享DBD报文,将本地与邻接的DBD进行比对,查找本地没有的LSA信息,之后使用LSR来询问,对端使用LSU报文来回复具体的LSA信息,之后本地使用LSACK报文进行确认回复,该过程完成后,生成数据库表(LSDB)
- 在之后,本地基于数据库表,启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到本地的路由表中。此时收敛完成
- 最后,邻接之间使用hello包进行保活,并进行30min的周期更新
OSPF数据包类型---五种数据包
- HELLO包
- 发现,建立邻居关系
- 周期保活---hello-time 10s
- 死亡时间---hold-time 4 倍的hello包时间
- 如果在死亡时间内没有接受到对端邻居发送的hello包,则认为邻居不存在
- Router-ID
- 全网唯一(仅指的是本张网络中),标识路由器身份
- 32位二进制组成,点分十进制
- DBD包
- 数据库描述报文
- 内部包含了所有的拓扑的目录信息
- LSR包
- 链路状态请求报文
- 请求获取未知的链路信息
- LSU包
- 链路状态更新包文
- 携带是完整的LSA信息的数据包
- LSACK包
- 链路状态确认报文
OSPF七种状态机
- down:关闭状态----一旦 启动OSPF协议后,则发出hello报文,进入init状态
- init:初始化状态---收到hello报文中包含本地的rid时,进入下一状态
- 2-way:双向通信----邻居关系建立的标准
- 条件匹配:匹配成功后进入下一状态,匹配失败,则停留在邻居关系
- exstart:预启动状态----使用未携带信息的DBD报文进行主从选举,EID大为主
- exchange:准交换状态---使用携带信息的DBD报文进行目录共享
- loading :加载状态---收到LSR后进入该状态,在该状态中使用LSR/LSU/LSACK三种报文来获取完整的拓扑信息
- full:转发状态---拓扑信息交换完成后,该状态是邻接关系建立的标志
条件匹配
- 三种接口角色
- 指定路由器---DR
- 备份指定路由器---BDR
- 其他路由器---DROther
- OSPF成为邻接关系的条件---根据网络类型的不同而不同
- MA网络(以太网)类型
- 点到点网络类型(无需进行条件匹配,一定是邻接关系)
- 角色之间的关系
- DR-----BDR 邻接关系
- DR-----DROther 邻接关系
- BDR----DROther 邻接关系
- DROther----DROther 邻居关系
- 选举规则
- 接口优先级(0-255),优先级越大,则越优。华为默认为1
- 如果优先级一样,再比较RID,越大越优先
- 选举的范围
- 一个广播域,进行一次DR/BDR的选举
- 选举模式
- 非抢占型的,一旦确定DR/BDR后,该广播域中再有更优的路由器,不会进行选举,维持原有的。(认贼作父)
- 一旦选举成功,不会因为新加入的设备进行重新选举
结构突变
- 新增网段
- 直接使用更新包(LSU)告知邻居路由器
- 断开网段
- 直接使用更新包告知邻居路由器
- 无法沟通
- hello包10s发送一次,若40s未接受到对端发来的hello报文,即超出死亡时间
- 断开邻接关系,删除路由
RIP和OSPF 的区别
1.路由信息协议(RIP):
RIP代表路由信息协议,其中距离矢量路由协议用于数据/分组传输。在路由信息协议(RIP)中,最大跳数为15,因为它可以防止从源到目标的路由环路。使用诸如水平分割,毒性逆转和保持所有权之类的机制来防止错误或错误的路由信息。Sally Floyd和Van Jacobson [1994]提出,在不对计时器进行轻微随机化的情况下,计时器会随着时间的推移而同步。与其他路由协议相比,RIP(路由信息协议)较差并且限制了规模,即小型网络。使用RIP的主要优点是它使用UDP传输(用户数据报协议)。
2.开放式最短路径优先(OSPF):
OSPF表示使用链路状态路由算法的开放式最短路径优先。使用路由器中可用的链路状态信息,它构造拓扑,在该拓扑中,拓扑确定用于路由决策的路由表。它支持可变长子网掩码和无类域间路由寻址模型。由于它使用Dijkstra的算法,因此它会为每条路线计算最短路径树(最重要的作用就是防环
)。OSPF(首先是开放式最短路径)的主要优点是它自己处理错误检测,并且使用多播寻址在广播域中进行路由