【网络协议详解】—— STP 、RSTP、MSTP技术(学习笔记)
一、STP技术工作原理
STP(Spanning Tree Protocol)生成树协议(IEEE 802.1D)是一种网络协议,用于在网络拓扑中防止环路的产生。在二层交换网络中,逻辑上阻塞部分接口,实现从根交换机到所有节点的最短路径 的属性结构,生成一个没有环路的拓扑。当其中最佳的路径出现故障时,则将个别阻塞的接口 打开,实现链路资源的备份。STP协议的缺点是收敛速度慢,因为它需要等待端口状态的转换。
根桥(ROOT):在一个交换网络中,有且只能有一个根桥(根交换机),STP的主要作用就是在一个交换网络中计算出一棵无环的STP树;
非根桥:只要不是根桥,就是非根桥(非根交换机);
网桥ID(BID):优先级+MAC地址组成(前2个字节为优先级,后6个字节为MAC地址);
端口ID(Port ID):优先级+端口号组成;
根路径开销(Root Path Cost):根发出该BPDU设备到达根网桥的开销;
BPDU(Bridge Protocol Data Unit):桥协议数据单元,用于网桥之间传递BPDU来交互协议信息。
生成树算法的三个步骤:
1、选举根交换机
2、选举根端口
3、选举指定端口并阻塞备用端口
注:这里所谓的“选举”,是通过网络中各交换机相互发送生成树协议专用的数据帧来实现的,这些交换信息的报文称为网桥协议数据单元,简称BPDU
。
1、选举跟交换机
根网桥 ---- 在802.1D中,一个交换网络一棵树,仅选择一个根网桥BID --- 8字节 --- 前2字节 --- 优先级后6字节 --- MAC地址首先,先比较BID中的优先级,优先选择优先级数值小的作为根网桥。优先级:取值范围理论上是0-65535,实际上取值范围0 - 61440,默认值位32768优先级只使用了前4位,后面12位称为 拓展系统ID,只有在802.1S中启用 --- 所以,优先级的修改需要按照4096的倍数来进行修改。如果优先级相同,则比较MAC地址,选择MAC地址数值最小的作为根网桥
2、选举根端口
根端口 --- 所有 非根网桥上 有且仅有一个距离根网桥最近的端口,用来接受根网桥的BPDU
- 选择在接受根网桥BPDU是RPC最小的端口作为根端口。
- 如果多个接口到达根网桥的开销值相同,则比较接口对端设备的BID,优先选择BID小的设备所对应的接口为根端口。
- 如果对端的BID也相同,则比较对端的PID,优先选择PID小的接口对应的接口为根端 PID:2个字节 --- 前4位为优先级后12位为接口标识
先比较优先级,优先选择优先级数值小的
优先级取值范围 0 - 240,默认值为128,每一位代表16,修改优先级时也只能按照16的倍数修改如果优先级相同,则比较接口标识
- 如果对端的PID也相同,则比较本地接口的PID,选择PID小的作为根端口
3、选举指定端口
指定端口 ---- 每一条链路上有且仅有一个端口作为指定端口,用来发送或者转发根网桥的BPDU。根网桥所有的接口都是指定端口,根端口的对端一定时是指定端口1,优先选择发出根网桥BPDU时RPC最小的端口作为指定端口。2,如果发出时的开销值相同,则比较接口链接设备的BID,优先选择BID小的设备的接口作为指定端口3,如果本端的BID也相同,则比较接口的PID,优先选择PID小的作为指定端口4,如果本端的PID也相同,则直接阻塞
4、阻塞非指定端口
非指定端口 --- 所有没有角色的端口都是非指定端口,需要被阻塞接口的状态:1,禁用 --- 1,接口关闭;2,接口没有激活生成树2,阻塞 --- 接口激活生成树后第一个进入的状态,只能侦听BPDU,不能发送BPDU也不能处理业务数据帧设备20S没有侦听到BPDU,则认为根网桥不存在或者失效,则进入到下一个状态3,侦听 --- 进行角色选举的状态。可以接受和发送BPDU,但是,不能处理业务帧。15后(转发延迟时间)将进入到下一个状态这里给15S时间进行选举主要目的是为了防止部分角色没有选出来而造成临时环路一部分接口需要被阻塞,则将退回到阻塞状态4,学习 --- 开始接受业务数据帧,但是只记录MAC地址和接口的信息,并不去转发业务数据帧,停留时间15S。设置学习状态的目的是为了尽可能多的记录MAC地址信息,以减少未知单播帧的泛洪。5,转发 --- 可以进行BPDU的处理,也可以转发业务数据帧最终可能停留的状态:转发和阻塞侦听和学习是两个过渡状态各端口状态变化过程和收敛时间(链路一定要是up状态):
Blocking------(30s)----->Listening------(15s)----->Learning------(15s)----->Forwarding
二、RSTP技术工作原理
RSTP在STP基础上进行了改进,实现了网络拓扑的快速收敛。快速生成树 --- 一个交换网络一棵树, 能够向下兼容STP
1、端口角色
802.1D:根端口,指定端口,非指定端口802.1W: 根端口,指定端口,替代端口(Alternate),备份端口(Backup)替代端口 --- 通过和其他设备的BPDU进行比较而最终被阻塞的端口为替代端口,成为根端口的备份,如果根端口出现故障,则自身最优的替代端口将直接成为根端口并进入到转发状态。备份端口 --- 指定端口的备份,通过和自己的BPDU进行比较而最终被阻塞的端口为备份端口,如果指定端口发生故障,则直接成为指定端口,进入到转发状态。
2、选举规则
根端口和指定端口与STP选举规则类似
替代端口:根端口的备份端口,连接另外一条通过选举出的次优链路
备份端口:指定端口的备份端口,始终处于阻塞状态,只有指定端口故障才被启用
3、端口状态
802.1D:禁用,阻塞,侦听,学习,转发802.1W:丢弃(DISCARDING),学习,转发丢弃 --- 无法学习MAC地址,也无法转发业务帧。端口只接收BPDU报文学习 --- 可以学习MAC地址,无法转发业务帧转发 --- 可以学习MAC地址,也可以转发业务帧
4、收敛机制
- 边缘端口(Edge port)
边缘端口会节省30S的延时,端口UP后会立即进入转发状态,且端口的Up/Down不会触发拓扑变更,他不参与生成树的计算,主要用于连接PC;
当收到BPDU报文会马上变为一个普通端口,加入到生成树的计算中,这样会导致网络震荡
- 根端口快速切换机制
如果RSTP网络中一个根端口失效,那么网络中最优的Alternate端口将成为根端口并直接进入Forwarding状态
- Proposal/Agreement 机制
简称P/A机制,其协商机制可以使交换机上的指定端口尽快进入Forwarding状态,同时也是避免环路的一种机制(AP端口是堵塞状态,EP端口不参与生成树计算,都不会出现环路,只有DP Forwarding端口转发才可能出现环路,所以会逐一向下同步端口状态)
三、MSTP技术工作原理
实例 --- Instance --- 可以理解为是一个VLAN或者多个VLAN的集合。我们一个交换网络可以针一个实例创建一颗树,起到提高链路利用率的问题,同时,避免树太多,造成资源浪费。Instance id --- 12位二进制构成 --- 0 - 4094,Instance0是默认存在的,并且,一开始所有的VLAN都属于instance 0。在BPDU的BID中,优先级只使用了前4位,后面12位称为 拓展系统ID,只有在802.1S中启用,用来放置instance id,用来区分维护不同树形结构的BPDU。域 --- Region --- MST域 --- 如果一个交换网络规模比较大,则可以划分成为多个MST域,每一个MST域单独创建实例,每个实例单独创建树形结果。如果交换网络规模不大,则也可以都在一个MST域中。Region name --- 域名Revision level --- 修订等级Instance 和vlan的映射关系
MSTP配置:
1,激活生成树
[sw1]stp enable --- 华为设备默认激活
2,选择生成树协议
[sw1]stp mode mstp --- 华为设备默认使用MSTP
3,配置MST域
[sw1-mst-region]display stp region-configuration --- 查看MST域的配置信息
华为设备,默认使用设备的管理MAC地址作为域名
华为设备,默认的修订等级为0
[sw1]stp region-configuration
[sw1-mst-region]
[sw1-mst-region]region-name aa
[sw1-mst-region]revision-level ?INTEGER<0-65535> Revision level
[sw1-mst-region]revision-level 1
[sw1-mst-region]instance 1 vlan 1 to 5
[sw1-mst-region]instance 2 vlan 6 to 10
[sw1-mst-region]active region-configuration --- 注意,配置域信息必须要敲这个命令才能生
效
[sw1]stp instance 1 root primary
[sw1]stp instance 2 root secondary
[sw1]

相关文章:
【网络协议详解】—— STP 、RSTP、MSTP技术(学习笔记)
一、STP技术工作原理 STP(Spanning Tree Protocol)生成树协议(IEEE 802.1D)是一种网络协议,用于在网络拓扑中防止环路的产生。在二层交换网络中,逻辑上阻塞部分接口,实现从根交换机到所有节点的…...
C++中将记录集的数据复制到Excel工作表中的CRange类CopyFromRecordset函数异常怎么捕获
文章目录 一、异常类型及捕获逻辑二、完整代码示例三、关键错误场景与解决方案1. CopyFromRecordset 返回空数据2. COM错误 0x800A03EC3. Excel进程残留4. 内存不足 四、调试与日志记录1. 启用详细日志2. 捕获错误描述3. 调试断点 五、最佳实践 在C中使用 CRange::CopyFromReco…...
综述速读|086.04.24.Retrieval-Augmented Generation for AI-Generated Content A Survey
论文题目:Retrieval-Augmented Generation for AI-Generated Content: A Survey 论文地址:https://arxiv.org/abs/2402.19473 bib引用: misc{zhao2024retrievalaugmentedgenerationaigeneratedcontent,title{Retrieval-Augmented Generation…...
对内核fork进程中写时复制的理解记录
前言 文章写于学习Redis时对aof后台重写中写时复制的疑问 一、感到不理解的歧义 在部分技术文档中(以小林的文章为例),对写时复制后的内存权限存在如歧义: ! 二、正确技术表述 根据Linux内核实现(5.15版本&#x…...
【新手初学】SQL注入getshell
一、引入 木马介绍: 木马其实就是一段程序,这个程序运行到目标主机上时,主要可以对目标进行远程控制、盗取信息等功能,一般不会破坏目标主机,当然,这也看黑客是否想要搞破坏。 木马类型: 按照功…...
【湖北工业大学2025年ACM校赛(同步赛)】题解
比赛链接 A. 蚂蚁上树 题目大意 给定一棵 n n n 个结点的树,根结点为 1 1 1。每个 叶结点 都有一只蚂蚁,每过 1 1 1 秒钟,你可以选一些蚂蚁往其 父结点 走一步,但是要求任意两只蚂蚁都不能在同一个 非根结点 上。 问至少要…...
FPGA Verilog/VHDl 中的锁存latch
目录 一、前言二、锁存器定义三、verilog中锁存的产生四、verilog中锁存的影响和消除五、FPGA中的锁存器资源 一、前言 在做FPGA设计时,我们要求在组合逻辑设计时,case或者if-else条件要完整,否则会产生锁存。本文主要介绍锁存产生的原因和影…...
Ubuntu24.04 配置远程桌面服务
一:安装 sudo apt update sudo apt install vino 二:设置 gsettings set org.gnome.Vino require-encryption false # 关闭加密(某些 VNC 客户端不支持加密) gsettings set org.gnome.Vino prompt-enabled false # 关闭连接…...
【二刷代码随想录】螺旋矩阵求解方法、推荐习题
一、求解方法 (1)按点模拟路径 在原有坐标的基准上,叠加 横纵坐标 的变化值,求出下一位置,并按题完成要求。但需注意转角的时机判断,特别是最后即将返回上一出发点的位置。 (2)按层…...
Python基础教程:从格式化到项目管理
一、Typora代码块支持格式 在Typora中编写代码时,支持多种语言的语法高亮显示: 二、代码格式化 1. %格式化(传统方式) 第一种方式:正规方式 示例代码: name "张三" age 10 print("我的…...
Python爬虫:开启数据抓取的奇幻之旅(一)
目录 一、爬虫初印象:揭开神秘面纱 二、工欲善其事:前期准备 (一)Python 环境搭建 1.下载 Python 安装包: 2.运行安装程序: 3.配置环境变量(若自动添加失败)&#x…...
分布式ID服务实现全面解析
分布式ID生成器是分布式系统中的关键基础设施,用于在分布式环境下生成全局唯一的标识符。以下是各种实现方案的深度解析和最佳实践。 一、核心需求与设计考量 1. 核心需求矩阵 需求 重要性 实现难点 全局唯一 必须保证 时钟回拨/节点冲突 高性能 高并发场景…...
浏览器与网络模块实践
浏览器渲染步骤 浏览器渲染大致分为以下四个步骤: 1. 构建 DOM 树 • 过程:当浏览器接收到 HTML 文档后,会从上到下依次解析 HTML 代码。每遇到一个开始标签,就会创建一个对应的 DOM 节点,并根据标签的嵌套关系将这些…...
谈谈Minor GC、Major GC和Full GC
目录 一、背景 二、三者之间的区分 1、Minor GC 2、Major GC (1)老年代空间不足: (2)晋升(Promotion)失败: (3)空间分配担保失败: &#x…...
基于SpringBoot实现的高校实验室管理平台功能四
一、前言介绍: 1.1 项目摘要 随着信息技术的飞速发展,高校实验室的管理逐渐趋向于信息化、智能化。传统的实验室管理方式存在效率低下、资源浪费等问题,因此,利用现代技术手段对实验室进行高效管理显得尤为重要。 高校实验室作为…...
梯度裁剪(Gradient Clipping)
梯度裁剪(Gradient Clipping)是一种用于防止梯度爆炸(Gradient Explosion)的技术,具体来说: 1. 梯度裁剪的作用 问题背景:在训练深度神经网络(尤其是RNN/LSTM)时&#x…...
联合办公空间WeWork的创新模式与私域流量时代的品牌温度——兼论开源AI大模型AI智能名片S2B2C商城小程序源码的潜在价值
摘要:本文聚焦于联合办公空间WeWork的成功模式,深入剖析其如何让创业用户摆脱传统租赁的束缚,打破空间与社交限制,为创业带来新的可能性与趣味性,并有效降低创业成本与风险。同时探讨了WeWork在私域流量时代所建立的平…...
Git配置
为什么要用:下载zip只是当前分支,不能进行仓库push、pull、checkout 1. 下载Git 先判断是否已经下过Git: git --version若没有版本号出来,就去下载:https://git-scm.com/downloads (Windows、linux、mac…...
Protobuf 的快速使用(二)
这个部分会对通讯录进⾏多次升级,使⽤ 2.x 表⽰升级的版本,最终将会升级如下内容: 不再打印联系⼈的序列化结果,⽽是将通讯录序列化后并写⼊⽂件中。 从⽂件中将通讯录解析出来,并进⾏打印。 新增联系⼈属性ÿ…...
网页设计思路
CSS实现思路: 用一个div直接父级继承 在这里插入图片描述 一LOGO结构 h1>a>搜索关键字 二导航栏结构 结构:ul>li>a 三搜索框结构 div>input/a 四用户头像结构 div>a>imgspan 处理行内块和行内垂直对齐方向使用 vertical-align...
Vue3 配合 fullPage.js 打造高效全屏滚动网页
引言 在现代网页设计中,整屏滚动(Full-page Scrolling)已成为展示内容的一种流行方式。通过将内容分成若干个全屏页面,并配合流畅的过渡动画,可以为用户带来身临其境的浏览体验。本文将介绍如何使用 fullPage.js 插件来…...
全排列 II:去重的技巧与实现
全排列 II:去重的技巧与实现 1. 引言:排列问题的坑 你有没有遇到过这样的问题? 当我们在做全排列(Permutation)的时候,如果输入的数组中包含重复元素,生成的排列中就会出现大量重复项。这样不…...
微型导轨和普通导轨有哪些区别?
微型导轨和普通导轨都是常用的工业机械传动装置,目前,市场上有各种各样的导轨产品。那么微型导轨和普通导轨有哪些区别呢? 1、尺寸:微型导轨尺寸较小,滑座宽度最小可达 8MM,长度最小可达 11MM 左右…...
Java 输入流到输出流
Java 输入流到输出流的复制方法主要有以下六种实现方式,根据性能、适用场景和实现原理可分为不同类别: 一、基础字节流方式 实现原理:通过 FileInputStream 和 FileOutputStream 逐字节或块读取数据并写入。 代码示例: try (In…...
Anaconda安装-Ubuntu-Linux
1、进入Anaconda官网,以下载最新版本,根据自己的操作系统选择适配的版本。 2、跳过注册: 3、选择适配的版本: 4、cd ~/anaconda_download 5、bash Anaconda3-2024.10-1-Linux-x86_64.sh 6、按Enter或PgDn键滚动查看协议&…...
每日一题之既约分数
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。 例如 3/4,1/8,7/1, 都是既约分数。 请问,有多少个既约分…...
诠视科技MR眼镜如何使用VLC 进行RTSP投屏到电脑
文章目录 一、应用开发部分(1)基础场景构建(2)添加XvCameraManager(3)添加XvMRVideoCaptureManager(4)添加XvRTSPStreamerManager(5)打包测试 二、VLC media …...
“头”里有什么——HTML 元信息
2025/3/28 向全栈工程师迈进! 一、看基本HTML <!doctype html> <html lang"zh-CN"><head><meta charset"utf-8" /><title>我的测试页面</title></head><body><p>这是我的页面</p&g…...
【Kafka】从理论到实践的深度解析
在当今数字化转型的时代,企业面临着数据量呈指数级增长、业务系统愈发复杂的挑战。在这样的背景下,高效的数据传输与处理技术成为了关键。Kafka,作为一款分布式消息队列系统,凭借其卓越的性能和丰富的特性,在众多企业的…...
Debezium系列之:使用Debezium和Apache Iceberg构建数据湖
Debezium系列之:使用Debezium和Apache Iceberg构建数据湖 Debezium Server Iceberg“Debezium Server Iceberg” 消费者设置数据复制Upsert 模式保留已删除的记录使用Upsert模式追加模式优化批处理大小在数据分析的世界中,数据湖是存储和管理大量数据以满足数据分析、报告或机…...
resnet网络迁移到昇腾执行(OM上篇)
目录 总体介绍 pytorch迁移OM模型 原始代码详细介绍 模型加载和初始化 初始化统计变量 数据推理及归一化 统计每个样本的结果 基本概念 Softmax(归一化指数函数) 作用 代码示例 应用场景 argmax取最大值索引 作用 代码示例 两者配合使用…...
RHCA核心课程技术解析5:红帽高可用性集群架构与深度实践
一、红帽高可用集群架构全景 1.1 核心组件交互逻辑 graph TD A[节点1] -->|Corosync 心跳| B[节点2] A -->|Pacemaker 资源管理| C[共享存储] B --> C D[Fencing设备] -->|STONITH| A D -->|STONITH| B C -->|GFS2锁管理| A C -->|GFS2锁管理| B 1.2 集…...
Display Serializer、Camera Deserializer(Camera Des)和SerDes 加解串应用
1. 概述:三者的核心定位 (1) SerDes(Serializer/Deserializer) 定义:通用高速数据传输技术,实现并行↔串行双向转换。角色:数据链路的“翻译官”,解决并行传输的带宽与距…...
vue3+bpmn.js基本使用
一、案例使用依赖 // 必填"bpmn-js": "^7.3.1", "bpmn-js-properties-panel": "^0.37.2","bpmn-moddle":"^7.1.3","camunda-bpmn-moddle": "^7.0.1",// 可选"element-plus/icons-vue&qu…...
《数据结构:单链表》
“希望就像星星,或许光芒微弱,但永不熄灭。” 博主的个人gitee:https://gitee.com/friend-a188881041351 一.概念与结构 链表是一种物理存储上非连续、非顺序的存储结构,数据元素的顺序逻辑是通过链表中的指针链接次序实现的。 单…...
RedHatLinux(2025.3.22)
1、创建/www目录,在/www目录下新建name和https目录,在name和https目录下分别创建一个index.htm1文件,name下面的index.html 文件中包含当前主机的主机名,https目录下的index.htm1文件中包含当前主机的ip地址。 (1&…...
C++异常处理完全指南:从原理到实战
文章目录 异常的基本概念基本异常抛出与捕获多类型异常捕获异常重新抛出异常安全异常规范(noexcept)栈展开与析构标准库异常总结 异常的基本概念 异常是程序运行时发生的非预期事件(如除零、内存不足)。C通过try、catch和throw提…...
Oracle 19C 备份
在 Oracle 19c 中,备份数据库通常使用 RMAN(Recovery Manager) 工具,它是 Oracle 提供的官方备份和恢复工具。以下是通过 RMAN 备份 Oracle 19c 数据库的详细步骤和命令。 一、RMAN 基本概念 RMAN 是 Oracle 的备份和恢复工具&am…...
深入理解MySQL聚集索引与非聚集索引
在数据库管理系统中,索引是提升查询性能的关键。MySQL支持多种类型的索引,其中最基础也是最重要的两种是聚集索引和非聚集索引。本文将深入探讨这两种索引的区别,并通过实例、UML图以及Java代码示例来帮助您更好地理解和应用它们。 一、概念…...
用Python打造智能宠物:强化学习的奇妙之旅
友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...
OGG故障指南:OGG-01163 Bad column length (xxx) specified for column
报错 OGG-01163 Bad column length (xxx) specified for column AAA in table OWNER.TABLE, maximum allowable length is yyy原因 源端修改了字段长度。 虽然源端和目标端的长度已经通过DDL语句修改到一致,在extract进程未重启的情况下,生成的trail文…...
XML标签格式转换为YOLO TXT格式
针对的是多边形(<polygon>)来描述对象的边界,而不是传统的矩形框(<bndbox>) import xml.etree.ElementTree as ET import os from pathlib import Path# 解析VOC格式的XML文件,提取目标框的标…...
Java的string默认值
在Java中,String类型的默认值取决于其定义和实例化的方式。 以下是关于String默认值的详细说明 未实例化的String变量 如果定义一个String变量但未对其进行实例化(即未使用new关键字或直接赋值),其默认值为:ml-search[null]。这…...
侯捷 C++ 课程学习笔记:C++ 中引用与指针的深度剖析
目录 一、引言 二、引用与指针的基本概念 (一)引用 (二)指针 三、引用与指针的区别 (一)定义与初始化 (二)内存空间与 NULL 值 (三)自增操作 …...
llamafactory微调效果与vllm部署效果不一致如何解决
在llamafactory框架训练好模型之后,自测chat时模型效果不错,但是部署到vllm模型上效果却很差 这实际上是因为llamafactory微调时与vllm部署时的对话模板不一致导致的。 对应的llamafactory的代码为 而vllm启动时会采用大模型自己本身设置的对话模板信息…...
欢乐力扣:合并两个有序链表
文章目录 1、题目描述2、思路 1、题目描述 合并两个有序链表。 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 在这里插入图片描述 2、思路 参考官方题解,简单来说就是不断调整链表指针的指向,让…...
访问者模式_行为型_GOF23
访问者模式 访问者模式(Visitor Pattern)是一种行为型设计模式,核心思想是将算法与对象结构分离,使得在不修改现有对象结构的前提下,可以动态添加新的操作。这类似于“医生查房”——医生(访问者ÿ…...
排序算法2-选择排序
目录 1.常见排序算法 2.排序算法的预定函数 2.1交换函数 2.2测试算法运行时间的函数 2.3已经实现过的排序算法 3.选择排序算法的实现 3.1直接选择排序 3.2堆排序 4.下讲预告 1.常见排序算法 前面一讲已经讲解了插入排序,这一讲我将讲解选择排序,…...
openwrt24.10.0版本上安装istoreOS的屏幕监控插件
lcdsimple 插件支持在软路由下面显示统计信息到 HDMI 或者 VGA 上。 手动安装方法: 保证 quickstart 版本大于 0.9.7 安装 lcdsimple 具体方法: opkg update is-opkg install quickstart opkg install lcdsimple 手动下载 QUICKSTART 跟 LCD SIMPL…...
内网服务器无法通过公网地址访问映射到公网的内网服务
内网服务器无法通过公网地址访问映射到公网的内网服务 问题现象问题原因解决方法总结 前几天遇到一个网络问题,在这里做下记录,希望能帮助到有相同问题的朋友。 问题现象 网络拓扑如上所示,服务器1和服务器2在同一内网,网段均为1…...