动态路由协议:OSPF

动态路由协议:OSPF

动态路由协议:OSPF
我们使用协议的目的,是为了实现通信,没有协议的话只有直连的设备才能够Ping通,

那我们有了RIP协议为什么还要OSPF,答案只有一个?RIP有缺陷。
RIP的缺陷:收敛慢(就是更新比较慢),最大可达跳数15跳(意味着网络中最多只能有15台设备),
间隔发送完整性更新(同样的信息也会再次发送,就会导致资源的浪费),存在环路的可能,有可能选择一条次优的路径。

因此我们有了OSPF----open shortest path first----开放最短路径优先(在线网中的使用率占80%以上)
因为OSPF属于公有协议适用于各个厂商

OSPF属于内部网关协议(IGP)----属于链路状态协议----同样是通过组播的形式发送路由更新
----直接工作在IP层,协议号是89

何为链路状态协议?
链路:加入ospf的接口以及接口的简要信息。----针对于路由器上链路就是一个接口(也就是一条网段)
状态:有哪些ospf的邻居

距离矢量协议和链路状态协议的区别:
距离矢量协议再发送路由更新的时候发送的是完整的路由表,而链路状态协议发送路由更新的时候发送的是链路状态数据库;距离矢量协议只能够知道直连的情况,而链路状态协议能知道整个网络的情况。

距离矢量协议是一个听信谣言的协议,而链路状态协议能够知道整个网络的真实情况。
因为距离矢量协议会根据别人告诉你怎么做就怎么做,而ospf就会知道所有的方法并且自己选取一个最优解。

组播地址:
224.0.0.9(RIP)
224.0.0.5----所有的ospf都会加入
224.0.0.6----只有DR/BDR才会加入

要介绍ospf,先介绍ospf路由器的名字--Router ID--RID
RID的作用:在网络中,用于唯一标示一台ospf路由器。一般情况下使用本台设备的IP地址作为RID。

RID的来源:
①手动指定,通过手动指定的RID具有最高级别的优先权,并且不会更改。
②如果没有手动指定,那么就选择回环接口地址作为RID。如果同时存在多个回环口地址,那么就选择IP地址最大的那个。
③如果即不存在手动,又没有回环口地址,那么就选择双up的物理接口地址作为RID,同样是越大越好。

OSPF的hello包:
用于发现、建立和维持邻居之间的关系。
如果hello包中的某些参数匹配,则成功建立邻居关系。

hello时间:10s
dead时间:40s

ospf建立的前提:
①hello间隔要一致
②区域ID要一致
③认证类型要一致
④特殊区域要一致

ospf研究要了解三五七-------三张表-------五个报文-------七个状态

三张表:

①邻居表:启用了ospf协议的路由器,就会加入组播地址224.0.0.5,并且往组播地址发送hello报文,同时也会接收到其他ospf路由器发送的hello报文,此时如果hello包中的参数匹配,则成功建立邻居,并且会把对方的RID和hello包的接收接口关联起来形成邻居表。
IOU1#show ip ospf neighbor

②拓扑表:也叫做链路状态数据库(LSDB),形成邻居关系后,邻居路由器之间就会相互发送链路状态通告(LSA),每一台ospf路由器都会把接受到链路状态通告汇总起来形成拓扑表,拓扑表存放就就是整个网络的信息,并且ospf在发送路由更新的时候发送的就是链路状态数据库。
IOU2#show ip ospf database

③路由表:拿到拓扑表运行SPF算法,得到一条最优路径,存放进路由表中。
IOU1#show ip route ospf

SPF算法:也叫作DIJKSTRA算法,是ospf的一个选路标准,是以自己为重构建一棵最短路径树,并且计算出到达目标的最优路径。
如何判断一条路径是否最短?----ospf的选路标准
ospf链路代价的计算:从源到达目的沿途所有出站接口的开销累积和

接口开销的计算方式:10^8/BW(带宽)
更改接口开销的方式
手动更改:
①更改带宽来更改开销
IOU1(config-if)#bandwidth 100000--进入出接口更改带宽,从而更改接口开销,但是一般不建议使用这种方法,因为接口的带宽不止于ospf的开销有关,还与eigrp的度量值计算有关。

②直接进接口更改ospf开销
IOU1(config-if)#ip ospf cost n --直接进入接口更改ospf的接口开销--建议使用

OSPF的区域
为什么要对ospf进行区域的划分?
ospf使用于大型的网络中,由于设备量大,ospf路由器之间需要相互发送链路状态信息,并且形成庞大的拓扑表,再加上运行复杂的SPF算法,所以就会对设备的性能造成很大的负担,并且消耗更多的资源和带宽。

所以提出了区域的概念,把一整个大的网络域划分成多个比较小的区域,这样每个区域只需要管理同步本区域内的拓扑信息即可。

ospf的区域分为:骨干区域(区域0)和非骨干区域(除了区域0以外的其它区域)
要求:非骨干区域一定要与骨干区域连接在一起。

区域划分的优势:

  1. 每个区域是构成一个网络路由器的一个子集
  2. 尽量减少路由条目
  3. 是拓扑的变化只影响区域内的设备

OSPF的网络类型:可以根据链路类型来区分网络类型
①以太网链路(以太网接口):网络类型是广播多路访问环境(MA),MA的网络环境需要进行DR/BDR的选举。会发送组播的hello报文,hello时间是10s。
②串行链路(串行接口):网络类型是点对点(P2P),点对点链路不需要进行DR/BDR的选举。会发送组播的hello报文,hello时间是10s。
③回环接口:网络类型是loopbacks
④非广播多路访问环境;

DR/BDR
DR:指定路由器
BDR:备份指定路由器
DR/BDR的来源:通过选举的得到,并且是在一条链路上进行选举的。
选举规则:
①先比较接口优先级的大小,优先级大的成为DR。(默认的优先级是1,优先级0的不参与选举)
②如果优先级一致,那么就选择RID比较大的成为DR。
保持稳定原则:DR/BDR的选举是非抢占,如果网络已经选择处一个DR,那么此时就算再加入一台具有更高优先级的路由,也不会马上抢夺原来DR的位置,除非重置路由信息。
更改接口的优先级:
IOU1(config-if)#ip ospf priority 2 --越大越优先

OSPF基本配置:
IOU2(config)#router ospf 1 --启用ospf协议,进程号1(进程号只在本地有意义)
IOU2(config-router)#network 12.12.12.2 0.0.0.0 area 0--通告网段,属于12.12.12.0 网段的IP地址所属接口都会加入ospf进程。

IOU2(config-router)#router-id 192.168.1.1--手动更改RID
% OSPF: Reload or use "clear ip ospf process" command, for this to take effect

IOU2#clear ip ospf process
Reset ALL OSPF processes? [no]: y

惯例√
动态路由协议:OSPF

猜你喜欢

转载自blog.51cto.com/14367225/2418694