路由协议 --- OSPF

ospf的详细信息:https://wenku.baidu.com/view/56feb88b84868762caaed58e.html 

概述:

      OSPF 全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,它的使用不受任何厂商限制,所有人都可以使用,所以称为开放的,而最短路径优先(SPF)只是OSPF的核心思想,其使用的算法是Dijkstra算法。

工作过程:

     

OSPF特点:

 

  • 可适应大规模网络
  • 使用组播更新,属于触发更新(组播地址:224.0.0.5,224.0.0.6)
  • 快速收敛
  • 使用SPF算法构造无环网络
  • 具有区域划分。
  • 使用LSA报文来交换路由信息

基本概念:

Router ID:ospf区域内唯一标识路由器的ip地址。

Router ID选取规则:

  • 选取路由器loopback接口上数值最高的ip地址
  • 没有loopback接口,在物理端口中选取ip地址最高的
  • 也可以使用router-id命令指定Router ID(32位公网IP地址)

 

区域ID:

  • 区域ID可以表示成一个十进制的数字
  • 也可以表示成一个ip

DR和BDR的选举方式

自动选举DR和BDR

  • 网段上Router ID最大的路由器将被选举位DR,第二大的将被选举为BDR

手工选择DR和BDR

  • 优先级范围是0~255,数值越大,优先级越高,默认为1
  • 如果优先级相同,则需要比较Router ID
  • 如果路由器的优先级被设置为0,则不参与选举

 

OSPF的三张表

  • 邻居表

        2台路由器的OSPF要协同工作,基本要求就是二者形成全毗邻的邻接关系,而邻居表存储了OSPF路由器邻居的状态和邻居的其他信息。

 

  • 拓扑数据库(LSDB)

        OSPF用LSA来描述网络拓扑信息,LSDB中存储着路由器产生或者受到的LSA。

 

  • OSPF路由表

        基于LSDB进行SPF算法运算,计算出的路由存储在此表中,也就是说用于实际数据传送的路由存在此处
 

OSPF中消息数据包的类型(5种)

OSPF的7个状态,也可以分为两个阶段

1·Down状态

2·Init状态

3· 2-Way状态

4·Exstart状态

5·Exchange状态

6·Loading状态

7·Full状态

QQ截图20180802213359

QQ截图20180802213914

·OSPF的网络类型划分,也就是说那些类型适合OSPF,具有 4种类型:

1·点到点网络

2·广播多路访问网络

3·非广播多路访问网络

4·点到多点网络

QQ截图20180802214104

 

OSPF的三种通信量:

  1. 域内通信量:单个区域内的路由器之间交换数据包构成的通信量
  2. 域间通信量:不同区域的路由器之间交换数据包构成的通信量
  3. 外部通信量:ospf域内的路由器与ospf域外或另一个自治系统内的路由器之间交换数据包构成的通信量

ospf链路状态数据库

链路状态数据库的组成

  • 每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库
  • 链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型

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
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daibaohui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值