分层结构
ISO/OSI模型
OSI 参考模型有 7 层, 自下而上依次为【物理层、数据链路层、网络层、传输层、会话层、表示层、应用层】(记忆:物链网输会示用)。低三层统称为 通信子网,它是为了联网而附加的通信设备,完成数据的传输功能;高三层统称为 资源子网,它相当于计算机系统,完成数据的处理等功能。传输层承上启下。
OSI 参考模型的层次结构如下图所示:
物理层
物理层的传输单位是比特,功能是在物理媒体上为数据端设备透明地传输原始比特流,不用参与数据封装工作。 为了实现该功能,物理层需要定义硬件设备标准,如电缆类型、接口类型、电压标准等。
数据链路层
数据链路层的传输单位是帧,两台主机之间的数据传输总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。
数据链路层将网络层交来的 IP 分组封装成帧,并且可靠地传输到相邻结点的网络层。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为尽可能可靠的数据链路。数据链路层的功能可以概括为:物理寻址、组帧、差错控制、点对点流量控制、数据重发和传输管理等。
网络层
网络层(Netweork Layer)的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现整个网络的流量控制。
传输层
传输层(Transport Layer)的传输单位是报文段或用户数据报,传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制(端到端)、差错控制、服务质量、数据传输管理等服务。
数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。点到点可以理解为主机到主机之间的通信;端到端的通信是指运行在不同主机内的两个进程之间的通信,只有传输层及以上各层的通信才能称为端到端。
会话层
会话层(Session Layer)允许不同主机上的各个进程之间进行会话。这种服务主要为用户进程建立连接,并在连接上有序地传输数据,这就是会话。
会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话 。会话层包含一种称为检查点的机制来维持可靠会话,使通信会话在通信失效时从检查点继续恢复通信,即断点下载的原理。
表示层
表示层主要处理在两个通信系统中交换信息的表示方式。 不同机器采用的编码和表示方法不同,使用的数据结构也不同。 为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密 也是表示层的功能。
应用层
应用层是 OSI 参考模型的最高层,是用户与网络的接口。应用层为特定类型的网络应用提供访问 OSI 参考模型环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多
TCP/IP 模型
TCP/IP 模型从低到高依次为【网络接口层(对应 OSI 参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应 OSI 参考模型中的会话层、表示层和应用层)】。TCP/IP 由于得到广泛应用而成为事实上的国际标准。TCP/IP 模型的层次结构如下图所示:
TCP/IP 模型与 OSI 模型的不同点在于 网络接口层 和 应用层,可以理解为 TCP/IP 模型中这两层涵盖了 OSI 协议中多层的功能:
学习计算机网络时,我们往往采取折中的办法,即综合 OSI 参考模型和 TCP/IP 模型的优点,采用一种如下图所示的只有 5 层协议的体系结构,即我们所熟知的【物理层、数据链路层、网络层、传输层和应用层】。
数据封装层次
应用层的数据通过计算机网络多个层次的封装发送至信道中,对于采用 5 层协议的体系结构,封装的过程如下图所示:
这里需要强调一下的是每一层的数据封装名称
首要的是掌握英文的名词表述,相比中文,这些表述更加统一和精准,中文翻译良莠不齐,常常有多种表述方式,但是表述的都是一个概念,能见词闻义即可。
- 应用层:Data(数据)
- 传输层:UDP Datagram(UDP 数据包)、TCP Segment(TCP 数据段,TCP 分段)
- 网络层:IP Packet(IP 分组,IP 数据包,IP 报文)
- 数据链路层:Frame(帧)
- 物理层:Bit(比特 )