当前位置: 首页 > news >正文

深入理解网络协议:OSPF、VLAN、NAT与ACL详解

OSPF工作过程与基础配置

一、OSPF的工作过程

OSPF(开放最短路径优先)是一个广泛使用的路由协议,它的工作过程可以总结为以下几个步骤:

  1. 启动与邻居发现
    OSPF在配置完成后,会通过本地组播地址224.0.0.5发送HELLO包。HELLO包中携带本地路由器的RID(Router ID)以及已知邻居的RID。当接收到对端的HELLO包中存在本端的RID时,即可认为邻居关系建立,并生成邻居表。

  2. 邻居关系建立
    邻居关系建立后,OSPF会检查条件是否匹配。若匹配失败,则邻居关系保持不变,仅通过HELLO包进行保活。若匹配成功,则建立邻接关系。

  3. 主从选举
    OSPF使用不携带数据库目录的DB(Database Description,DD)包进行主从选举。RID较大的路由器优先成为主路由器,并共享数据库目录。

  4. LSA信息同步
    基于本地的LSDB(Link State Database),通过LSR(Link State Request)包请求LSU(Link State Update)包并通过LSACK(Link State Acknowledgment)包确认,从而完成LSDB的同步。

  5. SPF算法计算
    同步完成后,OSPF启用SPF(Shortest Path First)算法,基于LSDB生成有向图,计算出最短路径树,最终生成本地路由表。

  6. 收敛与更新
    收敛完成后,OSPF每30分钟周期更新邻接关系。每30分钟,邻接关系之间会进行DD包的对比,若一致则继续保活,若不一致则重新收敛。

二、OSPF基础配置示例

以下是OSPF的基本配置命令示例:

ospf 1 router-id 1.1.1.1     创建OSPF进程,进程号为1,RID为1.1.1.1

area 0                 进入区域0

network 1.1.1.1 0.0.0.0      指定网络

network 12.1.1.0 0.0.0.255    指定反掩码

可以通过以下命令查看邻居和数据库表:

display ospf peer brief     查看邻居表

display ospf lsdb         查看LSDB

三、OSPF扩展配置

  1. 邻接关系的建立条件

    • 点到点网络:网络中仅支持两个节点直接建立邻接关系。
    • 多路访问(MA)网络:支持多个节点,但需要进行DR(Designated Router)和BDR(Backup Designated Router)选举。

    选举规则包括接口优先级和RID的比较。DR/BDR选举为非抢占式,需要重启所有参与选举的OSPF进程。

  2. 手工认证与汇总

    • 手工认证配置示例:

      ospf authentication-mode md5 1 cipher 666666   配置MD5认证

    • 区域汇总配置示例:

      abr-summary 1.1.0.0 255.255.252.0          区域汇总

  3. 缺省路由与被动接口

    • 强制下发缺省路由:

      default-route-advertise always     强制下发缺省路由

    • 配置被动接口示例:

      silent-interface g 0/0/1         设置接口为被动

VLAN与NAT基础知识

一、VLAN的概念与配置

VLAN(虚拟局域网)是一种通过逻辑分隔物理网络的技术,它能够将一个大的广播域划分为多个小的逻辑广播域,显著减少广播流量,提高网络性能与安全性。VLAN允许网络管理员在相同的物理基础设施上建立不同的虚拟网络,方便管理和分隔不同业务的流量。

VLAN ID(VID):用于识别不同的VLAN,由12位二进制组成,范围为0-4095。在实际应用中,通常使用1-4095的范围,其中0和4095有特殊意义(0表示保留,4095表示全局的广播)。

配置VLAN的基本命令如下:

vlan batch 2 to 6    批量创建VLAN

配置端口划分到VLAN的示例:

port link-type access  定义为访问链路

port default vlan 2   将接口划入VLAN 2

VLAN的应用场景

  • 网络隔离:不同部门或业务单位可使用不同的VLAN,减少干扰与安全风险。
  • 广播控制:减少广播流量,提高网络性能。
  • 灵活性:可根据需要快速调整VLAN配置,适应网络变化。

二、NAT的基本概念

NAT(网络地址转换)是用于将私有网络IP地址转换为公有IP地址(或反向转换)的一种技术,常用于连接互联网的内部网络。NAT有助于保护网络内部结构的隐私,同时也延长了IPv4地址的使用寿命。

NAT类型

  • 静态NAT:一一对应的地址映射,内部IP与外部IP一一对应,适用于需要外部可直接访问的内部服务器。
  • 动态NAT:不论外部地址如何变化,内部私有IP地址会动态映射到外部的可用IP地址池,适合需要动态访问的场景。
  • NAPT(端口地址转换):允许多个私网IP共享同一个公网IP,使用端口号区分各个会话,是最常见形式的NAT,广泛用于家庭路由器和小型企业网络中。

静态NAT的配置示例:

nat static global 12.1.1.1 inside 192.168.1.2  静态NAT映射

动态NAT的配置示例:

nat outbound 2000                     配置动态NAT

三、ACL(访问控制列表)概述

ACL是用于在路由器或交换机上控制流量的一种机制,可用于允许或拒绝特定类型的流量。ACL可根据源IP地址、目的IP地址、传输层协议(TCP/UDP)和端口号等条件进行配置。

ACL类型

  • 标准ACL:仅依据源IP进行流量控制,常用于过滤访问。
  • 扩展ACL:依据更多条件(如目的IP、协议类型和端口号)进行更细致的控制。

配置示例:

acl 2000            创建标准ACL

rule permit source any   允许所有流量

扩展ACL的配置示例:

rule deny tcp source 192.168.4.1 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23         拒绝特定TCP流量

ACL的应用场景

  • 提高网络安全性,通过过滤不必要或恶意的流量。
  • 实现流量监控与审计,收集与分析网络使用情况。

相关文章:

深入理解网络协议:OSPF、VLAN、NAT与ACL详解

OSPF工作过程与基础配置 一、OSPF的工作过程 OSPF(开放最短路径优先)是一个广泛使用的路由协议,它的工作过程可以总结为以下几个步骤: 启动与邻居发现 OSPF在配置完成后,会通过本地组播地址224.0.0.5发送HELLO包。HE…...

idea 配置tomcat 服务

选择tomcat的安装路径 选到bin的文件夹的上一层就行...

.net core 接口,动态接收各类型请求的参数

[HttpPost] public async Task<IActionResult> testpost([FromForm] object info) { //Postman工具测试结果&#xff1a; //FromBody,Postman的body只有rawjson时才进的来 //参数为空时&#xff0c;Body(form-data、x-www-form-urlencoded)解析到的数据也有所…...

关注!这些型号SSD有Windows蓝屏问题需要修复

近期&#xff0c;在闪迪官方有一个SSD FW升级提醒&#xff0c;主要是为了解决Windows 11 24H2系统蓝屏的问题&#xff1a; Fix问题&#xff1a;这些SSD的主机内存缓冲区&#xff08;Host Memory Buffer&#xff0c;简称HMB&#xff09;功能可能会导致系统出现蓝屏死机&#xff…...

go语言gin框架平滑关闭——思悟项目技术2

目录 前言 直接关闭的缺陷 平滑关闭的使用场景 例子 思悟项目&#xff1a; golang qq邮件发送验证码——思悟项目技术1 前言 平滑关闭&#xff08;graceful shutdown&#xff09;是指在停止服务时&#xff0c;能够让现有的连接、任务或者操作优雅地完成&#xff0c;而不是…...

K8S flannel网络模式对比

K8S flannel网络模式对比 VXLAN 模式Host-GW 模式如何查看 Flannel 的网络模式?如何修改 Flannel 的网络模式?如何修改flannel vxlan端口?Flannel 是一个 Kubernetes 中常用的网络插件,用于在集群中的节点之间提供网络连接。Flannel 提供了多种后端实现方式,vxlan 和 host…...

Vue前端框架:Vue前端项目文件目录

文章目录 package.json 文件node_modulessrc&#xff08;Source Code 的缩写&#xff09;文件夹主要子文件夹及内容 publicdist package.json 文件 所在文件夹&#xff08;通常是项目根目录&#xff09; 虽然 package.json 本身不是一个文件夹&#xff0c;但它所在的文件夹&a…...

git回滚到指定的提交

如果你想回滚到特定的提交&#xff08;例如 aa0ca72c&#xff09;&#xff0c;并且丢弃之后的所有更改&#xff0c;可以使用 git reset 命令。请注意&#xff0c;git reset 会改变你的提交历史&#xff0c;所以在多人协作项目中应谨慎使用。如果已经推送到远程仓库&#xff0c;…...

手机怎么玩森林之子?远程玩森林之子教程

你喜欢《森林之子》这款开放世界恐怖生存模拟游戏吗&#xff1f;玩家会被派到一座孤岛上&#xff0c;寻找一位失踪的亿万富翁&#xff0c;并深陷被食人生物占领的地方。你需要制作工具和武器、建造房屋&#xff0c;倾尽全力生存下去&#xff0c;无论独自一人还是与朋友一起。如…...

深度学习之网络与计算

1 网络操作与计算 1.1 前向传播与反向传播&#xff1f; 神经网络的计算主要有两种&#xff1a;前向传播&#xff08;foward propagation, FP&#xff09;作用于每一层的输入&#xff0c;通过逐层计算得到输出结果&#xff1b;反向传播&#xff08;backward propagation, BP&a…...

《JVM第1课》Java 跨平台原理

无痛快速学习JVM&#xff0c;欢迎订阅本免费专栏 JVM Java的特性就是程序员一次编写&#xff0c;到处运行&#xff0c;意思是我们只需要写一份代码&#xff0c;就可以在不同的操作系统&#xff08;windows、Linux、Mac OS等&#xff09;中运行。但是不同的操作系统能看懂的指令…...

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30目录1. Step Guided Reasoning: Improving Mathematical Reasoning using Guidance Generation and Step Reasoning摘要研究背…...

加强版 第五节图像处理与视频分析

基本概念 图像轮廓 主要针对二值图像&#xff0c;轮廓是一系列点 vector<vector<Point>xxx用于存储多个点 vector<Vec4i>xxx包含四个整数&#xff0c;分别代表下一个轮廓的索引&#xff0c;上一个轮廓的索引&#xff0c;一个子轮廓的索引和父轮廓的索引 相…...

Orleans8.2入门测试

微软官方文档&#xff1a;快速入门&#xff1a;使用 ASP.NET Core 生成第一个 Orleans 应用 - .NET | Microsoft Learn 项目及引入的nuget库&#xff1a; 1、接口项目&#xff1b;2、接口实现项目&#xff1b;3、silo项目&#xff1b;4、客户端项目 其中Microsoft.Orleans.St…...

【Linux 25】网络套接字 socket 概念

文章目录 &#x1f308; 一、IP 地址概念⭐ 1. IP 地址的作用⭐ 2. 源 IP 地址和目的 IP 地址 &#x1f308; 二、端口号概念⭐ 1. 源端口号和目的端口号⭐ 2. 端口号范围划分⭐ 3. 端口号 VS 进程 ID⭐ 4. 套接字 socket 的概念 &#x1f308; 三、传输层的典型代表协议⭐ 1. …...

python openai 通过Function Call 创建自动化任务

目录 一、什么是Function Call(函数掉用) 1. 功能概述 2. 工作原理 二、如何实现函数调用 1、定义自己的get_weather 函数 2、给助手添加函数调用 3、写好instrction,指导assistant去掉用你定义的方法。 4、最后也是最重要的,捕获 Assistant 的 Function Call 三、…...

设计模式之责任链的通用实践思考

责任链模式通常一般用在方法的拦截、监控、统计方面&#xff0c;比较典型的就是Spring的AOP拦截。 但写一些小的基础能力框架的时候&#xff0c;用AOP比较中&#xff0c;所以一般都是自己针对特定的功能写一些定制的责任链工具类&#xff0c;不太喜欢总是做一些定制化的东西&am…...

前端用canvas绘图并支持下载

1.根据数据绘制饼图 /** 绘制环形图 */ const drawPieCharts () > {const {canWithdrawalPriceFront,noWithdrawalPriceFront,haveWithdrawalPriceFront,} this.state;const myCanvas this.cavasRef.current;// ts-ignoreconst ctx myCanvas.getContext(2d);if (ctx) {…...

【Mac】Homebrew

1、Homebrew 简介 官网地址&#xff1a;https://brew.sh Homebrew 是一款Mac OS平台下的软件包管理工具&#xff0c;拥有安装、卸载、更新、查看、搜索等很多实用的功能。 Homebrew 主要有四个部分组成: brew、homebrew-core 、homebrew-bottles、homebrew-cask。 源说明br…...

Python笔记之线程库threading

Python笔记之线程库threading 参考博文 Python多线程笔记——简单函数版和类实现版 code review! Python 的 threading 库用于在程序中创建和管理线程。线程允许程序并发执行多个任务。以下是 threading 库的详解和一些简洁示例。 基本概念 线程&#xff1a;在一个进程中&a…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...