OSPF:Open Shortest path First  :开方式最短路径优先

一、基础知识:

1、使用范围:IGP

2、协议算法特点:链路状态型路由协议,SPF算法

3、协议是否传递网络掩码:是

4、协议封装:基于TCP封装,协议号为89

二、OSPF特点:

1、OSPF是一种典型的链路状态型路由协议

2、传递的信息称作:LSA,LSA链路通告,包含路由信息和拓扑信息

  路由LSA:描述本路由器上的接口路由信息

  拓扑LSA:描述路由器之间的连接状态

3、更新方式:触发更新+30min的链路状态更新

4、更新地址:组播和单播更新地址

     组播地址:224.0.0.5----所有运行OSPF的路由器都会接收这个组播组

          224.0.0.6----多有的DR路由器才会运行的

5、支持路由认证

6、支持手工汇总

  OSPF是LS型路由协议,既传递路由又传递拓扑,手工汇总只能汇总路由信息,不能汇总拓扑信息

7、支持区域划分

三、OSPF区域

   基于接口或链路划分

1、区域划分的意义:

   (1)、减少LSA数量

   (2)、减少LSA传播范围

2、区域划分是基于接口或链路的

3 、区域设计原则:

  1)OSPF网络中必须存在且唯一的骨干区域

  2)若存在非骨干区域,非骨干区域必须与骨干区域直接相连

    骨干路由器:所有接口都在area 0里

    非骨干路由器:所有接口都在非area 0里

    ABR:区域边界路由器,能够产生3类LSA的路由器(属于area 0 和非area 0的路由器)

    ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器(OSPF网络和非OSPF网络网络的边界路由器,必须通过重发布在路由器上做路由引入才算ASBR)

四、OSPF消息数据包:

1、邻居与邻接 :

  邻居:双方互相知道彼此的存在,但并没有交换LSA

  邻接:在邻居关系建立之后才会共享LSA,在共享了LSA之后,邻接关系才会建立

2、hello:周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)

    目的:建立并维持OSPF邻居关系(邻居关系建立之后充当保活包功能)

3、DBD:数据库描述包,特点:隐性确认,看序列号,在对方互相发的包中,序列号变相同后代表隐性确认

  1)主从选举DBD:比较双方的router-id,大的一方为主(master),小的一方为从(slave),主要用于LSA的交互

  2)携带LSA头部信息的DBD

4、LSR:链路状态请求,按照DBD报文中的未知LSA头部进行请求

5、LSU:链路状态更新,携带LSA信息

6、LSACK确认:链路状态确认

五、OSPF邻居状态机制:--LS型协议特有的

down、init、attempt、two-way、exstart、exchange、loading、full

1、init:初始化状态,一旦开始发送hello报文,进入初始化状态

2、two-way:双向通信状态(邻居状态),接收到包含自己router-id的对方hello报文

  邻居关系建立的条件: 

    1.router-id 必须不同
    2.area ID 相同
    3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据
    4.hello时间,dead时间
    5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0)
    6.MA网络中,网络掩码必须一致
    7.必须同时使用单播或组播更新
    8.更新源检测(双方的IP地址必须在同一网段

  DR选举: 

    邻居状态下(two-way):条件匹配-->邻居成为邻接关系的条件(目的:消除重复更新)
       MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)
    DR选举: 1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)
           2.比较各自的router-id,越大越优
    DR选举了之后,其他所有人只是个DR建立邻接,把信息都交给DR,然后再由DR分别交给其他人
    注意:1.DR抢占是关闭的
          2.DR是一个接口概念
          3.优先级范围0-255,数字为0代表不参与选举
          4.先选举BDR ,再升级为DR
       (DR、BDR的选举是在一个时间范围内,超过这个时间范围优先级再高也不能成为DR),时间:waiting time,在华为中,waiting time=dead time(40s)
3、exstart:预启动状态,一旦开始发送主从DBD,则进入预启动状态
4、exchange:预交换,(发送类hello的DBD选主从)主从选举完成,则发送携带LSA头信息的DBD,进入预交换,会发数据包,但没有LSU

5、loading:加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习

6、full:邻接状态,双方LSA同步(双方LSA全部学习)  

六、补充:

1、为什么RIP不需要router-id,OSPF需要?

  因为OSPF是LS型协议,需要router-id,因为收集到路由、拓扑信息需要构建逻辑拓扑,则需要将OSPF中的每个路由器标记出来,用路由器的唯一性标识-router-id来

2、以太网线----->MA

    可以通过修改接口网络类型将MA改为P-to-P

   串线------>点到点

3、广域网:PPP、HDLC   ------> 不选DR

      FR(帧中继)、ATM  ------> 选DR

  路由器物理接口类型:是一个默认的、最原始的状态---->选DR或不选DR,但OSPF的网络类型是独立的,因为不同的物理接口,可以修改它的网络类型

HCIP -- OSPF 总结的更多相关文章

  1. 华为HCIP实验--OSPF单区域

    场景:你是公司的网络管理员.现在公司的网络中有三台ARG3路由器,通过以太网实现相互的连通.在以太网这样的广播式多路访问网络上,可能存在安全隐患,所有你选择采用OSPF区域认证的方法来避免恶意的路由攻 ...

  2. Ceph RGW 的 OSPF负载均衡 + quagga的配置

      随着开源技术的发展,以及商业设备价格的不断攀升.大公司总是希望能使用开源的方案来替换过去使用的商业设备.比如之前大家用的很多的F5和A10,现在已经在逐步被LVS替换.传统的单个lvs的性能是比不 ...

  3. 动态选路、RIP协议&&OSPF协议详解

    动态选路.RIP协议&&OSPF协议详解 概念 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路.路由器之间必须采用选路协议进行通信,这样的选路协议 ...

  4. OSPF协议详解

    CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...

  5. RIP、OSPF、BGP、动态路由选路协议、自治域AS

    相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc ...

  6. OSPF理解

    from http://kingdee.blog.51cto.com/98119/27310STP,PIM,OSPF,长的好像(*_*)可以把整个网络(一个自治系统AS)看成一个王国,这个王国可以分成 ...

  7. OSPF

    Ospf OSPF(开放最短路径优先协议)是一种无类内部网关协议(IGP):是一种链路状态路由选择协议: 入门: 可以把整个网络(一个自治系统AS)看成一个王国,这个王国可以分成几个 区(area), ...

  8. OSPF(Open Shortest Path First开放式最短路径优先 -链路状态路由协议

    OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络 思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10 通告网络接 ...

  9. OSPF虚链路配置.示例2

    先看一个拓扑图 黄色区域是area0,即骨干区域,如果如图示RT1与RT6之间的链路断了,那么会出现骨干区域被“分裂”的情况,很明显骨干区域是不能被分割开的,出现这种状况的时候可能会影响到整个自制系统 ...

随机推荐

  1. Javascript严格模式与一般模式的区别

    严格模式是指使代码在严格条件下运行.如果你在JavaScript脚本的头部看到"use strict",那么就表明当前处于严格模式下.严格模式主要是为了消除JavaScript语法 ...

  2. 【初等数论】裴蜀定理&扩展欧几里得算法

    裴蜀定理: 对于\(a,b\in N^*, x, y\in Z\),方程\(ax+by=k\)当且仅当\(gcd(a, b)|k\)时有解. 证明: 必要性显然. 充分性:只需证明当\(k=gcd(a ...

  3. Java基础教程——Stream

    Stream流 Java 8 API添加了一种新的机制--Stream(流).Stream和IO流不是一回事. 流式思想:像生产流水线一样,一个操作接一个操作. 使用Stream流的步骤:数据源→转换 ...

  4. Python机器学习笔记:异常点检测算法——LOF(Local Outiler Factor)

    完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote 在数据挖掘方面,经常需 ...

  5. 秒极啊!手把手带你进行shiro授权拦截器的重写,学到了学到了

    shiro整合前后端分离的springboots,Vue项目真的是有很多大坑啊. 今天我的主题是:如何设置shiro过滤器. 遇到问题:我的项目是前后端分离的,shiro里面有一个shiroFilte ...

  6. Django+Nginx+uWSGI生产环境部署

    生产环境中的数据流 参考文档: wsgi详解:https://blog.csdn.net/li_101357/article/details/52748323 wsgi协议介绍(萌新版):https: ...

  7. Linux驱动模块00

    一.驱动基础 1.什么是驱动 能够通过软件操作硬件的这份程序就是驱动 2.Linux驱动和ARM裸机驱动的区别 1)Linux设备驱动工作时依赖于Linux内核, ARM裸机驱动不依赖于Linux内核 ...

  8. 第4.6节 print、import及断言

    一.print函数 前面第二章介绍了print的语法,其语法如下: print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) ...

  9. 第15.33节 PyQt(Python+Qt)入门学习:containers容器类部件QTabWidget选项窗部件简介

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...

  10. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件的currentWidget和widget方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTabWidget的每个选项卡都有一个对应的页面部件对象,可用通过currentWidget方法和 ...