Skip to content

Commit 1a30da1

Browse files
committed
docs: update network summary article
1 parent c76ac64 commit 1a30da1

File tree

2 files changed

+287
-25
lines changed

2 files changed

+287
-25
lines changed

source/_posts/network/计算机网络总结.md

Lines changed: 285 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,47 +6,309 @@ categories: network
66
---
77

88

9-
10-
> 计算机网络学习记录,还未整理完
11-
## 计算机网络分层目的
12-
![202503111556721.png](https://s2.loli.net/2025/04/21/qZNg6wSLh3xUoaD.png)
13-
14-
### OSI 七层网络模型
15-
应用层
16-
表示层
17-
会话层
18-
传输层
19-
网络层
20-
数据链路层
21-
物理层
22-
23-
> 以下都根据 TCP / IP 模型分层进行讨论
9+
# 计算机网络概述
2410
## 计算机网络和因特网
11+
2512
### 什么是因特网 Internet
2613
今天的因特网是人类有史以来创造的最大的系统,该系统具有数以亿计相连的计算机、通信链路和交换机。
2714
因特网是一个世界范围的计算机网络,互联了全世界数十亿计计算设备的网络,所有这些设备都称为 **主机(host)** 或者 **端系统(end system)**,这些设备通过 **通信链路(communication link)****分组交换机(packet switch)** 的网络连接在一起。
2815

2916
### 一些概念
30-
分组:当一台端系统像另外一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节而形成的信息包在计算机网络的术语来说就是 **分组(packet)**
3117

32-
分组交换机:主要包括 **路由器(router)****链路层交换机(link-layer-switch)**,它们从一条入信道链路接收到达的分组,并从它的一条出信道转发分组。
18+
**分组**:当一台端系统像另外一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节而形成的信息包在计算机网络的术语来说就是 **分组(packet)**
19+
20+
**分组交换机**:主要包括 **路由器(router)****链路层交换机(link-layer-switch)**,它们从一条入信道链路接收到达的分组,并从它的一条出信道转发分组。
21+
22+
**路径**:一个分组所经历的一系列通信链路和分组交换机称为通过该网络的 **路径**
23+
24+
**理解**:类似将大批货物运送到仓库,分组是卡车、分组交换机是卡车独立的从高速或者国道行驶、仓库是端系统。
3325

34-
路径:一个分组所经历的一系列通信链路和分组交换机称为通过该网络的 **路径**
26+
**ISP**:端系统通过 **因特网服务提供商(Internet Service Provider)** 接入因特网,每个 ISP 又是一个由多台分组交换机和多段通信链路组成的网络
3527

36-
理解:类似将大批货物运送到仓库,分组是卡车、分组交换机是卡车独立的从高速或者国道行驶、仓库是端系统
28+
**套接字接口****套接字接口(Socket Interface)** 规定了一个端系统上的程序请求因特网基础设施向另一个端系统上目的地程序交付数据的方式
3729

38-
ISP:端系统通过 **因特网服务提供商(Internet Service Provider)** 接入因特网,每个 ISP 又是一个由多台分组交换机和多段通信链路组成的网络
30+
**协议**:定义了在两个或者多个通信实体之间交换的报文的格式和顺序,以及报文的发送/接收或其他事件所采取的操作
3931

40-
套接字接口:**套接字接口(Socket Interface)** 规定了一个端系统上的程序请求因特网基础设施向另一个端系统上目的地程序交付数据的方式。
32+
## 计算机网络分层目的
33+
![202503111556721.png](https://s2.loli.net/2025/04/21/qZNg6wSLh3xUoaD.png)
34+
35+
# TCP/IP 网络模型详解
36+
37+
## OSI 七层网络模型对比
38+
### OSI模型
39+
- 应用层 (Application Layer)
40+
- 表示层 (Presentation Layer)
41+
- 会话层 (Session Layer)
42+
- 传输层 (Transport Layer)
43+
- 网络层 (Network Layer)
44+
- 数据链路层 (Data Link Layer)
45+
- 物理层 (Physical Layer)
46+
47+
### TCP/IP模型
48+
- 应用层 (Application Layer) - 对应OSI的应用层、表示层、会话层
49+
- 传输层 (Transport Layer) - 对应OSI的传输层
50+
- 网络层 (Network Layer) - 对应OSI的网络层
51+
- 数据链路层 (Data Link Layer) - 对应OSI的数据链路层和物理层
4152

42-
协议:定义了在两个或者多个通信实体之间交换的报文的格式和顺序,以及报文的发送 / 接收或其他事件所采取的擦操作。
4353
## 应用层
4454

55+
应用层是TCP/IP模型的最高层,直接为用户应用程序提供网络服务。该层包含了各种网络应用和应用层协议。
56+
57+
### 主要功能
58+
- 为应用程序提供网络服务接口
59+
- 处理用户数据的表示、加密和会话管理
60+
- 定义应用程序之间的通信规则
61+
62+
### 常见协议
63+
- **HTTP/HTTPS**:超文本传输协议,用于Web浏览
64+
- **FTP**:文件传输协议,用于文件上传下载
65+
- **SMTP**:简单邮件传输协议,用于邮件发送
66+
- **POP3/IMAP**:邮件接收协议
67+
- **DNS**:域名系统,用于域名解析
68+
- **SSH**:安全外壳协议,用于远程登录
69+
- **Telnet**:远程终端协议
70+
71+
### 应用架构
72+
- **客户端-服务器架构**:明确区分客户端和服务器角色,如Web浏览器和Web服务器
73+
- **P2P架构**:对等网络,每个节点既是客户端又是服务器,如BitTorrent
74+
- **混合架构**:结合了客户端-服务器和P2P的优点
75+
76+
### 套接字编程
77+
应用层程序通过套接字与传输层交互,套接字是应用进程和传输层协议之间的编程接口。主要包括:
78+
- **TCP套接字**:提供可靠的、面向连接的数据传输
79+
- **UDP套接字**:提供不可靠的、无连接的数据传输
80+
4581
## 传输层
4682

83+
传输层负责为应用层提供端到端的数据传输服务,确保数据能够在网络中可靠或高效地传输。
84+
85+
### 主要功能
86+
- **多路复用和多路分解**:允许多个应用程序同时使用网络
87+
- **可靠数据传输**:确保数据完整、有序地到达目的地
88+
- **流量控制**:防止发送方发送速度过快导致接收方缓冲区溢出
89+
- **拥塞控制**:防止网络拥塞,维护网络性能
90+
91+
### 主要协议
92+
93+
#### TCP(传输控制协议)
94+
**特点**
95+
- 面向连接:通信前需建立连接
96+
- 可靠传输:保证数据完整性和顺序
97+
- 流量控制:滑动窗口机制
98+
- 拥塞控制:慢启动、拥塞避免算法
99+
100+
**连接过程**
101+
1. **三次握手建立连接**
102+
2. **数据传输**
103+
3. **四次挥手断开连接**
104+
105+
**适用场景**:对数据完整性要求高的应用,如HTTP、FTP、邮件等
106+
107+
#### UDP(用户数据报协议)
108+
**特点**
109+
- 无连接:发送数据前无需建立连接
110+
- 不可靠:不保证数据到达和顺序
111+
- 开销小:头部简单,传输效率高
112+
- 支持广播和组播
113+
114+
**适用场景**:对实时性要求高、能容忍数据丢失的应用,如视频直播、在线游戏、DNS查询等
115+
116+
### 端口号
117+
传输层通过端口号实现多路复用,常见端口包括:
118+
- HTTP:80端口
119+
- HTTPS:443端口
120+
- FTP:21端口
121+
- SSH:22端口
122+
- DNS:53端口
123+
47124
## 网络层
48125

126+
网络层负责在不同网络之间路由数据包,实现跨网络的端到端通信。
127+
128+
### 主要功能
129+
- **路由选择**:确定数据包从源到目的地的最佳路径
130+
- **分组转发**:根据路由表将数据包转发到下一跳
131+
- **地址管理**:分配和管理IP地址
132+
- **分片和重组**:处理不同网络MTU大小差异
133+
134+
### 主要协议
135+
136+
#### IP协议(Internet Protocol)
137+
**IPv4特点**
138+
- 32位地址,约43亿个地址
139+
- 无连接、不可靠的尽力而为服务
140+
- 分片机制处理MTU限制
141+
- 地址分类:A、B、C、D、E类
142+
143+
**IPv6特点**
144+
- 128位地址,地址空间巨大
145+
- 简化的头部结构
146+
- 内置安全性支持
147+
- 取消分片,由端系统处理
148+
149+
#### 路由协议
150+
**内部网关协议(IGP)**
151+
- **RIP**:基于距离向量算法,跳数作为度量
152+
- **OSPF**:基于链路状态算法,支持层次化路由
153+
- **EIGRP**:思科专有的高级距离向量协议
154+
155+
**外部网关协议(EGP)**
156+
- **BGP**:边界网关协议,用于自治系统间的路由
157+
158+
#### 辅助协议
159+
- **ICMP**:因特网控制报文协议,用于错误报告和网络诊断
160+
- **ARP**:地址解析协议,将IP地址映射到MAC地址
161+
- **DHCP**:动态主机配置协议,自动分配IP地址
162+
163+
### 网络设备
164+
- **路由器**:工作在网络层,负责路径选择和分组转发
165+
- **三层交换机**:结合了交换机和路由器的功能
166+
49167
## 数据链路层
50168

169+
数据链路层负责在直接相连的两个节点之间提供可靠的数据传输服务。
170+
171+
### 主要功能
172+
- **成帧**:将网络层的数据包封装成帧
173+
- **链路接入**:协调多个节点对共享链路的访问
174+
- **可靠交付**:在相邻节点间提供可靠数据传输
175+
- **错误检测和纠正**:检测并可能纠正传输错误
176+
177+
### 帧结构
178+
典型的数据链路层帧包含:
179+
- **帧首部**:包含源和目的MAC地址、类型字段等
180+
- **数据字段**:来自网络层的数据包
181+
- **帧尾部**:通常包含错误检测码
182+
183+
### 访问控制协议
184+
185+
#### 多路访问协议
186+
**信道划分协议**
187+
- **TDMA**:时分多址,分配时间片
188+
- **FDMA**:频分多址,分配频率带
189+
- **CDMA**:码分多址,使用不同编码
190+
191+
**随机接入协议**
192+
- **ALOHA**:最简单的随机接入协议
193+
- **CSMA**:载波监听多路访问
194+
- **CSMA/CD**:载波监听多路访问/冲突检测(以太网使用)
195+
- **CSMA/CA**:载波监听多路访问/冲突避免(WiFi使用)
196+
197+
#### 轮流协议
198+
- **轮询协议**:主节点轮询各从节点
199+
- **令牌传递协议**:令牌环网络
200+
201+
### 链路层寻址
202+
- **MAC地址**:48位物理地址,全球唯一
203+
- **地址解析协议(ARP)**:将IP地址解析为MAC地址
204+
- **交换机学习**:自学习MAC地址表
205+
206+
### 常见技术
207+
- **以太网**:最广泛使用的局域网技术
208+
- **WiFi(802.11)**:无线局域网标准
209+
- **蓝牙**:短距离无线通信
210+
- **PPP**:点对点协议,用于广域网连接
211+
212+
### 网络设备
213+
- **网桥**:连接两个局域网段
214+
- **交换机**:多端口网桥,工作在数据链路层
215+
- **网卡**:网络接口卡,实现物理连接
216+
217+
## 物理层
218+
219+
物理层是TCP/IP模型的最底层,负责在物理媒介上传输原始比特流。
220+
221+
### 主要功能
222+
- **比特传输**:将数字比特转换为物理信号在媒介上传输
223+
- **物理连接管理**:建立、维护和释放物理连接
224+
- **传输媒介规范**:定义传输媒介的物理特性
225+
- **信号调制解调**:将数字信号转换为模拟信号,反之亦然
226+
227+
### 传输媒介
228+
229+
#### 有线媒介
230+
**双绞线**
231+
- **非屏蔽双绞线(UTP)**:最常用的局域网线缆
232+
- **屏蔽双绞线(STP)**:抗干扰能力更强
233+
- 类别:Cat5、Cat5e、Cat6、Cat6a、Cat7等
234+
235+
**同轴电缆**
236+
- 抗干扰能力强,传输距离远
237+
- 主要用于有线电视和早期以太网
238+
239+
**光纤**
240+
- **单模光纤**:传输距离远,用于长距离通信
241+
- **多模光纤**:传输距离较短,用于建筑物内部
242+
- 优点:带宽大、抗干扰、保密性好
243+
244+
#### 无线媒介
245+
**无线电波**
246+
- **地面微波**:点对点通信,需要视距
247+
- **卫星通信**:覆盖范围广,延迟较大
248+
- **WiFi**:2.4GHz和5GHz频段
249+
250+
**红外线**
251+
- 短距离通信,如遥控器
252+
- 需要视距,易受阻挡
253+
254+
### 物理层标准
255+
- **RS-232**:串行通信标准
256+
- **RJ-45**:以太网连接器标准
257+
- **IEEE 802.3**:以太网物理层标准
258+
- **IEEE 802.11**:无线局域网物理层标准
259+
260+
### 信号传输
261+
**数字信号编码**
262+
- **曼彻斯特编码**:每个比特都有电平跳变
263+
- **差分曼彻斯特编码**:根据跳变方向表示比特
264+
- **4B/5B编码**:4位数据编码为5位,保证时钟同步
265+
266+
**模拟信号调制**
267+
- **幅移键控(ASK)**:改变载波幅度
268+
- **频移键控(FSK)**:改变载波频率
269+
- **相移键控(PSK)**:改变载波相位
270+
271+
### 网络设备
272+
- **中继器**:放大和再生信号,扩展传输距离
273+
- **集线器**:多端口中继器,工作在物理层
274+
- **调制解调器**:数字信号与模拟信号转换
275+
276+
## 层间数据封装过程
277+
278+
当数据从应用层向下传输时,每一层都会添加自己的头部信息:
279+
280+
1. **应用层**:用户数据(如HTTP请求)
281+
2. **传输层**:添加TCP/UDP头部,形成段(Segment)
282+
3. **网络层**:添加IP头部,形成数据包(Packet)
283+
4. **数据链路层**:添加帧头部和尾部,形成帧(Frame)
284+
5. **物理层**:转换为比特流在物理媒介上传输
285+
286+
当数据到达目的地时,逐层去除头部信息,最终将原始数据交付给应用程序。
287+
288+
## 网络性能指标
289+
290+
### 关键指标
291+
- **带宽**:链路能够传输数据的最大速率
292+
- **延迟**:数据从源到目的地的传输时间
293+
- **吞吐量**:单位时间内实际传输的数据量
294+
- **丢包率**:传输过程中丢失的数据包比例
295+
296+
### 延迟组成
297+
- **传输延迟**:将所有比特推向链路所需时间
298+
- **传播延迟**:信号在物理媒介中传播的时间
299+
- **处理延迟**:路由器处理分组头部的时间
300+
- **排队延迟**:分组在路由器缓冲区等待的时间
301+
302+
## 网络安全考虑
303+
304+
每一层都面临不同的安全威胁和防护措施:
305+
306+
- **应用层**:恶意软件、网络钓鱼、应用漏洞
307+
- **传输层**:会话劫持、TCP序列号攻击
308+
- **网络层**:IP欺骗、路由攻击、DDoS攻击
309+
- **数据链路层**:MAC地址欺骗、ARP攻击
310+
- **物理层**:窃听、信号干扰、物理破坏
311+
312+
## 总结
51313

52-
## 物理层
314+
TCP/IP模型是现代互联网的基础架构,每一层都有其特定的职责和协议。随着技术发展,各层协议在不断演进,但分层的基本思想和架构原理保持稳定,这使得网络技术能够模块化发展和持续创新。

themes/reimu/_config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -529,8 +529,8 @@ article_copyright:
529529
author: true
530530
link: true
531531
title: false
532-
date: false
533-
updated: false
532+
date: true
533+
updated: true
534534
license: true
535535
license_type: by-nc-sa # https://creativecommons.org/licenses
536536

0 commit comments

Comments
 (0)