来自:清华大学
此文将简单介绍计算机网络体系结构,分为:
·第一楼 网络的层次体系结构
·第二楼 ISO/OSI基本参考模型
·第三,四楼 网络体系结构的基本特性
·第五楼 IEEE 802局域网协议
·第六楼 TCP/IP协议族
网络的层次体系结构
计算机网络在70年代迅速发展, 特别在ARPANET建立以后,世界上许多计算机大公司都先后推出了自己的计算机网络体系结构。例如IBM公司的系统网络结构SNA,DEC公司的分布式网络结构DNA等,但这些网络体系结构具有封闭的特点,它们只适合于本公司的产品连网,其他公司的计算机产品很难入网,这就妨害了实现异种计算机互连以达到信息交换、资源共享、分布处理和分布应用的需求。客观需求迫使计算机网络体系结构由封闭走向开放式。国际标准化组织ISO经过多年努力于1984年提出了"开放系统互连基本参考模型" ISO/OSI-RM,从此开始了有组织有计划地制定一系列网络国际标准。
1.计算机网络面临的问题和分层的好处
用户的资源和信息存储在采用不同操作系统的主机中,这些主机分布在网络的不同地方,需要在不同的传输介质上实现采用不同操作系统的主机之间的通信,解决异种机和异种网络互连问题的方法。
分层的好处在于:容易解决通信的异质性(heterogeneity)问题;上层解决不同种语言的相互翻译(数据的不同表示);下层解决信息传递;使复杂问题简化,高层屏蔽低层细节问题;每层只关心本层的内容,不用知道其他层如何实现;使设计容易实现,每个层次向上一层提供服务,向下一层请求服务。
2.分层的原则
当需要由一个不同等级的抽象时就应当有一个相应的层次;
每一层的功能应当时非常明确的;
层与层的边界应选择的使通过这些边界的信息量尽量少些,否则不方便;
层数太少,会使每一层的协议太复杂,但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
[ 本帖最后由 skysea 于 2008-7-27 16:57 编辑 ]

最新回复
1.gif
各层功能简介:
第一层: 物理层PH (Physical)
第二层: 数据链路层DL(Data-link)
第三层: 网络层N (Network)
第四层: 运输层T (Transport)
第五层: 会话层S (Session)
第六层: 表示层P (Presentation)
第七层: 应用层A (Application)
·物理层:
提供相邻设备间的比特流传输。它是利用物理通信介质,为上一层(数据链路层)提供一个物理连接,通过物理连接透明地传输比特流。
所谓透明传输指经实际电路后传送的比特流没有变化,任意组合的比特流都可以在这个电路上传输,物理层并不知道比特的含义。 物理层要考虑的是如何发送"0"和"1",以及接收端如何识别。
·数据链路层:
负责在两个相邻的节点间的线路上无差错的传送以帧为单位的数据,每一帧包括一定的数据和必要的控制信息,在接收点接收到数据出错时要通知发送方重发,直到这一帧无误得到达接收节点。数据链路层就是把一条有可能出错的实际链路变成让网络层看来好像不出错的链路。
·网络层:
网络中通信的两个计算机之间可能要经过许多个节点和链路,还可能经过几个通信子网。网络层数据的传送单位是分组(packet),网络层的任务就是要选择合适的路由,使发送站的运输层发下来的分组能够正确无误的按照地址找到目的站并交付目的站的运输层,这就是网络层的寻址功能。
对于广播信道构成的通信子网,路由问题很简单,因此这种子网的网络层非常简单,甚至没有。对于通信子网来说,最多只到网络层。
·运输层:
任务是根据通信子网的特性最佳的利用网络资源,并以可靠和经济的方式为两个端系统的会话层之间建立一条运输连接,透明的传输报文。
运输层向上一层提供一个可靠的端到端的服务,使会话层不知道运输层以下的数据通信的细节。运输层只存在在端系统(主机)中,运输层以上层就不再管信息传输问题了。
·会话层:
会话层虽然不参与具体的数据传输,但它对数据进行管理,它向互相合作的表示进程之间提供一套会话设施,组织和同步它们的会话活动,并管理它们的数据交换过程。
这里,"会话"的意思是指两个应用进程之间为交换面向进程的信息而按一定规则建立起来的一个暂时联系。
·表示层:
提供端到端的信息传输。处理的是OSI系统之间用户信息的表示问题。在OSI中,端用户(应用进程)之间传送的信息数据包含语义和语法两个方面。语义是信息数据的内容及其含义,它由应用层负责处理。语法是与信息数据表示形式有关方面,例如信息的格式、编码、数据压缩等。表示层主要用于处理应用实体面向交换的信息的表示方法。这样即使每个应用系统有各自的信息表示法,但被交换的信息类型和数值仍能用一种共同的方法来表示。它包含用户数据的结构和在传输时的比特流或字节流的表示。在OSI 中,用一种抽象语法表示法ASN.1(Abstract Syntax Notation One)来定义应用协议数据单元和用户信息,而用一种基本编码规BER (Basic Encoding Rules)来描述在传输过程中的内容的比特流和字节流的表示,即一种传送语法。
·应用层:
是OSI参考模型的最高层,应用层确定进程之间通信的性质以满足用户的需要;负责用户信息的语义表示,并在两个通信者之间进行语义匹配。
就是说应用层不仅要提供应用进程所需要的信息交换和远程操作,而且还要作为互相作用的应用进程的用户代理(user agent),来完成一些为进行语义上有意义的信息交换所必需的功能。
下面我们以OSI/RM为主,介绍网络体系结构的一些基本概念。
1.基本概念
(1) (N)层、(N)实体
子系统
我们知道,OSI参考模型的基本构造技术是分层。它将开放系统的全部功能划分为七个层次,每个划分称为一个子系统。处于参考模型(N)层的子系统记为(N)子系统,同一开放系统的相邻层及其子系统分别用(N+1),(N)、(N-1)层子系统来表示。(N)层表示某一特定的层,那么(N+1)表示相邻高层,(N-1)表示相邻低层。此种表示方法也适用于与这些层有关的概念,如(N)协议,(N+1)服务,(N-1)实体等。
1.gif
实体
一个(N)子系统在逻辑上可认为由一个或多个实体(entity)组成。或者说,(N)实体是(N)子系统内的活动元素,执行(N)层的功能。它具有两个方面:类型和一组实例。(N)实体类型是指该(N)实体所能执行的(N)层功能的特定集合。(N)实体类型的实例是指在与该(N)实体类型相关的开放系统中对该(N)实体类型(即功能)的一次特定的调用。在不同的开放系统中,同一层的实体称为对等实体(peer entites)。
2.gif
开放系统、子系统、实体、协议和层的关系
(2) (N)服务与(N)协议
每一个(N)实体,只能与同一开放系统中上一个相邻实体即(N+1)实体和下一相邻实体即(N-1)实体通过它们的共同边界直接通信;而同层内处于不同开放系统的通信必须通过相邻的低层及其以下各层的通信来完成的。如动画所示。从最高层应用层起,依次类推,直到最低层物理层。物理层内两个对等实体则通过它们的物理媒体直接通信。
由此我们看到,对等(N+1)实体间的通信只能通过相邻的对等(N)实体完成。(N)实体向(N+1)实体提供它们间的通信能力的一组业务(facilities)称为(N)服务。因此,(N+1)实体必须请求(N)实体的服务才能完成通信。而(N)实体提供给(N+1)实体的服务则是通过调用(N-1)实体提供的服务和执行(N)层内的功能来实现。
(N)实体在执行(N)层功能时,确定(N)对等实体间通信行为的一组规则(语义)和格式(语法)称为(N)协议。
因此,(N)层、(N-1)、(N+1)之间协议和服务的关系是:(N)层实体利用(N-1)层提供的服务和执行(N)层协议来对(N+1)提供服务。
(3) (N)层服务访问点(N)-SAP和(N)服务原语
(N)层实体向(N+1)层实体提供服务,(N+1)层实体向(N)层实体请求服务,从概念上讲,这是通过位于(N)层和(N+1)层的界面上的服务访问点(N)-SAP(N-Service Access Point)来实现的。(N)-SAP是一个访问工具,由一组服务元素和抽象操作组成,并由(N+1)实体在该点调用。我们把(N)层中提供(N)服务的那些(N)实体总称为(N)服务提供者;而把调用(N)服务的(N+1)实体称为(N)服务用户。
3.gif
服务模型
服务的请求与提供是通过在服务访问点SAP上服务原语(Primitive) 的发送与接收来实现的。这要求(N)-服务用户与(N)-服务提供者跨服务访问点(N)-SAP进行交互,它指出了相应的服务和必须执行的抽象操作。服务原语是一种原子动作,它由服务用户发出也可由服务提供者发起。原语所描述的交互只是一种抽象的交互,并不涉及交互实体在服务访问点N-SAP上如何具体交换信息。从实现的角度看,一个服务要求可能包含着一组原语的调用和在一定的时间内执行一系列的交互。动画给出了"连接建立"服务元素调用相关服务原语的情形:开放系统A的(N+1)实体欲与开放系统B的(N+1)实体建立连接,则A的(N+1)实体通过(N)-SAP发出(N)连接建立请求(N)-CONNECTION-request 原语;(N)实体(即(N)服务提供者)接受此原语,执行相应的(N)协议功能及有关操作,在B的(N)-SAP处向(N+1)实体发出(N+1)连接建立指示(N)CONNECTION-indication 原语,指出A的(N+1)实体欲与其建立(N)连接。若B的(N+1)实体同意建立连接,则通过(N)-SAP向(N)实体发出连接建立响应(N)CONNECTION-response 原语,执行(N)协议功能及相关操作,在A的(N)-SAP处(N)服务提供者向(N+1)实体发出(N)连接建立确认(N)CONNECTION-Confirm 原语,至此,对等实体(N+1)实体间的(N+1)连接建立。
4.jpg
(N)层服务访问点(N)-SAP和(N)服务原语
服务元素类型:通信双方实体对的交互关系需要有不同类型的服务元素。有三种类型服务元素:确认服务、非确认服务、仅由服务提供者发起的服务。
(4) 连接、连接端点、地址
如前所述,对等(N+1)实体间的彼此通信交换信息是通过调用相应(N)-SAPs上的(N)服务来实现的。连接是其中的一项重要服务。它是根据(N+1)对等实体的要求,由(N)对等实体的(N)-SAPs间建立的一种"逻辑连接"。每条(N)连接由两个连接点(N)CEPs(Connection-end-points)及相应的连接端点标识符(N)CEPs-identifiers 加以定义。
5.jpg
·标题与标题域
标题title是一个实体的永久标识符。在OSI环境中,用以命名该实体。命名实体的所有标题的集合称为全局标题域或标题空间。标题空间的任一子集称为标题域。因此,标题域可以包含在全局标题域内,也可以包含在另一个标题域内。
为了标识标题域,需要给标题域命名,它是OSI环境中唯一标识该标题域的标识符。
因此,标题有全局标题和局部标题之分,它们应该是无歧义的。全局标题可以由标题域名和该标题域内的局部标题组成。
在OSI环境内,分层的标题域中,全局标题可以由该层的标题域名和该层内的局部标题组成。例如,会话层局部标题为abc的实体,它的全局标题则为Sabc。运输层内端点的实体,它的局部标题也可为abc,但其全局标题则为Tabc。因此,会话层和运输层中的实体,它们各目的局部标题相同,但它们在不同的层中,因此而它们在OSI环境中的全局标题则是不相同的。表2.1列出了这些情况。
表2.1
特定层名
标题域名
局部标题实体
相应的全局标题
Application
Presentation
Session
Transport
Network
Data-link
Physical
A
P
S
T
N
DL
PH
e1, e2
e3
abc
abc
Ae1, Ae2
Ae3
Sabc
Tabc
·地址
也称(N)服务访问点地址,是用来表识(N)服务访问点的标识符,它标识了连接某个(N+1)实体的一个特定的(N)服务访问点。当该(N+1)实体从这个服务访问点脱开时,该(N)地址不再提供对该(N+1)实体的访问。若该(N)服务访问点又新连到一个不同的(N+1)实体,则该(N)地址标识了这个新的(N+1)实体,而不是原来的那个(N+1)实体。
一个(N+1)实体可以通过一个或多个(N)SAP与一个或多个(N)实体相连,
6.gif
实体、SAP、Address 关系图
·连接端点标识符
(N)-CEP indentifier 用来标识(N)连接端点(N)-CEP。当(N+1)实体与某一个对等(N+1)实体建立(N)连接时,支持该(N)连接的每个(N)实体将赋予相应的(N+1)实体一个(N)连接端点标识符。
一个(N)服务访问点内可以有多个(N)连接端点,但每个连接端点标识符在该(N)服务访问点内则是唯一的。因此,(N)连接端点标识符由两部分组成:即该(N)连接端点所在的(N)服务访问点地址(N)-address和 该(N)连接端点后缀,它唯一地标识在该(N)服务访问点的一个连接端点。
这样一个(N)连接端点标识符可表示为〔(N)address,(N)CEP-suffix 〕有序二元组。
对于每条(N)连接有二个(N)连接端点及相应的二个(N)连接端点标识符,为了标识(N)连接,用一个(N)连接标识符来表示。
(5) 数据单元
在OSI环境内,信息传送发生在一层的已建立起连接的对等实体之间,也可发生在同一开放系统相邻子系统的实体之间。因此,采用不同类型的数据单元来表示这种不同传送方式的信息。
·(N)协议数据单元(N)PDU
已建立起连接的同层对等(N)实体间交换信息的单元称为(N)协议数据单元(N)-PDU((N)protocol Data Unit)。
每一个(N)-PDI有两个主要部分组成:协议控制信息(N)-PCI和用户数据(N)-UD。(N)-UD是(N)实体从其用户(即(N+1)实体)接收到的内容。一旦收到(N)-UD,(N)实体就用(N)-PCI为用户数据加上前缀,形成(N)的协议数据单元(N)-PDU。(N)-PCI中通常包含(N)协议标识符,(N)-PDU类型,地址信息,及其他有关信息等。
对等(N)实体间的通信不是直接进行的,而是通过相邻层及以下各层来进行的,即源系统发送实体(N)的PDU,要经过逐层的PCI的封装,到达物理层,通过物理媒体把信息传送目的系统的物理层,然后逐层向上脱掉其各层的PCI,最后到达目的系统接收实体(N)。
·(N)服务数据单元(N)-SDU
从相邻两层实体交换信息是服务提供者与服务用户之间交换信息的角度来考虑。引入(N)服务数据单元(N)SDU概念。(N)实体通过(N)SDU在(N)-SAP向(N+1)实体提供服务,或者说,(N+1)实体在(N)-SAP从(N)SDU索取(N)实体的服务。
·(N)接口数据单元(N)IDU
由上可知,(N+1)实体与(N)实体的信息交换形成(N+1)PDU与SDU的变换,这是发生在跨越(N+1)层与(N)层的接口上,因此,需要有一种接口控制信息ICI来协调这种联合操作。因这发生在(N+1)与(N)层边界上,把(N+1)实体与(N)实体交换的信息通称为(N)接口数据,记为(N)ID,相应的ICI记为(N)ICI。(N)ICI与(N)ID组成了(N)接口数据单元(N)IDU。
一个(N)ID可以是一个(N)SDU,也可以是部分(N)SDU,或者一个(N)SDU可以分为一个或多个(N)IDU。
2.层操作要素
对于面向连接的通信中,连接建立、数据传送和连接释放是层操作中三个最主要的公共操作。
(1) 连接建立
(N)对等实体间的(N)连接建立是作为向(N+1)实体提供的一种服务,以便使(N+1)实体之间能交换信息。建立(N)连接要具备左示两个条件:
① 支持该(N)连接的实体之间存在着可用的(N-1)连接;
② 对等(N)实体都处于能够执行连接建立的状态。
如果尚无可用的(N-1)连接,则先要建立(N-1)层对等实体间的(N-1)连接,这时,所要求的条件和上述①、②二条件相同。如此,这两个条件递归调用,直到有可用的连接,或直遇到OSI的物理介质为止。
(N)连接是一种确认型的服务。其一组原语为:
(N〕CONNECTION. request
(N〕CONNECTION. indication
(N〕CONNECTION. response
(N) CONNECTION. confirm
(2) 连接释放
已经建立了(N)连接的对等(N+1)实体,由于下列原因之一,需要释放它们之间的(N)连接。
·正常释放
当对接(N+1)实体间完成数据传送,任何一方(N+1)实体可以发起释放它们之间的(N)连接。正常释放原语为
(N) DISCONNECT.request 以及
(N) DISCONNECT.indication。
·有序释放
在OSI的某些层,设有释放权标--一种有权发起释放,只有持有释放权标的(N+1)实体才可以发起释放(N)连接。有序释放原语有:
(N) RELEASE.request
(N) RELEASE.indication
(N) RELEASE.(accept)response
(N) RELEASE.(accept)confirm
(N) RELEASE.(reject)response
(N) RELEASE.(reject)confirm
当发生异常情况,不再进行(N)连接上的数据传送,必须立即发起释放(N)连接。根据发生异常情况位置的不同,可有两种异常释放,即(N)服务用户发起异常释放和(N)服务提供者发起的异常释放。异常释放原语有:
(N)服务用户发起释放
(N) -U-ABORT request
(N) -U-ABORT indication
(N)服务提供者发起释放
(N) -P-ABORT indication
(3) 传送数据
建立(N)连接后,对接的(N+1)实体间可调用数据传送原语组来传送数据。所传送的数据有常规数据、加速数据、特权数据等几类。
·常规数据传送:
(N+1)实体调用(N)-DATA·request 原语向(N)实体请求发送数据,接收方(N)实体接收发送过来的数据DT(N)PDU,产生相应的(N)服务原语(N)-DATA indication,送给其相应的(N+1)实体,完成了(N)连接上的数据传送。但在运输层、网络层、数据链路层中,为了保证数据传输的可靠性,接收(N)实体对接受到的数据单元DT(N)PDU是否正确收妥产生确认信息给发方(N)实体。若是正确收到,则发送一个确认数据单元ACK(N)PDU。若接收的DT(N)PDU发生某种错误,则接收方(N)实体不产生(N)-DATA indication原语,而是对接收的DT(N)PDU产生一个拒收的(N)协议数据单元RJ(N)PDU给发送方(N)实体,并要求重发该DT(N)PDU。
·加速数据传送:
加速数据传送是传送比常规数据、特权数据优先级高的服务数据单元。加速数据传送服务常用于传送数据和中断,它的传送不受数据权标的控制。加速数据传送也有是否需要妥收确认回答的问题。
·特权数据传送:
在OSI某些层中(例如会话层),对数据传送服务可以设置一个数据权标,它是该层的一种属性。在某一时刻它被动态地分配给一个服务用户,表示该用户允许使用数据传送服务。不分配有数据权标的服务用户不允许使用数据传送服务。在一个(N)连接上,只允许存在一个权标,分配给一个(N)服务用户。因此,持有数据权标的服务用户具有数据传送服务的独占使用权。但是,不持有数据权标的服务用户可以通过某种手段获得数据权标。例如,具有数据权标的(N)服务用户(即(N+1)实体,通过调用转让权标原语(N)-TOKEN·GIVE,把数据权标送给对等(N+1)实体,然后该对等(N+1)实体就可传送数据了。
3.连接映射特性--复用与解复用、分流与合流
(N)实体在(N)连接上为(N+1)实体提供的(N)服务是通过在(N-1)连接上的服务实现的。(N)连接上的服务被变换为(N-1)连接上的(N-1)服务,而(N)连接则被映射为(N-1)连接。如此,(N-1)连接被映射为(N-2)连接,等等。映射可能是左述三种之一。
·一对一映射:
一条(N)连接被映射成唯一的(N-1)连接。
·多对一映射:
多个(N)连接被映射成一个(N-1)连接。这时,在发送方,一个(N-1)连接支持多个(N)连接,称为(N)实体的多个(N)连接复用一个(N-1)连接(Multiplexing)。在接收方必须要有一个解复用(de-multiplexing)的过程。复用可以更有效和经济地使用连接。
·一对多映射:
一个(N)连接被映射成多个(N-1)连接。这时,在发送方,用多个(N-1)连接支持一个(N)连接,(N)实体的这种功能称为分流(Splitting)。在接收方就需要一个叫做合流的过程(recombining)。使用分流和合流功能可以提高可靠性和吞吐量。
1.gif
·物理层:
信号的编码/译码、前导码的生成/除去、比特的发送/接收。
·MAC层:
访问控制方式。 LAN的拓扑结构和媒体可以有多种,不同的拓扑结构和媒体,其访问控制不同,如总线型,各站点采用的是竞争方式。环形结构采用令牌环控制等,所以说局域网的差别主要体现在物理层和MAC层。
·LLC层:
提供对高层的支持,它屏蔽了具体的媒体和访问控制方法,为连到局域网上的端系统提供端到端的差错控制和流量控制。由于在局域网中,不存在网络层的路由问题,但为了对高层提供服务,LLC层要提供属于3层的功能。
2.gif
IEEE802 主要标准的关系图
Internet网络体系结构是以TCP/IP协议为核心的。IP协议为各种不同的通信子网或局域网提供一个统一的互连平台,TCP协议为应用程序提供端到端的通信和控制功能。
[ 本帖最后由 skysea 于 2008-7-27 16:56 编辑 ]
4.gif
各层的功能简介如下:
·网络接口层:
提供IP数据报的发送和接收。
该层使用协议为各通信子网本身固有的协议。例如以太网的802.3协议、令牌环网的802.5协议以及分组交互网的X.25协议等。
·网络层:
提供计算机间的分组传输。(1)高层数据的分组生成;(2)底层数据报的分组组装;(3)处理路由、流控、拥塞等问题。
IP协议提供统一的地址格式和IP数据包格式,以消除各通信子网的差异,从而为信息发送方和接受方提供透明通道。
·传输层:
提供应用程序间的通信。(1)格式化信息流;(2)提供可靠传输。
TCP协议提供面向连接的可靠的字节流传输;UDP协议提供无连接的不可靠的数据包传输。
·应用层:
提供常用的应用程序。
例如:WWW服务、ftp、email、telnet等。