ospf和rip和静态路由三者的区别?各能实现啥功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ospf和rip和静态路由三者的区别?各能实现啥功能?相关的知识,希望对你有一定的参考价值。

静态路由就是必须您手工配置,ip route .... ,无法适应网络拓扑变化,变化一次您就得去改一次,AD=1。

ripv1/2 都是小型网络下适用的动态路由,路由器之间开启rip进程,周期得通告邻居的路由,保证实时更新拓扑变化。是一种基于传闻的路由机制,也就是距离矢量协议,按条数的大小来选择路径。
但是由于rip的TTL只有15跳,16跳就不可达,所以就限制了网络的规模大不到哪里去了。AD=120

OSPF就可以适应中大型的网络了,也是动态路由,是链路状态协议,对于同一个区域每个邻居的链路状态数据库都一样。分为多个区域,结构也是骨干-分支结构,非骨干通过骨干区域通信。AD=110
参考技术A

    OSPF和RIP感觉没啥可比较的,都是同一类东西(动态路由协议),只是适用的网络规模不同;

    动态路由和静态路由的区别:

      动态路由:网络拓扑发生变化时,最优路径会改变;

      静态路由:网络拓扑发生变化时,最优路径不会改变;

参考技术B 静态是手工指定, OSPF 与RIP是动态协议,能够自动学习

HCIA笔记-----第五天(动态路由RIP和OSPF)


静态路由和动态路由的区别

静态路由:由网络管理员手工添加的路由

动态路由:所有路由器上运行相同的路由协议,之后,通过路由器之间的沟通交流,最终计算生成的路由条目。


静态路由的优缺点:

优点:

1.选路是由管理员选择,相对更好掌控

2.不会占用额外资源

3.相对安全性更高

缺点:

1.在复杂的网络环境中,配置量较大。

2.无法根据网络拓扑的变化而自动收敛


动态路由的优缺点:

优点:

1.可以基于网络拓扑变化而自动收敛

2.部署简单

缺点:

1.路由器依据某种单一算法计算的路径不一定是最佳路径,甚至可能出现环路。

2.需要额外占用路由器硬件资源及链路带宽资源

3.容易产生安全问题

总结:

1.静态路由只能适用于简单的小型网络环境

2.动态路由可以适用于复杂的大型网络环境

AS-----自治系统------由单一的机构或组成所管理的一系列的IP网络及设备所构成的集合


自治系统(AS)

自治系统(AS):由单一的机构或组成所管理的一系列的IP网络及设备所构成的集合

为了方便AS管理会给它设立编号,AS的编号16位二进制构成,取值范围0-65535。拓展版------由32位二进制构成

根据AS的范围,我们将路由协议分为2大类:

​ 应用在AS内部----IGP(内部网关协议)------------RIP协议,OSPF协议,IS-IS,EIGRP(思科的私有协议)等

​ 应用在AS之间-----EGP(边界网关协议)----------BGP

IGP根据算法分

距离矢量型协议(DV)-----使用贝文曼–福特算法(Bellman - Ford)-----通过直接传递路由条目信息获取未知网段的路由信息。-----也称为“依据传闻的路由协议”-----RIP协议用的就是这种算法。

链路状态型协议(LS)----传递的链路状态信息(LSA-----链路状态通告)。------使用SPF算法(最短路径优先算法)----这个算法会把图形结构转换成最短路径树 把周围的连接情况记录下来------OSPF协议用的就是这种算法、IS-IS也是


路由信息协议(RIP)

RIP的邻居:相邻的两个路由器且他们之间具备通讯条件

发送包是会携带两个信息: 一个是目标网段, 一个叫开销值(COST)-------动态路由的选路依据

思科的设备叫做:度量值(Metric),华为的设备叫做:开销值(COST)

开销值:当动态路由计算出到达同一个目标网段存在多条路径时,将选择开销值最小的路径加入到路由表中.

因为同一个协议优先级都是一样的,所以需要开销值。不同动态路由协议的开销值的度量标准不同,所以,不同动态路由协议之间的开销值没有可比性,不同协议,比较优先级。

RIP以跳数作为开销值的度量标准。(RIP默认的优先级是100)。只适用于在中小型网路中的动态路由协议

IP存在一个工作半径-------15跳。当一条路由的开销值到达16跳时,则认为目标网段不可达。

RIP支持等开销负载均衡,比如开销值一样

RIP开销值的算法:
RIP发送携带的开销值COST=本地该网段的开销值+1

静态路由的开销值为什么0:所有的开销是由人来决定的

动态路由的开销值就很重要,因为有可能会很长,所以你需要选择开销最小的,所以动态路由需要开销值选路


Bellman—Ford(贝文曼–福特算法)

将收到的信息分为四种情况:

1.AR1收到AR2发送的2.2.2.0/24网段的信息,AR1本地路由表中没有到达2.2.2.0/24网段的路由信息,直接将AR2发送的信息刷新到本地路由表中。

例:AR1的路由表

NextHop填谁给你发的信息

Destination/Mask    Proto    Pre    Cost      Flags      NextHop             Interface
2.2.2.0/24          RIP      100     1          D        AR20/0/0      AR10/0/0(从哪个接口收到的信息)

2.AR1收到AR2发送的2.2.2.0/24网段的信息,AR1本地路由表中有到达2.2.2.0/24网段的路由信息,且下一跳是AR2。AR1将AR2发送的这条路由信息刷新到路由表中。

3.AR1收到AR2发送的2.2.2.0/24网段的信息,AR1本地路由表中有到达2.2.2.0/24网段的路由信息,且下一跳不是AR2,则比较开销值,如果,本地存在的路由的开销值大于AR2发送的路由的开销值。则AR1将AR2发送的这条路由信息刷新到路由表中。

4.AR1收到AR2发送的2.2.2.0/24网段的信息,AR1本地路由表中有到达2.2.2.0/24网段的路由信息,且下一跳不是AR2,则比较开销值,如果,本地存在的路由的开销值小于AR2发送的路由的开销值,则AR1不刷新AR2发送的路由


RIP的版本

RIPV1和RIPV2:主要针对iPv4

RIPNG:主要针对ipv6


RIPV1,RIPV2的区别

1.RIPV1是有类别的路由协议,RIPV2是无类别的路由协议

无类别是指:使用的ip地址没有根据ABC类划分

RIPV1在发送路由目标网段不携带子网掩码(会根据默认的划分规则,会产生大量的路由黑洞)

RIPV2在发送路由目标网段携带子网掩码

2.RIPV1不支持手工认证,RIPV2支持手工认证

手工认证:设置一个口令,发送时携带口令才通过认证,确保安全

3.RIPV1使用广播发送信息,RIPV2使用组播发送 信息

RIPV2使用的组播地址—224.0.0.9,组播地址交换机也会泛洪,运行了PIPV2协议的路由器放进组播里面

RIP所使用的通讯端口是UDP的520端口。源ip和目标ip使用的端口都是520端口


RIP数据包

request----------请求包 只有在刚运行才会使用,问邻居要路由信息

response--------响应包(更新包) 邻居回你response包含路由信息的包

RIP在收敛完成后,依然会每隔30s发送一个response包,这种行为叫做RIP的周期更新

二层是不可靠性的,三层是不可靠性的,四层选的udp也是不可靠的,所以需要RIP来弥补,通过周期更新来弥补自身没有确认机制,来确保自己的可靠性

RIP周期更新的原因:

1.自身没有确认机制

2.需要靠周期更新实现保活(保活机制:每隔一段时间发送包,确保自己还活着)

RIP的周期更新-----------异步周期更新

RIP的计时器

周期更新计时器--------30S

无效计时器-------180S(路由表中完成一次刷新就会倒计时)。路由条目刷新后启动一个180s的失效计时器。若计时器时间结束,路由未刷新,则认为该路由失效。则将该路由从本地全局路由表中删除,并将该路由的开销值改为16.保存在缓存中,之后周期更新时依然携带该路由

将该路由的开销值改为16.保存在缓存中,之后周期更新时依然携带该路由。--------称为带毒传输(为了传达这个地方去不了了)

垃圾回收计时器-----120S 无效计时器归0后开始计时,120s,时间到则将彻底删除不可达路由,之后周期更新也将不会携带。

因为异步周期更新的原因会导致出环的现象,说以RIP针对出环的问题做了RIP的破环机制。

RIP的破环机制

1.触发跟新:一旦拓扑结构发生变化,立即将变化信息发送出去

2.水平分割:从哪个口学来的路由就不再从哪个口发出去。

3.毒性逆转:从哪个口学来的路由还从哪个口发,但是,必须带毒。

水平分割和毒性逆转只能二选其一,华为设备默认开启的是水平分割。华为设备如果毒性逆转和水平分割同时开启,则将按照毒性逆转的规则执行。


RIP的配置

1.启动RIP进程
[r1]rip 1 -----------数字代表进程号,仅具有本地意义,用来区分同一个路由器上运行不同的rip进程,如果不设定进程号,默认进程1

2.选择rip版本
[r1-rip-1]version 2

3.宣告

宣告的要求:

1.必须宣告所有直连网段

2.只能按照主类宣告

[r1-rip-1]network 1.0.0.0
[r1-rip-1]network 12.0.0.0

宣告的目的:

1.激活接口,只有激活的接口才能收发RIP的数据。
2.发布路由,只有激活的接口对应的路由信息才能通过RIP发送。

查看RIP的路由表display rip 1 route,这里Sec指的是失效计时器

当我们删除了一个网段时,这里的Sec变成了垃圾计时器,可以看到Cost也已经变成16了

RIP的拓展配置

1.RIPV2手工认证

[r1-GigabitEthernet0/0/0]rip authentication-mode md5 usual plain 123456

md5指的是加密格式
usual是标准,配置手工认证时需要确保双方使用的标准是一样的
plain指的是本地存储是以密文还是明文存储

可看看到本地缓存是以明文方式存储的,因为我使用的是plain

可看看到本地缓存是以密文方式存储的,因为我使用的是cipher

2.RIPV2手工汇总

把下面两个网段汇总成一个

[r1-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.254.0



3.沉默接口

作用:只能接受RIP的数据,不能发送RIP数据

[r1-rip-1]silent-interface ?
  Cellular         Cellular interface
  GigabitEthernet  GigabitEthernet interface
  all              All the interfaces
  disable          Override silent-interface configuration and make the         
                   interface active
[r1-rip-1]silent-interface g	
[r1-rip-1]silent-interface GigabitEthernet 0/0/1

4.加快收敛----减少计时器

注意:修改计时器时不能不能破坏计时器之间的倍数关系=

[r1-rip-1]timers rip ?
  INTEGER<1-86400>  Periodic update time (seconds)
[r1-rip-1]timers rip 30 ?
  INTEGER<1-86400>  Age time (seconds)
[r1-rip-1]timers rip 30 180 ?
  INTEGER<1-86400>  Garbage collection time (seconds)
[r1-rip-1]timers rip 30 180 120


5.缺省路由

在边界路由器上配置,使边界路由器作为缺省源,内网其他路由器将自动下发一条指向缺省源方向的缺省路由,边界路由器本省的缺省路由必须手工配置。

[r3-rip-1]default-route originate 






OSPF(动态路由协议)

评判路由协议好坏主要有哪些方面?

1.占用资源少

2.收敛速度快

3.选路是否合理

总结:选路佳,收敛块,占用资源少

RIP--------使用距离矢量型协议

1.以跳数作为开销值进行选路,本身存在不合理性

2.由于RIP本身计时器时间较长,收敛速度较慢

3.RIP单个数据包占用资源并不算大,但是因为RIP存在30s一次的周期更新,所以,整体看来,RIP的资源占用很大。

由于RIP三个维度的表现都不算太好,所以,只能适用于中小型网络环境中。

OSPF(开放式最短路径优先算法)-----使用链路状态型协议

OSPF传递的是LSA信息------------链路状态信息

OSPF使用带宽作为开销值的

1.OSPF因为是链路状态性协议,所以,计算出的路径不会出现环路,并且,OSPF以带宽作为开销值进行选路,相较于跳数更加合理。所以,从选路的角度看,OSPF优于RIP。

2.由于OSPF的计时器时间短语RIP的计时器,所以,从收敛速度角度比较,OSPF由于RIP。

3.从单个数据包携带的数据量来看,因为OSPF携带的是拓扑信息(LSA),所以,数据量较RIP大很多。但是,由于RIP存在30S一次的周期更新,并且OSPF本身存在很多减少更新量的措施,所以,从整体的角度看,OSPF小优于RIP。

OSPF版本

OSPFV1(在实验室阶段夭折了)
OSPFV2:在IPV4上使用
OSPFV3在IPV6上使用


RIPV2和OSPFV2对比

相同点:

​ 1.OSPFV2和RIPV2都是无类别的路由协议,都支持VLSM,CIDR

​ (为什么OSPFV2也能叫无类别的路由协议:区域之间传递的是路由信息)

​ 2.OSPFV2和RIPV2(224.0.0.9)都已组播的形式发送信息.

​ (OSPFV2的组播地址224.0.0.5、224.0.0.6)

​ 3.OSPFV2和RIPV2都支持等开销负载均衡

不同点:

​ RIP只能使用于中小型网络,OSPF可以应用在大型网络当中

OSPF为了适应中大型网络环境,需要进行结构化部署----就是区域划分

如果只有一个区域的OSPF网络,我们将这样的网络称为单区域OSPF网络,如果存在多个区域的OSPF网络,我们将这样的网络称为多区域OSPF网络

区域划分的主要目的:

区域内部传递拓扑信息,区域之间传递路由信息。

区域边界路由器:充当连接两个区域的中间设备传递路由信息。

区域边界路由器(ABR):同时属于多个区域,并且一个接口对应一个区域。至少有一个接口属于骨干区域。区域之间可以存在多个ABR。一个ABR可以属于多个区域。

区域划分的要求:

1.区域之间必须存在ABR

2.区域划分必须按照星型拓扑结构划分----星型拓扑中间的区域称为骨干区域

3.OSPF存在区域编号—区域ID(area ID)由32位二进制构成。用点分十进制进行表达。骨干区域的area ID为0。


OSPF的数据包

hello包

作用:可以用来周期发现、建立和保活邻居关系。

周期OSPF的hello包默认10S为周期进行周期发送(特殊的网络环境是30S)

死亡时间(dead time):4倍的hello时间

RID------用来标定和区分OSPF网络中不同的路由器。

RID的要求:
1.全网(OSPF网络)唯一
2.格式统一 --------RID要求必须符合IP地址格式(由32位二进制构成,并且使用点分十进制表达)

RID的获取方式:
1.手工配置 -------仅需要满足以上两点要求即可
2.自动获取 ------路由器先从环回地址中选取数值最大的IP地址作为RID。若不存在环回地址,则将从本地的物理接口对应的IP地址中选取数值最大的IP地址作为RID。(hello包会携带RID)

DBD包

作用:是一个数据库描述报文,描述LSDB(数据链路状态数据库-----存储LSA信息),LSDB相当于携带的是一个“数据库的目录”,避免重复浪费

LSR包----链路状态请求报文----作用:基于DBD包请求未知的LSA信息

LSU包-------链路状态更新报文—作用:真正携带LSA信息的数据包

LSAck包--------链路状态确认报文-----确认包

OSPF的状态机

Init 初始状态

Two-Way 双向通信------标记着邻居关系的建立

通过条件匹配才能进入下一个状态


主从关系选举:使用未携带数据的DBD包(主要目的是为了和之前的邻居关系进行区分,这里未携带数据指的是未携带它本职工作的数据,其实它是携带了RID的)进行主从关系选举,通过对比RID,RID大的为主,主可以优先进入下一个状态。

Full Stale:标志着邻接关系的建立

Down状态-------- 一旦启动OSPF,发送hello包进入下一个状态

Init状态(初始化转态)-----当你收到一个hello包中包含本地的RID信息时,进入下一个状态。

Two-way(双向通讯)状态:----标志着邻居关系的建立

Exstart(预启动)状态:使用未携带数据的DBD包进行主从关系选举,RID大的为主,主可以优先进入下一个状态(还有一个作用,为主的发DBD包是会有一个序列号,为从的路由器发过去时也会携带序列号,这种行为成为隐形确定)

Exchange(准交换)状态:使用携带目录信息的DBD包进行目录信息的共享,需要ACK确认。

Loading(加载)状态:查看对端的DBD包与本端LSA信息进行对比,基于未知的LSA信息发送LSR包进行请求。对端使用LSU进行回复,需要ACK确认。

FULL(转发)状态:标志着邻接关系的建立。


OSPF的工作过程

启动配置完成后,OSPF向本地所有运行OSPF协议的接口以组播(224.0.0.5)的形式发hello包。hello包中需要携带自身本地的RID及自身已知邻居的RID。之后,将收集到的邻居关系记录在一张表中-------(这张表叫做邻居表)。

邻居表建立完成后需要进行条件匹配,失败则停留在邻居关系,仅使用hello包进行周期保活。

匹配成功,则开始建立邻接关系。首先需要使用未携带数据的DBD包进行主从关系选举。之后使用携带数据DBD包共享数据库目录。之后使用LSR/LSU/LSACK数据包来获取未知网段的LSA信息;完成本地数据库表的建立。-----LSDB(链路状态数据库表)。

最后,基于本地的链路状态数据库,生成有向图及最短路径树,之后,计算本地到达未知网段的路由信息。生成的路由信息加载到路由表中。

收敛完成后,OSPF需要10S一次使用hello包进行周期保活。每30分钟进行一次周期更新。

OSPF有周期更新30分钟一次,第一个原因,OSPF协议有一点不自信, 第二个原因:同一个网段可能发送多个LSA信息,数据库表会记录最新的一条,会给LSA添加一个序列号来判断新旧。序列号有上限,周期更新会刷新序列号。

结构突变

1.突然增加一个网段:触发更新,立即发送携带LSA信息的LSU包,需要ACK确认。

2.突然断开一个网段:触发更新,立即发送携带LSA信息的LSU包,需要ACK确认。

3.无法联系(比如路由器断电了)------40的死亡时间


OSPF的基本配置


1.启动OSPF进程

[r1]ospf 1 router-id 1.1.1.1 启动OSPF进程并设置RID


2.创建区域

[r1-ospf-1]area 0


3.宣告------宣告所有直连网段

[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
这里的0.0.0.0 -----反掩码
反掩码由连续的1和连续的0构成的,其中0代表不可变位,1代表可变位
所以激活的是1.1.1.1这个ip,精准的宣告

[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
这是宣告的一个范围


查看OSPF邻居表

[r1]display ospf peer 

 OSPF Process 1 with Router ID 1.1.1.1
		 Neighbors 

 Area 0.0.0.0 interface 12.0.0.1(GigabitEthernet0/0/0)'s neighbors
 Router ID: 2.2.2.2          Address: 12.0.0.2        
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 12.0.0.1  BDR: 12.0.0.2  MTU: 0    
   Dead timer due in 35  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:14:33     
   Authentication Sequence: [ 0 ] 

Area:区域
Router ID:邻居的RID
Address:邻居的地址
State:状态
Mode:主从关系,Master是主关系,Slave是从关系
Priority:优先级(越大的优先级越高)
DR:指定路由器
BDR:备份指定路由器


查看OSPF的数据库表

[r1]display ospf lsdb 

查看一条LSA信息

[r1]display ospf lsdb router 2.2.2.2


查看路由表

[r1]display ip routing-table protocol ospf 

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        2.2.2.1/32  OSPF    10   1           D   12.0.0.2        GigabitEthernet 0/0/0
        3.3.3.1/32  OSPF    10   2           D   12.0.0.2        GigabitEthernet 0/0/0
       23.0.0.0/24  OSPF    10   2           D   12.0.0.2        GigabitEthernet 0/0/0

2.2.2.2/32代表主机路由   
OSPF在华为体系中默认优先级为10。
OSPF是以带宽作为开销值的度量标准。
COST==参考带宽/真实带宽  ---华为的默认的参考带宽是:100Mbps
假如真实带宽是1000Mbps 
100/1000算出来是小数,但是cost只接受整数,100/1000cost值为1


修改参考带宽

[r1-ospf-1]bandwidth-reference ?
  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000

注意:参考带宽一旦修改,OSPF网络内所有设备必须均修改成相同的


条件匹配

指定路由器------DR

备份指定路由器------DR

一个广播域中,在DR和BDR都存在的情况下,至少需要四台路由器才能看到邻居关系

条件匹配:在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新:故需要进行DR/BRD选举;所有非DR/BDR的设备之间仅维持邻居关系。

DR/BRD的选举

1.比较优先级。优先级最大的为DR,次大的为BDR。优先级初始的默认值为1.

设置优先级:

[r1-GigabitEthernet0/0/0]ospf dr-priority ?
  INTEGER<0-255>  Router priority value
[r1-GigabitEthernet0/0/0]ospf dr-priority 1
优先级的取值范围0-255.若优先级设置为0,则代表放弃DR/BDR选举。

2.如果优先级相同,则比较RID。RID大的路由器对应接口为DR,次大的为BDR。


拓展配置

1.手工认证

[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

用法跟RIP基本一致,需要注意的是这里的Key ID两边必须一样

2.手工汇总----区域汇总

把下面三个网段汇总成一个
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0

3.沉默接口

只能对物理接口使用。不能对环回接口使用

[r2-ospf-1]silent-interface GigabitEthernet 0/0/2


4.加快收敛

[r2-GigabitEthernet0/0/0]ospf timer ?
  dead        Interval after which a neighbor is declared dead
  hello       Time between HELLO packets
  ldp-sync    Specify LDP-OSPF synchronization timer interval
  poll        Interval for sending Poll Hello packet in the NBMA network
  retransmit  Retransmit interval
[r2-GigabitEthernet0/0/0]ospf timer he	
[r2-GigabitEthernet0/0/0]ospf timer hello ?
  INTEGER<1-65535>  Second(s)
[r2-GigabitEthernet0/0/0]ospf timer hello 5

注意:修改hello时间,死亡时间会自动按照4倍关系进行匹配
注意:邻居之间hello时间(死亡时间)必须相同,否则无法建立邻居关系


5.缺省路由

[r3-ospf-1]default-route-advertise
主语:这样下发缺省必须要求边界路由器自身具备缺省路由
[r3-ospf-1]default-route-advertise always 
加always可以强制下发缺省信息

以上是关于ospf和rip和静态路由三者的区别?各能实现啥功能?的主要内容,如果未能解决你的问题,请参考以下文章

三种路由协议RIP 、OSPF 、BGP和静态路由

路由器协议 ospf 静态 默认 rip 四大协议作用?

简述静态路由、RIP和OSPF动态路由的原理以及各自的优缺点。

路由器协议RIP-V1,RIP-V2,OSPF,静态路由,的使用环境优缺点和概念:

HCIA笔记-----第五天(动态路由RIP和OSPF)

比较静态路由,RIP,OSPF路由协议的特点?