当前位置: 首页 > 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…...

HackMyVM-Dejavu

信息搜集 主机发现 ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:39:60:4c, IPv4: 192.168.43.126 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.43.1 c6:45:66:05:91:88 …...

allWebPlugin中间件VLC专用版之截图功能介绍

背景 VLC控件原有接口具有视频截图方法&#xff0c;即video对象的takeSnapshot方法&#xff0c;但是该方法返回的是一个IPicture对象&#xff0c;不适合在谷歌等现代浏览器上使用。因此&#xff0c;本人增加一个新的视频截图方法takeSnapshot2B64方法&#xff0c;直接将视频截图…...

学习STC51单片机20(芯片为STC89C52RCRC)

每日一言 生活不会一帆风顺&#xff0c;但你的勇敢能让风浪变成风景。 串口助手的界面就等于是pc端的页面设置的是pc端的波特率等等参数 程序里面的是单片机的波特率等等参数 串口助手是 PC 端软件 串口助手&#xff08;如 STC-ISP&#xff09;是运行在 PC 上的工具&#x…...

NestJS——重构日志、数据库、配置

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…...

秋招Day11 - JVM - 类加载机制

了解类的加载机制吗&#xff1f; JVM是运行Java字节码&#xff0c;也就是运行.class文件的虚拟机&#xff0c;JVM把.class文件中描述类的数据结构加载到内存中&#xff0c;并对数据进行校验&#xff0c;解析和初始化&#xff0c;最终转化为JVM可以使用的类型&#xff08;Klass…...

Agent 的7 中设计模式

这里写自定义目录标题 建立有效的Agent什么是Agent&#xff1f;何时&#xff08;以及何时不使用&#xff09;使用代理何时以及如何使用框架构建块、工作流和Agent构建模块&#xff1a;增强型LLM(The augmented LLM)工作流程&#xff1a;提示链接(Prompt chaining)工作流程&…...

【C++ Qt】容器类(GroupBox、TabWidget)内附思维导图 通俗易懂

每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” ✍️绪论​&#xff1a; 本章主要介绍了 Qt 中 QGroupBox 与 QTabWidget 控件。QGroupBox 是带标题的分组框&#xff0c;能容纳其他控件&#xff0c;有标题、对齐方式、是否…...

uni-app 中开发问题汇总

uni-app 中 echarts 中的点击事件失效&#xff1f; 在 main.js 中 设置 window.wx{}&#xff0c;这个方式&#xff0c;如果需要调 wx 中的方法会失效&#xff08;如果默认后续不会调 wx 中的方法推荐使用&#xff09; 降低版本&#xff0c;安装一个低版本的&#xff0c;比如&a…...

深兰科技董事长陈海波率队考察南京,加速AI大模型区域落地应用

近日&#xff0c;深兰科技创始人、董事长陈海波受邀率队赴南京市&#xff0c;先后考察了南京高新技术产业开发区与鼓楼区&#xff0c;就推进深兰AI医诊大模型在南京的落地应用&#xff0c;与当地政府及相关部门进行了深入交流与合作探讨。 此次考察聚焦于深兰科技自主研发的AI医…...

【LangChain】

以下是关于 LangChain框架 各核心组件的详细解析&#xff0c;结合其功能定位、技术实现和实际应用场景&#xff1a; 一、LangChain Libraries&#xff08;核心库&#xff09; 功能定位 跨语言支持&#xff1a;提供Python/JS双版本API&#xff0c;统一不同语言的LLM开发生态 …...