现代计算机网络体系结构
---中国科学技术大学软件学院 谢传芳
计算机网络就是一组通过一定形式连接起来的计算机系统,它需要四个要素的支持,即通信线路和通信设备、有独立功能的计算机、网络软件的支持、能实现数据通 信与资源共享。计算机网络具有两大参考模型,分别为OSI模型和TCP/IP模型,其中OSI模型为理论模型,而TCP/IP模型则已成为互联网事实的工 业标准,现在的通信网络一般都是采用TCP/IP协议簇,而应用编程都是采用socket套接字进行编程。
1. 网络体系结构重要概念
网络体系结构涉及以下几个重要的概念。
① 协议:为计算机网络中的数据交换而建立的规则、标准或约定的集合。
② 通信协议:通信双方必须共同遵守的规则和约定就称为通信协议。通信双方对数据的理解需要建立在约定与协议之上。
③ 接口:相邻两层之间的边界,在接口处规定了低层向上层提供的服务以及服务所使用的形式规范语句(服务原语)。
④ 服务:某一层提供的功能,并能通过接口提供给其相邻上层。
⑤ 网络体系结构:对计算机网络的各层功能精确定义及其各层遵守协议的集合。
⑥ 协议栈:网络各层协议按层次顺序排列而成的协议序列。
⑦ 点到点:体现在物理上两两连接,是物理拓扑,如光纤就必须是点到点连接。点到点协议体现在IP网络层或以下两层。
IP网络层是两两路由器进行点到点通信, 中间没有跨越其他通信设备。点到点传输的优点是发送端设备送出数据后,它的任务已经完成,不需要参与整个传输过程,这样不会浪费发送端设备的资源。另外, 即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲。点到点传输的缺点是发送端发出数据后,不知道接收端能否收到或何时能收到数据。 IP及以下各层采用的是点到点传输。
⑧ 端到端:体现在逻辑上的两两连接。端到端是体现在网络传输层,比如要将数据从A传送到E,中间可能经过A->B->C->D->E,对于传输层来说,它并不知道B、C、D的存在,它只认为报文数据是从A直接到E的,这就叫做端到端。总之,端到端是由无数点到点实现和组成的。
2. 网络分层模型
分层能使复杂的问题简单化,网络分层也是基于此原理。网络分层简化了网络设计,提高网络互联的标准化程度。网络分层是上一层都依赖于下一层,只有最底层才是物理的实际通信,其他对等层是虚拟通信。分层原理与方法如下图所示,网络分层模型涉及以下一些术语。
① 实体:每一层中的活动元素,可以是任何可发送或接收信息的硬件或软件进程,许多情况下,实体就是一个特定的软件模块。
② 对等实体:位于不同机器上同一层中的的实体。
③ 服务提供者:n层(下层)是 n+1层(上层)的服务提供者。
④ 服务用户:n+1层(上层)是n层(下层)的服务用户。
⑤ 服务访问点(SAP):服务提供的地点,也即接口上相邻两层实体交换信息之处。
⑥ 服务和协议的关系:服务是垂直的,协议是水平的。n层的服务用户只能看见n层的服务而无法看见n层的协议,在n层协议控制下两个对等实体间的通信使得n层能够向n+1层提供服务,要实现n层协议,需要使用n-1层提供的服务。
图 网络分层模型图
互 联网两大网络模型(OSI模型和TCP/IP模型)都是基于分层原理实现的。通过网络分层,可以获得好处有:各层之间相互独立,相邻层间交互只通过接口, 使整个问题复杂度下降。结构上可分割开,各层都可以采用最合适的技术来实现。每一层功能简单,易于实现和维护。某一层改动时,只要不改变接口服务的关系, 其他层则不受影响,灵活性好。分层有利于促进网络协议的标准化。
3.OSI网络模型
(1)OSI分层模型
开 放式系统互联模型(OSI)是1984年由国际标准化组织(ISO)提出的一个网络参考模型。作为一个概念性框架,提出时希望以后不同设备制造商和应用软 件开发商遵循此标准。现在,此模型已成为计算机间和网络间进行通信的主要模型,目前使用的大多数网络通信协议的结构都是基于OSI模型或参照OSI模型。
OSI模型将网络分为七层,即物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如下图所示。
图 OSI模型
对OSI分层模型各层解释如下:
① 物理层(Physical layer)是参考模型的最底层。该层是网络通信的数据传输介质,由连接不同结点的电缆与设备共同构成。物理层规定了激活、维持、关闭通信端点之间的机械 特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。在这一层,数据的单位称为比特(bit)。
② 数据链路层(Data link layer)是参考模型的第2层。主要功能是:在物理层提供的服务基础上,在通信的实体间建立数据链路连接,传输以“帧”为单位的数据包,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。
③ 网络层(Network layer)是参考模型的第3层。主要功能是:为数据在结点之间传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适合的路径,以及实现拥塞控制、网络互联等功能。
④ 传输层(Transport layer)是参考模型的第4层。主要功能是向用户提供可靠的端到端服务,处理数据包错误、数据包次序,以及其他一些关键传输问题。传输层向高层屏蔽了下层数据通信的细节,因此,它是计算机通信体系结构中关键的一层。
⑤ 会话层(Session layer)是参考模型的第5层。主要功能是:负责维护两个结点之间的传输链接,以确保点到点传输不中断,以及管理数据交换等功能。
⑥ 表示层(Presentation layer)是参考模型的第6层。主要功能是:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据加密与解密、数据压缩与恢复等功能。
⑦ 应用层(Application layer)是参考模型的最高层,为操作系统或网络应用程序提供访问网络服务的接口。
(2)OSI模型特点有如下特点
属于分层网络互连模型,分为通信子网和资源子网两级结构。
只有物理层之间是直接连接的,对等层之间采用相同的对等协议。
发送数据时,数据从高层到低层;接收数据时,数据从低层到高层。
4. 网络分层数据流说明
下 图画出了网络分层时的数据流图。网络中各层把数据当作一个流来处理,每层都有自己的传输单位,物理层传输单位是比特流,而只有这一层是物理的数据 传输,其他层都是逻辑的;链路层传输单位是帧;网络层传输单位是分组;传输层传输是段。源主机应用层数据往下层传递时每一层要增加相应的首部,称为封装; 到达目的主机后数据往上层传递时需要再剥掉相应的首部,称为拆封
。
图 网络分层数据流图