第二章网络体系结构及TCP/IP技术学习目的了解协议的定义了解OSI模型的各层及其功能。掌握停止等待协议掌握其他几个重要的协议。第二章网络体系结构及TCP/IP技术学习要求学习本节课后,应该能够了解OSI体系模型各层的功能,掌握几个重要协议的应用。学习步骤步骤一1步骤二2步骤三3步骤四4阅读文字材料,了解OSI体系结构学习主要内容,掌握停止等待协议、PPP等协议来做习题,进一步考察是否掌握知识点内容。浏览知识库,拓展自己的知识结构。本节主要内容OSI体系结构几个重要的协议分层概述本节重点•网络的层次结构•协议标准•开放系统互连参考模型以及ISO各层协议的功能•介绍常用的网络协议第二章计算机网络的体系结构计算机网络体系结构的形成相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。6关于开放系统互连参考模型OSI/RM只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。在市场化方面OSI却失败了。OSI的专家们在完成OSI标准时没有商业驱动力;OSI的协议实现起来过分复杂,且运行效率很低;OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场;OSI的层次划分并也不太合理,有些功能在多个层次中重复出现。7两种国际标准法律上的(dejure)国际标准OSI并没有得到市场的认可。是非国际标准TCP/IP现在获得了最广泛的应用。TCP/IP常被称为事实上的(defacto)国际标准。8划分层次的必要性计算机网络中的数据交换必须遵守事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。为进行网络中的数据交换而建立的规则、标准或约定即网络协议(networkprotocol),简称为协议。9分层的好处各层之间是独立的。灵活性好。结构上可分割开。易于实现和维护。能促进标准化工作。10层数多少要适当若层数太少,就会使每一层的协议太复杂。层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。11计算机网络的体系结构计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。12一般各对等层的协议完成各层间的通信。协议是“水平的”,即协议是控制对等实体之间通信的规则。服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP(ServiceAccessPoint)。概述分层的基本概念在对等层间的虚通信有两种方式:一种是面向连接的方式,另一种是无连接的方式。各层协议数据单元是有结构的要传输的报文进入第n层后,要加上该层相应的报头信息,有的层(链路层)还同时加上尾部信息,这些都是用来进行通信控制的。MMH4MH3H4MH4MH3H4MH2H3H4MT2H2H3H4MT2物理媒体图2-3协议数据单元的传输应用层PDU传输层PDU网络层PDU链路层PDU终端A终端B概述对等层的通信传输层把应用层PDU(M)加上传输层的报头信息H4传送给网络层;网络层把应用层的PDU以及所加上的H4看作是传输层PDU,并进一步加上网络层的报头H3传送给链路层;链路层加上报头信息H2以及报尾信息T2组成一帧信息通过物理层作为2进制代码在物理通路中传输,这里描述的是A终端的过程,在B终端一方,恰好执行相反的服务过程。在A方是“打包”的过程,在B方是“拆包”的过程。概述(4)层间的服务国际标准化组织ISO于1977年成立专门机构制定了一个网络体系结构的标准即著名的开放系统互连基本参考模型(OpenSystemsInterconnectionReferenceModel,OSI/RM)OSI参考模型采用了七层体系结构如下:概述三、协议标准一、物理层物理层是七层协议最底层;物理层向链路层提供面向连接的服务;物理层屏蔽物理设备的差异;物理层的功能是在DTE和DCE之间,为传输比特流所需的物理层连接的激活、保持和去除提供机械的、电气的、功能性和规程性的手段;物理层局限自己的范围是在DTE与DCE之间的接口;网络各层的功能接口可以概括为物理层的四个特性:机械特性、电气特性、功能特性和规程特性。机械特性就是对DTE与DCE之间进行物理连接时接插件的规格定义;电气特性描述接口的电压范围;功能特性用来说明某条线上出现的某一电平的意义;规程特性用来说明对于不同功能的各种可能事件的出现顺序。网络各层的功能(1)物理层的接口(1)基本概念链路层研究如何在两个结点之间可靠地传输数据链路层要把二进制比特流有效地组织成链路层协议数据单元(Datalink,DPDU)—帧要进行差错控制要进行链路管理链路层向网络层提供面向连接的服务链路层的功能是在相邻的结点之间可靠地传输帧协议数据单元链路层使物理电路变成了一条无差错的电路网络各层的功能二、链路层主要有两类:面向字符型面向比特型面向字符型协议是由IBM公司在60年代初提出的二进制同步通信控制规程BSC面向比特型协议也是由IBM公司在1969年提出的同步数据链路控制规程SDLC网络各层的功能(2)链路层协议分类不论是发送站还是接收站,都必须开辟一定容量的缓冲区。主机因为忙,来不及对数据进行处理时,这些数据必须在缓冲区暂存。显然缓冲区是通信系统的资源。为了保证无差错传输,在链路层必须进行流量控制。否则,当接收缓冲区满时,还有数据从发送方传输过来,就会使缓冲区中还来不及处理的数据丢失。在高层,也有流量控制的任务。网络各层的功能(3)流量控制与差错控制链路层流量控制有两种方法:A、停等协议B、滑动窗口协议停止等待协议网络各层的功能(2.7滑动窗口)发送窗口是若干序列号的组合。开始时,集合为空集,窗口尺寸为0,每当发送一帧,窗口上限向前滑动一步;每当接收一帧,窗口下限向前滑动一步。当窗口上下限之差为窗口最大尺寸时,发送端不再发送任何新的帧。这样,序号包含在发送窗口内的帧为已发送出去的帧,但尚未收到响应帧。对于接收窗口,则只是序号落在窗口内的帧才能被接收端接收,接收窗口的大小始终不变,仅当一个窗口所包含的帧都收到后,接收窗口才向前滑动一个窗口大小的位置。如图2-7所示,W=4。网络各层的功能B、滑动窗口协议(1)基本概念网络层对整个通信子网进行管理和控制。网络层考虑如何把端结点的信息通过若干个中间结点正确传送到另一个端结点。一般要采用分组交换的方法。分组信息究竟通过哪些结点才能较快地传输,这就是路由选择问题网络层对网络上传输的信息进行整体的控制,也就是全网的流量控制。当某处发生拥塞时要及时加以解决。网络各层的功能三、网络层网络层向传输层提供服务两种服务方式:面向连接和无连接面向连接的服务-虚电路无连接的服务-数据报网络各层的功能(2)网络层的服务图1-11分组交换示意图H1H2IMP1IMP2IMP5IMP3IMP4P1P1P1P2P2ACKACKACK分组传输方向分组传输方向把报文分成包后,各个包可以分别寻找不同的路由,通过不同的链路到达目的端。网络各层的功能1)数据报服务由于包的传输没有延迟,实时性好;数据报方式每个分组都应携带着足够的地址信息,寻找路由灵活;分组本身信息量花销大;分组走了不同的路径;各分组到达目的端的时间可能不按序,所以在目的端要进行排序;一般在数据信息量比较少时使用数据报方式,可以提高传输效率。网络各层的功能数据报方式的特点•在传输前,发送端先进行虚呼叫(VC),与接收端进行虚电路的建立。•虚电路建好后,把报文的所有分组按照分组序号顺序发往目的端,由中间结点进行存储转发。•到达目的结点后,重新组装报文送给主机。这里有两条虚电路VC1和VC2。当然还可以有多条,每一条都可以单独传输一路信息。从图可见,在H2和H3之间进行了多路复用。网络各层的功能2)虚电路服务分组按序到达;分组携带信息少;主机的多个进程可以进行多次呼叫,形成多条虚电路,如VC1和VC2;多条虚电路在某些段可以使用同一条链路,这种功能称为多路复用;虚电路方式的缺点是虚呼叫需要连接的建立与断连的时间。网络各层的功能虚电路方式的特点:虚电路和数据报的比较:网络各层的功能在网络中,端结点之间的数据传输可以选择多条路径。网络层如何为分组的存储转发选择一条较好的路径称路由选择。路由选择对网络的传输性能及质量有着极大的影响。路由选择的关键是网络中必须有一个比较好的路由选择算法;路由选择的算法主要可以分为两大类:自适应式(动态变化的)非自适应式(静态不变的)非自适应式的算法其路由基本上都是固定的,路由不随网络上的现行状态变化自适应的算法其路由随网络的状况随时进行调整网络各层的功能(3)路由选择信道带宽、结点发送与接收缓冲区、处理机速度等称为网络资源。一般采取拥塞控制的方法限制网络资源的使用。拥塞是因为资源紧缺造成的。拥塞是由于进入网络的分组数太多造成的,拥塞的结果最终有可能导致死锁。通过拥塞控制,防止出现拥挤和死锁。把进入网络分组数看作是负载量从网络上输出的分组数看作是吞吐量,因有下图:图2-10流量控制的作用输入网络吞吐量无流量控制理想的流量控制死锁拥塞实际的流量控制网络各层的功能(4)拥塞控制(1)传输层的地位在网络协议中,传输层是至关重要的一层。几乎所有著名的网络体系结构中都留有传输层的一席之地。传输层属于资源子网,属于主机范畴。但从功能来看,传输层是面向通信的。传输层的地位如图所示:网络各层的功能四、传输层网络层的服务并不是很完善的。数据报服务的差错控制就是由主机完成。为了使通信子网的用户能够得到统一的通信服务,就有必要设置一个传输层。传输层弥补通信子网提供的服务的差异和不足。在通信子网提供的服务基础上,利用本身的传输协议,增加了服务功能,使得对两端的网络用户来说,各通信子网是透明的。链路层使物理链路变成了一条无差错的链路,传输层使得通信子网变成了一个无差错的网络。网络各层的功能(2)传输层的作用(1)会话层会话是在应用进程之间交换信息而按一定规则建立起来的一个暂时联系。会话层通过对两个会话用户间的数据流进行方向的控制。并且通过增强传输数据流的结构性的手段提供服务。(2)表示层网络上不同的计算机对数据信息有不同的描述方法。表示层试图用一种抽象语法描述信息,以实现不同系统之间信息表示的统一。网络各层的功能五、高层协议应用层直接为各种应用服务。应用层是应用进程中与通信有关的那部分环境空间。在这个空间内,对等的应用实体使用OSI各层提供的服务交换有意义的信息。应用层的功能是向应用进程提供访问OSI的手段。OSI在应用层中定义了几个重要的应用层标准,包括虚拟终端标准VTP,用于不同类型的终端访问网络上不同的主机应用进程;文件传输、访问和管理标准FTAM,用于不同等系统间能够在网络上传输文件;报文处理系统MHS用于对网络上使用非常普遍的电子邮件系统进行标准化。网络各层的功能(3)应用层下面介绍的几个协议在网络中是经常使用的,包括物理层、链路层的、网络层的核传输层的。有些协议是一个多层协议的接口描述。学习这几个协议的目的一是为在今后实际应用中奠定一个基础;二是作为学习网络协议的例子,有助于读者更好地学习和理解网络协议的知识。(1)RS-232-C(2)HDLC协议(3)X.25协议(4)PPP协议(5)TCP/IP协议(6)NetBIOS协议几个重要的协议EIARS-232-C是美国电子工业协会EIA于1969年制定的著名物理层标准;RS表示EIA的一种推荐标准;232是个编号;C是标准RS-232以后的第三个修订版本。1)RS-232接口标准EIARS-23