网络基础

IP 地址规划(VLSM / CIDR / 汇总)→ 分层模型(OSI、TCP/IP)→ 各层协议与头部(以太网帧、TCP/UDP、IP)→ 华为 VRP 基础操作


一、IP 地址规划:VLSM、CIDR 与路由汇总

1. VLSM —— 可变长子网掩码

本质:借用主机位当网络位,把一个大网段切成多个长度不同的子网,做到按需分配、减少浪费。

以192.168.1.0/24向 /25 切分为例(借 1 位主机位):

子网二进制(第 4 字节)网络地址可用主机范围广播地址
子网 100000000192.168.1.0/25192.168.1.1 – 192.168.1.126192.168.1.127
子网 210000000192.168.1.128/25192.168.1.129 – 192.168.1.254192.168.1.255

每个 /25 子网:128 个地址 = 1 网络地址 + 126 可用 + 1 广播地址。

以172.16.0.0/16划分为8 个子网(2³=8,借 3 位 → /19):

子网第 3 字节二进制网络地址可用范围
1000 00000172.16.0.0/19172.16.0.1 – 172.16.31.254
2001 00000172.16.32.0/19172.16.32.1 – 172.16.63.254
3010 00000172.16.64.0/19172.16.64.1 – 172.16.95.254
4011 00000172.16.96.0/19172.16.96.1 – 172.16.127.254
5100 00000172.16.128.0/19172.16.128.1 – 172.16.159.254
6101 00000172.16.160.0/19172.16.160.1 – 172.16.191.254
7110 00000172.16.192.0/19172.16.192.1 – 172.16.223.254
8111 00000172.16.224.0/19172.16.224.1 – 172.16.255.254

常用公式

  • 子网数 = 2^借位数

  • 每子网主机数 = 2^剩余主机位数 − 2(去掉网络地址和广播地址)

  • 块大小(步长)= 256 − 掩码中该字节的值(如 /25 → 256−128=128,/19 → 256−224=32)

2. CIDR —— 无类域间路由

  • 表示形式:IP/前缀长度,如192.168.1.0/25,不再受 A/B/C 类地址约束。

  • 作用:打破有类边界,支持任意长度掩码,既能做子网划分(掩码变长),也能做路由聚合(掩码变短)。

3. 路由汇总(超网)——"取相同,去不同"

对二进制逐位比较:网络位中相同的位保留,不同的位丢弃,掩码随之缩短。

示例:4 个 /24 网段汇总

网段二进制(第 3 字节)
192.168.0.0/24192.168.00000000.0
192.168.1.0/24192.168.00000001.0
192.168.2.0/24192.168.00000010.0
192.168.3.0/24192.168.00000011.0

前 22 位完全相同 → 汇总为192.168.0.0/22(超网/大子网)。

同理172.16.0.0/24 ~ 172.16.3.0/24→172.16.0.0/22。

汇总要点:被汇总的网段必须是连续的,且数量为 2 的幂,否则会产生路由黑洞或汇总不精确。


二、OSI/RM 七层参考模型

  • OSI/RM:Open System Interconnection Reference Model,开放式系统互联参考模型(教材称之为网络"圣经")。

  • ISO国际标准化组织于1979 年提出。

  • 核心思想:分层。

  • 分层的好处:① 更易于标准的制定;② 降低各层之间的关联性(解耦);③ 更易于学习和理解。

层次核心功能关键点
应用层提供人机交互的接口用户面向的各类应用
表示层数据格式转换、压缩/解压缩、加密统一格式,让不同系统能互相"看懂"
会话层维持网络应用与服务器之间的会话联系建立、管理、终止会话
传输层实现端到端传输用端口号区分不同应用;端口 16 位二进制 → 0–65535(1–65535 可用,0 保留)
网络层基于IP 地址实现逻辑寻址路由与转发
数据链路层MAC(介质访问控制)+ LLC(逻辑链路控制)把二进制转成电信号控制物理层;基于MAC 地址做物理寻址(以太网协议)
物理层处理电信号传输比特流

三、TCP/IP 模型与 PDU

  • TCP/IP 模型分为标准模型(4 层)与对等模型(5 层):应用层 / 传输层 / 网络层 / 网络接口层(对等模型把网络接口层拆成数据链路层 + 物理层)。

  • PDU(Protocol Data Unit,协议数据单元):每层数据的称呼,L1PDU … L7PDU。

层PDU 名称代表协议
应用层报文(Message)HTTP、FTP、DNS…
传输层段(Segment)TCP、UDP
网络层数据包(Packet)IP
数据链路层帧(Frame)以太网协议
物理层比特流(Bit)—

封装与解封装

  • 封装:高层 → 低层的数据加工过程,数据包不断变大(逐层加头部)。

  • 解封装:低层 → 高层的数据识别过程,数据包不断变小(逐层剥头部)。


四、以太网 II 型帧

字段作用
Preamble 前导符标记一段数据的开始(同步时钟)
目的 MAC / 源 MAC物理寻址
TYPE 类型标识上一层使用的协议类型,解封装时据此交给上层(如 0x0800 = IPv4,0x0806 = ARP)
数据上层数据(46–1500 字节)
FCS 帧校验序列校验数据完整性,使用CRC 循环冗余算法

五、TCP 与 UDP

对比项TCPUDP
连接性面向连接无连接
可靠性可靠传输"尽力而为"(不保证送达)
流控支持(滑动窗口)不支持
分段可以分段不分段
速率/开销速率较慢、占用资源大速率快、占用资源小

使用场景:TCP 用于对可靠性要求高、效率要求低的场景(网页、文件传输、邮件);UDP 用于对可靠性要求低、效率要求高的场景(视频/语音、DNS、直播)。

什么是面向连接:在正式传输数据之前,先用预备的协议建立点到点的连接。

TCP 头部关键字段

  • 序号(Sequence Number):标明数据顺序。

  • 确认序号(Acknowledgment Number):对方序号+1,代表"已收到该序号之前的数据",即期望收到的下一个字节。

  • 标志位:

    • URG:紧急标记位(配合紧急指针)

    • ACK:确认标记位

    • PSH:推送,提示接收端尽快交给应用层

    • RST:强制断开连接(重置)

    • SYN:请求建立连接

    • FIN:结束标记位

  • 校验和:确保数据完整性,采用反码相加法(16 位反码求和后取反)。

UDP 头部

极简:源端口、目的端口、长度、校验和(共 8 字节),无序号、无确认、无流控。


六、TCP 三次握手与四次挥手

三次握手(建立连接)

  1. 客户端 → 服务器:SYN=1, seq=x(我想建连,我的初始序号是 x)

  2. 服务器 → 客户端:SYN=1, ACK=1, seq=y, ack=x+1(同意,我的初始序号是 y)

  3. 客户端 → 服务器:ACK=1, seq=x+1, ack=y+1(确认)

为什么是三次而不是两次?两次无法让服务器确认"自己的发送能力和客户端的接收能力"都正常,也无法防止历史失效的连接请求突然到达而建立错误连接;三次才能让双方都确认收发双向均可用,并同步双方初始序号。

四次挥手(断开连接)

  1. 主动方 → 被动方:FIN=1, seq=u(我没有数据要发了)

  2. 被动方 → 主动方:ACK=1, ack=u+1(收到)

  3. 被动方 → 主动方:FIN=1, ACK=1, seq=w, ack=u+1(我也发完了)

  4. 主动方 → 被动方:ACK=1, ack=w+1(确认),随后进入TIME_WAIT,等待2MSL后关闭

PPT 提出的三个问题(重点理解)

  1. 为什么是四次挥手?TCP 是全双工的,两个方向要分别关闭。收到 FIN 只表示对方不再发数据,本端可能还有数据要发,所以 ACK 与 FIN 不能合并,需分两次发送。

  2. 为什么 A 断开连接后还可以给 B 发送 ACK?半关闭状态(half-close):A 的发送通道关了,但接收通道仍然打开,所以还能回应 B 的 FIN。

  3. 为什么四次挥手"没标序号"?实际挥手报文都带序号(seq/ack),只是课堂示意省略了;FIN 同样占用一个序号,因此每次确认都要 +1。

  4. 为什么 TIME_WAIT 要等 2MSL?① 保证最后一个 ACK 能到达对端(丢失可重传);② 让本次连接产生的所有报文在网络中消失,避免影响下一个使用相同四元组的新连接。

TCP 的可靠性保证

确认、重传、排序、流控—— 核心机制是滑动窗口:

  • 发送方按窗口大小连续发送,无需每包都等确认;

  • 接收方通过 ACK 告知已收到的位置,窗口随之滑动;

  • 超时未确认则重传,乱序则重排,窗口大小实现流量控制(防止压垮接收方)。


七、IP 头部关键字段

字段说明
版本IPv4 = 4
首部长度 / 总长度首部长度以 4 字节为单位;总长度含首部+数据
TTL 生存时间每经过一台路由器转发就减 1,减到0时路由器不再转发、直接丢弃(防止环路导致报文无限循环)
8 位协议表示上一层使用的协议类型,解封装时用:TCP=6,UDP=17(ICMP=1)
16 位标识同一原始数据包分片后,各片的标识相同,用于重组
3 位标志Reserved bit 保留位;DF(Don't Fragment)不分片;MF(More Fragment)还有更多分片
13 位片偏移第一片偏移为0,第二片偏移 = 第一片的字节数,第三片依此类推(以 8 字节为单位)
首部校验和只校验首部,不校验数据

MTU 与 MSS

  • MTU(最大传输单元):数据链路层可以携带的最大字节数,以太网默认 1500 字节。

  • MSS(最大段长度):TCP 单段最大数据量,1460 字节= 1500 − 20(IP 首部)− 20(TCP 首部)。

  • 当 IP 包大于 MTU 时需分片;设置 DF 位则不分片,超长时丢弃并返回 ICMP 差错。


八、VRP 基础操作(华为设备)

VRP:Versatile Routing Platform,通用路由平台。

命令作用
<Huawei>用户视图,只能做查看类操作
display ip interface查看接口 IP 配置
display ip interface brief查看接口摘要信息(IP、物理/协议状态)
system-view从用户视图进入系统视图(可做全局配置),提示Enter system view, return user view with Ctrl+Z.
[Huawei]系统视图提示符
sysname aa修改设备名称为 aa →[aa]
interface GigabitEthernet 0/0/0进入接口视图 →[aa-GigabitEthernet0/0/0]
ip address 192.168.1.254 255.255.255.0给接口配置 IP 地址(也可写24)
quit返回上一级视图
display ?查看该命令后可跟的参数
Tab命令补全(简写命令 + Tab 自动补全)
Ctrl+Z从任意视图直接退回用户视图

视图层级:用户视图< >→ 系统视图[ ]→ 接口视图[ - ]


九、速记要点

  1. VLSM 借位变长,CIDR 打破分类,汇总"取相同、去不同"。

  2. 可用主机数 = 2^主机位 − 2;子网数 = 2^借位数。

  3. 端口 16 位,1–65535 可用,0 保留。

  4. PDU 由高到低:报文 → 段 → 包 → 帧 → 比特流。

  5. 封装变大、解封装变小;TYPE 告诉上层是什么协议,FCS 用 CRC 校验。

  6. TCP面向连接、可靠、能流控、可分段、慢而重;UDP无连接、尽力而为、快而轻。

  7. 三次握手建连、四次挥手断连,TIME_WAIT 等2MSL。

  8. TTL 防环,每跳减 1,为 0 丢弃;协议号TCP=6、UDP=17。

  9. MTU 1500,MSS 1460,分片靠标识 + 标志 + 片偏移重组。

  10. VRP 三视图:用户< >→ 系统[ ]→ 接口[ - ],quit退一级,Ctrl+Z回用户视图。

相关新闻

非全硕士的学历在学信网怎么查,认证和存档别踩坑

非全硕士的学历在学信网怎么查,认证和存档别踩坑

有个读者拿到非全硕士证后跑来问我&#xff1a;学信网上到底能不能查到、要不要做学历认证、档案放哪儿才不白读。这类问题我常被问&#xff0c;尤其在职读出来的&#xff0c;怕花了时间、临到认证或存档时出岔子。我把流程捋一遍。 先给定心丸&#xff1a;正规院校的非全日制硕…

2026/10/20 10:55:52 阅读更多 →
C语言链表实现学生信息管理系统:节点设计、增删改查与内存管理实战

C语言链表实现学生信息管理系统:节点设计、增删改查与内存管理实战

链表实现学生信息管理系统&#xff0c;这题目我前前后后碰过不止一回。大学第一轮学数据结构时&#xff0c;它在课程设计清单里排第三&#xff1b;后来帮别人看代码时&#xff0c;发现十个有九个都在同一批节点指针、空链表和内存释放的坑里打转。第一次写完这个系统&#xff0…

2026/10/20 10:55:52 阅读更多 →
高级 | 软件架构设计错题集【2】

高级 | 软件架构设计错题集【2】

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:55:52 阅读更多 →

最新新闻

自愈合防水材料销售平台:选型、交易与施工全流程指南

自愈合防水材料销售平台:选型、交易与施工全流程指南

树千晶自愈合防水材料销售平台&#xff0c;乍一听像是普通的建材电商&#xff0c;但做久了建材这行的人都清楚&#xff0c;防水材料不是快消品&#xff0c;客户不敢闭眼买&#xff0c;卖家也没法简单标个价就完事。尤其是自愈合防水材料这类偏功能型的产品&#xff0c;买家需要…

2026/10/20 11:48:45 阅读更多 →
Python学数学源码报错排查:环境配置与NumPy/SymPy避坑指南

Python学数学源码报错排查:环境配置与NumPy/SymPy避坑指南

简介&#xff1a;配套《程序员数学》一书的完整源码程序包&#xff0c;面向需要借助编程理解线性代数与微积分的学习者&#xff0c;尤其适合初中级程序员与数据科学入门人群&#xff0c;用可运行的代码化解抽象概念。压缩包共一百零四个文件&#xff0c;总体积约十三点五五兆字…

2026/10/20 11:48:45 阅读更多 →
开源了一个 Java 多智能体 LLM 框架 Baton:一个依赖,把 Agent 循环、工具调用、记忆、编排全配齐

开源了一个 Java 多智能体 LLM 框架 Baton:一个依赖,把 Agent 循环、工具调用、记忆、编排全配齐

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 11:48:45 阅读更多 →
Claude Code接入Qwen3实战:环境变量配置与Agent联调全指南

Claude Code接入Qwen3实战:环境变量配置与Agent联调全指南

先说结论&#xff1a;把 Claude Code 的命令行 Agent 能力交给 Qwen3 的模型来跑&#xff0c;完全可行&#xff0c;而且比我预想的要稳定得多。最近我在折腾编码助手方案&#xff0c;翻遍了社区里的各种教程&#xff0c;发现大多数人都在讲怎么用 Claude Code 的默认官方模型&a…

2026/10/20 11:48:45 阅读更多 →
Python+Django+Vue服装品类趋势与消费者洞察可视化系统实战

Python+Django+Vue服装品类趋势与消费者洞察可视化系统实战

每年一到毕设季&#xff0c;就有一批人被选题折磨到失眠。选个管理系统吧&#xff0c;满屏都是“学生信息管理”“图书借阅系统”&#xff0c;答辩老师看一眼标题就失去兴趣&#xff1b;选个算法题吧&#xff0c;又怕模型调不出来&#xff0c;最后代码跑不通直接翻车。我这些年…

2026/10/20 11:48:45 阅读更多 →
RAGFlow部署实战:企业级RAG的文档解析与混合检索调优

RAGFlow部署实战:企业级RAG的文档解析与混合检索调优

1. 项目价值与选型思路1.1 为什么需要 RAGFlow 这类重载级 RAG 引擎先说说标题里这两个词&#xff1a;RAG 是检索增强生成&#xff0c;Flow 强调的是“流程”。把两者拼起来&#xff0c;RAGFlow 的核心定位就很清楚了——它不只给你一个接口调用的检索组件&#xff0c;而是把文…

2026/10/20 11:47:44 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →