云计算基础-13:Linux网络管理实战-1

# 📌 博客原文链接:Breeze

作为一名运维工程师,你每天都在与网络打交道。但你有没有想过:当你在浏览器中输入 www.baidu.com 并回车的那一瞬间,到底发生了什么?数据是如何从你的电脑,穿过层层网络设备,最终到达百度服务器的?

要回答这些问题,你需要理解网络通信模型。本文将系统讲解 OSI 七层模型、TCP/IP 协议族、数据封装与解封装过程,以及网络通信中必不可少的进制转换基础知识。这些看似"理论"的知识,实际上是你排查网络故障、理解协议行为的底层逻辑。

文章表述可能难懂,可以做个了解之后跳过再深入学习


OSI 七层模型

简介

OSI(Open System Interconnection) :开放系统互联模型,由国际标准化组织(ISO) 制定。

OSI 模型的核心价值:

  • 定义了不同计算机互联的标准
  • 提供了设计和描述计算机网络通信的框架
  • 将全世界网络通信的工作划分为 7 个层次

OSI 七层结构

复制代码
┌─────────────────────────────────────┐
│         ⑦ 应用层  Application       │  ← 应用程序/原始数据
├─────────────────────────────────────┤
│         ⑥ 表示层  Presentation      │  ← 格式/压缩/加密
├─────────────────────────────────────┤
│         ⑤ 会话层  Session           │  ← 会话/全双工/半双工
├─────────────────────────────────────┤
│         ④ 传输层  Transport         │  ← 分段/重组/端口号
├─────────────────────────────────────┤
│         ③ 网络层  Network           │  ← IP地址/寻址/路由
├─────────────────────────────────────┤
│      ② 数据链路层  Data Link        │  ← MAC地址/局域网
├─────────────────────────────────────┤
│         ① 物理层  Physical          │  ← 传输介质/比特流
└─────────────────────────────────────┘

我个人有个谐音记忆的方法:应表会传往树屋

制定 OSI 模型的优势

优势 说明
开放 标准公开,任何厂商都可以遵循
厂商兼容性 不同厂商的设备可以互联互通
易于理解、学习 分层结构清晰,便于教学
模块化工程 各层独立开发,互不影响
故障排除 可以逐层排查,定位问题所在

各层功能详解

第 7 层:应用层(Application Layer)

功能:为用户的应用程序提供网络服务接口。

关键词:应用程序、原始数据

典型应用

应用 协议 场景
QQ、微信 即时通信协议 聊天、视频
爱奇艺、优酷 HTTP/HTTPS 视频流媒体
吃鸡、王者荣耀 游戏协议 网络游戏

通俗理解:你打开的所有应用------浏览器、QQ、游戏------都属于应用层。


第 6 层:表示层(Presentation Layer)

功能:处理数据的格式转换、压缩和解压缩、加密和解密。

关键词:格式、压缩、加密

核心功能

功能 说明 类比
格式转换 不同系统之间的数据格式统一 翻译官
数据压缩 减小数据体积,加快传输速度 打包行李
数据加密 保障数据传输安全 鸡毛信

简单比喻:古代送信时,重要情报会写在绢布上,卷成小筒藏在鸡毛里------这就是最早的"加密+压缩"。表示层做的事类似:让数据传得更快、更安全。


第 5 层:会话层(Session Layer)

功能:建立、管理和终止应用程序之间的会话连接。

关键词:会话、全双工/半双工、身份信息

通信模式

模式 说明 类比
全双工 双方可以同时发送和接收数据 打电话(双方可以同时说话)
半双工 同一时间只能一方发送数据 对讲机(按住说话,松开收听)
单工 只能单向传输数据 广播/电视(只能接收,不能发送)

电话 vs 对讲机的比喻:打电话时双方可以同时说话(全双工),对讲机只能一方说一方听(半双工)。会话层决定了通信的"对话模式"。


第 4 层:传输层(Transport Layer)

功能:提供端到端的数据传输服务,负责数据的分段、重组和端口号管理。

关键词:分段、重组、端口号、传输效率

核心职责

职责 说明
分段 将大数据拆分成适合传输的小段
重组 在接收端将数据段还原为完整数据
端口号 标识数据应该交给哪个应用程序
可靠性 确保数据完整、有序到达

通俗理解:传输层就像快递员------把你的大包裹拆分成小包裹(分段),贴上标签(端口号),送到对方后再重新组装(重组)。


第 3 层:网络层(Network Layer)

功能:负责数据包从源到目的地址的传输路径选择(路由)和逻辑寻址。

关键词:IP 地址、寻址、路由

核心职责

职责 说明
IP 地址 全球唯一的逻辑地址
寻址 确定数据包的目标地址
路由 选择最优传输路径

总目标:全球地址------让世界上任何两台设备都能互相通信。

通俗理解:网络层就像邮局的分拣系统------根据信封上的地址(IP 地址),决定包裹应该走哪条路线到达目的地。


功能:负责同一局域网内的数据传输,使用物理地址(MAC)进行设备识别。

关键词:MAC 地址、局域网、帧

核心职责

职责 说明
MAC 地址 网卡唯一的物理地址(如 00:50:56:C0:00:08
帧封装 将网络层的数据包封装为帧
错误检测 检查传输过程中的数据错误

分段目标:局部地址------在局域网范围内找到正确的设备。

邮递员的比喻:数据链路层就像小区的邮递员------他知道每栋楼、每户人家的具体位置(MAC 地址),负责把包裹从小区门口送到你家门口。


第 1 层:物理层(Physical Layer)

功能:定义物理传输介质的电气、机械、过程和功能规范,负责比特流的物理传输。

关键词:传输介质、比特流

传输介质

介质类型 示例
有线 网线(双绞线)、光纤
无线 Wi-Fi 信号、4G/5G、蓝牙
电信号 电流、光信号

通俗理解:物理层就是"路"------公路、航道、光纤,数据就是路上跑的车。没有路,车就跑不起来。


TCP/IP 模型

TCP/IP 五层模型

TCP/IP(Transmission Control Protocol/Internet Protocol):传输控制协议/网际协议。

与 OSI 模型的对比

OSI 七层模型 TCP/IP 五层模型 说明
⑦ 应用层 应用层 合并了 OSI 的应用层、表示层、会话层
⑥ 表示层
⑤ 会话层
④ 传输层 传输层 相同
③ 网络层 网络层 相同
② 数据链路层 数据链路层 相同
① 物理层 物理层 相同

TCP/IP 四层模型

在实际应用中,TCP/IP 通常被描述为四层模型:

四层模型 包含的 OSI 层 说明
应用层 应用层 + 表示层 + 会话层 所有应用相关协议
传输层 传输层 TCP、UDP
网络层(互联网层) 网络层 IP、ICMP
网络接口层 数据链路层 + 物理层 硬件和介质相关

OSI vs TCP/IP 模型对比

对比维度 OSI 模型 TCP/IP 模型
推出时间 稍晚(1984 年) 更早(1974 年开始发展)
理论基础 先有理论,后有实现 先有实践,后总结理论
层级数量 7 层 4 层或 5 层
实际应用 理论模型,用于教学居多 当今互联网通信的实际标准
背景 国际标准化组织(ISO)制定 美国军方 ARPANET 实践中总结

数据单元(PDU)

在网络通信中,每一层对数据都有不同的称呼,这些称呼统称为协议数据单元(PDU, Protocol Data Unit)

打个比方:牛奶从鲜奶变成奶粉,要经历很多道工序。信息从产生到接收,也会经历不同的"变身"。为了方便交流,通信模型对不同阶段的信息进行了统一命名。

各层数据单元

层级 数据单元名称 英文 简称 类比
应用层 应用协议数据单元 Application Protocol Data Unit APDU 鲜牛奶
传输层 数据段 Segment Segment 桶装牛奶
网络层 数据包/数据报 Packet/Datagram Packet 装箱的桶
数据链路层 数据帧 Frame Frame 装车发运
物理层 比特流 Bit Bit 公路上的运输过程

数据封装与解封装

简介

信息从一台计算机产生,经过 TCP/IP 模型各层加工,最终传递到另一台计算机。这个通信过程就像快递从厂家包装到顾客收到货物拆包一样。

  • 封装:发送数据时,从上到下逐层添加头部信息
  • 解封装:接收数据时,从下到上逐层剥离头部信息

数据封装过程(发送端)

复制代码
┌──────────────────────────────────────────────┐
│  ⑤ 应用层:用户信息转换为数据                   │
│     数据 = 用户原始信息                        │
├──────────────────────────────────────────────┤
│  ④ 传输层:数据 → 数据段                       │
│     + 源端口号 + 目标端口号                    │
│     + 序号 + 校验和                            │
│     建立可靠连接                               │
├──────────────────────────────────────────────┤
│  ③ 网络层:数据段 → 数据包                     │
│     + 源 IP 地址 + 目标 IP 地址                │
│     + TTL + 协议类型                           │
│     数据包可通过互联网络传输                    │
├──────────────────────────────────────────────┤
│  ② 数据链路层:数据包 → 数据帧                 │
│     + 源 MAC 地址 + 目标 MAC 地址              │
│     + 帧校验序列(FCS)                         │
│     在本地网段传输,硬件地址标识主机             │
├──────────────────────────────────────────────┤
│  ① 物理层:数据帧 → 比特流                     │
│     数字编码和时钟方案                          │
│     通过传输介质(网线/光纤/无线)发送           │
└──────────────────────────────────────────────┘

数据封装步骤总结

步骤 层级 操作 主要添加的信息
1 应用层 用户信息转换为数据 应用层协议头
2 传输层 数据 → 数据段,建立可靠连接 源/目标端口号
3 网络层 数据段 → 数据包,添加逻辑地址 源/目标 IP 地址
4 数据链路层 数据包 → 帧,添加硬件地址 源/目标 MAC 地址
5 物理层 帧 → 比特流,通过介质发送 无(直接传输)

封装与解封装示意

复制代码
  发送端(封装)              网络传输                接收端(解封装)
----------------------------------------------------------------------
应用层数据  ────────────────────────────────────────>  应用层数据
    ↓ 加TCP/UDP头                                  ↑ 剥TCP/UDP头
传输层段    ────────────────────────────────────────>  传输层段
    ↓ 加IP头                                      ↑ 剥IP头
网络层分组  ────────────────────────────────────────>  网络层分组
    ↓ 加MAC头+FCS尾                               ↑ 剥MAC头+FCS尾
链路层帧    ────────────────────────────────────────>  链路层帧
    ↓ 转换为比特流                                ↑ 还原为帧
物理层比特流 →→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→ 物理层比特流
----------------------------------------------------------------------

TCP/IP 协议族

应用层协议

协议 全称 用途 典型场景 端口号
HTTP HyperText Transfer Protocol 超文本传输 浏览网页(淘宝、百度) 80
HTTPS HTTP Secure 加密的 HTTP 安全网页访问 443
SSH Secure Shell 安全远程登录 远程控制服务器(远程桌面等) 22
FTP File Transfer Protocol 文件传输 文件上传下载(电影天堂) 21
SMTP Simple Mail Transfer Protocol 邮件传输 发送电子邮件(QQ 邮箱) 25
DNS Domain Name System 域名解析 将域名转换为 IP(baiyun.com → 1.2.3.4) 53

传输层协议

TCP vs UDP 对比

对比维度 TCP UDP
全称 Transmission Control Protocol User Datagram Protocol
可靠性 可靠(有确认、重传、排序) 不可靠(发出去就不管了)
连接 面向连接(三次握手建立连接) 无连接(直接发送)
速度 较慢(需要确认和重传) 更快(无需等待确认)
流量控制 有(滑动窗口机制)
适用场景 网页浏览、文件传输、邮件 视频直播、在线游戏、DNS 查询
类比 挂号信(有签收、可追踪) 普通信(寄出去就不管了)

挂号信 vs 普通信的比喻

  • TCP 像挂号信:寄出去后你能知道对方是否收到,如果丢失了会重新寄送
  • UDP 像普通信:寄出去就不管了,到不到看运气,但速度快、成本低

网络层协议

协议 全称 用途 典型场景
IP Internet Protocol 互联网协议,负责寻址和路由 每台设备的 IP 地址(192.168.1.1)
ICMP Internet Control Message Protocol 网络消息管理,用于测试和诊断 ping 命令

通信兵的比喻 :ICMP 就像军队中的通信兵------负责探测线路是否通畅、报告网络状态。ping 命令就是派出一个通信兵去探测目标是否可达。


数据链路层与物理层

层级 核心概念 类比
数据链路层 MAC 地址 家到邮局的地址(本地地址)
物理层 网线、光纤、无线信号 公路、航道(传输通道)

协议族概览

复制代码
┌─────────────────────────────────────────────────┐
│                    应用层                        │
│  HTTP  SSH  FTP  SMTP  DNS  DHCP  Telnet  ...   │
├─────────────────────────────────────────────────┤
│                    传输层                        │
│              TCP              UDP                │
├─────────────────────────────────────────────────┤
│                    网络层                        │
│         IP      ICMP      IGMP      ARP         │
├─────────────────────────────────────────────────┤
│                 数据链路层                        │
│          Ethernet  PPP  PPPoE  WiFi             │
├─────────────────────────────────────────────────┤
│                    物理层                        │
│      网线  光纤  无线信号  4G/5G  蓝牙           │
└─────────────────────────────────────────────────┘

进制转换基础

网络地址(尤其是 IP 地址和子网掩码)的本质是二进制数。理解进制转换是理解 IP 地址、子网划分、路由计算的基础。


十进制(Decimal)

我们日常使用的数字系统。

概念 说明 示例
数值 0 ~ 9(共 10 个符号) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
数位 数字的位置 123 中的 123
位权 每个位置代表的权重 百位、十位、个位(100, 10, 1)

数位能不能随便调整? 当然不能!123321 是完全不同的数。


二进制(Binary)

计算机使用的数字系统。

概念 说明 示例
数值 0 ~ 1(共 2 个符号) 0, 1
数位 每一位只能是 0 或 1 101 中的 101
位权 2 的幂次 128, 64, 32, 16, 8, 4, 2, 1

二进制位权表

位权 2⁷ 2⁶ 2⁵ 2⁴ 2⁰
128 64 32 16 8 4 2 1

记住这 8 个数字:128-64-32-16-8-4-2-1,它们是二进制和十进制互转的关键!


十六进制(Hexadecimal)

编程和网络中常用的紧凑表示法。

概念 说明
数值 0~9, A(10), B(11), C(12), D(13), E(14), F(15)
数位 每一位可以是 0-F
位权 16 的倍数(... 256, 16, 1)

十六进制对照表:

十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F

二进制与十进制互转

十进制 → 二进制

方法:位权加减法

  1. 写出 8 位二进制的位权:128, 64, 32, 16, 8, 4, 2, 1
  2. 通过加减法,从大到小凑出目标数字
  3. 用到的位权标记为 1,没用到的标记为 0

示例:

十进制 计算过程 二进制
129 128 + 1 1000 0001
192 128 + 64 1100 0000
130 128 + 2 1000 0010
67 64 + 2 + 1 0100 0011
33 32 + 1 0010 0001

一、核心方法 1:除 2 取余法(通用方法)

复制代码
示例 1:十进制 129 → 二进制
129 ÷ 2 = 64  余 1  ← 最低位
64 ÷ 2 = 32   余 0
32 ÷ 2 = 16   余 0
16 ÷ 2 = 8    余 0
8 ÷ 2 = 4     余 0
4 ÷ 2 = 2     余 0
2 ÷ 2 = 1     余 0
1 ÷ 2 = 0     余 1  ← 最高位
结果:从下往上读余数 → 10000001

示例2:十进制 192 → 二进制示例 1:十进制 129 → 二进制
192 ÷ 2 = 96  余 0  ← 最低位
96 ÷ 2 = 48   余 0
48 ÷ 2 = 24   余 0
24 ÷ 2 = 12   余 0
12 ÷ 2 = 6    余 0
6 ÷ 2 = 3     余 0
3 ÷ 2 = 1     余 1
1 ÷ 2 = 0     余 1  ← 最高位
结果:从下往上读余数 → 11000000

示例 3:十进制 33 → 二进制
33 ÷ 2 = 16   余 1  ← 最低位
16 ÷ 2 = 8    余 0
8 ÷ 2 = 4     余 0
4 ÷ 2 = 2     余 0
2 ÷ 2 = 1     余 0
1 ÷ 2 = 0     余 1  ← 最高位
结果:从下往上读余数 → 100001(补成 8 位标准字节格式:00100001)

二、核心方法 2:8421 权值法(8 位以内快速计算)

示例 1:十进制 129 → 二进制

权值 128 64 32 16 8 4 2 1
判断 129≥128 1<64 1<32 1<16 1<8 1<4 1<2 1≥1
结果 1 0 0 0 0 0 0 1

示例 2:十进制 192 → 二进制

权值 128 64 32 16 8 4 2 1
判断 192≥128 64≥64 0<32 0<16 0<8 0<4 0<2 0<1
结果 1 1 0 0 0 0 0 0

示例 3:十进制 33 → 二进制

权值 128 64 32 16 8 4 2 1
判断 33<128 33<64 33≥32 1<16 1<8 1<4 1<2 1≥1
结果 0 0 1 0 0 0 0 1

二进制 → 十进制

方法:将每一位的位权值相加

示例:

复制代码
1010 1010
= 128 + 0 + 32 + 0 + 8 + 0 + 2 + 0
= 170

练习:

复制代码
1111 1110
= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 0
= 254

常用二进制/十进制对照表

十进制 二进制 说明
0 0000 0000 全 0
1 0000 0001 最低位为 1
127 0111 1111 7 个 1
128 1000 0000 最高位为 1
192 1100 0000 2 个 1(常见子网掩码)
224 1110 0000 3 个 1
240 1111 0000 4 个 1
248 1111 1000 5 个 1
252 1111 1100 6 个 1
254 1111 1110 7 个 1
255 1111 1111 全 1

这些数字在网络配置中经常出现,特别是子网掩码的计算。建议记下来!


存储单位换算

单位 全称 换算关系 说明
bit (b) 比特 1 bit = 1/0 最小信息单位
Byte (B) 字节 1 Byte = 8 bits 基本存储单位
KB Kilobyte 1 KB = 1024 Bytes
MB Megabyte 1 MB = 1024 KB
GB Gigabyte 1 GB = 1024 MB
TB Terabyte 1 TB = 1024 GB

我们习惯性的以1G=1000MB的说法,也是没多大问题的

ASCII 编码

ASCII(American Standard Code for Information Interchange):美国信息交换标准代码。

  • 1 个英文字母 = 1 个字节 = 8 个比特
  • 1 个中文字符 = 2~4 个字节(取决于编码方式:GBK=2 字节,UTF-8=3 字节)

感兴趣的可以看看这个对照表:ASCII码对照表,ASCII码一览表(非常详细) - C语言中文网

网络速度 vs 存储速度

注意区分

  • 网络速度单位:Mbps (Megabits per second,兆比特每秒)
  • 下载速度单位:MB/s (Megabytes per second,兆字节每秒)
复制代码
100 Mbps ÷ 8 = 12.5 MB/s
1 Gbps ÷ 8 = 125 MB/s

为什么你的 100M 宽带下载速度只有 12.5 MB/s? 因为运营商说的是"比特",而下载软件显示的是"字节",差了 8 倍!


总结

通过本章节的学习,你应该掌握了:

  • 理解 OSI 七层模型的层级结构和各层功能
  • 理解 TCP/IP 五层/四层模型及其与 OSI 模型的对应关系
  • 掌握各层的核心概念(应用层→原始数据、传输层→端口号、网络层→IP 地址、链路层→MAC 地址、物理层→比特流)
  • 理解数据单元(PDU)的概念(APDU、Segment、Packet、Frame、Bit)
  • 理解数据封装(发送端逐层加头)和解封装(接收端逐层去头)的过程
  • 熟悉常见的应用层协议(HTTP、SSH、FTP、SMTP、DNS)
  • 理解 TCP(可靠、面向连接)和 UDP(不可靠、无连接)的区别
  • 理解 IP 和 ICMP 协议的作用
  • 掌握二进制与十进制的互转方法
  • 熟悉常用二进制数值(特别是子网掩码相关数值)
  • 掌握存储单位换算(bit → Byte → KB → MB → GB → TB)

学习建议:网络基础看似理论,但它是你理解一切网络行为的基石。建议将 OSI 七层模型和 TCP/IP 协议族的知识与你之前学过的网络配置实践结合起来理解------IP 地址属于哪一层?端口号又是谁负责的?ping 命令用的是哪个协议?多问多想,理论与实践结合,才能真正掌握。

相关推荐
扬帆破浪1 小时前
文档自动检查:用 Claude Code、OpenClaw 审 WPS 文件:预览、批注、改正文
运维·服务器·wps
_kerneler2 小时前
Linux tiny RCU
linux
zt1985q2 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
具身智能进化论2 小时前
协作机器人产业进入规模化部署期,未来几年的增长从何而来
大数据·运维·人工智能·机器人·自动化·工厂方法模式
wuminyu3 小时前
虚拟线程底层ForkJoinPool的工作窃取算法机制
java·linux·c语言·jvm·c++
yunyi4 小时前
改个 SSH 端口,我把自己锁在了服务器外面
运维·后端
测试运维日常笔记5 小时前
tcpdump(Linux服务器)配合 Wireshark(本地分析)使用手顺与常用过滤语法详解
linux·服务器·tcpdump
jason_renyu6 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
linux·docker·新手docker学习·docker日志查询·docker服务管理
测试运维日常笔记6 小时前
Unix/Linux 系统软件包管理笔记
linux·笔记·unix