大学时候学习计算机网络,学完后仅有的记忆就是五层模型、七层模型,TCP/IP、HTTP、FTP几个概念了。如今随着工作中对这些概念的不断认识,现在也该重新整理下这块的内容了。

        OSI七层网络模型(学院派)

        OSI的全称是Open Systems Interconnect ,也就是开放的互联系统。OSI的网络模型是一个大而全的模型。七层模型的示意图如下所示:

计算机网络模型-LMLPHP

图1.1 OSI七层网络模型示意图

        7层设计从分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

  • 物理层

            PC机与服务器的通信最终都是通过物理网络来实现,而物理网络可以传播的是电波讯号,也就是说物理层要将计算机的信息编码成电波讯号或电流脉冲(这里没有过多去考究,做为软件开发人员,了解这里做了什么就行了) 在介质中传输。

  • 数据链路层

        数据链路层通过物理层链路供数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、帧序列以及流控 。

  • 网络层

       负责在源和终点之间建立连接。它一般包括网络寻径,还可能包括流量控制、错误检查等。相同MAC标准的不同网段之间的数据传输一般只涉及到数据链路层,而不同的MAC标准之间的数据传输都涉及到网络层。例如IP路由器工作在网络层,因而可以实现多种网络间的互联。 这里需要知道的是,大名鼎鼎的IPV4和IPV6协议就是网络层的协议。

  • 传输层

        向高层提供可靠的端到端的网络数据流服务。每一个应用程序都会在网卡上注册一个端口号,端口与端口之间的通信就在这层实现。我们常常听说的TCP/IP协议就是传输层的协议。

  • 会话层

        会话层建立、管理和终止表示层与实体之间的通信会话;

  • 表示层

        供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别。这一层其实就是为了解决不同操作系统间的通信问题

  • 应用层

        最接近终端用户的OSI层,这就意味着OSI应用层与用户之间是通过应用软件直接相互作用的 。我们所熟知的HTTP协议、HTTPS协议、DNS协议、SSH协议、FTP等,都是应用层的协议,而应用软件通常是通过应用层的这些协议完成通信。

        TCP/IP 模型(实战派)

        OSI的模型太过细化,适合理论上的学术研究。TCP/IP的模型较为简洁,有很强的实用价值。我们来看下这个模型是做了怎样的简化呢:

计算机网络模型-LMLPHP

图1.2 TCP/IP网络模型示意图

        从示意图中可以看出,该模型包含了:网络接口层(又称链路层)、网络层、传输层和应用层。

        教学中的五层模型(教学派)

        记得计算机网络在讲到五层模型,老师特别强调要记牢。五层模型分别是:物理层、数据链路层、网络层、传输层、应用层。它的示意图如下所示:

计算机网络模型-LMLPHP

图1.3 教学中的五层模型示意图

        在《计算机网路》教材的注解中,明确说明了5层模型只是为了方便介绍计算机网络原理而设计的,而在实际应用中还是TCP/IP四层模型。四层模型中的网络接口层实际就是将数据链路层和物理层整合在一起的说法,将其拆分介绍更容易把问题描述的更清晰。

        了解了网络模型的基本结构,后面将对网络层、传输层和应用层的一些协议做详细介绍。

03-05 22:05