热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OSPF协议简要理论总结

OS

01
基础知识
01
Route-id

用于AS内标识唯一路由器。

02
AS

自治系统(运行同一个路由器协议属于同一个自治系统)。

03
建立区域

同一个网段必须在同一个区域,否则建立不了区域

04
OSPF简介

OSPF开放式最短路径优先,采用的是SPF算法,是一种基于链路状态的内部网关协议

05
OSPF简介

(1)OSPF开放式最短路径优先,采用的是SPF算法,是一种基于链路状态的内部网关协议;
(2)OSPF报文封装在IP报文中,协议号为89


02 OSPF五种报文类型
01
HELLO报文

用于发现和维护邻居关系

02
DD报文

两台路由器进行LSDB数据库同步时,用DD报文来描述自己的LSDB。

03
LSR报文

DD报文交互之后,向对方发送LSR报文来请求所需要的LSA摘要信息。

04
LSU报文

用来向对端路由器发送所需要的人。

05
LSACK报文

用来对接受到的LSU报文进行确认


03
OSPF状态机
OSPF状态机
Down

这是邻居的初始状态,表示没有从邻居收到任何信息。
Attempt

此状态只在NBMA网络上存在,表示没有收到邻居的
任何信息,但是已经周期性的向邻居发送报文,发送间
隔为HelloInterval。如果RouterDeadInterval间隔
内未收到邻居的Hello报文,则转为Down状态。
Init

在此状态下,路由器已经从邻居收到了Hello报文,
但是自己不在所收到的Hello报文的邻居列表中,
尚未与邻居建立双向通信关系。
2-Way

在此状态下,双向通信已经建立,但是没有与邻居建立
邻接关系。这是建立邻接关系以前的最高级状态。

ExStart

这是形成邻接关系的第一个步骤,邻居状态变成此状态
以后,路由器开始向邻居发送DD报文。主从关系是在
此状态下形成的,初始DD序列号也是在此状态下决定的。
在此状态下发送的DD报文不包含链路状态描述。

Exchange

此状态下路由器相互发送包含链路状态信息摘要
的DD报文,描述本地LSDB的内容。

Loading

相互发送LSR报文请求LSA,发送LSU报文通告LSA。

Full

路由器的LSDB已经同步。


04
OSPF优点

OSPF优点
1

无环路

2

收敛快(秒级)

3

扩展性好(可携带子网掩码)

4

支持认证

05
OSPF的LSA报文
OSPF的LSA有10多种,常用的为以下6类
01
Type1 LSA

路由器LSA(Router LSA)

02
Type2 LSA

网络LSA(Network LSA)(广播网专有)

03
Type3 LSA

网络聚合/网络汇总LSA(Network summary LSA)

04
Type4 LSA

ASBR聚合/汇总LSA(ASBR summary)

05
Type5 LSA

自治系统外部LSA(Autonomous system external LSA)

06
Type7 LSA

NSSA外部LSA(NSSA External LSA)

06
OSPF优化
1

OSPF的Hello包十秒一发,超过40秒的未收到HELLO
路由器会认定邻居死亡。
2
可以修改HELLO包的发送时间来减少
认定死亡的事件,以此来加快收敛。
3
也可以接口下开启BFD(链路检测)功能,
BDF链路检测后会立即通知OSPF,以此来加快收敛
(OSPF中BFD不能做单项的,只能做双向的。
4
BFD可以再全局下面做也可以再接口下面做。


07
OSPF的组播地址
1
224.0.0.5:所有人都监听。
作用:1.建立和维护邻居。2.DR向本MA网络成员通告LSA信息
2
224.0.0.6:只有DR和BDR监听
作用:1.DR-Other向DR/BRD通告它学到的LSA信息

08
如何判断DR和BDR

1、首先看接口优先级,优先级大的谁就是DR

2、如果接口优先级都是一样的话,看route-id,谁大就是DR

祝大家中秋节快乐!!!




推荐阅读
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • 本文详细介绍了cisco路由器IOS损坏时的恢复方法,包括进入ROMMON模式、设置IP地址、子网掩码、默认网关以及使用TFTP服务器传输IOS文件的步骤。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
author-avatar
大飞5678
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有