分层结构

掌握ISO/OSI模型和TCP/IP的每一层功能,以及两个模型的对应关系,可能在选择题中考察。

ISO/OSI模型

OSI 参考模型有 7 层, 自下而上依次为【物理层、数据链路层、网络层、传输层、会话层、表示层、应用层】(记忆:物链网输会示用)。低三层统称为 通信子网,它是为了联网而附加的通信设备,完成数据的传输功能;高三层统称为 资源子网,它相当于计算机系统,完成数据的处理等功能。传输层承上启下。

OSI 参考模型的层次结构如下图所示:

应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
网络层
数据链路层
物理层
网络层
数据链路层
物理层
网络层
数据链路层
物理层
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
应用层协议
表示层协议
会话层协议
传输层协议
端系统
中继系统
中继系统
中继系统
端系统

物理层

物理层的传输单位是比特,功能是在物理媒体上为数据端设备透明地传输原始比特流,不用参与数据封装工作。 为了实现该功能,物理层需要定义硬件设备标准,如电缆类型、接口类型、电压标准等。

数据链路层

数据链路层的传输单位是帧,两台主机之间的数据传输总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。

数据链路层将网络层交来的 IP 分组封装成帧,并且可靠地传输到相邻结点的网络层。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为尽可能可靠的数据链路。数据链路层的功能可以概括为:物理寻址、组帧、差错控制、点对点流量控制、数据重发和传输管理等。

网络层

网络层(Netweork Layer)的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现整个网络的流量控制。

传输层

传输层(Transport Layer)的传输单位是报文段或用户数据报,传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制(端到端)、差错控制、服务质量、数据传输管理等服务。

数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。点到点可以理解为主机到主机之间的通信;端到端的通信是指运行在不同主机内的两个进程之间的通信,只有传输层及以上各层的通信才能称为端到端。

会话层

会话层(Session Layer)允许不同主机上的各个进程之间进行会话。这种服务主要为用户进程建立连接,并在连接上有序地传输数据,这就是会话。

会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话 。会话层包含一种称为检查点的机制来维持可靠会话,使通信会话在通信失效时从检查点继续恢复通信,即断点下载的原理。

表示层

表示层主要处理在两个通信系统中交换信息的表示方式。 不同机器采用的编码和表示方法不同,使用的数据结构也不同。 为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密 也是表示层的功能。

应用层

应用层是 OSI 参考模型的最高层,是用户与网络的接口。应用层为特定类型的网络应用提供访问 OSI 参考模型环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多

TCP/IP 模型

TCP/IP 模型从低到高依次为【网络接口层(对应 OSI 参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应 OSI 参考模型中的会话层、表示层和应用层)】。TCP/IP 由于得到广泛应用而成为事实上的国际标准。TCP/IP 模型的层次结构如下图所示:

网络接口层
网络层
传输层
应用层
网络接口层
网络层
主机 A
路由器
网络接口层
网络层
传输层
应用层
主机 B
网络 1
网络 2

TCP/IP 模型与 OSI 模型的不同点在于 网络接口层 和 应用层,可以理解为 TCP/IP 模型中这两层涵盖了 OSI 协议中多层的功能:

物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
OSI 的体系结构
物理层
网际层 IP
传输层 (TCP 或 UDP)
应用层

(各种应用层协议
比如 TELNET, FTP,
SMTP 等)
TCP/IP 体系结构
物理层
数据链路层
网络层
传输层
应用层

(各种应用层协议
比如 TELNET, FTP,
SMTP 等)
五层协议的体系结构

学习计算机网络时,我们往往采取折中的办法,即综合 OSI 参考模型和 TCP/IP 模型的优点,采用一种如下图所示的只有 5 层协议的体系结构,即我们所熟知的【物理层、数据链路层、网络层、传输层和应用层】。

数据封装层次

应用层的数据通过计算机网络多个层次的封装发送至信道中,对于采用 5 层协议的体系结构,封装的过程如下图所示:

1
2
3
4
5
AP
10100 ..... 比特流 ..... 110100
数据
H2
H3
数据
H4
数据
H5
数据
数据
电信号和光信号
物理传输媒体
1
1
电信号和光信号
物理传输媒体
10100 ..... 比特流 ..... 110100
数据
H2
H3
数据
H4
数据
H5
数据
数据
1
2
3
4
5
AP
2
1
主机1
主机2

这里需要强调一下的是每一层的数据封装名称

首要的是掌握英文的名词表述,相比中文,这些表述更加统一和精准,中文翻译良莠不齐,常常有多种表述方式,但是表述的都是一个概念,能见词闻义即可。

  • 应用层:Data(数据)
  • 传输层:UDP Datagram(UDP 数据包)、TCP Segment(TCP 数据段,TCP 分段)
  • 网络层:IP Packet(IP 分组,IP 数据包,IP 报文)
  • 数据链路层:Frame(帧)
  • 物理层:Bit(比特 )