计算机网路的体系结构概述

文章类别 in internet

计算机网络是一个复杂的东西,在计算机网络中最重要的就是 协议分层

网络协议

当多个实体之间需要传递信息的时候,我们就会使用协议来规定以怎样的形式来完成信息的传递。

从前面的什么是因特网?一文中,我们已经知道了网络是由节点和连接这些节点的链路组成的,那么这些节点在通过链路传输数据的时候就需要用到协议。

网络协议由三要素组成:

  • 语法: 数据和控制信息的构成或者格式。
  • 语义: 各个控制信息的具体含义。
  • 同步: 事件实现顺序的详细说明。

协议可以理解为事先规定好的规则。比如计算机网络中的节点之间都要进行数据交换与控制信息,它们都要遵守事先规定好的 交换数据的格式和时序,在发送和接收到信息后应该采取什么样的动作等规则,这些规则就是协议。协议即为事先规定好的规则!

层次模型

模块化

我们在设计研发一个产品或者处理一个比较复杂的事情时,我们往往不是一味的从整体出发,而是将复杂的事情划分成多个小的而且相互独立的模块进行处理,这样子我们可以专注的处理特定的事情,而且分工明确,处理起来效率高。

那么计算网络这么的复杂,当然也是要用到模块化思想了。

分层

之前由国际标准化组织(ISO)提出一个试图使各种计算机在世界范围内互连为网络的标准框架,既开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model)。它定义了网络互联的7层框架:

OSI

虽然后来整套OSI标准制定出来了,但是当时因特网发展非常迅速,已在覆盖了全世界的很大范围了,所以被得到广泛应用的网络框架并不是OSI而是因特网的TCP/IP的4层框架:

TCP/IP

因为OSI复杂又不实用,TCP/IP结构简单而且得到广泛的使用,在这里结合两者的优点,使用5层协议框架的原理体系进行探讨:

five

现在对每层的作用进行概述理解,接下来对每层进行更细致的探究。

  • 应用层(application layer)。 用来完成特定的网络应用进程间的通信与交互。 应用层的协议定义了应用进程之间通信与交互的规则,应用层的协议有很多的,比如我们熟悉的万维网应用的HTTP协议,文件传送的FTP协议,电子邮件的SMTP协议等。应用层传递的数据单元是报文。

  • 运输层(transport layer)。 为应用层的进程提供传送应用报文服务。运输层的服务分为复用和分用,复用是指多个应用进程之间可以同时使用它下面的运输层服务,而分用则是运输层把收到的信息分别交付给上面的应用层中相对应的进程。 运输层的协议有TCP和UDP:
    • TCP(Transmission Control Protocol),传输控制协议,它是面向连接,可靠的数据服务,传输的单位为报文段
    • UDP(User Datagram Protocol), 用户数据协议,它提供的是无连接的,尽最大的努力传输数据服务,不保证可靠性,传输的单位为用户数据段
  • 网络层(network layer)。 负责的是分组交换网上不同主机进行通信,运输层产生的报文段或者用户数据段会被网络层封装成分组或者进行传送,这里会选择会选择合适的路由将分组进行转发,最后达到目的主机。 因特网主要的网络层协议是无连接的网际协议(Internet Protocol,IP)和许多路由的选择协议。所以因特网的网络层也叫网际层或者IP层。

  • 数据链路层(data link layer)。 链路就是连接节点,数据链路层将分组从链路的一端传送到另一端,传送的数据单元是,每一帧包含了数据必要的控制信息。

  • 物理层(Physical layer)。在传输媒体上传输比特流,将链路层中帧的每一个比特从一个节点传输到下一个节点。传送的数据单位是比特。