深入理解网络协议:OSPF、VLAN、NAT与ACL详解
OSPF工作过程与基础配置
一、OSPF的工作过程
OSPF(开放最短路径优先)是一个广泛使用的路由协议,它的工作过程可以总结为以下几个步骤:
-
启动与邻居发现
OSPF在配置完成后,会通过本地组播地址224.0.0.5发送HELLO包。HELLO包中携带本地路由器的RID(Router ID)以及已知邻居的RID。当接收到对端的HELLO包中存在本端的RID时,即可认为邻居关系建立,并生成邻居表。 -
邻居关系建立
邻居关系建立后,OSPF会检查条件是否匹配。若匹配失败,则邻居关系保持不变,仅通过HELLO包进行保活。若匹配成功,则建立邻接关系。 -
主从选举
OSPF使用不携带数据库目录的DB(Database Description,DD)包进行主从选举。RID较大的路由器优先成为主路由器,并共享数据库目录。 -
LSA信息同步
基于本地的LSDB(Link State Database),通过LSR(Link State Request)包请求LSU(Link State Update)包并通过LSACK(Link State Acknowledgment)包确认,从而完成LSDB的同步。 -
SPF算法计算
同步完成后,OSPF启用SPF(Shortest Path First)算法,基于LSDB生成有向图,计算出最短路径树,最终生成本地路由表。 -
收敛与更新
收敛完成后,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扩展配置
-
邻接关系的建立条件
- 点到点网络:网络中仅支持两个节点直接建立邻接关系。
- 多路访问(MA)网络:支持多个节点,但需要进行DR(Designated Router)和BDR(Backup Designated Router)选举。
选举规则包括接口优先级和RID的比较。DR/BDR选举为非抢占式,需要重启所有参与选举的OSPF进程。
-
手工认证与汇总
- 手工认证配置示例:
ospf authentication-mode md5 1 cipher 666666 配置MD5认证
- 区域汇总配置示例:
abr-summary 1.1.0.0 255.255.252.0 区域汇总
- 手工认证配置示例:
-
缺省路由与被动接口
- 强制下发缺省路由:
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工具测试结果: //FromBody,Postman的body只有rawjson时才进的来 //参数为空时,Body(form-data、x-www-form-urlencoded)解析到的数据也有所…...

关注!这些型号SSD有Windows蓝屏问题需要修复
近期,在闪迪官方有一个SSD FW升级提醒,主要是为了解决Windows 11 24H2系统蓝屏的问题: Fix问题:这些SSD的主机内存缓冲区(Host Memory Buffer,简称HMB)功能可能会导致系统出现蓝屏死机ÿ…...
go语言gin框架平滑关闭——思悟项目技术2
目录 前言 直接关闭的缺陷 平滑关闭的使用场景 例子 思悟项目: golang qq邮件发送验证码——思悟项目技术1 前言 平滑关闭(graceful shutdown)是指在停止服务时,能够让现有的连接、任务或者操作优雅地完成,而不是…...

K8S flannel网络模式对比
K8S flannel网络模式对比 VXLAN 模式Host-GW 模式如何查看 Flannel 的网络模式?如何修改 Flannel 的网络模式?如何修改flannel vxlan端口?Flannel 是一个 Kubernetes 中常用的网络插件,用于在集群中的节点之间提供网络连接。Flannel 提供了多种后端实现方式,vxlan 和 host…...
Vue前端框架:Vue前端项目文件目录
文章目录 package.json 文件node_modulessrc(Source Code 的缩写)文件夹主要子文件夹及内容 publicdist package.json 文件 所在文件夹(通常是项目根目录) 虽然 package.json 本身不是一个文件夹,但它所在的文件夹&a…...
git回滚到指定的提交
如果你想回滚到特定的提交(例如 aa0ca72c),并且丢弃之后的所有更改,可以使用 git reset 命令。请注意,git reset 会改变你的提交历史,所以在多人协作项目中应谨慎使用。如果已经推送到远程仓库,…...

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

深度学习之网络与计算
1 网络操作与计算 1.1 前向传播与反向传播? 神经网络的计算主要有两种:前向传播(foward propagation, FP)作用于每一层的输入,通过逐层计算得到输出结果;反向传播(backward propagation, BP&a…...
《JVM第1课》Java 跨平台原理
无痛快速学习JVM,欢迎订阅本免费专栏 JVM Java的特性就是程序员一次编写,到处运行,意思是我们只需要写一份代码,就可以在不同的操作系统(windows、Linux、Mac OS等)中运行。但是不同的操作系统能看懂的指令…...

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30目录1. Step Guided Reasoning: Improving Mathematical Reasoning using Guidance Generation and Step Reasoning摘要研究背…...
加强版 第五节图像处理与视频分析
基本概念 图像轮廓 主要针对二值图像,轮廓是一系列点 vector<vector<Point>xxx用于存储多个点 vector<Vec4i>xxx包含四个整数,分别代表下一个轮廓的索引,上一个轮廓的索引,一个子轮廓的索引和父轮廓的索引 相…...

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

【Linux 25】网络套接字 socket 概念
文章目录 🌈 一、IP 地址概念⭐ 1. IP 地址的作用⭐ 2. 源 IP 地址和目的 IP 地址 🌈 二、端口号概念⭐ 1. 源端口号和目的端口号⭐ 2. 端口号范围划分⭐ 3. 端口号 VS 进程 ID⭐ 4. 套接字 socket 的概念 🌈 三、传输层的典型代表协议⭐ 1. …...
python openai 通过Function Call 创建自动化任务
目录 一、什么是Function Call(函数掉用) 1. 功能概述 2. 工作原理 二、如何实现函数调用 1、定义自己的get_weather 函数 2、给助手添加函数调用 3、写好instrction,指导assistant去掉用你定义的方法。 4、最后也是最重要的,捕获 Assistant 的 Function Call 三、…...
设计模式之责任链的通用实践思考
责任链模式通常一般用在方法的拦截、监控、统计方面,比较典型的就是Spring的AOP拦截。 但写一些小的基础能力框架的时候,用AOP比较中,所以一般都是自己针对特定的功能写一些定制的责任链工具类,不太喜欢总是做一些定制化的东西&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 简介 官网地址:https://brew.sh Homebrew 是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。 Homebrew 主要有四个部分组成: brew、homebrew-core 、homebrew-bottles、homebrew-cask。 源说明br…...

Python笔记之线程库threading
Python笔记之线程库threading 参考博文 Python多线程笔记——简单函数版和类实现版 code review! Python 的 threading 库用于在程序中创建和管理线程。线程允许程序并发执行多个任务。以下是 threading 库的详解和一些简洁示例。 基本概念 线程:在一个进程中&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控件原有接口具有视频截图方法,即video对象的takeSnapshot方法,但是该方法返回的是一个IPicture对象,不适合在谷歌等现代浏览器上使用。因此,本人增加一个新的视频截图方法takeSnapshot2B64方法,直接将视频截图…...

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

NestJS——重构日志、数据库、配置
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...

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

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

【C++ Qt】容器类(GroupBox、TabWidget)内附思维导图 通俗易懂
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” ✍️绪论: 本章主要介绍了 Qt 中 QGroupBox 与 QTabWidget 控件。QGroupBox 是带标题的分组框,能容纳其他控件,有标题、对齐方式、是否…...
uni-app 中开发问题汇总
uni-app 中 echarts 中的点击事件失效? 在 main.js 中 设置 window.wx{},这个方式,如果需要调 wx 中的方法会失效(如果默认后续不会调 wx 中的方法推荐使用) 降低版本,安装一个低版本的,比如&a…...

深兰科技董事长陈海波率队考察南京,加速AI大模型区域落地应用
近日,深兰科技创始人、董事长陈海波受邀率队赴南京市,先后考察了南京高新技术产业开发区与鼓楼区,就推进深兰AI医诊大模型在南京的落地应用,与当地政府及相关部门进行了深入交流与合作探讨。 此次考察聚焦于深兰科技自主研发的AI医…...
【LangChain】
以下是关于 LangChain框架 各核心组件的详细解析,结合其功能定位、技术实现和实际应用场景: 一、LangChain Libraries(核心库) 功能定位 跨语言支持:提供Python/JS双版本API,统一不同语言的LLM开发生态 …...