OSPF协议(1)

server/2025/4/2 5:49:58/

路由分类

        直连路由

        静态路由:由网络管理员手工配置的路由信息

        动态路由:所有路由器运行相同的路由协议,路由器之间才能沟通,交流,最终计算出到达未知网段的路由信息。

AS

        自治系统 --- 由单一组织或者结构所构建的一部分网络

IGP --- 内部网关协议 --- AS内部

        ospf,RIP,IS-IS,EIGRP(思科私有)

EGP --- 外部网关协议 --- AS之间

        BGP

IGP协议可以基于算法进行分类

        1、距离矢量型协议

                RIP --- 贝尔曼·福特算法 --- 直接发送路由条目 --- “依据传闻的路由协议”

        2、链路状态型协议

                OSPF,IS-IS --- SPF算法(将图形结构转换成树形结构) --- 传递的是拓扑信息(LSA---链路状态通告)

评价IGP好坏的标准:

        选举佳,收敛快(计时器),资源占用少

        1、RIP是以跳数作为开销值的评判标准,OSPF是以带宽作为开销值的评判标准,OSPF计算出的路径不会出现环路。

        2、因为OSPF计时器时间更短,所以收敛速度更快

        3、从单个数据包的角度来看,RIP的资源占用量并不大,但是,因为他存在高频的周期更新(30S),所以从整体角度,资源占用量较大;OSPF单个数据包的资源占用远远大于RIP,但是因为其没有像RIP一样高频的周期更新(OSPF 30min),且存在很多减少资源占用的机制,所以从整体角度,ospf资源占用略小于RIP。

RIP:RIPV1,RIPV2---IPV4

          RIPNG --- IPV6

OSPF:OSPFV1,OSPFV2 --- IPV4

             OSPFV3 --- IPV6

RIPV2和OSPFV2的相同点:

        1、OSPFV2和RIPV2一样都是无类别的路由协议,都支持VLSM(可变长子网掩码)和CIDR(汇总)

              无类别指在传递路由信息时携带子网掩码

        2、OSPFV2和RIPV2一样,都是以组播发送信息

                RIPV2:224.0.0.9 --- 0100-5e00-0009

                OSPFV2:224.0.0.5和224.0.0.6

                        (在OSPF中,所有设备都监听224.0.0.5,只有DR和BDR监听224.0.0.6)

        3、OSPFV2和RIPV2一样,都支持等开销负载均衡

RIPV2和OSPFV2的不同点:

        RIPV2只能应用在中小型网络环境中,OSPFV2可以应用在中大型网络环境中的。--- OSPF可以实现结构化部署---区域划分

区域划分目的:

        区域内部传递拓扑信息,区域之间传递路由信息。

区域边界路由器 --- ABR

        同时属于多个区域,一个接口对应一个区域,至少有一个接口对应区域0中。

        区域之间可以存在多个ABR设备,一个ABR设备也可以连接多个区域

区域划分的要求:

                1、区域之间必须存在ABR设备

                2、区域划分必须按照星型拓扑进行划分 --- 中间的区域称为骨干区域

                        区域ID --- area id --- 32位二进制构成 --- 骨干区域的区域ID被定义为0

OSPF的数据包

        hello包  DBD包  LSR 包  LSU包  LSACK包

        1、hello包

                周期性的发现,建立以及保活邻居关系

                hello时间 --- 10s(30s)

                Dead time --- 4倍的周期时间

                RID --- 路由器的身份标识 

                        1、手工配置 --- 要求:1、全网(ospf网络内)唯一;2、格式统一(统一按IP地

                址格式)

                        2、自动生成 

                                1、优先选择设备换回接口的ip地址,如果存在多个环回接口,则优先选择

                        其中数值最大的ip地址作为RID。

                                2、如果设备没有环回接口,则选择物理接口的ip地址作为RID,如果存在多

                        个物理接口,则优先选择其中数值最大的ip地址作为RID。

        2、DBD包

                数据库描述报文 --- LSDB(链路状态数据库) --- 用于放置LSA 

        3、LSR包

                链路状态请求报文 --- 基于未知的LSA进行请求

        4、LSU包

                链路状态更新报文 --- 真正携带LSA的数据包

        5、LSACK包

                链路状态确认报文 --- 确认包

        OSPF依然存在30min一次的周期更新

OSPF的状态机

        

        Two-way(双向通信)状态 --- 标志着邻居关系的建立

        (条件匹配)如果匹配成功,则可以进入到下一个状态;如果条件匹配失败,则将保持邻居关系,周期性发送hello包保持邻居关系。

        

        主从关系选举 --- 通过比较RID进行主从关系选举,RID大的为主,为主的可以优先选择LSA 

        主从关系选举使用的是不携带数据的DBD包进行,主要是为了和邻居关系进行区分。

        在华为体系中,主从关系选举更重要的一点为主的设备可以主导隐形确认

        

        华为的DBD包确认方法使用的是隐形确认

        Full(转发)状态 --- 标志着邻接关系的建立,只有邻接关系可以交换LSA信息,邻居关系仅能使用hello包进行保活

        DOWN状态 --- 发送hello包之后进入到下一个状态

        init(初始化)状态 --- 接收到hello包中存在自己本地RID,进入下一状态

        Two-way(双向通信)状态 --- 标志着邻居关系的建立

        (条件匹配)如果条件匹配成功,则进入到下一个状态;如果失败,则停留在邻居状态,仅使用hello包进行周期保活

        Exstart(预启动)状态 --- 使用未携带数据的DBD包,进行主从关系选举,为主的,可以优先挑选LSA。

        Exchange(准交换)状态 --- 通过携带数据DBD包,交换LSDB摘要信息

        Loading(加载)状态 --- 通过LSR/LSU/LSACK三种数据包,获取基于之前DBD包的未知LSA信息

        Full(转发)状态 --- 标志着邻接关系建立

OSPF的工作过程

        启动配置完成后,ospf向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,hello包中携带自己本地的RID以及已知邻居的RID,如果收到hello包中存在自己本地的RID,则建立邻居关系。

        将邻居关系记录在一张表中---邻居表

        邻居关系完成后,将进行条件匹配,条件匹配失败,则将停留在邻居关系,仅使用hello包进行周期保活

        如果匹配成功,则开始建立邻接状态;首先使用未携带数据的DBD包进行主从关系选举,之后,使用携带数据的DBD包共享数据库目录信息。之后使用LSR/LSU/LSACK数据包获取未知的LSA信息。完成自己本地数据库的建立,生成数据库表 --- LSDB

        最后基于本地的链路状态,使用SPF算法生成有向图和最短路径树,计算出到达未知网段的路由信息,将这些路由信息放到路由表中。

        收敛完成后,使用hello包进行周期保活;每30min进行一次周期更新

OSPF的基本配置

        1、启动OSPF进程

[r1]ospf 1 router-id 1.1.1.1 
[r1-ospf-1]

        2、创建区域

[r1-ospf-1]area 0 
[r1-ospf-1-area-0.0.0.0]

        3、宣告

                1、激活接口;2、发布路由

[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255

                0.0.0.255 --> 反掩码用于控制圈定的范围,由连续的0和连续的1组成

         4、查看配置相关命令

                查看邻居表

                查看邻居简表

                查看链路状态数据库(LSDB)

                查看由路由器 ID 为 2.2.2.2 的路由器所产生的路由器类型(Router LSA)的链路状态通告(LSA)信息

                查看ospf学习到的路由条目的命令

华为体系中,OSPF的默认优先级为10
COST = 参考带宽/ 真实带宽---参考带宽默认100Mbps
                

                修改cost值

条件匹配

        指定路由器 -- DR --- 在一个MA网络中,DR设备和其他设备保持邻接关系

        备份指定路由器 --- BDR --- 在一个MA网络中,BDR设备和其他设备保持邻接关系

        在一个MA网络中,DR和BDR都存在的情况下,则至少需要4太设备,才能看到邻居关系

        DR和BDR实际上是一个接口的概念

        条件匹配 --- 在MA网络中,如果所有设备都建立邻接关系,则可能造成大量的重复更新,所以需要进行DR/BDR的选举,所有DROther之间仅保持邻居关系

DR和BDR的选举

        1、先比较接口的优先级,优先级选择接口优先级最大的为DR设备,次大的为BDR

                注:DR和BDR实际上是分两轮选举的

                优先级是由8位二进制构成 --- 0-255

                如果将某个接口的优先级设置为0,则代表该接口放弃DR和BDR的选举。

        2、如果优先级相同,则比较设备RID,优先选RID大的设备对应接口为DR,次大的设备对应接口为BDR(同样是分两轮选)

OSPF的DR选举默认为非抢占模式。非抢占模式选举时间最长为40s(死亡事件)


http://www.ppmy.cn/server/180610.html

相关文章

C# 语法糖

三元运算符 &#xff1f;&#xff1a; 使用前 int value -2; if (value < 0) {value 0; } else {value 1; } 使用后 int value -2; value value < 0 ? 0 : 1; Null 合并操作符 &#xff1f;&#xff1f; 使用前 string value GetString(); if (value null…

HCIP【OSPF 详解】

目录 1 OSPF 基础知识简介 1.1 技术背景&#xff08;为了补充RIP存在的问题&#xff09; 1.2 OSPF特点 1.3 OSPF的三张表 1.3.1 邻居表 1.3.2 路由表 1.3.3 拓扑表&#xff08;链路状态数据库&#xff0c;LSDB&#xff09; 1.4 OSPF的数据包 1.4.1 头部数据包内容 1.…

如何防御TCP洪泛攻击

TCP洪泛攻击&#xff08;TCP Flood Attack&#xff09;是一种常见的分布式拒绝服务&#xff08;DDoS&#xff09;攻击手段&#xff0c;以下是其原理、攻击方式和危害的详细介绍&#xff1a; 定义与原理 TCP洪泛攻击利用了TCP协议的三次握手过程。在正常的TCP连接建立过程中&a…

华为开源自研AI框架昇思MindSpore应用案例:基于MindSpore框架实现PWCNet光流估计

如果你对MindSpore感兴趣&#xff0c;可以关注昇思MindSpore社区 1 环境准备 1.进入ModelArts官网 云平台帮助用户快速创建和部署模型&#xff0c;管理全周期AI工作流&#xff0c;选择下面的云平台以开始使用昇思MindSpore&#xff0c;可以在昇思教程中进入ModelArts官网 创建…

Java进阶——位运算

位运算直接操作二进制位&#xff0c;在处理底层数据、加密算法、图像处理等领域具有高效性能和效率。本文将深入探讨Java中的位运算。 本文目录 一、位运算简介1. 与运算2. 或运算异或运算取反运算左移运算右移运算无符号右移运算 二、位运算的实际应用1. 权限管理2. 交换两个变…

图解G1垃圾回收器

概述 G1 垃圾回收器在 Java 7 update 4 后引入。它是分代、增量、并行与并发的标记 - 复制回收器&#xff0c;旨在适应内存扩大、处理器增多的情况&#xff0c;降低暂停时间&#xff0c;兼顾吞吐量。 与 CMS 相比&#xff0c;G1 有这些不同&#xff1a; 内存连续性&#xff1…

Python:爬虫概念与分类

网络请求&#xff1a; https://www.baidu.com url——统一资源定位符 请求过程&#xff1a; 客户端&#xff0c;指web浏览器向服务器发送请求 请求&#xff1a;请求网址(request url)&#xff1b;请求方法(request methods)&#xff1b;请求头(request header)&…

xtuner微调大模型教程

1.构建虚拟环境 conda create --name xtuner-env python3.10 -y conda activate xtuner-en 拉取 XTuner&#xff0c;过程大约需要几分钟 git clone https://github.com/InternLM/xtuner.git 然后安装依赖的软件&#xff0c;这步需要的时间比较长。可以百度pip的清华源进行…