计算机网络体系结构是指计算机网络层次
结构模型,它是各层的协议以及层次之间的端口的集合。在计算机网络中实现通信必须依靠
网络通信协议,广泛采用的是
国际标准化组织(ISO)1997年提出的
开放系统互联(Open System
Interconnection,
OSI)
参考模型,习惯上称为
ISO/OSI参考模型。
简介
计算机
网络结构可以从网络体系(Network Architecture)结构,
网络组织和
网络配置三个方面来描述。
网络体系结构是从功能上来描述,指
计算机网络层次
结构模型和各层协议的集合;网络组织是从网络的
物理结构和网络的实现两方面来描述;网络配置是从
网络应用方面来描述计算机网络的布局、硬件、软件和
通信线路。
计算机网络
体系结构是计算机网络及其部件所应该完成功能的精确定义。这些功能究竟由何种硬件或软件完成,是遵循这种体系结构的。体系结构是抽象的,实现是具体的,是运行在计算机软件和硬件之上的。
世界上第一个网络体系结构是美国
IBM公司于1974年提出的,它取名为
系统网络体系结构SNA(System Network Architecture)。凡是遵循SNA的设备就称为SNA设备。这些SNA设备可以很方便地进行互连。此后,很多公司也纷纷建立自己的网络体系结构,这些体系结构大同小异,都采用了层次技术。
基本概念
1.1 通信协议
在网络系统中 ,为了满足数据通信的双方准确无误的进行通信 ,这就需要我们根据在通信过程中产生的各种问题 ,制定一系列的通信双方必须遵守的规定 ,这就是我们所说的
通信协议。从通信协议的表现形式来看 ,它规定了交互双方用于通信的一系列语言法则和
语言意义 ,这些相关的协议能够规范各个
功能部件在通信过程中的正确操作。
1.2 实体
每层的具体功能是由该层的实体完成的。所谓实体是指能在某一层中具有数据收发能力的活动单元(元素)。一般就是该层的软件进程或者实现该层协议的硬件单元。在不同系统上同一层的实体互称为对等实体。
1.3 接口
上下层之间交换信息通过接口来实现。一般使上下层之间传输
信息量尽可能少 ,这样使两层之间保持其功能的相对独立性。
1.4 服务
服务就是网络中各层向其相邻上层提供的一组功能集合 ,是相邻两层之间的接口。因为在网络的各个分层机构中的单方面依靠关系 ,使得在网络中相互邻近层之间的相关界面也是
单向性的 :下层作为服务的提供者 ,上层作为服务的
接受者。上层实体必须通过下层的相关
服务访问点(Service
Access Point,
SAP),才能够获得下层的服务。SAP 作为上层与下层进行访问的服务场所 ,每一个 SAP 都会有有自己的一个标识 ,并且每个层间接口可以有多个 SAP。
1.5 服务原语
网络中的各种服务是通过相应的语言进行描述的 ,这些服务
原语可以帮助用户访问相应的服务 ,也可以像用户报告发生的相应事件。
服务原语可以带着不同的参数 ,这些参数可以指明需要与那台服务器相连、服务器的类别、和准备在这次连接上所使用的数据长度。假如被呼叫的用户不同意呼叫用户建立的连接数据大小 ,它会在一个“连接响应”原语中提出一个新的建议 ,呼叫的一方能够从“连接确认”的原语中得知情况。这样的整个过程细节就是协议内容的一部分。
1.6 数据单元
在网络中信息传送的单位称为
数据单元。
数据单元可分为 :
协议数据单元(PDU)、接口数据单元(
IDU)和
服务数据单元(SDU)。1)协议数据单元不同系统某层对等实体为实现该层协议所交换的信息单位 ,称为该层协议数据单。其中 :
协议控制信息 ,是为实现协议而在传送的数据的首部或尾部加的控制信息 ,如地址、差错控制信息、序号信息等 ;用户数据为实体提供服务而为上层传送的信息。考虑到协议的要求 ,如
时延、效率等因素 ,对协议数据单元的大小一般都有所限制。2)服务数据单元上层
服务用户要求
服务提供者传递的逻辑数据单元称为服务数据单元。考虑到协议数据单元对长度的限制 ,协议数据单元中的用户数据部分可能会对服务数据单元进行分段或合并。3)接口数据单元在同一系统的相邻两层实体的一次交互中 ,经过层间接口的
信息单元 ,称为接口数据单元。其中 ,接口控制信息是协议在通过层间接口时 ,需要加一些控制信息 ,如通过多少字节或要求的
服务质量等 ,它只对协议数据单元通过接口时有作用 ,进入下层后丢弃 ;接口数据为通过接口传送的
信息内容。
1.7 网络体系结构
网络体系结构就是以完成不同计算机之间的通信合作为目标,把需要连接的每个计算机相互连接的功用分成明确的层次,在结构里面它规定了同层次
进程通信的协议及相邻层之间的接口及服务。实际上网络体系结构就是用分层
研究方法定义的计算机网络各层的功能、各层协议以及接口的集合。
OSI七层参考模型
为把在一个
网络结构下开发的系统与在另一个网络结构下开发的系统互联起来,以实现更高一级的应用,使异种机之间的通信成为可能,便于网络结构标准化,
国际标准化组织(ISO)于1984年形成了
开放系统互连参考模型OSI/RM(Open Systems
Interconnection Reference Model,简称OSI)的正式文件。
OSI从逻辑上,把一个
网络系统分为功能上相对独立的7个有序的
子系统,这样
OSI体系结构就由功能上相对独立的7个层次组成,如图1所示。它们由低到高分别是
物理层、
数据链路层、
网络层、
传输层、
会话层、
表示层和
应用层。
(1)物理层(Physical,PH)传递
信息需要利用一些物理
传输媒体,如
双绞线、
同轴电缆、光纤等。物理层的任务就是为上层提供一个物理的连接,以及该
物理连接表现出来的机械、电气、功能和过程特性,实现透明的
比特流传输。在这一层,数据还没有组织,仅作为原始的比特流提交给上层——数据链路层。
(2)数据
链路层(Data-link,D)
数据链路层负责在2个相邻的结点之间的链路上实现无差错的
数据帧传输。每一帧包括一定的数据和必要的
控制信息,在接收方接收到数据出错时要通知
发送方重发,直到这一帧无差错地到达接收结点,数据链路层就是把一条有可能出错的实际链路变成让网络层看起来像不会出错的数据链路。实现的主要功能有:帧的同步、
差错控制、
流量控制、寻址、帧内定界、透明比特组合传输等。
(3)网络层(Network,N)网络中通信的2个计算机之间可能要经过许多结点和链路,还可能经过几个
通信子网。网络层
数据传输的单位是分组(Packet)。网络层的主要任务是
为要传输的分组选择一条合适的路径,使发送分组能够正确无误地按照给定的目的地址找到目的主机,交付给目的主机的传输层。
(4)传输层(Transport,T)传输层的主要任务是通过通信子网的特性,最佳地利用
网络资源,并以可靠与经济的方式为2个
端系统的会话层之间建立一条连接通道,以透明地传输报文。传输层向上一层提供一个可靠的端到端的服务,使会话层不知道传输层以下的
数据通信的细节。传输层只存在端系统中,传输层以上各层就不再考虑
信息传输的问题了。
(5)会话层(Session,S)在会话层以及以上各层中,数据的传输都以报文为单位,会话层不参与具体的传输,它提供包括访问验证和
会话管理在内的建立以及维护应用之间的通信机制。如服务器验证
用户登录便是由会话层完成的。
(6)表示层(Presentation,P)这一层主要解决用户信息的语法表示问题。它将要交换的数据从适合某一用户的
抽象语法,转换为适合OSI内部表示使用的传送语法。即提供格式化的表示和转换
数据服务。数据的压缩和解压缩、加密和解密等工作都由表示层负责。
(7)应用层(Application,A)这是
OSI参考模型的最高层。应用层确定进程之间通信的性质以满足用户的需求,以及提供网络与
用户软件之间的接口服务。
TCP/IP参考模型
20世纪70年代初期,
美国国防部高级研究计划局(
ARPA)为了实现异种网之间的互联与互通,大力资助
网络技术的
研究开发工作。ARPANET开始使用的是一种称为
网络控制协议(network control protocol,
NCP)的协议。随着
ARPANET的发展,需要更为复杂的协议。
1973年,引进了传输控制协议
TCP,随后,在1981年引入了网际协议
IP。1982年,TCP和IP被标准化成为
TCP/IP协议组,1983年取代了ARPANET上的NCP,并最终形成较为完善的TCP/IP
体系结构和协议规范。
TCP/
IP(transmission control protocol/internet protocol,传输控制协议/网际协议)由它的2个主要协议即TCP协议和IP协议而得名。TCP/IP是Internet上所有网络和主机之间进行交流时所使用的共同“语言”,是Internet上使用的一组完整的标准网络
连接协议。通常所说的
TCP/IP协议实际上包含了大量的协议和应用,且由多个独立定义的协议组合在一起,因此,更确切地说,应该称其为TCP/IP协议集。
TCP/IP共有4个层次,它们分别是
网络接口层、
网际层、
传输层和
应用层。TCP/IP
层次结构与OSI层次结构的对照关系如图2所示。
(1)网络接口层TCP/IP模型的最底层是网络接口层,也被称为
网络访问层,它包括了可使用TCP/IP与
物理网络进行通信的协议,且对应着OSI的
物理层和
数据链路层。TCP/IP标准并没有定义具体的网络
接口协议,而是旨在提供灵活性,以适应各种
网络类型,如
LAN、MAN和
WAN。这也说明,TCP/IP协议可以运行在任何网络上。
(2)网际层是在Internet标准中正式定义的第一层。网际层所执行的主要功能是处理来自传输层的分组,将分组形成
数据包(IP数据包),并为该数据包在不同的网络之间进行
路径选择,最终将数据包从源主机发送到目的主机。在网际层中,最常用的协议是网际协议IP,其他一些协议用来协助IP的操作。
(3)传输层传输层也被称为主机至主机层,与OSI的传输层类似,它主要负责主机到主机之间的
端对端可靠通信,该层使用了2种协议来支持2种数据的传送方法,它们是TCP协议和
UDP协议。
(4)应用层在TCP/IP模型中,
应用程序接口是最高层,它与
OSI模型中高3层的任务相同,都是用于提供
网络服务,如文件传输、
远程登录、
域名服务和简单
网络管理等。