上面是OSI和TCP/IP两种模型对网络的具体分层. 所说的OSI7层模型是大家普遍认可的方法. 实际研究中, 往往将OSI分成5种模型, 即应用层, 传输层, 网络层, 数据链路层和物理层. 因为应用层, 表示层和会话层都是在主机内完成, 可以统一到应用层范畴. 在TCP/IP中, 从服务和协议的角度,将IOS中的数据链路层和物理层统一成为网络层提供服务的网络接口层. 因此, 理解OSI7层模型, 对计算机网络会有一个完整的认识. 那么7层都分别完成了什么功能呢?
应用层
提供计算机系统与用户的接口, 比如我们打开电脑看到的邮箱、文件下载和传输、浏览器等. 和别的计算机进行网络交互需要遵守相同的协议, 常用的协议有FTP、SMTP、 POP3、 HTTP等.
会话层
主要功能是在两个节点间建立、维护和释放面向用户的连接, 并对会话进行管理和控制, 保证会话数据可靠传送. 比如我们同事打开了邮箱, 浏览器, 会话层就会在所使用的主机端建立两个连接, 并对这两个连接进行CPU资源的合理分配.
表示层
负责处理在两个内部数据表示结构不同的通信系统间交换信息的表示格式, 为数据加密和解密以及为提高传输效率提供必需的数据压缩及解压等功能. 比如将UTF8编码的数据转换为UTF16编码, 将重复的数据进行压缩, 提高传输效率.
整个应用层处理的是用户对用户间的交互.
传输层
的功能是为端到端的连接提供可靠的传输服务, 为端到端的连接提供流量控制、 差错控制、 服务质量等管理服务. 负责的是不同主机中两个线程之间的通信.
传输层遵守的协议有TCP和UDP两种, 其中TCP又称为三次握手协议. 即客户端向服务端交换一次数据的过程可以分为三个阶段:
第一次握手: 客户端向服务端发送连接请求连接, 请求服务端确认;
第二次握手: 服务端向服务端通过报文头向客户端发送响应信息, 告诉确认完毕, 进入等待状态;
第三次握手: 客户端向服务端发送请求数据.
UDP协议是客户端通过数据报的发送信息, 不对服务器的状态进行判断.
相比UDP来说, TCP又称为安全协议.
打开mac中的其他/活动监视器. 可以看到自己计算机正在运行的程序.
可以看到Google Chrome的端口号为462, 而在其他主机中Google Chrome的端口可能是450, 那么传输层提供的就是为这两个端口间的传输提供服务.
网络层
是将传输层传下来的报文段进行分组, 选择适当的路由, 将分组信息交付到目的主机. 用于网络层的协议有IP、 ICMP、 ARP、 RARP、 IGMP. 网络层的服务实体是主机到主机. 比如日常工作时, 通过浏览器访问http://127.0.0.1的本机服务; 通过主机的IP地址访问共享文件夹等, 都属于网络层的提供的服务范围.
数据链路层
的任务是将网络层传下来的IP数据报组装成帧, 对连接链路进行建立、 拆除、 分离. 我们在机房看到的交换机和网桥就属于该层的硬件.
物理层
用于透明地传输比特流, 为数据端设备提供传送数据通路. 常用的硬件有集线器、 中继器. 处于网络最底层, 提供最基础的服务.
在发送端, 整个OSI网络7层模型从上到下依次对通信数据进行加工处理, 最终转变为可以在网络线路中传送的byte流. 而在接收端是一个相反的过程, 以上就是计算机网络传输整个过程的详细介绍.
喜欢和关注都是对我的鼓励和支持~