计算机网络体系结构与协议计算机网络体系结构将网络中所有部件可完成的功能精确定义后进行独立划分按照信息交换层次的高低分层每层都能完整地完成多个功能层与层之间互相支持又相互独立。因为网络中的计算机严格按照分层的规定进行数据处理而在同一层次上不同的计算机执行相同的协议与标准独立完成一样的网络任务因此用户和计算机在同一层次进行信息交换与处理时可忽略其他层次的影响独立操作这样使得复杂的网络信息交换和处理大大简化便于人们掌握和使用。我们之所以需要分层是因为计算机网络是个非常复杂的系统其复杂程度远远超过人们的想象。一般地连接在网络上的两台计算机要互相传送文件需要在它们之间建立一条传送数据的通路。其实这还远远不够至少还有以下的几件事情要完成∶1为用户提供良好的易于操作的界面使其可方便地操作数据传输并得知传输过程中的差错与细节。2建立一条传送数据的通路并对通路进行监控使其断开后能够重新建立。要建立通路就必须要求网络中的多台计算机进行协商并且相互协作而监控通路则需要全时段的跟踪守侯。3数据发送方必须弄清楚数据接收方是否已经做好数据接收和存储的准备。4因为计算机处理的是并行的数字信号而网络中传输的是串行的光信号或电信号这些信号需要在网络中相互转换。需要传输的文件很多格式不同不能兼容要想让文件接收方兼容识别文件也需要格式转换。5数据传输中会出现各种各样的差错怎样应对差错以保证接收方计算机能够收到完整正确的数据也是通信双方需要做的。计算机网络需要解决的通信问题还远远不止以上所述内容。由此可见相互通信的两个计算机系统必须高度协调工作才行而这种“协调”相当复杂。网络系统是一个功能庞大而复杂的系统为了减少网络系统设计的复杂性提高网络系统的稳定性和可管理性计算机网络按照层次结构进行组织。为了更好地说明分层的概念我们将上述所提到的计算机网络通信需要解决的问题进行归类分层如图3.1所示。第一层我们把它称为网络接入模块这个模块的作用就是负责与网络接口有关的细节。在驾驭网络通信硬件资源的基础上我们提出的第二层是通信服务模块。该层的功能是负责建立通信通路保证以文件为单位传输的数据或文件传送命令可靠地在两个系统之间交换也就是说这个模块必须有网络链路建立、差错检测、差错应对、差错更正等功能。同理在这两层之上第三层可为文件传送模块。这个模块是在下边两层提供的服务的基础之上为用户提供良好的操作界面使其以文件为单位操作数据传输并得知传输过程中的差错与细节同时也对文件的不同格在我们现有的分层网络体系结构中每一层都被制定了很多的协议和标准有的网络体系结构甚至是以网络协议的名字来命名如TCP/IP体系结构其核心就是TCP/IP协议。因此网络协议是计算机网络体系中一个非常重要的内容。3.1.1 网络体系结构所谓网络体系结构Network Architecture是指通信系统的整体设计如整个网络系统的逻辑组成和功能分配它定义和描述了一组用于计算机及其通信设施之间互联的标准和规范的集合。研究计算机网络体系结构的目的在于定义计算机网络各个组成部分的功能以便在统一原则指导下进行计算机网络的设计、建造、使用和发展。计算机网络体系结构是一种分层结构分层结构具有很多好处1各层是相互独立的∶某一层并不需要知道它的下层是如何实现的只需通过接口使用下层的服务由于每一层只实现一种相对独立的功能可将复杂的问题分解为若干容易处理的小问题整个问题变得容易解决。2更好的灵活性∶当某一层发生变化时只要层间接口关系保持不变则在该层以上或以下的层均不受影响。3结构上可分割∶各层都可以采用最合适的技术来实现。4易于实现和维护每层功能相对单一易于实现。5易于标准化∶因为每个实体都具有相同的层每一层功能都比较单一所以提供的服务也比较明确。随着信息技术的发展各种计算机系统联网和各种计算机网络的互联成为人们迫切需要在我们现有的分层网络体系结构中每一层都被制定了很多的协议和标准有的网络体系结构甚至是以网络协议的名字来命名如TCP/IP体系结构其核心就是TCP/IP协议。因此网络协议是计算机网络体系中一个非常重要的内容。3.1.2 网络协议所谓计算机网络协议Protocol是计算机网络中的计算机为了进行数据交换而建立的规则标准或约定。这就好像我们竞技比赛中一定要制订比赛规则这些规则对比赛过程进行约束并形成某种标准对比赛结果等进行评判。计算机网络的协议则主要规定了所交换数据的格式以及有关同步与时序的问题。协议对计算机网络通讯的数据流和通讯全程进行约束网络同样也制订了计算机网络接口等一系列硬件设备的标准。网络协议主要由以下三个要素组成∶1语法。规定通信双方”如何讲”即规定数据与控制信息的结构或格式。2语义。规定通信双方“讲什么“即规定传输数据的类型以及通讯双方要发出什么样的控制信息执行的动作以及作出何种响应。3时序。规定了信息交流的顺序即事件实现顺序的详细说明。我们在计算机网络上做任何的事情都需要协议例如从某个主机上下载文件上传文件等。但在自己的电脑上存储打印文件是不需要任何协议的。协议是一种通信规约。从广义的角度来说人们之间的交往就是一种信息交互的过程每做一件事都必须遵循一种事先规定好的规则与约定。那么为了保证计算机网络中大量计算机之间有条不紊地交换数据就必须制定一系列的通信协议。因此协议是计算机网络中一个重要与基本的概念。对于协议有以下两点值得注意。1每一种协议在设计时都针对于某一个特定的目标和需要解决的问题。目前已经存在了很多的网络协议它们已经组成了一个完整的体系。2网络协议同时又是需要不断发展和完善的。当一种新的网络服务出现时人们必然要制定新的协议。为了便于理解接口和协议的概念以人们常用的邮政通信系统为例进行说明如图3.2 所示。人们在使用邮政系统通信时必须按照一定的步骤每一个步骤都必须遵循一系列的约定。通信的第一步是写信写信人必须遵循一些约定如信件的格式、写信采用的文字等这样收信人在收到信之后才能看懂信中的内容。第二步信写好之后到邮局邮寄这时邮局为寄信人服务寄信人必须遵循邮局的约定如按规定填写信封并支付邮资。第三步邮局收到信之后将信件进行分类然后交付运输部门进行运输这时运输部门为邮局服务邮局也必须遵循运输部门的一些约定如提供运输的目的地等。信件到达目的地之后进行相反的过程最终将信件送到收信人手中在计算机网络中两台计算机之间的通信过程与邮政系统的通信十分类似。在进行计算机网络系统设计时将复杂的功能划分为功能相对独立的若干层。每一层可与相邻的层进行通信下层较低级别的层向上层较高级别的层提供服务并把如何实现这一服务的细节向上层屏蔽。每一对相邻层之间都有一个接口接口定义下层向上层提供的原语操作和服务。每一层都有一系列解决特定问题具有既定用途的协议第n层上的协议称为第n层协议。不同机器里包含的对应层的实体称为对等实体Peer正是对等实体利用协议进行通信。3.1.3 网络协议的分层在计算机网络分层体系结构思想的指导下网络协议也采用了分层结构比如当今使用最广泛的TCP/IP协议就是从原理上分为4层该内容将在后面的章节展开。1网络协议采用分层结构的原因在分层思想下每一层都有明确的任务和相对独立的功能不需要关心下层如何实现只要知道它通过层间接口提供的服务即可。灵活性好易于实现和维护有利于标准化。2. 网络协议各层次间的关系1下层为上层服务而上层并不关心下层服务是如何实现的2每一对相邻层之间都有一个接口相邻层通过接口交换数据提供服务3发送方和接收方的同一层叫做对等实体4对等实体是虚通信只有传输介质是实通信5从层次角度看数据的传输发送方数据往下层传递接受方往上层传递。OSI模型特点1每个层次的对应实体之间都通过各自的协议通信。2各个计算机系统都有相同的层次结构。3不同系统的相应层次有相同的功能。4同一系统的各层次之间通过接口联系。5相邻的两层之间下层为上层提供服务同时上层使用下层提供的服务。图中的点划线框部分是通信子网它和网络硬件的关系密切而且通信手段是一个传一个的连接方式而从传输层开始向上不再设及通信子网的细节只考虑最终通信者之间的端到端的通信问题。3.2.2 OSI参考模型各层的功能1.物理层Physical Layer在 OSI参考模型中物理层Physical Layer是参考模型的最底层也是 OSI模型的第一层。物理层的主要功能是利用传输介质为数据链路层提供物理连接实现比特流的透明传输。物理层的作用是实现相邻计算机结点之间比特流的透明传送尽可能屏蔽掉具体传输介质和物理设备的差异。需要注意的是物理层并不是指连接计算机的具体物理设备或传输介质如双绞线、同轴电缆、光纤等而是要使其上面的数据链路层感觉不到这些差异这样可使数据链路层只需要考虑如何完成本层的协议和服务而不必考虑网络具体的传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化对传送的比特流来说这个电路好像是看不见的当然物理层并不需要知道哪几个比特代表什么意思。物理层协议是网络物理设备之间的接口目的是在通信设备DTE/DCE之间提供透明的二进制位流传输。这里的物理设备是指两个相邻彼此通信的设备按ISO及CCITT的术语分别称为数据终端设备DTE和数据电路终端设备DCE。所谓 DTE 是指用户端任何产生传输用的数据设备如CRT、PC机、工作站、计算机等。所谓DCE是指在数据传输的两端负责通信的设备它负责建立、维护和拆除物理连接并在传输介质和DTE间进行信号转换和编码故也常称作数据通信设备。该层设计涉及到信号电平、信号宽度、传送方式半双工或全双工、线路连接的建立和拆除接插件引脚的规格和作用等问题。总的说来物理层提供建立、维护和拆除物理链路所需的机械、电气、功能和规程特性。2.数据链路层DataLinkLayer数据链路层Data Link Layer是OSI模型中极其重要的一层为网络层提供服务它的主要功能是如何在不可靠的物理线路上进行数据的可靠传输。数据链路层向网络层提供的功能有∶为网络层提供设计良好的服务接口如何将物理层的位组成帧如何进行差错处理以及如何进行流量控制等。1成帧。为了向网络层提供服务数据链路层必须使用物理层提供给它的服务。物理层的工作是进行原始位流传输不能保证位流无差错。数据链路层为保证数据的可靠传输将数据组装成帧按顺序传送各帧。帧是用来移动数据的结构包它不仅包括原始未加工数据还包括发送方和接收方的网络地址以及纠错和控制信息地址信息确定帧将发送到何处纠错和控制信息确保帧无差错到达。数据链路层把来自物理层的位流形式的数据组装成帧发送到上层网络层同时把来自上层网络层的帧拆分为位组转发到物理层。把位流分成帧常用的方法有以下几种①字符计数法。②带字符填充的首尾界符法。③带位填充的首尾标志法。④物理层编码违例法。关于位流分成帧很多数据链路层协议通过把字符计数法与其他方法相结合来提高可靠性。2差错处理。数据链路层为了保证数据的可靠传输必须提供差错控制功能。常采用的方法包括以下几种∶①数据接收方向数据发送方提供反馈信息协议要求接收方发回特殊的控制帧作为数据接收肯定或否定的确认。如果发送方收到肯定确认则知道发送正确不需要重传如果接收到否定确认表示发送出了差错发送方将相应的帧进行重传。②计时器当发送方发出一帧时启动计时器在一定时间间隔内如果帧被正确接收并返回确认帧计时器清零如果所传出的帧或者确认信息被丢失计时器发出超时信号提醒发送方可能出现了问题将此帧进行重传。为了避免将同一帧多次传送给网络层通常对发出的帧进行编号接收方通过序号辨别是重复帧还是新帧。3流量控制。数据链路层要解决的另一个问题是如何防止高速发送方的数据把低速接收方“淹没”。当发送方在负载较轻的机器上运行而接收方在负载较重的机器上运行容易出现“淹没”现象。解决办法是提供流量控制来限制发送方所发出的数据流量使其发送速率不要超过接收方能处理的速率其中一种流量控制机制称为“滑动窗口协议”。3. 网络层Network Layer数据链路层协议只能解决相邻节点间的数据传输问题而不能解决两个主机之间的数据传输问题因为两个主机之间的通信通常要包括许多段链路涉及链路选择、流量控制等问题。当通信的双方经过两个或更多的网络时还存在网络互联问题。网络互联也是网络层要研究的问题。网络层Network Laver是通信子网与用户资源子网之间的接口也是高、低层协议之间的界面层。它涉及的是将本地端发出的分组经各种途径送到目的端而从本地端至目的端可以经过许多中间节点所以网络层是控制通信子网、处理端对端数据传输的最底层。网络层的主要功能是路由选择、流量控制、传输确认、中断、差错及故障的恢复等。当本地端与目的端不处于同一网络中时网络层将处理这些差异。1网络层的主要功能。网络层的主要功能是支持网络连接的实现包括对点到点结构的网络连接由具有不同特性的子网所支持的网络连接等。网络层的具体功能如下∶①建立和拆除网络连接。指利用数据链路层提供的数据链路连接构成两个传输实体间的网络连接网络连接可有若干个通信子网所支持的网络连接等。②分段和组块。为了提高传输效率当数据单元太长时可对它们进行分段也可将几个较短的数据单元组成块后一起传输。无论哪种情况都必须保留网络服务数据单元的分界符。③有序传输和流量控制。当传输实体需要有序传输网络服务数据单元时网络层将在指定的网络连接上用有序传送的方法来实现。利用网络层提供的流量控制服务可对网络连接上传输的网络服务数据单元进行有效地控制以免发生信息“堵塞”或“拥挤”现象。④路由选择和中继。本功能是在两个网络地址之间选择一条适当的路由。⑤差错的检测和恢复。差错检测利用数据链路层的差错报告以及其他的差错检测能力来检测经网络连接所传输的数据单元是否出现异常情况。恢复功能指从被检测到的出错状态中解脱出来。2网络层提供的服务。OSI参考模型中规定网络层中提供无连接和面向连接两种类型的服务也称为数据报服务和虚电路服务。①数据报服务。多用于传输短报文的情况一个或几个报文分组足以容纳所传送的数据信息。每个分组称为一个数据报。数据报服务类似于寄信或发电报每封信或每个电报都可以单独发送给对方。每个数据报携带有足够的信息可以从源端送到目的端。经过中间节点时要进行存储转发在整个传输过程中不必建立连接但在中间节点要为每个数据报作路由选择。如果数据报在传输过程中出错或丢失网络将向源端发出一个“未发送成功指示”通知源端重发。②虚电路服务。虚电路是在数据依次传送开始前由发送方和接收方通过呼叫与确认的过程建立起来的。与实际的电路交换不同虚电路是一种非专用的逻辑连接是动态的而电路交换则采用专用路由。虚电路服务在传送数据时发送方首先提供自己和接收方完整的网络地址建立虚申路然后按顺序传送报文分组通信完成后拆除虚电路。虚电路一经建立就要赋予虚电路号它反映分组的传送通道。这样报文分组中就不必再注明全程地址相应地缩短了信息量。4.传输层transport layer传输层是资源子网与通信子网的接口和桥梁它完成了资源子网中两节点间的直接逻辑通信实现了通信子网端到端的可靠传输。传输层下面的物理层、数据链路层和网络层均属于通信子网可完成有关的通信处理向传输层提供网络服务传输层上面的会话层、表示层和应用层完成面向数据处理的功能并为用户提供与网络之间的接口。因此传输层在7 层网络模型中起到承上启下的作用是整个网络体系结构中的关键部分是唯一负责总体数据传输和控制的一层。传输层的两个主要功能是∶①提供可靠的端到端的通信。②向会话层提供独立于网络的运输服务。由于通信子网向传输层提供通信服务的可靠性有差异所以无论通信子网提供的服务可靠性如何经传输层处理后都应向上层提交可靠的、透明的数据传输。为此传输层协议要复杂得多以适应通信子网中存在的各种问题。也就是说如果通信子网的功能完善、可靠性高则传输层的任务就比较简单若通信子网提供的质量很差则传输层的任务就复杂以弥补会话层所要求的服务质量和网络层所能提供的服务质量之间的差别。传输层涉及以下几个概念。1传输服务。传输服务包括的内容有∶服务的类型、服务的等级、数据的传输、用户的接口、连接管理、快速数据传输、状态报告、安全保密等。2服务质量。服务质量Quality of ServiceQOS是指在传输两节点之间看到的某些传输连接的特征是传输层性能的度量反映了传输质量及服务的可用性。服务质量可用一些参数来描述如连接建立延迟、连接建立失败、吞吐量、输送延迟、残留差错率、连接拆除延迟、连接拆除失败概率、传输失败率等。3传输层协议等级。传输层的功能是要弥补从网络层获得的服务和向传输服务用户提供的服务之间的差距它所关心的是提高服务质量包括优化成本。传输层的功能按级别划分可以分为5个协议级别∶级别0简单级、级别1基本差错恢复级、级别2多路复用级、级别3差错恢复和多路复用级和级别4差错检测和恢复级。服务质量划分得较高的网络仅需要较简单的协议级别反之服务质量划分得较低的网络需要较复杂的协议级别。4传输服务原语。服务在形式上是一组原语Primitive的描述。原语被用来统治服务提供者采取某些行动或报告某同层实体已经采取的行动。在 OSI参考模型中服务原语划分为四种类型。①请求Requeat∶用户利用它要求服务提供者提供某些服务如建立连接或发送数据等。②指示Indication∶服务提供者执行一个请求以后用指示原语通知收方的用户实体告知有人想要与之建立连接或发送数据等。③响应Reaponae∶收到指示原语后利用响应原语向对方作出反应例如同意或不同意建立连接等。④确认Confirm∶请求对方可以通过接收确认原语来获悉对方是否同意接受请求。5. 会话层session layer会话层Session Layer的主要功能是在两个节点间建立、维护和释放面向用户的连接并对会话进行管理和控制保证会话数据可靠传送。在会话层和传输层都提到了连接那么会话连接和传输连接到底有什么区别呢?会话连接和传输连接之间有三种关系∶一对一关系即一个会话连接对应一个传输连接一对多关系一个会话连接对应多个传输连接多对一关系多个会话连接对应一个传输连接。会话过程中会话层需要决定使用全双工通信还是半双工通信。如果采用全双工通信则会话层在对话管理中要做的工作就很少如果采用半双工通信会话层则通过一个数据令牌来协调会话保证每次只有一个用户能够传输数据。当会话层建立一个会话时先让一个用户得到令牌只有获得令牌的用户才有权进行发送。如果接收方想要发送数据可以请求获得令牌由发送方决定何时放弃。一旦得到令牌接收方就转变为发送方。在进行大量的数据传输时例如正在下载一个100MB的文件当下载到95MB时网络断线了为了解决这个问题会话层提供了同步服务通过在数据流中定义检查点Checkpoint来把会话分割成明显的会话单元。当网络故障出现时从最后一个检查点开始重传数据。常见的会话层协议有∶结构化查询语言SQL、远程进程呼叫RPCX-Windows系统、Apple Talk 会话协议、数字网络结构会话控制协议DNA SCP等。6. 表示层presentation layerOSI模型中表示层Presentation Layer以下的各层主要负责数据在网络中传输时不出错。但数据的传输没有出错并不代表数据所表示的信息不会出错。表示层专门负责有关网络中计算机信息表示方式的问题。表示层负责在不同的数据格式之间进行转换操作以实现不同计算机系统间的信息交换。如图3.5所示基于ASCII码的计算机将信息HELLO的ASCII编码发送出去。但因为接收方使用 EBCDIC 编码所以数据必须加以转换。因此传送的是十六进制字符48454C4C4F接收到的却是C8CSD3D3D6。除了编码外还包括数组、浮点数、记录、图像、声音等多种数据结构表示层用抽象的方式来定义交换中使用的数据结构并且在计算机内部表示法和网络的标准表示法之间进行转换。表示层还负责数据的加密以在数据的传输过程中对其进行保护。数据在发送端被加密在接收端解密使用加密密钥来对数据进行加密和解密。表示层负责文件的压缩通过算法来压缩文件的大小降低传输费用。例如假设要传输一个包含n个字符的文件采用EBCDIC编码那就有8n个比特位。如果会话层重新定义代码用0代表A1代表B以此类推一直到25代表Z那么用5位存储0~25所需要的最少位数就可以表示一个大写字母。这样一来实际上可以少传送38%的比特位。7. 应用层应用层是0SI/RM的最高层它是计算机网络与最终用户间的接口它包含了系统管理员管理网络服务所涉及的所有问题和基本功能。它在 OSI/RM 第6层提供的数据传输和数据表示等各种服务的基础上为网络用户或应用程序提供完成特定网络服务功能所需要的各种应用协议。常用的网络服务包括文件服务FTP、电子邮件E-mail、打印服务、集成通信服务、目录服务、网络管理服务、安全服务、多协议路由与路由互联服务、分布式数据库服务及虚拟终端服务等。网络服务由相应的应用协议实现不同的网络操作系统提供的网络服务在功能、用户界面、实现技术、硬件平台支持及开发应用软件所需的应用程序接口API等方面均存在较大差异而采纳的应用协议也各具特色因此应用协议的标准化非常重要。2.网络层网络层Internet layer与OSI参考模型的网络层相当是整个TCP/IP体系结构的关键部分。网络层的主要功能如下∶1处理来自传输层的分组发送请求。在收到分组发送请求之后将分组装入IP数据报填充报头选择好发送路径然后将数据报发送到相应的网络输出端。2处理接收的数据报。在接收到其他主机发送的数据报之后检查目的地址如需要转发则选择发送路径转发出去如目的地址为本结点IP地址则除去报头将分组交送传输层处理。3处理互联的路径选择、流量控制与拥塞问题。3.传输层在TCP/IP体系结构中传输层transport layer是第三层也称为应用程序到应用程序层与OSI的传输层类似主要负责应用程序到应用程序之间的端对端通信。传输层的主要功能是在互联网中源主机与目的主机的对等实体间建立用于会话的端对端连接。传输层主要有两个协议即传输控制协议TCP和用户数据报协议UDP。4. 应用层应用层application layer是TCP/IP体系结构中的最高层应用层包括了所有高层协议并且总是不断有新的协议加入。1传输服务。传输服务包括的内容有∶服务的类型、服务的等级、数据的传输、用户的接口、连接管理、快速数据传输、状态报告、安全保密等。2服务质量。服务质量Quality of ServiceQOS是指在传输两节点之间看到的某些传输连接的特征是传输层性能的度量反映了传输质量及服务的可用性。服务质量可用一些参数来描述如连接建立延迟、连接建立失败、吞吐量、输送延迟、残留差错率、连接拆除延迟、连接拆除失败概率、传输失败率等。3传输层协议等级。传输层的功能是要弥补从网络层获得的服务和向传输服务用户提供的服务之间的差距它所关心的是提高服务质量包括优化成本。传输层的功能按级别划分可以分为5个协议级别∶级别0简单级、级别1基本差错恢复级、级别2多路复用级、级别3差错恢复和多路复用级和级别4差错检测和恢复级。服务质量划分得较高的网络仅需要较简单的协议级别反之服务质量划分得较低的网络需要较复杂的协议级别。4传输服务原语。服务在形式上是一组原语Primitive的描述。原语被用来统治服务提供者采取某些行动或报告某同层实体已经采取的行动。在 OSI参考模型中服务原语划分为四种类型。①请求Requeat∶用户利用它要求服务提供者提供某些服务如建立连接或发送数据等。②指示Indication∶服务提供者执行一个请求以后用指示原语通知收方的用户实体告知有人想要与之建立连接或发送数据等。③响应Reaponae∶收到指示原语后利用响应原语向对方作出反应例如同意或不同意建立连接等。④确认Confirm∶请求对方可以通过接收确认原语来获悉对方是否同意接受请求。5. 会话层session layer会话层Session Layer的主要功能是在两个节点间建立、维护和释放面向用户的连接并对会话进行管理和控制保证会话数据可靠传送。在会话层和传输层都提到了连接那么会话连接和传输连接到底有什么区别呢?会话连接和传输连接之间有三种关系∶一对一关系即一个会话连接对应一个传输连接一对多关系一个会话连接对应多个传输连接多对一关系多个会话连接对应一个传输连接。会话过程中会话层需要决定使用全双工通信还是半双工通信。如果采用全双工通信则会话层在对话管理中要做的工作就很少如果采用半双工通信会话层则通过一个数据令牌来协调会话保证每次只有一个用户能够传输数据。当会话层建立一个会话时先让一个用户得到令牌只有获得令牌的用户才有权进行发送。如果接收方想要发送数据可以请求获得令牌由发送方决定何时放弃。一旦得到令牌接收方就转变为发送方。在进行大量的数据传输时例如正在下载一个100MB的文件当下载到95MB时网络断线了为了解决这个问题会话层提供了同步服务通过在数据流中定义检查点Checkpoint来把会话分割成明显的会话单元。当网络故障出现时从最后一个检查点开始重传数据。常见的会话层协议有∶结构化查询语言SQL、远程进程呼叫RPCX-Windows系统、Apple Talk 会话协议、数字网络结构会话控制协议DNA SCP等。6. 表示层presentation layerOSI模型中表示层Presentation Layer以下的各层主要负责数据在网络中传输时不出错。但数据的传输没有出错并不代表数据所表示的信息不会出错。表示层专门负责有关网络中计算机信息表示方式的问题。表示层负责在不同的数据格式之间进行转换操作以实现不同计算机系统间的信息交换。如图3.5所示基于ASCII码的计算机将信息HELLO的ASCII编码发送出去。但因为接收方使用 EBCDIC 编码所以数据必须加以转换。因此传送的是十六进制字符48454C4C4F接收到的却是C8CSD3D3D6。除了编码外还包括数组、浮点数、记录、图像、声音等多种数据结构表示层用抽象的方式来定义交换中使用的数据结构并且在计算机内部表示法和网络的标准表示法之间进行转换。表示层还负责数据的加密以在数据的传输过程中对其进行保护。数据在发送端被加密在接收端解密使用加密密钥来对数据进行加密和解密。表示层负责文件的压缩通过算法来压缩文件的大小降低传输费用。例如假设要传输一个包含n个字符的文件采用EBCDIC编码那就有8n个比特位。如果会话层重新定义代码用0代表A1代表B以此类推一直到25代表Z那么用5位存储0~25所需要的最少位数就可以表示一个大写字母。这样一来实际上可以少传送38%的比特位。7. 应用层应用层是0SI/RM的最高层它是计算机网络与最终用户间的接口它包含了系统管理员管理网络服务所涉及的所有问题和基本功能。它在 OSI/RM 第6层提供的数据传输和数据表示等各种服务的基础上为网络用户或应用程序提供完成特定网络服务功能所需要的各种应用协议。常用的网络服务包括文件服务FTP、电子邮件E-mail、打印服务、集成通信服务、目录服务、网络管理服务、安全服务、多协议路由与路由互联服务、分布式数据库服务及虚拟终端服务等。网络服务由相应的应用协议实现不同的网络操作系统提供的网络服务在功能、用户界面、实现技术、硬件平台支持及开发应用软件所需的应用程序接口API等方面均存在较大差异而采纳的应用协议也各具特色因此应用协议的标准化非常重要。