计算机的网络体系以及参考模型
- 一、OSI七层模型
- 二、TCP/IP参考模型
- 三、TCP/IP 五层参考模型
- 四、OSI 模型和 TCP/IP 模型异同比较
- 五、OSI 和 TCP/IP 协议之间的对应关系
- 六、为什么 TCP/IP 去除了表示层和会话层?
- 七、数据如何在各层之间传输(数据的封装过程)
一、OSI七层模型
OSI 七层模型可分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,第三层统称为通信子网,主要完成数据传输的功能,高三层统称为资源子网,主要完成数据的处理等功能。
- 应用层:其作用是通过应用程序间的交互来完成特定的网络应用
- 表示层:表示层的作用是处理两个通信系统中交换信息的表达方式,提供的服务有数据压缩,数据加密以及数据描述
- 会话层:会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话
- 传输层:传输层主要负责主机中进程之间的通信,功能是端对端连接提供可靠服务
- 网络层:网络层的主要任务是选择合适的网间路由和交换节点,确保数据按时成功传送,在发送数据的时候,它会将传输层的报文封装成分组和包从源端口向目的端口转发
- 数据链路层:数据链路层是点对点的通信,它的任务是将网络层传来的ip数据报组装成帧,同时,会检测所受到的帧有无差错,如果有的话,就简单的丢弃掉,以免占用网络资源
- 物理层:物理层作为参考模型的最低一层,主要实现的就是计算机节点之间的比特流的透明传输,尽可能地屏蔽传输介质和物理设备地影响。
二、TCP/IP参考模型
OSI 七层模型在提出时的出发点是基于标准化的考虑,而没有考虑到具体的市场需求,使得该模型结构复杂,部分功能冗余,因而完全实现 OSI 参考模型的系统不多。而 TCP/IP 参考模型直接面向市场需求,实现起来也比较容易,因此在一经提出便得到了广泛的应用。基于 TCP/IP 的参考模型将协议分成四个层次,如上图所示,它们分别是:网络访问层、网际互联层、传输层、和应用层。
① 应用层
TCP/IP 模型将 OSI 参考模型中的会话层、表示层和应用层的功能合并到一个应用层实现,通过不同的应用层协议为不同的应用提供服务。例如:FTP、Telnet、DNS、SMTP 等。
② 传输层
该层对应于 OSI 参考模型的传输层,为上层实体提供源端到对端主机的通信功能。传输层定义了两个主要协议:传输控制协议(TCP)和用户数据报协议(UDP)。其中面向连接的 TCP 协议保证了数据的传输可靠性,面向无连接的 UDP 协议能够实现数据包简单、快速地传输。
③ 网际互联层
网际互联层对应 OSI 参考模型的网络层,主要负责相同或不同网络中计算机之间的通信。在网际互联层, IP 协议提供的是一个不可靠、无连接的数据报传递服务。该协议实现两个基本功能:寻址和分段。根据数据报报头中的目的地址将数据传送到目的地址,在这个过程中 IP 负责选择传送路线。除了 IP 协议外,该层另外两个主要协议是互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
④ 网络接入层
网络接入层的功能对应于 OSI 参考模型中的物理层和数据链路层,它负责监视数据在主机和网络之间的交换。事实上,TCP/IP 并未真正描述这一层的实现,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与 TCP/IP 的网络接入层进行连接,因此具体的实现方法将随着网络类型的不同而有所差异。
三、TCP/IP 五层参考模型
五层体系的协议结构是综合了 OSI 和 TCP/IP 优点的一种协议,包括应用层、传输层、网络层、数据链路层和物理层。其中应用层对应 OSI 的上三层,下四层和 OSI 相同。五层协议的体系结构只是为介绍网络原理而设计的,实际应用还是 TCP/IP 四层体系结构。
四、OSI 模型和 TCP/IP 模型异同比较
相同点:
① OSI 参考模型与 TCP/IP 参考模型都采用了层次结构。
② 都能够提供面向连接和无连接两种通信服务机制。
不同点:
① OSI 采用的七层模型; TCP/IP 是四层结构。
② TCP/IP 参考模型没有对网络接口层进行细分,只是一些概念性的描述; OSI 参考模型对服务和协议做了明确的区分。
③ OSI 先有模型,后有协议规范,适合于描述各种网络;TCP/IP 是先有协议集然后建立模型,不适用于非 TCP/IP 网络。
④ TCP/IP 一开始就提出面向连接和无连接服务,而 OSI 一开始只强调面向连接服务,直到很晚才开始制定无连接的服务标准。
⑤ OSI 参考模型虽然被看好,但将网络划分为七层,实现起来较困难;相反,TCP/IP 参考模型虽然有许多不尽人意的地方,但作为一种简化的分层结构还是比较成功的。
五、OSI 和 TCP/IP 协议之间的对应关系
六、为什么 TCP/IP 去除了表示层和会话层?
OSI 参考模型在提出时,他们的理想是非常好的,但实际上,由于会话层、表示层、应用层都是在应用程序内部实现的,最终产出的是一个应用数据包,而应用程序之间是几乎无法实现代码的抽象共享的,这也就造成 OSI 设想中的应用程序维度的分层是无法实现的,例如,我们几乎不会认为数据的压缩、加密算法算是一种协议,而会话的概念则更为抽象,难以用协议来进行描述,所以在后来的 TCP/IP 协议框架的设计中,便将表示层和会话层与应用层整合在一起,让整个过程更为清晰明了。
七、数据如何在各层之间传输(数据的封装过程)
数据封装过程
数据解封装过程