4.网络技术与应用
一、计算机网络基础
1. 网络基本原理
-
通信模型:
- OSI七层模型:
- 物理层(传输比特流,如网线、光纤)
- 数据链路层(MAC地址,交换机)
- 网络层(IP地址,路由器)
- 传输层(TCP/UDP协议,端口号)
- 会话层(建立/管理会话)
- 表示层(数据加密、压缩)
- 应用层(HTTP、FTP协议)
- TCP/IP四层模型:
网络接口层 → 网际层(IP) → 传输层(TCP/UDP) → 应用层
- OSI七层模型:
-
核心协议:
- TCP:面向连接,可靠传输(三次握手、流量控制)
- UDP:无连接,高效但不可靠(视频流、DNS查询)
- HTTP/HTTPS:
- HTTP 1.1/2/3演变(长连接、头部压缩)
- HTTPS = HTTP + SSL/TLS加密(端口443)
- IP协议:IPv4(32位地址)、IPv6(128位地址,解决地址耗尽)
2. 网络拓扑结构
- 常见类型:
- 星型拓扑:中心节点(交换机)连接所有设备,易扩展但依赖中心。
- 总线型拓扑:单根电缆串联设备,成本低但故障排查难。
- 环型拓扑:设备成环,数据单向传输,延迟确定但容错性差。
- 网状拓扑:全连接(冗余高,成本高,用于核心网络)。
- 混合拓扑:如树型拓扑(分层星型),适用于大型企业网络。
3. 网络设备配置与管理
-
核心设备:
-
交换机(L2/L3):
- 功能:
- MAC地址学习:通过数据帧的源MAC地址构建MAC地址表,实现二层转发。
- VLAN划分:通过
switchport access vlan <vlan-id>
命令隔离广播域,提升网络安全性。
- 管理:
- 端口安全:限制端口接入设备数量或绑定特定MAC地址,防止非法接入。
- STP防环:配置生成树协议(如
spanning-tree mode rapid-pvst
),避免二层环路。
- 功能:
-
路由器:
- 功能:
- 路由选择:通过OSPF(
network <network-id> area <area-id>
)、BGP(neighbor <ip> remote-as <asn>
)等协议实现跨网络通信。 - NAT转换:通过
ip nat inside source static <private-ip> <public-ip>
命令实现私网转公网。
- 路由选择:通过OSPF(
- 配置示例:
ip route 192.168.2.0 255.255.255.0 10.0.0.1 # 静态路由
- 功能:
-
防火墙:
- 功能:
- ACL规则:通过
access-list 101 permit/deny <protocol> <source> <destination> <port>
控制流量。 - 状态检测:跟踪会话状态(如TCP三次握手),仅允许合法流量通过。
- ACL规则:通过
- 配置示例:
access-list 101 permit tcp any any eq 80 # 允许HTTP流量
- 功能:
-
-
网络管理工具:
- SNMP:通过MIB(管理信息库)监控设备状态(如CPU利用率、接口流量),支持告警通知。
- NetFlow:分析流量流向(如大流量应用识别),生成流量统计报告。
- 网络设备实操
(1)交换机(L2/L3)配置实例
# 创建VLAN 10和VLAN 20
switch> enable
switch# configure terminal
switch(config)# vlan 10
switch(config-vlan)# name Sales
switch(config-vlan)# exit
switch(config)# vlan 20
switch(config-vlan)# name Tech
switch(config-vlan)# exit# 配置接口加入VLAN(Access模式)
switch(config)# interface gigabitethernet0/1
switch(config-if)# switchport mode access
switch(config-if)# switchport access vlan 10
switch(config-if)# exitswitch(config)# interface gigabitethernet0/2
switch(config-if)# switchport mode access
switch(config-if)# switchport access vlan 20
switch(config-if)# exit# 配置Trunk端口(允许VLAN 10/20通过)
switch(config)# interface gigabitethernet0/3
switch(config-if)# switchport mode trunk
switch(config-if)# switchport trunk allowed vlan 10,20
switch(config-if)# exit# 端口安全(限制MAC地址数量)
switch(config)# interface gigabitethernet0/1
switch(config-if)# switchport port-security
switch(config-if)# switchport port-security maximum 2
switch(config-if)# switchport port-security mac-address sticky
switch(config-if)# exit# 启用生成树协议(防环路)
switch(config)# spanning-tree mode rapid-pvst
switch(config)# spanning-tree vlan 10,20 priority 4096
(2)路由器配置实例
# 配置接口IP地址
router> enable
router# configure terminal
router(config)# interface gigabitethernet0/0
router(config-if)# ip address 192.168.1.1 255.255.255.0
router(config-if)# no shutdown
router(config-if)# exitrouter(config)# interface gigabitethernet0/1
router(config-if)# ip address 10.0.0.1 255.255.255.0
router(config-if)# no shutdown
router(config-if)# exit# 配置OSPF动态路由
router(config)# router ospf 1
router(config-router)# network 192.168.1.0 0.0.0.255 area 0
router(config-router)# network 10.0.0.0 0.0.0.255 area 0
router(config-router)# exit# 配置BGP动态路由
router(config)# router bgp 65001
router(config-router)# neighbor 203.0.113.1 remote-as 65002
router(config-router)# network 192.168.1.0
router(config-router)# exit# 配置NAT转换(私网转公网)
router(config)# ip nat pool PUBLIC_IP 203.0.113.2 203.0.113.3 netmask 255.255.255.0
router(config)# ip nat inside source route-map NAT_ACL pool PUBLIC_IP
router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
router(config)# route-map NAT_ACL permit 10
router(config-route-map)# match ip address 1
router(config-route-map)# exit
(3)防火墙配置实例
# 配置标准ACL规则(允许HTTP流量)
firewall> enable
firewall# configure terminal
firewall(config)# access-list 101 permit tcp any any eq 80
firewall(config)# exit# 应用ACL到接口(入站方向)
firewall(config)# interface gigabitethernet0/0
firewall(config-if)# ip access-group 101 in
firewall(config-if)# exit# 配置状态检测(启用会话跟踪)
firewall(config)# service-policy input STATEFUL_ACL
firewall(config)# class-map HTTP_TRAFFIC
firewall(config-class-map)# match protocol http
firewall(config-class-map)# exit
firewall(config)# policy-map STATEFUL_ACL
firewall(config-policy-map)# class HTTP_TRAFFIC
firewall(config-policy-map)# inspect
firewall(config-policy-map)# exit
4. 网络故障排查
- 常用命令:
ping
:测试连通性(ICMP协议)。tracert
(Windows)/traceroute
(Linux):追踪路径。nslookup
/dig
:DNS解析测试。netstat
:查看端口监听状态(netstat -ano
)。
- 抓包工具:
- Wireshark:分析数据包内容(过滤HTTP请求)。
- tcpdump(Linux):命令行抓包(
tcpdump port 80
)。
- 典型故障场景:
- IP冲突:ARP表异常,使用
arp -a
检查。 - VLAN配置错误:跨VLAN通信需配置路由器或三层交换机。
- IP冲突:ARP表异常,使用
二、互联网技术应用
1. Web开发技术
-
前端开发:
- 基础技术栈:
- HTML:页面结构(语义化标签如
<article>
)。 - CSS:布局与样式(Flex/Grid、响应式设计)。
- JavaScript:交互逻辑(ES6+特性、异步编程)。
- HTML:页面结构(语义化标签如
- 框架与库:
- React:组件化开发(虚拟DOM、Hooks)。
- Vue:响应式数据绑定(Vuex状态管理)。
- Angular:MVC架构(依赖注入、TypeScript)。
- 基础技术栈:
-
后端开发:
- 语言与框架:
- Node.js:事件驱动(Express.js、NestJS框架)。
- Python:Django(ORM、Admin后台)、Flask(轻量级)。
- Java:Spring Boot(微服务、Spring Security)。
- 数据库集成:
- RESTful API设计(GET/POST/PUT/DELETE)。
- 使用JWT实现身份验证(
Authorization: Bearer <token>
)。
- 语言与框架:
2. 移动应用开发
- 原生开发:
- Android:
- 语言:Kotlin/Java
- 工具:Android Studio(布局编辑器、Logcat调试)。
- iOS:
- 语言:Swift
- 工具:Xcode(Interface Builder、Simulator)。
- Android:
- 跨平台开发:
- Flutter:Dart语言,高性能渲染引擎(Skia)。
- React Native:JavaScript核心,原生组件封装。
3. 新兴技术应用
-
云计算:
- 服务模型:
- IaaS(基础设施即服务):AWS EC2、阿里云ECS。
- PaaS(平台即服务):Heroku、Google App Engine。
- SaaS(软件即服务):Salesforce、Office 365。
- 核心技术:
- 虚拟化(VMware、KVM)、容器化(Docker、Kubernetes)。
- 无服务器架构(AWS Lambda、函数计算)。
- 服务模型:
-
大数据:
- 处理框架:
- Hadoop:HDFS存储、MapReduce计算。
- Spark:内存计算(比Hadoop快100倍)。
- 工具生态:
- 数据仓库:Hive、Snowflake
- 实时流处理:Apache Kafka、Flink
- 处理框架:
-
物联网(IoT):
- 架构层次:
- 感知层(传感器、RFID)。
- 网络层(LoRa、NB-IoT低功耗广域网)。
- 平台层(AWS IoT Core、阿里云物联网平台)。
- 应用层(智能家居、工业监测)。
- 协议:
- MQTT(轻量级发布/订阅协议)。
- CoAP(受限环境下的RESTful协议)。
- 架构层次:
三、网络安全与优化
1. 网络安全防护
- 常见攻击与防御:
- DDoS攻击:防御方案(流量清洗、CDN分发)。
- SQL注入:参数化查询(
PreparedStatement
)。 - XSS跨站脚本:输入过滤(转义
<
为<
)。
2. 性能优化策略
- Web性能优化:
- 压缩资源(Gzip/Brotli)。
- CDN加速静态内容(图片、JS/CSS)。
- 懒加载(延迟加载非首屏内容)。
- 数据库优化:
- 读写分离(主从复制)。
- 缓存策略(Redis缓存热点数据)。
四、实践案例
- 企业网络搭建:
- 设计VLAN隔离部门流量,配置OSPF动态路由。
- 部署防火墙规则,限制外部访问敏感端口(如22/3389)。
- 全栈Web项目:
- 前端:Vue3 + TypeScript实现SPA。
- 后端:Spring Boot提供REST API,MySQL存储数据。
- 部署:Nginx反向代理,Docker容器化。
- 物联网智能家居:
- ESP32传感器采集温湿度 → MQTT推送至云平台 → 手机App控制空调。
相关文章:
4.网络技术与应用
一、计算机网络基础 1. 网络基本原理 通信模型: OSI七层模型: 物理层(传输比特流,如网线、光纤)数据链路层(MAC地址,交换机)网络层(IP地址,路由器࿰…...
Kafka 主题 retention.ms 配置修改及深度问题排查指南
文章目录 Kafka 主题 retention.ms 配置修改及深度问题排查指南版本背景查看 Kafka 主题当前状态修改 retention.ms 配置的正确方式为什么不能使用 kafka-topics.sh?使用 kafka-configs.sh 动态更新配置 深入解析 retention 配置retention.ms 与 retention.bytes 的…...

React实现无缝滚动轮播图
实现效果: 由于是演示代码,我是直接写在了App.tsx里面在 文件位置如下: App.tsx代码如下: import { useState, useEffect, useCallback, useRef } from "react"; import { ImageContainer } from "./view/ImageC…...

deepseek+mermaid【自动生成流程图】
成果: 第一步打开deepseek官网(或百度版(更快一点)): 百度AI搜索 - 办公学习一站解决 第二步,生成对应的Mermaid流程图: 丢给deepseek代码,或题目要求 生成mermaid代码 第三步将代码复制到me…...

分布式锁的简单实现
1. 什么是分布式锁? 在分布式系统中,也会涉及到多个节点访问同一个公共资源的情况,和 Java 中多线程的锁不一样,由于分布式系统中涉及到多个进程多个主机,所以说 Java 中 synchronized 就不合适了。 2. 分布式锁的简…...

C语言(19)----------->函数(2)
本文介绍了C语言的return语句及其它在C语言函数中的作用,以及介绍了二维数组和一维数组传参时的一些注意事项和使用数组传参时的方法。 若没有学习过C语言的一维数组和二维数组,建议参考如下文章: C语言(15)--------…...

动态扩缩容引发的JVM堆内存震荡:从原理到实践的GC调优指南
目录 一、典型案例:系统发布后的GC雪崩事件 (一)故障现象 1. 刚刚启动时 GC 次数较多 2. 堆内存锯齿状波动 3. GC日志特征:Allocation Failure (二)问题定位 二、原理深度解析:JVM内存弹…...
为何在用户注销时使用 location.href 而非 Vue Router 的 router.push
在开发 Web 应用时,用户注销功能的设计看似简单,但背后隐藏着对状态管理、安全性和用户体验的深层考量。以下将详细探讨为何许多项目在注销跳转时选择 location.href(强制刷新页面)而非 Vue Router 的 router.push(单页…...

开源工具推荐:Uptime Kuma监控
1. 概述 Github:louislam/uptime-kuma: A fancy self-hosted monitoring tool Uptime Kuma is an easy-to-use self-hosted monitoring tool. Uptime Kuma 是一款开源的监控工具,可以帮助你实时监测网站或服务的状态,并在发生故障时及时通…...

《基于Selenium的论坛系统自动化测试实战报告》
一、项目背景与技术选型 项目简介 目标系统:论坛系统 核心功能:用户注册/登录、会话框发送信息、好友列表、信息发送 技术栈:html Springboot MySQL数据库 为什么选择Selenium 支持多浏览器兼容性测试(Chrome/Firefox/Edge&…...
深入解析SQL Server高级SQL技巧
SQL Server 是一种功能强大的关系型数据库管理系统,广泛应用于各种数据驱动的应用程序中。在开发过程中,掌握一些高级SQL技巧,不仅能提高查询性能,还能优化开发效率。这篇文章将全面深入地探讨SQL Server中的一些高级技巧…...
分布式中间件:环境准备
在当今数字化的时代,分布式系统已经成为了开发领域的主流。分布式中间件在其中扮演着至关重要的角色,它能够帮助我们更好地处理高并发、高可用等复杂的业务场景。在这个系列的博客中,我将带大家深入学习分布式中间件的相关知识,主…...

c# winform程序 vs2022 打包生成安装包
最近,利用c# winform程序该客户开发一套进销存管理系统,项目在部署前,需要生成安装包,以便部署在客户电脑上面。总结步骤如下: 1、在打包之前 (VS中需要包括Microsoft visual studio installer projects扩展项目)&…...

探索Elasticsearch:文档的CRUD
在企业环境中,Elasticsearch对文档操作的支持不仅是实现高效搜索的关键,更是数据驱动决策的重要支柱。它通过强大的索引机制和灵活的查询语言,使企业能够实时处理和分析海量文档数据,迅速获取有价值的洞察,从而加速创新…...
面试基础--Spring Boot启动流程及源码实现
深度解析Spring Boot启动流程及源码实现 一、Spring Boot启动全景图(含核心阶段) #mermaid-svg-dYTQ6WPa3o6vKFHh {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-dYTQ6WPa3o6vKFHh .error-i…...

火语言RPA--PDF提取图片
【组件功能】:提取PDF文档指定位置图片 配置预览 配置说明 文件路径 支持T或# 默认FLOW输入项 待提取图片的PDF文件的完整路径。 提取位置 全部、指定页、指定范围3种位置供选择。 PDF文件密码 支持T或# 打开PDF文件的密码。 页码 支持T或# 提取指定页的页…...
力扣977.有序数组的平方(双指针)
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 方法一:直接将每个元素的平方压入ans数组中,再对ans数组进行排序 class Solution { public:vector<int> sort…...

QT——文件IO
QFile 类 构造函数 QFile() 无参构造 仅仅构建一个QFile 对象,不设定文件名 QFile(文件名) 构建一个QFile对象的同时,设定文件名 但是注意,仅仅设定文件名,并不会打开该文件 设定文件名 QFile file file.setFileName…...
分布式中间件:Redis介绍
目录 Redis 概述 Redis 的特点 高性能 丰富的数据结构 持久化 分布式特性 简单易用 Redis 的数据结构 字符串(String) 哈希(Hash) 列表(List) 集合(Set) 有序集合&…...
服务器和本地电脑之间如何传输文件
在服务器和本地电脑之间传输文件可以通过多种方式实现,常见的方法包括使用 SFTP(安全文件传输协议)、SCP(安全复制协议)、FTP(文件传输协议)、rsync、以及 云存储 等工具。以下是几种常见的方法…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...