当前位置: 首页 > 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;增加了开…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...