0x00:前言
一题目:OSPF协议和RIP协议的区别,没复习到(/(ㄒoㄒ)/~~)
0x01:RIP协议
RIP(Routing Information Protocol),路由信息协议
RIP是内部网关协议IGP重最先得到广泛使用的协议。
RIP协议是一种采用距离向量算法的路由协议,基于距离-向量的路由选择协议。其设计思想简单,它要求路由器周期性地通知相邻路由器自己可以到达的网路,以及到达网络的距离(跳数),这里的“距离”实际上指的是“最短距离”。
- 到目的网络的距离以跳为单位,最大距离为15,距离16表示无穷大,即目的网络不可达。(这一规定限制了RIP协议只能适用于中小网络,网络规模太大的话路由信息就无法到达远端路由器了)
- 初始时每个RIP路由器只有到直连网的路由,距离为 1;从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1
- 每30秒RIP路由器把它的整个路由表发给邻居(具体实现时每个邻居会错开发送,30秒的时间也会随机变化一点)
- RIP不能在两个网络之间同时使用多条路由
简述RIP协议的工作原理:路由器每30秒把自己的路由表发给邻居。路由器用邻居发来的路由表根据距离向量算法修改自己的路由表。初始时每个路由器只有到直连网距离为1的路由。
RIP的路由表
RIP路由表建立的特点:
- Q1:和哪些路由器交换信息?
仅和相邻路由器交换信息
- Q2:交换什么信息?
交换的信息是当前本路由器所知道的全部信息,即自己的路由表
- Q3:在什么时候交换信息?
按固定的时间间隔交换路由信息,例如每隔30秒
- Q4:如何交换?
利用距离向量算法
该算法要求路由器周期地通知相邻路由器最新的路由信息
- Q5:交换信息的目的?
更新路由表,找出到每个目的网络的最短距离
- Q6:基于RIP协议的路由表结构
目的网路、距离和下一跳路由器地址
距离向量算法
对每一个相邻路由器(其地址为 X)发送过来的 RIP 报文,进行以下的步骤更新路由表:
(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。
(2) 对修改后的 RIP 报文中的每一个项目,与原表比较,重复以下步骤:
1)若原表项目中没有某个目的网络,则把该项目添加到路由表中。
2)否则,若下一跳路由器地址是相同的,则把收到的项目替换原路由表中的项目。*****距离变大了也要替换*****
3)否则,若收到项目中的距离小于原路由表中的距离,则进行更新(即替换掉原表中的项目);
4)否则,什么也不做。最后,得出更新后的路由表。
(3) 若规定时间内(如3分钟)还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。
(4) 返回。
RIP的优缺点
实现简单,开销小;好消息传播的快
RIP存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器;
RIP限制了网络的规模,它能使用的最大距离为15(16表示无穷大,不可达)
随着网络规模的扩大,开销也增加
0x02:OSPF协议
OSPF(Open Shortest Path First),开放的最短路径优先协议,OSPF不受某一家厂商控制,而是公开发表的。使用Dijikstra最短路径算法,使用分布式的链路状态协议。
OSPF路由表建立的特点:
- Q1:和哪些路由器交换信息?
使用洪泛法
向本自治系统中所有路由器发送信息
- Q2:交换什么信息?
与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
- Q3:在什么时候交换信息?
只有当链路状态发生变化时,路由器才向所有路由器发送此信息
OSPF的应用环境
(1)网络规模
当网络中的路由器在10台以上或者大中型规模的网络。
(2)网络的拓扑结构
网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求
(3)其他特殊的需求
要求路由器变化时能够快速收敛,路由协议自身的网络协议尽量降低
(4)路由器自身的要求
运行OSPF协议时对路由器CPU的处理能力及内存的大小都有一定的要求,性能很低的路由器不推荐使用OSPF协议。
OSPF的特点
可适应大规模网络
路由变化收敛速度快
无路由环路
支持可变长子网掩码VLSM
支持区域划分
支持以组播地址发送协议报文
0x03:外部网关协议BGP
边界网关协议BGP 是不同自治系统的路由器之间交换路由信息的协议。
BGP 较新版本是 2006年1月发表的 BGP-4(BGP 第4个版本),即 RFC 4271-4278。
可以将 BGP-4 简写为 BGP。
为什么不用OSPF或者RIP协议?
互联网规模太大,使得AS之间路由选择非常困难
域间路由选择协议应当允许使用多种路由选择策略,需要考虑包括安全、经济方面的因素;
BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
0x04:OSPF和RIP的区别
(1)网络结构,使用范围
RIP的拓扑简单,适用于中小型网络,没有区域、边界等概念。最大跳数为15跳,路由是依靠下一跳的个数来描述,无法体现带宽与网络延迟。
OSPF适用于较大规模的网络。它把自治系统(AS)分成若干个区域,通过对系统内部路由的不同处理,对区域内和区域间路由的不同处理,减少网络数据量的传输。OSPF对应RIP的“跳数”,引入了“开销(Cost)”的概念。OSPF还把其他路由协议或者静态路由作为AS的外部路由引入,处理能力相当强。
(2)使用情况不同
OSPF占用的实际链路带宽比RIP少;OSPF使用的CPU时间比RIP少;OSPF适用的内存比RIP大;RIP在网络上达到平衡用的时间比OSPF多。
(3)路由表建立不同
和哪些路由器交换信息?;交换什么信息?什么时候交换?这些都不同,
具体看上面
(4)工作核心
RIP:跳数
OSPF:链路状态的度量值