-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
55 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# 网络分层模型 | ||
|
||
模型这些抽象的概念,用于帮助自己理解一些网络架构,但是发现面对一些名词或者概念时总是无法对上,想整理记录一下。 | ||
|
||
## OSI 模型 | ||
|
||
OSI 模型的七层包括: | ||
|
||
- 7. 应用程序层:由软件应用程序生成并可由其使用的数据。该层使用的主 要协议是 HTTP。 | ||
- 6. 表示层:将数据转换为应用程序可以接受的形式。一些机构认为 HTTPS 加密和解密在该层进行。 | ||
- 5. 会话层:控制计算机之间的连接(这也可以由 TCP 协议在第 4 层处理)。 | ||
- 4. 传输层:提供在两个连接设备之间传输数据以及控制服务质量的方法。这里使用的主要协议是 TCP 和 UDP。 | ||
- 3. 网络层:处理不同网络之间的数据路由和发送。该层使用的最重要协议 是 IP 和 ICMP。 | ||
- 2. 数据链路层:处理同一网络中不同设备之间的通信。如果第 3 层比作一封邮件上的地址,那么第 2 层就指明了该地址的办公室号码或公寓号码。以 太网是这里最常用的协议。 | ||
- 1. 物理层:数据包被转换为电脉冲、无线电脉冲或光脉冲,并以比特(信 息的最小单位)的形式通过电线、无线电波或电缆进行传输。 | ||
|
||
> 想起考试时背的一串 `应表会传网数物`。 | ||
[Cloudflare 的一篇文章][1] 中提到: | ||
|
||
> 请务必记住,OSI 模型是对使得 Internet 正常工作的众多流程的概念化的抽象描述,阐述模型以及将其应用到现实世界中的 Internet 时,有时是主观的。OSI 模型有助于人们讨论网络设备和协议,确定哪些协议由哪些软件和硬件使用,并大致显示 Internet 的工作方式。但它并未严格地分步定义 Internet 连接的普遍运作方式。 | ||
没必要去严格的根据分层模型去学习 Internet 的工作方式,对其有一个大致的了解即可。比如,经常会被询问到 xxx 协议属于哪一层? | ||
我觉得这个问题不太好回答,引用[其他博客][2]中的说明: | ||
|
||
> 我觉得这种讨论没有意义。因为我们实际上在讨论两个东西而且试图将两个概念融合在一起。即: | ||
> | ||
> 协议工作在几层(基于几层实现)? | ||
> 协议为几层提供服务? | ||
> | ||
> 如果分开讨论,就清楚很多了。ARP 基于二层(意味着只用到了二层的功能,不需要三层的东西就可以工作)实现,为三层提供服务,帮助找到 IP 对应的 MAC 地址。 | ||
> 我们可以给很多有类似争议的协议定义: | ||
> | ||
> TLS 基于四层实现,为应用层提供服务; | ||
> TCP 基于三层实现,为应用层提供服务; | ||
> ICMP 工作在三层,为三层提供服务; | ||
> EIGRP 和 OSPF 基于 IP 协议,为三层提供服务; | ||
> BGP 基于四层实现,为三层提供服务(是不是很神奇?因为 BGP 通过 TCP 交换路由信息,为三层提供转发路由); | ||
## TCP/IP 模型 | ||
|
||
- 4. 应用程序层:这大致相当于 OSI 模型中的第 7 层。 | ||
- 3. 传输层:对应于 OSI 模型中的第 4 层。 | ||
- 2. 互联网层:对应于 OSI 模型中的第 3 层。 | ||
- 1. 网络访问层:结合了 OSI 模型中第 1 层和第 2 层的过程。 | ||
|
||
## 分层的意义 | ||
|
||
- [为了让每一个协议可以处理部分的问题,不同的协议之间可以互相工作][2] | ||
- [方便排查问题,可以将问题定位在某一层][2] | ||
|
||
--- | ||
|
||
[1]: https://www.cloudflare.com/zh-cn/learning/network-layer/what-is-the-network-layer/ "什么是网络层?|网络与 Internet 层" | ||
[2]: https://www.kawabangga.com/posts/6295 "理解网络的分层模型" |