一、分层思想
1. 分层背景
各大网络厂商原先采用私有网络模型,给网络通信带来不便。因此,国际标准化组织(ISO)设立了OSI(开放系统互联,Open System Interconnection)参考模型。
2. 分层优点
- 将网络复杂问题简单化,网络各层之间相互独立,各层只负责实现一种功能。
- 灵活性更好,当网络通信出现问题,只需要针对问题所在层进行操作,不会影响其他网络层。
- 用户不用关心网络通信的具体实现,只需要考虑对应用的使用。
二、OSI模型
1. 模型各层说明
OSI模型分为七层,自上而下分别是:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
| 层级 | 功能 |
|---|---|
| 应用层 | 负责用户提供网络服务 |
| 表示层 | 负责数据的处理,如编码、解码、加密、解密、压缩、解压缩 |
| 会话层 | 负责建立、管理、终止会话 |
| 传输层 | 负责端到端的数据传输服务 |
| 网络层 | 负责逻辑寻址,寻找最佳网络连接路径 |
| 数据链路层 | 负责硬件寻址,以及数据的误差检验 |
| 物理层 | 负责建立、维护、断开物理连接 |
2. 模型示例说明
- 应用层:应用层就是用户和电脑的人机交互界面。如甲同学通过微信向乙同学发送“你好”。
- 表示层:计算机收到甲同学发送的“你好”后,将其编码为计算机能够识别的二进制比特流(0和1组成)。
- 会话层:甲同学的计算机理解数据后,要和乙同学的计算机建立会话关系。
- 传输层:通过端口实现甲同学微信和乙同学微信端到端的连接,提供可靠的数据传输服务。
- 网络层:甲同学计算机根据自己的IP和乙同学计算机的IP,选择最佳的网络连接路径。
- 数据链路层:网络层获取到数据后,将数据和源电脑、目的电脑的Mac地址封装为数据帧,如果校验数据发现出现错误,便重新传输数据帧。
- 物理层:将比特流形式的数据帧转化为电信号,通过硬件设施传输到乙同学的计算机上。
三、TCP/IP模型
1. 模型说明
除OSI七层模型外,还有TCP/IP模型,较为常见的TCP/IP模型为TCP/IP 5层模型。该模型从上到下依次是应用层、传输层、网络层、数据链路层、物理层,也就是OSI模型的上三层在TCP/IP五层模型中被归为应用层。
2. 各层数据单元
| 层级 | 数据内容 | 数据单元 |
|---|---|---|
| 应用层 | 真实数据 | |
| 传输层 | TCP头部(或UDP头部)+比特流数据 | 数据段 |
| 网络层 | IP头部+TCP头部(或UDP头部)+比特流数据 | 数据包 |
| 数据链路层 | MAC头部+IP头部+TCP头部(或UDP头部)+比特流数据+校验码 | 数据帧 |
| 物理层 | 根据数据帧转换为电信号 |
- 二层(数据链路层)原理:根据MAC地址值决定数据的转发。
- 三层(网络层)原理:根据IP地址值决定数据的转发。
- 四层(传输层)原理:根据TCP端口或UDP端口决定数据的转发。
2.1 数据封装与解封装
- 数据封装
- 应用层:将真实数据转换为比特流。
- 传输层:将TCP头部(或UDP头部)和比特流数据封装为数据段。
- 网络层:将IP头部和数据段封装为数据包。
- 数据链路层:将MAC地址、数据包和校验码封装为数据帧。
- 物理层:将二进制形式的数据帧比特流转换为电信号形式,在网络中传输。
- 数据解封装
- 物理层:将电信号转换为二进制形式的比特流数据帧。
- 数据链路层:判断数据中封装的MAC头部是否与自己的MAC地址值相同,是的话就将去掉MAC头部的数据包部分传递给网络层;反之丢弃数据。
- 网络层:判断数据包中封装的IP地址是否与自己的IP地址值相同,是的话就将去掉IP头部的数据段部分传递给传输层,反之丢弃数据。
- 传输层:根据数据段中的TCP头部或UDP头部判断将数据发往哪个应用程序,将数据传递给应用层。
- 应用层:将比特流数据解码还原为原始数据。
3. TCP/IP协议族
| 层级 | 常见协议 |
|---|---|
| 应用层 | HTTP(TCP/80)、FTP(TCP/20或TCP/21)、TFTP(UDP/69) |
| 传输层 | TCP、UDP |
| 网络层 | IP |
| 数据链路层 | 点对点协议 |
| 物理层 | IEEE802.3有线局域网(以太网)、IEEE802.11无线局域网标准 |

328

被折叠的 条评论
为什么被折叠?



