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

单臂路由实验

单臂路由实验

文章目录

  • 单臂路由实验
      • 单臂路由简介
      • 工作原理
      • 优点与缺点
      • 应用场景
    • 实验拓扑
    • 实验需求:
    • 实验步骤:
        • 1.PC 配置 IP 地址
        • 2.PC3 属于 Vlan10,PC4 属于 Vlan20,配置单臂路由实现 Vlan10 和 Vlan20 三层互通
          • 2.1.在 SW2 上创建 Vlan10 和 Vlan20,并把 g1/0/1 接口加入 Vlan10,把 g1/0/2 接口加入 Vlan20;把 SW2 的 g1/0/3 接口配置为 Trunk,并允许 Vlan10 和 Vlan20 通过;
          • 2.2.在 R1 上创建子接口 g0/0.1,开启 dot1q 识别,绑定到 Vlan10,并配置 IP 地址 `192.168.1.254/24`;在 R1 上创建子接口 0/0.2,开启 dot1q 识别,绑定到 Vlan20,并配置 IP 地址`192.168.2.254/24`
          • 2.3.在 R1 上查看路由表,会发现已经产生了到达192.168.1.0/24网段和192.168.2.0/24网段的直连路由,出接口分别指向各自子接口,证明路由器已经可以对 Vlan10 和 Vlan20 间的数据进行三层转发了
        • 3.测试在 PC3 上 Ping PC4 ,可以 Ping 通 PC4

单臂路由简介

单臂路由(Router-on-a-Stick) 是一种在网络交换机上通过单个物理接口实现多个VLAN间路由的技术。它通过在一个物理接口上配置多个子接口(Sub-Interface),每个子接口关联一个VLAN,从而在有限硬件条件下实现跨VLAN通信。


工作原理

  1. 网络拓扑

    • 交换机与路由器通过单个物理接口连接(如 GigabitEthernet0/1)。
    • 交换机上划分多个VLAN(如VLAN 10、VLAN 20),并将连接路由器的接口配置为 Trunk 模式,允许不同VLAN的流量通过。
  2. 子接口配置

    • 在路由器的物理接口上创建多个逻辑子接口(如 GigabitEthernet0/1.10GigabitEthernet0/1.20)。

    • 每个子接口配置不同的IP地址,并关联对应的VLAN ID:

      BASHinterface GigabitEthernet0/1.10encapsulation dot1Q 10  ! 关联 VLAN 10ip address 192.168.10.1 255.255.255.0interface GigabitEthernet0/1.20encapsulation dot1Q 20  ! 关联 VLAN 20ip address 192.168.20.1 255.255.255.0
      
  3. 数据转发流程

    • 当VLAN 10的主机(192.168.10.2)需要与VLAN 20的主机(192.168.20.2)通信时:
      1. 交换机将VLAN 10的流量通过Trunk链路发送至路由器子接口 GigabitEthernet0/1.10
      2. 路由器根据目标IP地址查路由表,将流量从子接口 GigabitEthernet0/1.20 转发回交换机。
      3. 交换机将流量送达VLAN 20的主机。

优点与缺点

优点缺点
1. 节省硬件成本:仅需一个路由器接口实现多VLAN互联。1. 性能瓶颈:所有跨VLAN流量集中在一个物理接口,易成为带宽瓶颈。
2. 灵活扩展:支持动态增减VLAN,适应中小型网络需求。2. 配置复杂度:需同时配置交换机的Trunk和路由器的子接口。
3. 兼容性高:适用于多数支持VLAN和802.1Q协议的设备。3. 单点故障:路由器或Trunk链路故障会导致所有VLAN间通信中断。

应用场景

  1. 小型企业网络
    • 在预算有限的情况下,通过单台路由器实现多个部门(VLAN)的互联。
  2. 实验室环境
    • 用于教学或测试跨VLAN路由功能,无需复杂的三层交换机。
  3. 临时网络部署
    • 快速搭建多VLAN网络,如展会或临时办公场景。

实验拓扑

在这里插入图片描述

实验需求:

  1. 按照图示为 PC3 和 PC4 配置 IP 地址和网关
  2. PC3 属于 Vlan10,PC4 属于 Vlan20,配置单臂路由实现 Vlan10 和 Vlan20 三层互通
  3. PC3 和 PC4 可以互通

实验步骤:

1.PC 配置 IP 地址

pc3

在这里插入图片描述

pc4

在这里插入图片描述

2.PC3 属于 Vlan10,PC4 属于 Vlan20,配置单臂路由实现 Vlan10 和 Vlan20 三层互通
2.1.在 SW2 上创建 Vlan10 和 Vlan20,并把 g1/0/1 接口加入 Vlan10,把 g1/0/2 接口加入 Vlan20;把 SW2 的 g1/0/3 接口配置为 Trunk,并允许 Vlan10 和 Vlan20 通过;
注:利用单臂路由实现 vlan 间三层互通,需要把 SW1 连接 R1 的接口配置为 Trunk,并允许 vlan10 和 vlan20 通过  R1 连接 SW2 的接口上要开启子接口,分别作为 vlan10 和 vlan20 的网关。这里规划 g0/0.1 子接口作为 Vlan10 的网关,IP 地址就是192.168.1.254/24,g0/0.2 子接口作为 Vlan20 的网关,IP 地址就是192.168.2.254/24  R1 的子接口上为了能够识别 SW2 的 Trunk 端口发送的 802.1Q 帧,还需要开启 dot1q 识别并绑定相应 Vlan。根据上述分析,g0/0.1 子接口绑定 Vlan10,g0/0.2 子接口绑定 Vlan20在SW1上
<H3C>system-view 
System View: return to User View with Ctrl+Z.
[H3C]sysn
[H3C]sysname SW1
[SW1]vlan 10
[SW1-vlan10]port g1/0/1
[SW1-vlan10]vlan 20
[SW1-vlan20]port g1/0/2
[SW1-vlan20]int g1/0/3
[SW1-GigabitEthernet1/0/3]port link-type trunk
[SW1-GigabitEthernet1/0/3]port trunk permit vlan 10 20
[SW1-GigabitEthernet1/0/3]display this
#
interface GigabitEthernet1/0/3port link-mode bridgeport link-type trunkport trunk permit vlan 1 10 20combo enable fiber
#
return
[SW1-GigabitEthernet1/0/3]
2.2.在 R1 上创建子接口 g0/0.1,开启 dot1q 识别,绑定到 Vlan10,并配置 IP 地址 192.168.1.254/24;在 R1 上创建子接口 0/0.2,开启 dot1q 识别,绑定到 Vlan20,并配置 IP 地址192.168.2.254/24
在R1上
<H3C>system-view 
System View: return to User View with Ctrl+Z.
[H3C]sysn
[H3C]sysname R1
[R1]int
[R1]interface g0/0.1
[R1-GigabitEthernet0/0.1]%Mar 21 16:05:21:643 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.1 changed to up.
%Mar 21 16:05:21:643 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.1 changed to up.[R1-GigabitEthernet0/0.1]vlan-type dot
[R1-GigabitEthernet0/0.1]vlan-type dot1q vid 10
[R1-GigabitEthernet0/0.1]%Mar 21 16:05:33:865 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.1 changed to down.
%Mar 21 16:05:33:865 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.1 changed to down.
%Mar 21 16:05:33:865 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.1 changed to up.
%Mar 21 16:05:33:865 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.1 changed to up.[R1-GigabitEthernet0/0.1]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0.1]qu
[R1]interface g0/0.2
[R1-GigabitEthernet0/0.2]%Mar 21 16:05:42:587 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.2 changed to up.
%Mar 21 16:05:42:587 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.2 changed to up.[R1-GigabitEthernet0/0.2]vlan-type dot1q vid 20
[R1-GigabitEthernet0/0.2]%Mar 21 16:05:48:334 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.2 changed to down.
%Mar 21 16:05:48:334 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.2 changed to down.
%Mar 21 16:05:48:335 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.2 changed to up.
%Mar 21 16:05:48:335 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.2 changed to up.[R1-GigabitEthernet0/0.1]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0.1]display ip interface brief 
*down: administratively down
(s): spoofing  (l): loopback
Interface           Physical Protocol IP address/Mask    VPN instance Description  
GE0/0               up       up       --                 --           --
GE0/0.1             up       up       192.168.1.254/24   --           --
GE0/0.2             up       up       192.168.2.254/24   --           --
GE0/1               down     down     --                 --           --
GE0/2               down     down     --                 --           --
GE5/0               down     down     --                 --           --
GE5/1               down     down     --                 --           --
GE6/0               down     down     --                 --           --
GE6/1               down     down     --                 --           --
Ser1/0              down     down     --                 --           --
Ser2/0              down     down     --                 --           --
Ser3/0              down     down     --                 --           --
Ser4/0              down     down     --                 --           --
[R1-GigabitEthernet0/0.1]
2.3.在 R1 上查看路由表,会发现已经产生了到达192.168.1.0/24网段和192.168.2.0/24网段的直连路由,出接口分别指向各自子接口,证明路由器已经可以对 Vlan10 和 Vlan20 间的数据进行三层转发了
在R1上
[R1]display ip routing-table Destinations : 13       Routes : 13Destination/Mask   Proto   Pre Cost        NextHop         Interface
0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
192.168.1.0/24     Direct  0   0           192.168.1.254   GE0/0.1   **
192.168.1.254/32   Direct  0   0           127.0.0.1       InLoop0
192.168.1.255/32   Direct  0   0           192.168.1.254   GE0/0.1
192.168.2.0/24     Direct  0   0           192.168.2.254   GE0/0.2   **
192.168.2.254/32   Direct  0   0           127.0.0.1       InLoop0
192.168.2.255/32   Direct  0   0           192.168.2.254   GE0/0.2
224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
[R1]
3.测试在 PC3 上 Ping PC4 ,可以 Ping 通 PC4
<H3C>ping 192.168.2.1
Ping 192.168.2.1 (192.168.2.1): 56 data bytes, press CTRL_C to break
56 bytes from 192.168.2.1: icmp_seq=0 ttl=254 time=2.594 ms
56 bytes from 192.168.2.1: icmp_seq=1 ttl=254 time=0.969 ms
56 bytes from 192.168.2.1: icmp_seq=2 ttl=254 time=1.074 ms
56 bytes from 192.168.2.1: icmp_seq=3 ttl=254 time=1.313 ms
56 bytes from 192.168.2.1: icmp_seq=4 ttl=254 time=0.842 ms--- Ping statistics for 192.168.2.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.842/1.358/2.594/0.637 ms
<H3C>%Mar 21 16:09:48:440 2025 H3C PING/6/PING_STATISTICS: Ping statistics for 192.168.2.1: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 0.842/1.358/2.594/0.637 ms.测试成功

相关文章:

单臂路由实验

单臂路由实验 文章目录 单臂路由实验单臂路由简介工作原理优点与缺点应用场景 实验拓扑实验需求&#xff1a;实验步骤&#xff1a;1.PC 配置 IP 地址2.PC3 属于 Vlan10&#xff0c;PC4 属于 Vlan20&#xff0c;配置单臂路由实现 Vlan10 和 Vlan20 三层互通2.1.在 SW2 上创建 Vl…...

SpringMVC全局异常处理机制

异常处理机制 异常处理的两种方式&#xff1a; 编程式异常处理&#xff1a;是指在代码中显式地编写处理异常的逻辑。它通常涉及到对异常类型的检测及其处理&#xff0c;例如使用 try-catch 块来捕获异常&#xff0c;然后在 catch 块中编写特定的处理代码&#xff0c;或者在 f…...

UDS诊断、ECU刷写、自动化测试、车联网测试、DTC故障注入测试、坏境测试、可靠性测试、压力测试、性能测试等

每日直播时间&#xff1a;&#xff08;直播方式&#xff1a;腾讯会议&#xff09; 周一到周五&#xff1a;20&#xff1a;00-23&#xff1a;00 周六与周日&#xff1a;9&#xff1a;00-17&#xff1a;00 向进腾讯会议学习的&#xff0c;可以关注我并后台留言 直播内容&#xff…...

C++的常用容器嵌套

在 C 中&#xff0c;数据结构之间的嵌套是非常常见的&#xff0c;尤其是在处理复杂数据时。以下是几种最常用的数据结构嵌套方式及其典型应用场景的总结&#xff1a; 1. std::vector 嵌套 std::vector 定义&#xff1a;std::vector<std::vector<T>>。用途&#xf…...

Mac - Cursor 配置 + GPT 4.0/4.5/o1/o3/Deepseek Api 使用

前言 新换了电脑&#xff0c;所以需要新配置一些环境。已经安装好了Goland&#xff0c;但近期可能有GoJava前端的需求&#xff0c;所以使用Cursor。 除去学校各种奇奇怪怪&#xff0c;这已经是一年多来配置的第4台Windows和第四台Mac的Golang环境了。。。且是自己工作外买的第…...

【数据挖掘】Python基础环境安装配置

【数据挖掘】Python基础环境安装配置 一、摘要二、安装Python3.13.2三、安装Jupyter Notebook四、安装Numpy和Pandas以及matplotlib五、安装scikit-learn库和seaborn库 一、摘要 本文主要介绍如何在Windows上安装Python3.13.2&#xff0c;然后基于该Python版本安装Jupyter not…...

详解string类+迭代器

迭代器 概念&#xff1a;在 C 中&#xff0c;迭代器是访问容器&#xff08;如数组、列表、向量、字符串等&#xff09;元素的一种方式。迭代器提供了一种统一的接口&#xff0c;使得你可以使用相同的代码来遍历不同类型的容器。迭代器本质上是一个指针或者指针的封装&#xff0…...

OpenCV DNN 模块使用指南

OpenCV DNN 模块使用指南 一、模块概述 OpenCV 的 DNN&#xff08;深度神经网络&#xff09;模块为开发者提供了强大的深度学习功能&#xff0c;能够加载并运行多种格式的预训练深度学习模型。此模块广泛应用于图像分类、目标检测、语义分割等众多计算机视觉任务。接下来&…...

温度(Temperature)在大模型输出中的作用与底层原理

温度&#xff08;Temperature&#xff09;在大模型输出中的作用与底层原理 在深度学习领域&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;中&#xff0c;大型语言模型&#xff08;LLM&#xff09;的输出生成通常依赖于概率分布的采样。温度&#xff08;temperatu…...

智能汽车图像及视频处理方案,支持视频智能拍摄能力

美摄科技&#xff0c;作为智能汽车图像及视频处理领域的先行者&#xff0c;凭借其卓越的技术实力和前瞻性的设计理念&#xff0c;为全球智能汽车制造商带来了一场视觉盛宴的革新。我们自豪地推出——美摄科技智能汽车图像及视频处理方案&#xff0c;一个集高效性、智能化、画质…...

一文讲清 C++ CRTP(Curiously Recurring Template Pattern,奇异递归模板模式)

CRTP是 C 中的一种模板元编程技术&#xff0c;其核心原理是通过模板继承和静态多态&#xff0c;在编译期实现基类对派生类成员的访问&#xff0c;从而避免运行时虚函数调用的开销。 1. CRTP 的基本结构 CRTP 的核心思想是&#xff1a;基类是一个模板类&#xff0c;其模板参数…...

如何用Function Calling解锁OpenAI的「真实世界」交互能力?(附Node.js 实战)

一、Function Calling&#xff1a;大模型的「手脚延伸器」 1.1 核心定义 Function Calling是OpenAI在2023年6月13日推出的革命性功能&#xff08;对应模型版本gpt-3.5-turbo-0613和gpt-4-0613&#xff09;&#xff0c;允许开发者通过自然语言指令触发预定义函数&#xff0c;实…...

MySQL:float,decimal(1)

会四舍五入 无符号浮点数 更改321zyy1下的salary 为float类型 decimal:...

基于DrissionPage的DY无水印视频采集

基于DrissionPage的Dy无水印视频采集技术解析 目录 一、项目背景与痛点分析 1.1 典型应用场景1.2 传统方案痛点对比1.3 需求分析流程图二、系统架构设计 2.1 核心架构图2.2 执行流程图解三、开发环境配置 3.1 版本要求3.2 环境搭建指南四、实现流程详解 4.1 主要处理阶段4.2 关…...

yt-dlp工具下载视频使用方法

使用 yt-dlp 下载有土播视频时&#xff0c;可以很容易地同时下载字幕文件。 下面是详细操作说明&#xff1a; 一、下载视频并同时下载字幕&#xff1a; 基础命令&#xff1a; yt-dlp --write-subs 视频链接示例&#xff1a; yt-dlp --write-subs https://www.youdubo.com/wa…...

canvas数据标注功能简单实现:矩形、圆形

背景说明 基于UI同学的设计&#xff0c;在市面上找不到刚刚好的数据标注工具&#xff0c;遂决定自行开发。目前需求是实现图片的矩形、圆形标注&#xff0c;并获取标注的坐标信息&#xff0c;使用canvas可以比较方便的实现该功能。 主要功能 选中图形&#xff0c;进行拖动 使…...

Linux与HTTP报头属性和请求方式

HTTP报头属性、请求方式 本篇介绍 在上一节深入HTTP序列化和反序列化已经详细讲解了HTTP是如何进行序列化和反序列化的&#xff0c;但是上一节对请求报头和响应报头的具体内容并没有做出具体的说明&#xff0c;本节就会基于这个问题继续探讨HttpServer&#xff1b;另外在介绍…...

WordPress漏洞

一&#xff0c;后台修改模板拿WebShell 1&#xff0c;安装好靶场后访问 2&#xff0c;在如图所示的位置选择一个php文件写入一句话木马&#xff0c;我们这里选择在404.php中写入 3&#xff0c;访问404.php 二&#xff0c;上传主题拿WebShell 1&#xff0c;找到如图所示的页面…...

go命令使用

查看配置信息 go env配置go国内源 export GO111MODULEon export GOPROXYhttps://goproxy.cn测试 go install github.com/jesseduffield/lazydockerlatesthttps://github.com/jesseduffield/lazydocker...

uniapp vue3使用uniapp的生命周期

使用uniapp的onLoad等生命周期 // 需要引入 import { onLoad , onShow } from dcloudio/uni-app; // 箭头函数 onLoad(()>{//内容 })使用vue生命周期 vue官方文档&#xff1a;https://cn.vuejs.org/api/options-lifecycle.html import { ref,onMounted } from vue; onMou…...

nginx vue history模式 try_files

server {listen 80;server_name localhost chat.test.com;#配置根目录location / {root /temp/test;#index index.html index.htm;try_files $uri $uri/ /index.html;add_header Content-Security-Policy upgrade-insecure-requests;}} https://blog.csdn.net/xutongbao/…...

【css酷炫效果】纯CSS实现悬浮弹性按钮

【css酷炫效果】纯CSS实现悬浮弹性按钮 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90492020 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚看到csdn出活动了&…...

MySQL自动化配置工具开发:探索如何用脚本实现MySQL一键安装与配置,提升运维效率

引言 MySQL作为最流行的开源关系型数据库之一,广泛应用于各类业务场景。然而,手动安装和配置MySQL不仅耗时,还容易出错。为了提高运维效率,开发一款MySQL自动化配置工具显得尤为重要。本文将探索如何通过脚本实现MySQL的一键安装与配置,并提供具体的配置脚本文档和关键参…...

如何查看安卓版本号的方法(例如查看是13、12、11、10...)

开发过程中需要了解到安卓版本号是多少&#xff0c;那么以下有三种方法可以知晓安卓手机的Android版本号。 方法1&#xff1a;手机设置直接查看 1.打开【设置】 --> 滑动到手机最底部 --> 点击【关于手机】或 【系统】--> 选择【Android版本】 2.直接查看版本号&am…...

ubuntu 解挂载时提示 “umount: /home/xx/Applications/yy: target is busy.”

问题如题所示&#xff0c;我挂载一个squanfs文件系统到指定目录&#xff0c;当我使用完后&#xff0c;准备解挂载时&#xff0c;提示umount: /home/xx/Applications/yy: target is busy.&#xff0c;具体的如图所示&#xff0c; 这种提示通常是表明这个路径的内容正在被某些进…...

Java XML与JSON相互转换详解

目录 一、为什么需要XML与JSON转换二、使用Jackson库进行转换1. 添加依赖2. XML转JSON3. JSON转XML三、注意事项在现代软件开发中,数据格式的转换是一项常见的任务,特别是在处理不同系统或服务之间的数据交换时。XML(可扩展标记语言)和JSON(JavaScript对象表示法)是两种广…...

[AI速读]用持续集成(CI)优化芯片验证环境:Jenkins与EDA工具的实战指南

在芯片验证中,回归测试(Regression Test)是确保设计稳定性的关键步骤。但随着设计复杂度增加,手动管理海量测试用例、分析日志和覆盖率数据变得异常耗时。本文将介绍如何利用持续集成(CI)工具Jenkins,结合EDA验证环境(如Cadence vManager),实现自动化测试与结果分析,…...

Java-SpringBootWeb入门、Spring官方脚手架连接不上解决方法

一. Spring 官网&#xff1a;Spring | Home Spring发展到今天已经形成了一种开发生态圈&#xff0c;Spring提供了若干个子项目&#xff0c;每个项目用于完成特定的功能(Spring全家桶) Spring Boot可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。 二. Spring Boot入…...

WEB攻防-PHP反序列化-字符串逃逸

目录 前置知识 字符串逃逸-减少 字符串逃逸-增多 前置知识 1.PHP 在反序列化时&#xff0c;语法是以 ; 作为字段的分隔&#xff0c;以 } 作为结尾&#xff0c;在结束符}之后的任何内容不会影响反序列化的后的结果 class people{ public $namelili; public $age20; } var_du…...

Android第五次面试总结(网络篇)

一、引言&#xff1a;为什么需要 DNS&#xff1f; 在浏览器输入www.example.com的瞬间&#xff0c;一场跨越全球的数字接力赛悄然启动。DNS&#xff08;域名系统&#xff09;如同互联网的 “电话号码簿”&#xff0c;将人类可读的域名转化为机器可识别的 IP 地址。本文将以工程…...

全网首创/纯Qt/C++实现国标GB28181服务/实时视频/云台控制/预置位/录像回放和下载/事件订阅/语音对讲

一、前言说明 用纯Qt来实现这个GB28181的想法很久了&#xff0c;具体可以追溯到2014年&#xff0c;一晃十年都过去了&#xff0c;总算是整体的框架和逻辑都打通了&#xff0c;总归还是杂七杂八的事情多&#xff0c;无法静下心来研究具体的协议&#xff0c;最开始初步了解协议后…...

详解MySQL的事务实现机制

MySQL事务实现机制 1. 锁机制2. Redo Log&#xff08;重做日志&#xff09;3. Undo Log&#xff08;撤销日志&#xff09;4. MVCC&#xff08;多版本并发控制&#xff09;综合事务处理流程 在MySQL中&#xff08;主要以InnoDB为例&#xff09;&#xff0c;事务的实现依赖于多个…...

什么是 BA ?BA怎么样?BA和BI是什么关系?

前几天有朋友在评论区提到了BA这个角色&#xff0c;具体是干什么的&#xff0c;我大概来说一下。 什么是BA BA 英文的全称是Business Analyst&#xff0c;从字面上意思就是商业分析师&#xff0c;做过商业智能BI项目的应该比较了解。实际上以我个人的经验&#xff0c;BA 的角…...

Junit在测试过程中的使用方式,具体使用在项目测试中的重点说明

JUnit 是一个广泛使用的 Java 单元测试框架,主要用于编写和运行可重复的测试。以下是 JUnit 在项目测试中的使用方式和重点说明: 1. 基本使用 场景:测试一个简单的 Java 类。 示例: import org.junit.Test; import static org.junit.Assert.*;public class CalculatorTe…...

网络安全之前端学习(HTML篇)

前言&#xff1a;网络安全中有一个漏洞叫xss漏洞&#xff0c;就是利用网页引发弹窗&#xff0c;这就要求我们看得懂源码&#xff0c;所以我会持续更新前端学习&#xff0c;可以不精通&#xff0c;但是一定要会&#xff0c;主要掌握HTML&#xff0c;css&#xff0c;js这三项技术…...

Lineageos 22.1(Android 15)实现负一屏

一、前言 方案是参考的这位大佬的&#xff0c;大家可以去付费订阅支持一波。我大概理一下Android15的修改。 大佬的方案代码 二、Android15适配调整 1.bp调整&#xff0c;加入aidl引入&#xff0c;这样make之后就可以索引代码了 filegroup {name: "launcher-src"…...

Redisson分布式锁(超时释放及锁续期)

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…...

SQL授予用户查询某个模式或者具体某个表

例如&#xff1a;需要给sjzt授权查询这个模式下的这个表的操作 数据库&#xff1a;DB_HZ_HYZHFZ 模式&#xff1a;hn_proxy 服务注册表&#xff1a;hn_proxy."serverrg" 账号:sjzt -- 登录到目标数据库 DB_HZ_HYZHFZ -- 授予权限给账号 sjzt 在模式 hn_proxy 中访问…...

Burp Suite 代理配置与网络通信

目录 1. 引言 2. Burp 代理基础配置 2.1 浏览器代理设置 2.2 Burp 监听端口配置 2.3 常见错误排查 3. 网络问题解决 3.1 端口占用检查 3.2 防火墙配置 3.3 证书信任问题 4. 虚拟机环境配置 4.1 NAT 模式与端口转发 4.2 桥接模式配置 4.3 跨设备访问测试 5. 技术概…...

PyCharm安装redis,python安装redis,PyCharm使用失败问题

报错信息 Usage: D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip install [options] [package-index-options] … D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip install [options] -r [package-index-options] … D:\wb2\wbrj_pys\venv\Scripts\python.exe -m pip instal…...

使用命令行工具控制wireshark对抓包文件进行针对性处理的总结

近日&#xff0c;工作中有开发对抓包文件进行针对性过滤的小程序的需求&#xff0c;兜兜转转踩了很多坑后还是绕回了wireshark。 作为最出名的开源软件之一&#xff0c;wireshark也具有使用命令行进行操作的功能&#xff0c;这就是我们今天会总结到的“tshark.exe”。 通常&a…...

【STM32实物】基于STM32的太阳能充电宝设计

基于STM32的太阳能充电宝设计 演示视频: 基于STM32的太阳能充电宝设计 硬件组成: 系统硬件包括主控 STM32F103C8T6、0.96 OLED 显示屏、蜂鸣器、电源自锁开关、温度传感器 DS18B20、继电器、5 V DC 升压模块 、TB4056、18650锂电池、9 V太阳能板、稳压降压 5 V三极管。 功能…...

NLP 与常见的nlp应用

自然语言处理&#xff08;NLP&#xff09;是一个广泛的领域&#xff0c;它不仅包括自然语言理解&#xff08;NLU&#xff09;&#xff0c;还涉及一系列其他任务和子领域。以下是NLP领域中的主要组成部分及其相关任务&#xff1a; 1. 自然语言理解&#xff08;NLU&#xff09; …...

基于javaweb的SSM+Maven宠物领养宠物商城流浪动物管理系统与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

Java数据类型 Arrays VS ArraysList VS LikedList 解析

在学习Java过程中&#xff0c;在刷题时总是搞不清楚这三种数据结构的区别&#xff0c;打算写篇文章记录一下 Arrays VS ArrayList ArrayList VS LinkedList 总结 Arrays VS ArrayList ArraysArrayList类型Java的基本数据类型Java集合框架中的一个类&#xff0c;实现了List接…...

C++进阶(一)

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 前言 本篇博客是讲解函数的重载以及引用的知识点的。 文章目录 前言 1.函数重载 1.1何为函数重载 1.2函数重载的作用 1.3函数重载的实现 2.引用 2.1何为引用 2.2定义引用 2.3引用特性 2.4常引用 2…...

Elasticsearch 在航空行业:数据管理的游戏规则改变者

作者&#xff1a;来自 Elastic Adam La Roche 数字化客户体验不再是奢侈品&#xff0c;而是欧洲航空公司必不可少的需求。它推动了客户满意度&#xff0c;提升了运营效率&#xff0c;并创造了可持续的竞争优势。随着行业的不断发展&#xff0c;优先投资前沿数字技术和平台的航空…...

Powershell WSL部署ubuntu22.04.5子系统

前提条件WSL 安装 wsl 安装参考1wsl 安装csdn参考2wsl 百度网盘离线下载 本地目录安装ubuntu22.04.5 子系统 powershell 管理员打开执行(实现,下载安装ubuntu子系统,用户创建,远程ssh登录设置,防火墙端口开放)子系统IP 查看方法wsl...

华为网路设备学习-16 虚拟路由器冗余协议(VRRP)

VRRP是针对干线上三层网络设备&#xff08;如&#xff1a;路由器、防火墙等&#xff09;的网络虚拟化技术&#xff0c;提供冗余和状态监测等功能。确保在网络中的单点故障发生时&#xff0c;能够快速切换到备份设备&#xff0c;从而保证网络通信的连续性和可靠性。‌ VRRP通过…...

SQLark中如何进行数据筛选与排序

本文将为你介绍在 SQLark 中如何进行数据筛选与排序&#xff0c;掌握这些操作能够极大提升你的工作效率。 SQLark官网链接:www.sqlark.com 数据筛选 在数据库操作中&#xff0c;数据筛选是一项关键功能&#xff0c;它依据特定条件对数据进行过滤&#xff0c;帮助用户从海量数据…...