计算机网络体系结构摘要:计算机冈络体系结构描述了计算机网络功能实体的划分原则及其相互之间协同工作的方法和规则。
本文主要介绍的是现在应用比较广泛的层次型网络体系结构,OSI基本参考模型,计算机网络的七层通信协议的主要功能及其之间的关系,并简单介绍了TCP/IP四层通信模型。
关键字:计算机网络,层次型网络体系结构,OSI,TCP/IP上世纪60年代末期,早期的网络都是各公司根据用户的要求而设计的。
虽然用户的应用要求千变万化,但对网络(通信)的要求相对一致。
为使公司的产品可以适应千变万化的应用要求,尤其是适应用户扩充应用的要求,同时也是为了满足市场的要求,保证新老产品的兼容性和可操作性,各公司提出了基于本公司产品的计算机网络体系结构。
随着计算机技术和通信技术的发展,通用的计算机网络体系结构逐渐浮出水面。
现在应用比较广泛的网络体系结构为层次型网络体系结构。
层次型网络体系结构是计算机网络出现以后第一个被提出并实际使用的网络体系结构。
直到目前,其产生和发展的过程始终与计算机网络产生和发展的过程保持协调一致。
为了简化网络设计与实现的复杂性,层次型网络体系结构将复杂的网络问题分解为若干个不同的小问题,每个层次专注于解决特定的同题,这样就比较容易对所解决本层次涉及的同题实现模块化和标准化,标准化的层次间的通信规则被称为协议。
层次型网络体系结构是层和协议的集合。
典型的层次型网络体系结构通信模型如下图所示层次型网络体系结构首先提出了模块化的设计实现思想:将复杂的网络问题分解为较为单纯易于解决的小问题;用不同的模块解决不同的问题。
不同的模块之间接口简单明确,因此可以各自独立地制定标准和进行开发。
这一思路即使在后来出现的其他网络体系结构中仍然得到了遵循。
国际标准化组织ISO为层次型网络体系结构设计了OSI参考模型。
该模型将网络自底向上划分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层七个层次,每个层次完成经过分解的特定的网络工作。
OSI参考模型规定了每个层次需要完成的工作,并对完成工作的方式和标准提出了建议。
物理层物理层主要是定义物理设备和物理媒体之间的接口,提供点到点的比特流透明传输的物理链路,定义内容包括接口的机械特性、电气特性、功能特性、规程特性。
不同的传输设备和传输媒体具有不同的接口定义,例如:ISO2110标准定义了串行和并行的调制解调器接口的机械特性。
随着新型传输设备和传输媒体的出现,物理层的标准将不断更新和丰富。
物理层协议通常由硬件支持。
数据链路层物理层的定义虽然使得物理设备之间的电气信号可以传输,但由于传输媒体本身的质量以及外部的因素,线路上传输的信号可能产生差错,尤其是利用基于模拟制式的公用电话网来传输信息更是如此。
这种差错将直接影响计算机对数据的处理结果。
为了解决这一问题,数据链路层增加了差错处理功能,利用差错处理技术,向上层(网络层)提供较为可靠的传输服务。
差错处理技术的核心是纠错码的构造、差错校验、差错重发的传输控制规程的实现。
数据链路层的主要功能有:a)差错处理。
将物理层传输来的比特流按照一定的规则组合成数据块,并引入各种检错码生成技术和传输控制规程,屏蔽物理层的特征,变不可靠的物理连接为可靠的数据链路,从而保证点-点的数据传输正确性。
b)流量控制。
数据链路层采用一些流量控制技术,解决物理设备处理能力不匹配的问题,如数据通信的收/发方的物理端口的速度不一样,一方速度快而另一方速度慢,可以通过数据链路层进行流量控制,相互协调,以达到一致。
c)数据链路。
数据链路是指活动着的物理连接。
通信之前,由通信双方互相联系而建立;信息传输完毕,双方协商而释放链路。
d)多路复用。
为了充分发挥传输线路的效率,数据链路层利用各种多路复用技术(如频分、时分和波分多路复用技术)来支持多个用户的信息同时在一条物理线路上传输。
网络层数据链路层虽然提供了理论上的可靠传输服务,但这种服务仅发生在结点和结点之间,如仅支持交换机对交换机之间用户终端对交换机的通信,而用户的数据传输主要发生在端到端之间。
用户如果要与网络内其他用户进行通信,可能需要经过多个中继结点,如交换机、路由器等,并由这些中继结点负责数据传输和转发。
网路层的功能就是利用各种路由算法,使得中继结点能够根据数据分组中的地址信息和依据某种策略作出决策,尽快地转发收到的数据分组,使得用户的数据能尽快地穿越网络,送往目的地。
路由选择是网路层的一大特征,也是网路层的内在能力。
网络层提供了编址功能。
为了保证附接到网络上的每台主机都具有访问和被访问的能力,网络中的设备都被分配了一个唯一的标识,这个标识称为网络地址。
对于不同类型的网络,网络地址的格式和取值范围也有所不同。
目前因特网使用的TCP/IP协议中的IP协议属于网路层协议,每个接入因特网的计算机设备都需分配一个IP地址,其地址格式为48比特位,简写为xxx.xxx.xxx.xxx,例如:202.119.2.199。
网络层提供了复用/解复用和分组的功能,利用复用/解复用技术,可以使得多对用户的数据可以交织在同一条数据链路上传输;多个用户可以在一条线路上同时进行数据传输。
利用分组技术可以根据不同的网路情况,将用户数据组装成适合网路传输的数据分组,使得用户数据能够在不同的网络中传输。
例如两个用户分别在不同的单位进行数据通信,用户的数据需从一个用户所在的局域网,经广域网,再到另一个用户所在的局域网,由于局域网和广域网的传输的数据分组大小是不一样的,这种分组的功能就由网路层来实现。
传输层OSI网络层服务可以支持用户信息在同一个网络上的端到端传输,但不同的网络(如各种广域网和局域网)是针对不同的应用环境而设计的,具有不同的性能(例如,不同的网络支持不同的吞吐量、速度和传输延迟;不同的网络支持不同的分组长度,收取的传输费用也不同);不同的用户对网络通信也可能具有不同的要求,网络的性能和用户的要求之间也许存在着某种差异。
传输层的主要工作就是解决用户要求和网络服务之间的差异,包括采用分流/合流技术,用多条网络连接来支持一个用户的数据传输,使得具有低吞吐量、低速率和高传输延迟的网络可以支持用户高速传输数据的要求;采用复用/解复用技术和可能的拼接/分割技术,用一条网络连接来支持多个用户的数据传输,使得具有高吞吐量、高速率和低传输延迟、且高费用的网络可以之财产用户的低传输成本的要求;采用分段/合段技术,使得传输有限长度用户数据(分组)的网络可以支持用户的无限长数据的传输;采用适当的差错检测和恢复技术,使得差错率较高的网络可以支持用户高可靠数据传输的要求。
总之,传输层的功能就是屏蔽各种通信网络的性能差异,以及用户要求和网络服务之间的差异,以满足各类用户的应用要求。
因特网使用的TCP/IP协议集中TCP协议属于传输层协议。
会话层传输层提供的服务可以保证用户数据按照用户的要求从网络的一端传输到另一端,剩下的问题是用户如何控制信息的交互过程(如数据交换的时序、如何保证数据交换的完整性等),网络应当提供什么样的功能捞协助用户管理和控制用户之间的信息交换,从而进一步满足用户应用的要求。
会话层的目的是向用户提供组织和控制信息交换的手段。
会话层的主要功能包括1、利用令牌技术来保证数据交换、会话同步的有序性,拥有令牌的一方可以发送数据,或者执行其它动作,令牌可以被申请和转让2、利用活动和同步技术来保证用户数据的完整性,并让用户知道整个交换技术过程3、利用分段和拼接技术来提高数据交换的效率,多块用户数据可以合并在一起进行传输4、利用重新同步技术来实现用户会话的延续性,支持传输过程中的故障恢复。
表示层由于不同的计算机系统可能采用了不同的信息编码(例如:PC机通常采用AsCⅡ码,而mM主机通常采用EBCDIc编码)。
并且可能具有不同的信息描述和表示方法(例如:对于同样一个整数,有些计算机可能采用2个字节表示,而另一些计算机可能采用4个字节)等。
如果不加处理,不同的信息描述(表示)将导致通信的计算机系统之间无法正确地识别信息,正如汉语是一种描述事情的方法,但是未必所有的人都可以理解。
表示层主要解决异种计算机系统之间的信息表示问题,屏蔽不猕系统在数据表示方面的差异。
解决信息表示的方法是定义一种公共的语法表示方法,并在信息交换时进行本机语法和公共语法之间的转换,从而使通信的计算机之间能够正确地识别信息,真正达到信息交互的目的。
这种方法类似于人类信息交流时惯于采用的方法,例如不同国别的交谈者在一起交谈时常常选择英语作为公共语言,并依靠翻译完成本地语言和英语的转换。
应用层应用层是计算机网络可向最终用户提供应用服务的唯一窗口,其目的是支持用户联网的应用要求。
由于用户的要求不同,应用层含有支持不同应用的多种应用实体,提供多种应用服务。
(如电子邮件、文件传输、虚拟终端等)。
因特网使用的协议集提供的应用服务如:电子邮件(简单邮件传输协议)、远程登录、文件传输协议、超文本传输协议、域名系统等,都属于应用层的协议,为用户提供了各种网络应用服务。
随着使用网络的用户增多。
用户的应用需求将更加丰富应用层的服务。
尽管OSI参考模型的设计比较理想和精确,但是由于其不合适的提出时机和缺乏网络实际研发机构和组织的支持,因此最终并未流行开来成为实用的架构。
与OSI参考模型从理论到实际应用的途径正好相反,目前广泛使用的TCP/IP参考模型的第一次出现是作为Berke—ley UNIX操作系统的一部分,由于其免费好用同时能够较好解决异种网络互连问题,很快就吸引了一个庞大的用户群,这又反过来推动了其发展改进并形成标准,最终成为当前互联网事实上的体系结构标准。
TCP/IP模型将网络划分为四层:网络接口层、互联网层、传输层、应用层。
网络接口层物理层是定义物理介质的各种特性:机械特性、电子特性、功能特性、规程特性。
数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
常见的接口层协议有:Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。
网络层负责相邻计算机之间的通信,其功能包括三方面:一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
二、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
三、处理路径、流控、拥塞等问题。
网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol) 控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。