IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> OSPF协议 -> 正文阅读

[网络协议]OSPF协议

绪论

OSPF协议一个说难也难说简单也简单的协议,他的水我感觉很深,在这里我将我在这个水的表面所学总结的一些知识点分享给大家,希望帮助到大家!如果有何感想也可以分享给我哈,我们一起学习 (o)/~ 如果有何差异,也希望大家评论告诉我,我悄悄偷学走~~

1.1研究的背景和意义

1.1.1研究的背景

这个协议的名字是开放最短路径优先OSPF(Open Shortest Path First)。它是为了克服RIP的缺点在1989年开发出来。

一、OSPF出现之前,网络广泛使用RIP路由协议,RIP由于最大16跳数限制无法适应大型网络,

二、RIP是基于距离矢量算法的路由协议,应用在大型网络中存在收敛速度慢、度量值不科学、可扩展性差等问题。OSPF协议,弥补了RIP协议的诸多不足,更加适用大型网络的扩展。

三、大型网络的变化要求
1、网络规模扩大
2、网络可靠性要求提高。
3、网络异构化趋势加剧,需要更丰富复杂的网络。

1.1.2研究的意义

他的主要特征就是使用了分布式的链路状态协议而不是像RIP那样的距离向量协议

1.2相关的技术(嘿嘿这两个需要大家自己去查看喽)

1.2.1虚链路技术

存在局限性比较大的问题,虚链路技术的存在就是为了解决这一问题,虚链路技术就是在ABR设备之间打通一个隧道来建立连接,以此完成通讯

1.2.2负载均衡技术

路由器的负载均衡有着分担流量,优化带宽的作用,提高了网络的灵活性和可用性,主要通过修改带宽和cost值来实现

介绍OSPF

2.1 什么是OSPF

OSPF是一种内部网关协议。用于在单一自治系统(这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元,例如一所大学,一个企业或者一个公司个体)内决策路由。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。可用于大型网络。

2.2 OSPF的路由计算过程

1.路由器之间发现并建立邻居关系。
2.每台路由器产生并向邻居泛洪链路状态信息,同时收集来自其他路由器链路状态信息,完成LSDB(Link State Database)的同步。
3.每台路由器基于LSDB通过SPF算法,计算得到一棵以自己为根的SPT(Shortest Path Tree),再以SPT为基础计算去往各邻居连接网络的最优路由,并形成路由表。

2.3 OSPF的优势

1、OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。
2、OSPF支持无类型域间选路(CIDR)。
3、OSPF支持对等价路由进行负载分担。
OSPF支持报文加密。

2.4 OSPF的基本特征

1、属于IGP,开放最短路径优先协议
2、链路状态协议
3、封装在IP层,协议号使用89
4、ECMP,等价负载多路径协议(负载均衡)
5、OSPF多区域配置
6、OSPF安全措施:GTSM ,采用TTL安全机制
7、OSPF安全措施:认证
8、多区域,区域0为骨干区域,其他为常规区域

2.5 OSPF的工作过程

1、邻居建议
2、同步链路状态数据库
3、计算最优路由

OSPF的原理

3.1 OSPF 的特点

1、OSPF是一种无类路由协议,支持VLSM可变长子网掩码。支持IPV4和IPV6.
2、组播地址:224.0.0.5 224.0.0.6。
3、OSPF度量:从源到目的所有出接口的度量值,和接口带宽反比(10^8/带宽)。
4、收敛速度极快,但大型网络配置很复杂。
5、IP封装,协议号89

3.2 OSPF 的运行原理

OSPF组播的方式在所有开启OSPF的接口发送Hello包,用来确定是否有OSPF邻居,若发现了,则建立OSPF邻居关系,形成邻居表,之后互相发送LSA(链路状态通告)相互通告路由,形成LSDB(链路状态数据库)。再通过SPF算法,计算最佳路径(cost最小)后放入路由表。

设计要求:
1.必须配置骨干区域0
2.其他区域连接到骨干区域

好处:
1.减小路由表(通过域间汇总)
2.本地拓扑变化值影响一个区域(也是通过汇总)
3.某些LSA之子本地泛红,不泛洪到其他区域
注~:OSPF区域划分基于接口而不是设备

3.3 OSPF区域及路由器身份

3.3.1 OSPF区域

骨干区域(区域0):骨干区域必须连接所有的非骨干区域,而且骨干区域不可分割,有且只有一个,一般情况下,骨干区域内没有终端用户。

非骨干区域(非0区域):非骨干区域一般根据实际情况而划分,必须连接到骨干区域(不规则区域也需通过tunnel或virtual-link连接到骨干区域)。一般情况下,费骨干区域主要连接终端用户和资源。

3.3.2 OSPF身份

DR(Designated Router):指定路由器,OSPF协议启动后开始选举而来

BDR(Back-up Designated Router):备份指定路由器,同样是由OSPF启动后选举而来

DRothers:其他路由器,非DR非BDR的路由器都是DRothers。

ABR(Area Border Routers):区域边界路由器,连接不同OSPF区域。

ASBR(Autonomous System Boundary Router):自治系统边界路由器,位于OSPF和非OSPF网络之间。

骨干路由器:
至少有一个借口连接到骨干区域(区域0)。

3.4 OSPF邻居建立

在这里插入图片描述
邻居的两个状态
Neighbors:邻居
Adjacency:邻接

  1. 邻居不一定是邻接,邻接一定是邻居,只有交互了LSA的OSPF邻居才成为OSPF的邻接,之交互Hello包的支撑位邻居,
    在点对点网络中,所有邻居都能成为邻接。

  2. MA(广播多路访问网络,比如以太网)网络类型中,DR,BDR,DRothers三者关系为:
    DR、BDR与所有的邻居形成邻接,DRothers之间只是邻居而不交换LSA
    影响OSPF邻居建立的原因:

  3. Hello与Dead Time时间不一致(改Hello的话Dead自动*4,单改Dead的话Hello不变)
    区域ID必须一致

  4. 认证(password一致)

  5. Stub标识一致(与特殊区域有关,之后介绍)

  6. MTU-携带在DBD报文中,两端口必须一致

  7. 掩码,如12.1.1.1/30——12.1.1.2/24 这种情况是可以ping通的,但邻居关系起不来(OSPF对环回口,无论掩码多少位,都按32位处理,所以建议环回口直接/32,或者在环回口下还原真实掩码)

  8. ACL(是否放行OSPF)

3.5 OSPF 更新

OSPF是一种触发更新的机制。一旦拓扑发生变化便会更新。
OSPF也有周期性更新(30分钟一次)

当收到一条LSA之后:
首先查看是否在LSDB中,若没有则假如LSDB,回复LSACK。继续泛洪出去,并且通过SPF算法计算最佳路径并加入路由表。若存在,则比较谁的更“新”(看序号),序号大者新,若本地不如收到的信更新本地LSDB并泛洪,且通过SPF算法计算最佳路径并加入路由表,若比收到的新,则将本地的泛洪出去。

注:LSA序列号,4字节,16进制
0x80000001-0x7FFFFFFF

3.6 OSPF 数据报包类型

Hello:10秒发送一次,死亡时间40s,4倍关系,可以修改。

DBD:Database Description 仅仅是一个对本地数据库的概念性叙述,供路由器核对数据库是否同步

LSR:Link-State Request 请求链路状态,在数据库同步过程中使用,请求其他角色发送自己失去的LSA最新版本。

LSU:Link-State Update 链路状态更新,LSU包括几种类型的LSA,LSU负责泛洪LSA,和相应LSR。LSA只会发送给之前以LSR请求的LSA的直连邻居,进行泛洪的时候,邻居路由负责把收到的LSA信息重新封装在新的LSU中。

LSACK:链路状态确认,路由器必须对每个收到的LSA进行LSACK确认,但可以用一个LSACK确认多个LSA。

DR、BDR的选举

3.6.1 DR、BDR的选举规则

最高优先级值的路由器被选为DR(默认优先级相同:1),次高优先级的为BDR

若优先级相同,则比较router-id,拥有最高router-id的成为DR,次高的成为BDR

优先级被设置为0的不参与选举

OSPF系统启动后,若40s内没有新设备接入就会开始选举,所以为保证DR与BDR的选举不发生意外,建议优先配置想成为DR与BDR的设备。

DR与BDR不可以抢占

当DR小时之后,BDR直升DR,重新选BDR

所有DR,BDR,DRothers说的都是接口,而不是设备

不同网段间选DR,BDR,而不是以OSPF区域为单位

3.6.2 比较router-id,router-id

由工程师指定
这台设备最大的环回口ip
没有环回口的话,物理接口ip地址最大的。

3.7 OSPF 状态

Init State:发送了Hello包(还没收到)
Two-way State:收到了一个Hello包且Hello包中包括自己的router-id(对方回复的)
Exstart State:First DBD确认主从关系,router-id大的为主,先发包
Exchange State:交互DBD 相互学习
Loading State:LSR与LSU的交互过程
Full State:所有交互已经完成
注:DBD只是一个目录的性质,并且第一个DBD只是用来协商之后的DBD由谁先发送。

本文 参考链接: https://blog.51cto.com/12633577/1901535.

本文参考链接: https://blog.csdn.net/Breeze_CAT/article/details/79704903/.
最后~ 加油秃头人O(∩_∩)O !! 狗头保命(o)/~在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 11:07:19  更:2021-08-02 11:08:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:53:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码