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

作为一名运维工程师,你每天都在与网络打交道。但你有没有想过:当你在浏览器中输入 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 地址),决定包裹应该走哪条路线到达目的地。


第 2 层:数据链路层(Data Link Layer)

功能:负责同一局域网内的数据传输,使用物理地址(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 UnitAPDU鲜牛奶
传输层数据段SegmentSegment桶装牛奶
网络层数据包/数据报Packet/DatagramPacket装箱的桶
数据链路层数据帧FrameFrame装车发运
物理层比特流BitBit公路上的运输过程

数据封装与解封装

简介

信息从一台计算机产生,经过 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 协议族

应用层协议

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

传输层协议

TCP vs UDP 对比

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

挂号信 vs 普通信的比喻

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

网络层协议

协议全称用途典型场景
IPInternet Protocol互联网协议,负责寻址和路由每台设备的 IP 地址(192.168.1.1)
ICMPInternet 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 或 1101 中的 101
位权2 的幂次128, 64, 32, 16, 8, 4, 2, 1

二进制位权表

位权2⁷2⁶2⁵2⁴2⁰
1286432168421

记住这 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)

十六进制对照表:

十进制0123456789101112131415
十六进制0123456789ABCDEF

二进制与十进制互转

十进制 → 二进制

方法:位权加减法

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

示例:

十进制计算过程二进制
129128 + 11000 0001
192128 + 641100 0000
130128 + 21000 0010
6764 + 2 + 10100 0011
3332 + 10010 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 → 二进制

权值1286432168421
判断129≥1281<641<321<161<81<41<21≥1
结果10000001

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

权值1286432168421
判断192≥12864≥640<320<160<80<40<20<1
结果11000000

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

权值1286432168421
判断33<12833<6433≥321<161<81<41<21≥1
结果00100001

二进制 → 十进制

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

示例:

1010 1010
= 128 + 0 + 32 + 0 + 8 + 0 + 2 + 0
= 170

练习:

1111 1110
= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 0
= 254

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

十进制二进制说明
00000 0000全 0
10000 0001最低位为 1
1270111 11117 个 1
1281000 0000最高位为 1
1921100 00002 个 1(常见子网掩码)
2241110 00003 个 1
2401111 00004 个 1
2481111 10005 个 1
2521111 11006 个 1
2541111 11107 个 1
2551111 1111全 1

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


存储单位换算

单位全称换算关系说明
bit (b)比特1 bit = 1/0最小信息单位
Byte (B)字节1 Byte = 8 bits基本存储单位
KBKilobyte1 KB = 1024 Bytes
MBMegabyte1 MB = 1024 KB
GBGigabyte1 GB = 1024 MB
TBTerabyte1 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 命令用的是哪个协议?多问多想,理论与实践结合,才能真正掌握。


🙋 学习路上不孤单,有坑一起填!



卡在参数调试、命令打架、功能没反应、资源失效?其他问题?直接戳我,也可以进群和同好交流!



📱 个人QQ:3838586495    👥 交流Q群:1094091455    📮 邮箱:leyan2504@163.com



内容帮你省了大把踩坑时间?可以文末小小打赏鼓励一波,也欢迎安利给身边学习的朋友~



✨ 欢迎来评论区「交作业」:分享你的配置思路、提出疑难问题;评论区正确填写邮箱,不错过任何人的解答回复!


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇