1、第15章 网络体系结构 第15章 网络体系结构 15.1 概述概述15.2 物理层物理层 15.3 数据链路层数据链路层 15.4 网络层网络层 15.5 高位层简介高位层简介 第15章 网络体系结构 15.1 概概 述述 15.1.1 分层体系结构分层体系结构 计算机网络的基本功能是让远程端用户之间进行通信联系。为了适应端用户的各种要求,而且不管在传输过程中出现任何差错,端用户数据格式有何差别,数据传输的速度如何,间断方式如何,通信联系也应能够进行。网络的总功能是十分复杂的,因此最好将总功能划分成一系列按某种方式组合的更简单的功能来逐步完成。计算机网络的体系结构就是这个计算机网络及其部件所应
2、完成功能集合的准确定义和结构。最典型的网络体系结构是分层体系结构。因此换种说法,网络体系结构就是指计算机网络各层及其协议的集合。分层结构的基本概念包括以下两个方面:第15章 网络体系结构 (1)将网络的功能分解成许多层,在每一层中,通信双方要有许多约定和规程,这些约定和规程叫做同层协议或等同协议,简称协议。只有双方共同遵守规定的协议,才可以配合工作,避免混乱。第15章 网络体系结构 (2)要能从一个层次过渡到另一个层次,即前一层要做好为进入下一层次的准备工作,以便顺利转入下一个层次。这种两个相邻层次之间要完成的过渡条件,叫做接口协议,简称接口。接口可以是硬件,如机械的和电子的装量等,也可以是软
3、件,如数据格式的变换和地址的映射等,要根据具体条件而定。分层结构有许多优点,一是可使复杂的网络设计简化;二是模块化,使层内功能局部化,修改某层协议不影响系统的其余部分,所以各个计算机厂家都有自己产品的网络体系结构。这些结构都确认:当用户通过一个或一系列网络进行通信时,必须保证数据传输的及时性、正确性和可辨识性。即解决通信问题有两个必不可少的部分:第15章 网络体系结构 (1)由一个端点用户发出的数据必须能正确、及时地到达目的地。(2)保证到达末端用户的数据是可辨识的,并且具有恰当的形式以使它能正确使用。为了解决上述第一个问题提出了许多网络协议,而第二个问题是用高层协议来解决的,因此一个完整的面
4、向末端用户的体系结构包含两类协议。根据这一特征,可用图15.1来表示。它描述了两个末端用户A和B之间的通信。第15章 网络体系结构 图15.1 分层通信结构的功能 末端用户A末端用户B高层协议网络服务源节点中间网络节点目的节点高层协议网络服务第15章 网络体系结构 15.1.2 开放系统互连(开放系统互连(OSI)参考模型()参考模型(RM)由于先前各计算机厂家推出的产品,其网络体系结构有各自不同的分层、不同的数据格式和数据交换规则。因此,不同厂家甚至同一厂家不同的网络产品很难互连。为此国际标准化组织(ISO)提出了一个开放系统互连(OSI,Open System Interconnectio
5、ns)参考模型(RM),它是定义连接异种计算机的标准框架。OSI模型提供了连接分布式应用处理的开放系统的基础。所谓“开放”模式,就是指只要遵循OSI标准,一个系统就可以和位于世界上任何地方,也遵循这一标准的其他任何系统进行通信。这一点很像世界范围的电话和邮政系统,这两个系统都是开放系统。第15章 网络体系结构 图15.2 OSI参考模型 第7层第6层第5层第4层第3层第2层第1层第7层第6层第5层第4层第3层第2层第1层7层协议6层协议5层协议4层协议3层协议2层协议1层协议高层协议(末端用户功能)网络服务(网络功能)末端用户A末端用户B6/7层接口5/6层接口4/5层接口3/4层接口2/3层
6、接口1/2层接口第15章 网络体系结构 OSI模型各层的名称如下:第1层:物理层(Physical Layer);第2层:数据链路层(Data Link Layer);第3层:网络层(Network Layer);第4层:传输层(Transport Layer);第5层:会话层(Session Layer);第6层:表示层(Presentation Layer);第7层:应用层(Application Layer)。第15章 网络体系结构 这种分层体系结构有以下特点:(1)各层只能与上下相邻层之间相互通信,与各层的内部过程无关。(2)各层的协议互相独立,各层的任务明确,每一层利用相邻的下一层提
7、供服务完成特定的功能,每层只对相邻的上一层提供服务。(3)除物理层是水平通信外,其余各层都是垂直通信,即网络中各节点之间的直接接口只能是物理层。第15章 网络体系结构 1.物理层物理层 物理层的主要功能有:(1)提供为建立、维护和拆除物理链路所需的机械的、电气的、功能的和规程的特性。(2)在物理链路上传输非结构的比特流以及物理链路故障检测指示。第15章 网络体系结构 2.数据链路层数据链路层 数据链路层的主要功能有:(1)检测和校正物理链路产生的差错,将不可靠的物理链路变成可靠的数据链路。(2)提供数据链路的流量控制。(3)为网络层实体间提供传送数据的功能和过程。第15章 网络体系结构 3.网
8、络层网络层 网络层的主要功能有:(1)为端到端传输数据提供面向连接的和无连接的服务。(2)提供控制通信子网传输的操作,如路由选择、拥塞控制、网络互连等功能,它的特性对高层是透明的。(3)根据传输层的要求来选择服务质量和安全性。(4)向传输层报告未恢复的差错。第15章 网络体系结构 4.传输层传输层 传输层的主要功能有:(1)提供建立、维护和拆除连接的功能。(2)选择网络层提供的最合适的服务。(3)在系统之间提供可靠的、透明的数据传输,提供端到端的差错恢复和流量控制。第15章 网络体系结构 5.会话层会话层 会话层的主要功能有:(1)提供两个进程之间建立、维护和终止连接的功能。(2)提供交互会话
9、的管理功能。有三种数据流方向控制模式,即单工、半双工和全双工模式。6.表示层表示层 表示层的主要功能有:(1)代表应用进程协商数据表示。(2)完成数据转换、格式化和文本压缩。第15章 网络体系结构 7.应用层应用层 应用层可提供OSI用户服务,例如事务处理程序、文件传送协议和网络管理等。需要指出的是,ISO/OSI参考模型为研究、设计和实现计算机网络系统提供了功能上和概念上的框架结构,但它本身并不是一个标准。目前,尚未出台严格按照ISO/OSI七层参考模型定义的网络协议集及其国际标准。但是,在制定有关网络协议和标准时都要把ISO/OSI参考模型作为“参照基准”,并说明与该“参照基准”的对应关系
10、,这正是ISO/OSI参考模型的意义所在。第15章 网络体系结构 15.1.3 开放系统互连(开放系统互连(OSI)环境)环境 在研究OSI RM时,常常要弄清楚它所描述的范围。这个范围就称为OSI环境。图15.3 所示为OSI环境及其有关数据单位。通信是在系统中的用户或它们的应用进程(图中标AP(A)和AP(B)之间进行的。如果AP(A)希望送一份电文到AP(B),它就启动应用层(第7层),第7层与终点装置(目的站)的第7层通过使用第7层协议建立对等层的联系,这一协议需要第6层的服务,因而两个第6层实体使用它们自己的协议。如此类推到物理层,它才真正通过传输媒介来传输比特流。第15章 网络体系
11、结构 图15.3 OSI环境及有关数据单元 应用数据应用数据数据单元数据单元数据单元报文数据单元分组数据单元1比特流234567AP(A)1234567AP(B)系统A系统B物理媒体本地系统环境本地系统环境OSI环境所有通信A-B帧第15章 网络体系结构 15.2 物物 理理 层层 15.2.1 物理层接口特性物理层接口特性 1.机械特性机械特性 物理层的机械特性规定了物理接口连接器的尺寸,插针的数目、排列情况以及插头与插座的尺寸,电缆长度以及电缆所含导线的数目等。例如,常用于串行远程通信的EIARS-232C 和ISO 2110规定的25针插座,X.25公用分组交换网物理级X.21协议所用的
12、ISO 4903所规定的15针插座,以及EIARS-499和ISO 4902规定的适用于串行话音通信和宽带MODEM的37针和9针插座等。第15章 网络体系结构 2.电气特性电气特性 物理层的电气特性规定了在物理连接上传输二进制比特流时线路上信号电压高低、阻抗匹配情况、传输速率和距离的限制等。物理层接口的电气特性主要分为三类:非平衡型、新的非平衡型(半平衡型)和新的平衡型(平衡型),它们分别由ITU的V.24/V.28(对应EIA RS-232C/RS-232D)、V.10/X.26(对应EIA RS-423A)、V.11/X.27(对应RS-422A)定义,如图15.4所示。第15章 网络体
13、系结构 图15.4 几种电气特性(a)非平衡型;(b)新的非平衡型;(c)新的平衡型 SR单端发送单端接收SR单端发送差分接收SR平衡发送差分接收(a)(b)(c)第15章 网络体系结构 表表15.1 不同电气特性的比较不同电气特性的比较 第15章 网络体系结构 3.功能特性功能特性 功能特性是指对各个信号线分配确切的信号含义,即定义DTE/DCE间各个线路的功能。对每根接口信号线的定义通常采用两种方法:一种是一线一义法,即每根信号线定义为一种功能,ITU-T V.24、EIARS-232C、EIARS-449等都采用这种方法;另一种是一线多义法,指每根信号线被定义为多种功能,此法有利于减少接
14、口信号线的数目,被ITU-T X.24、ITU-T X.21所采用。接口信号线按其功能一般可分为接地线、控制线、定时线等几类。第15章 网络体系结构 4.规程特性规程特性 规程特性是指完成物理连接的建立、维护、交换信息及拆除连接时,DTE/DCE双方在各电路上的动作序列,最常见的有V.24、V.25、V.54、V.22等V系列标准和X.20、X.20bis、X.21和X.21bis(带bis的标准表示它能与V系列Modem相连)等。第15章 网络体系结构 15.2.2 常用物理层接口标准常用物理层接口标准 1.EIA RS-232C EIA RS-232C是美国电子工业协会(EIA,Elect
15、ronic Industry Association)颁布的物理接口标准。RS(Recommended Standard)的意思是推荐标准,232是一个标识号码,C表示该标准已被修改过的次数。该标准最初是为了促进使用公用电话网,通过Modem进行远程数据通信而制定的,但目前也广泛应用于主机与终端、计算机与计算机以及计算机与I/O设备之间的近程连接之中。EIA RS-232C的机械特性建议使用25针连接器,并对该连接器的尺寸及插针排列位置作了确切的使用说明。EIA RS-232电气特性采用非平衡型的电气特性。第15章 网络体系结构 EIA RS-232C的功能特性将25针中的20条信号线分为四类
16、:数据线(4条)、控制线(11条)、定时线(3条)和信号线(2条),余下的5条是未定义或专用的。在RS-232C的接口中,实际上有主、辅两种信道。辅助信道用于在互连的设备之间传送一些辅助的控制信息,其速率比主信道低得多。在规程方面,RS-232C可以用于单向发送或接收、半双工和全双工等多种场合。对于每一种应用场合,都有一组标准信号线与之对应,称为不同的接口类型。它共有14种不同的接口类型。对应于每类接口,规定有相应的规程特性,这对于接口的正确设计与正常工作是至关重要的。第15章 网络体系结构 另外,在实际使用中,由于并非要用到该标准中的全集(即各条信号线的功能),因此也可采用插针较少的标准连接
17、器,如9针连接器或8针连接器(RJ45)。当使用RS-232C接口直接连接两台计算机时,引入了一种空调制解调器(Null Modem)方式。所谓空Modem,实际上是指没有Modem,直接把两个机器的串行口用电缆连接起来。为了使两台计算机能按RS-232规程进行数据传输,这段电缆采用交叉跳接信号线的方法,使得连接在电缆两端的DTE通过电缆看对方都好像是DCE一样,从而满足了RS-232C需要DTE/DCE成对使用的要求。第15章 网络体系结构 2.EIA RS-449、RS-422A和和RS-423A 由于RS-232C的所有电路共享一个公用地,是一种非平衡传输,因此可能在设备之间产生相当多的
18、串话干扰。1977年11月,EIA颁布了RS-449标准,其机械、功能和规程接口由RS-449定义,电气接口有两种不同的标准,即RS-422A(平衡型)和RS-423A(半平衡型)。RS-422A采用的是平衡发送器和差分接收器,使用双线来传输信号,增强了抗共模干扰能力。当距离为10 m时,速率达10 Mb/s;当距离增加到1000 m时,速率仍可达100 kb/s。第15章 网络体系结构 RS-423A采用的是单端发送器和差分接收器。由于采用了差分接收,可获得比RS-232C更好的传输特性。在距离为10 m时,速率可达300 kb/s;当距离增加到1000 m时,速率为3 kb/s。由于在传输
19、同样数量的信号时,RS-422A和RS-423A需要用到更多的连接线,因此RS-449的机械特性规定使用37针的标准连接线。第15章 网络体系结构 3.ITU-T X.21 X.21是ITU-T于1976年推荐的一种数字发送接口。作为X.25协议的第一级,它规定了DCE如何与DTE通过交换信号来建立和拆除连接。X.21采用由ISO 4903标准规定的15针连接器,它只定义了8根信号线。X.21的电气特性较为灵活,在DCE一侧使用新的平衡电气特性X.27,而DTE一侧用X.27或X.26非平衡电气特性。X.21的目的之一在于明显减少接口线数目,采用对数据线进行复用的办法在接口界面上传送接口状态控
20、制信息。X.21接口的工作过程分成四个阶段:空闲阶段、呼叫建立阶段、数据传输阶段和拆线阶段。第15章 网络体系结构 15.3 数数 据据 链链 路路 层层 15.3.1 数据链路层的基本功能数据链路层的基本功能 1.帧同步(帧同步(Frame Synchronization)1)字节计数法 字节计数法首先用一个特殊字符表示一帧的开始,然后用一个字段来标明本帧的字节数。当接收方读到字节计数值时,就知道了后面跟随的字节数,从而可确定帧结束的位置。在面向字节计数的同步规程(如DDCP协议)中采用的就是这种方法。第15章 网络体系结构 2)字符填充的首尾定界符法 使用字符填充的首尾定界符法是指用一些字
21、符来定界一帧的开始和结束。为了不将信息位中出现的特殊字符误判为帧的首尾定界符,可以在前面填充一个转义字符(DLE)来区分。在面向字符的同步规程中(如IBM公司的BSC协议)采用的就是这种方法。第15章 网络体系结构 3)比特填充的首尾标志法 使用比特填充的首尾标志法是用一些特定的比特模式(如01111110)来标志一帧的开始和结束的。为了不使信息段中出现的该特定比特模式被误判为帧的首尾标志,可以采用比特填充的方法来解决。当发送方的数据链路层在发送数据中遇到连续5个“1”时,它自动在后面插入一个“0”到输出流中。例如,链路层要发送数据“0111101111101111110”,则填充后出现于物理
22、链路中的比特流为“011110111110011111010”。当接收方看到5个连续“1”后紧跟了“0”,则删除第一个“0”。这样,两帧间的边界就可以通过“01111110”惟一地识别了。在面向比特的同步规程(如HDLC规程)中采用的就是这种方法。第15章 网络体系结构 4)违例编码法 违例编码法是在物理层采用特定编码方法时采用的,例如采用曼彻斯特编码方法,将数据比特“1”编码成高低电平对,而将数据比特“0”编码成低高电平对。高高或低低电平对在数据比特的编码中都是违例的,可以借用这些违例编码序列来定界帧的开始和结束。在局域网IEEE 802标准中就采用了这种方法。目前,使用较普遍的是最后两种方
23、法。第15章 网络体系结构 2.差错控制(差错控制(Error Control)在计算机一类数据通信中,一般都要求有极低的比特差错率。为此,广泛地采用了编码技术。编码技术有两大类:一类是纠错编码,即前向纠错,收方收到有差错的数据帧时,能够发现差错并自动加以改正,这种方法的开销较大,适合于使用卫星中继的计算机通信;另一类是检错编码,即检错重发,收方一旦检测出收到的帧中有差错,于是就要求发方重复发送这一帧,以便收方能正确接收。这种方法在计算机通信中是最常用的。我们主要讨论这种差错控制方法。第15章 网络体系结构 3.流量控制(流量控制(Flow Control)流量控制是一种协调发方和收方工作步调
24、的一种技术,其目的是避免发送速度过快,使得接收方来不及处理而丢失数据。通常接收器维持一定大小的接收缓冲区,当收到的数据进入冲区后,接收器进行简单的处理,然后才能清除缓冲区,再开始接收下一批数据。如果在接收器没取走缓冲区中的数据之前下一批数据又进入缓冲区,缓冲区就会溢出,从而引起数据丢失。为了避免发生这种情况,必须引入一种反馈机制,使得发方及时了解收方的状况,发方根据反馈信息及时采取措施缓解信息流动的紧张程度。必须指出的是,流量控制并非只在数据链路层才进行。实际上在网络层和传输层都有流量控制问题,其差别在于它们控制的对象不同。例如,数据链路层的流量控制对象是相邻两节点间数据链路上的流量,而传输层
25、则控制源到目的之间、端到端的流量。第15章 网络体系结构 4.链路管理链路管理 当通信网中的两个节点要进行通信时,发送方必须确知接收方已在接收的状态中。为此,通信双方必须先要交换一些必要的控制信息。也就是说,必须先建立一条数据链路。同样,在传输数据时应当维持数据链路,而在通信完毕时要释放数据链路。数据链路的建立、维持和释放过程就叫链路管理。上述数据链路控制功能与其数据链路控制协议(规程)密切相关,不同的网络具有不同的通信协议(规程)。第15章 网络体系结构 15.3.2 流量控制流量控制 1.停等协议停等协议 最简单的流控协议是停等(Stop and Wait)协议。它的工作原理是:发送方发送
26、一个帧后要停下来等待接收方的应答帧,只有接收到应答帧后才发送下一帧;接收方接收缓冲区容量只能存放一个数据帧,在处理完一个数据帧后才发送应答帧,指示发送方发送下一帧。这样,帧的源和目的之间的流动是由接收端控制的。第15章 网络体系结构 2.滑动窗口协议滑动窗口协议 简单的停等协议采用一帧一应答的方式,通信效率过低,不能充分利用线路带宽。为了提高通信效率,可以采取多帧一应答的方式。假设两个节点A和B通过全双工链路连接,B节点的接收缓冲区容量可以存放n个帧,则B可连续接收n个数据帧,因而A也可以连续发送n个帧而不必等待应答信号。为了使B能够表示哪些帧已被成功地接收,每个帧都给予一个顺序编号。B发出一
27、个帧编号的应答信号,就表明该编号之前的帧已正确接收,它准备接收具有该编号及其以后编号的帧。例如,B已收到编号为0、1、2的三个帧,这时它发出带顺序号3的应答信号,表明前三个帧都已正确接收,并要求A发送从3号开始的n个帧。显然,这样就允许B一次应答多个帧,从而提高了通信效率。第15章 网络体系结构 在节点A和B中都保存一个帧编号表,A的表指明它可以连续发送而不必等待应答的所有编号,B的表指明它准备连续接收的所有帧的编号,这些表都可以看作是加在帧编号序列上的窗口,随着数据传送过程的进展窗口向前滑动,因而取名滑动窗口(Sliding Window)协议。值得注意的是,编号在帧格式中要占用一个字段,因
28、而编号的大小不能超过该字段可表示的最大值。如果帧编号字段为k位,则编号的取值范围为02k-1,即帧编号是以2k为模循环计数的,通常选用的k值为3或7。因此,窗口的大小W不能大于2k-1。第15章 网络体系结构 图 15.5 滑动窗口示意图 0 1 2 3 4 5 6 7 0 1 2 3 4 5 窗口宽度 W后沿前沿第15章 网络体系结构 图15.5为滑动窗口的示意图。这里假设k=3,帧编号取值范围为07,窗口最大值W=7。发送窗口的大小随着帧的发送和收到的应答信号而变化。A每发出一帧,窗口的后沿向前推进一格;A每收到一个编号为i的应答信号,窗口前沿推进到(i-1W)mod 2k的位置。接收窗口
29、的大小也随收到的数据帧和发出的应答信号而变化。B每收到一帧,窗口的后沿向前推进一格;A每发出一个编号为i的应答信号,窗口前沿同样调整到(i-1W)mod 2k的位置。如果B发出某个应答信号后,不再发出新的应答信号,则两个窗口都会不断缩小,直至减小到0,这时A不能再发出数据帧,B也不再接收,从而达到流量控制的目的。第15章 网络体系结构 图15.6 滑动窗口 0 1 2 3 4 5 6 7 0 1(a)0 1 2 3 4 5 6 7 0 1(c)0 1 2 3 4 5 6 7 0 1(f)0 1 2 3 4 5 6 7 0 1(b)0 1 2 3 4 5 6 7 0 1(d)0 1 2 3 4
30、5 6 7 0 1(e)2 32 32 3F0F1F2ACK3A端B端第15章 网络体系结构 15.3.3 差错控制差错控制 通常应付传输错误的办法如下:(1)肯定应答。收方对收到的帧校验无误后送回肯定应答信号ACK,表示已经正确地接收了该帧,发方可以继续发送下一帧。(2)否定应答重发。收方收到一个帧后,经校验发现有错,则送回一个否定应答信号NAK。发方必须重新发送该帧。(3)超时重发。发方在发出一帧后开始计时,在一定时间内没有收到对该帧的应答信号,则认为该帧丢失并重发该帧。第15章 网络体系结构 这种技术主要是利用检错技术(如CRC)自动地对丢失帧和错误帧请求重发,因而叫ARQ(Automa
31、tic Repeat reQuest)技术。结合上一节讲的流控技术,可有三种形式的ARQ技术:(1)停等ARQ协议;(2)后退N帧ARQ协议;(3)选择性重传ARQ协议。第15章 网络体系结构 1.停等停等ARQ协议协议 停等ARQ协议是停等流控技术与ARQ技术的结合。根据停等ARQ协议,发送方发出一帧后必须等待应答信号,收到肯定应答信号ACK后继续发下一帧;收到否定应答信号NAK后重发该帧,在一定的时间间隔内没有收到应答信号也必须重发该帧。没收到应答信号的原因可能是数据帧丢失,也可能是应答信号(ACK或NAK)丢失了。无论哪种原因发端均收不到应答信号都必须发送原来的帧。第15章 网络体系结构
32、 2.后退后退N帧帧ARQ协议协议 后退N(Go-back N)帧ARQ协议和下面要介绍的选择重传ARQ协议都是滑动窗口技术和自动请求重发(ARQ)技术的结合,由于窗口的尺寸开到足够大时,帧在线路上可以连续地流动,因此称其为连续ARQ协议。在连续ARQ协议中,所用的发送窗口尺寸WT应大于1,且接收端是有序接收的。我们知道,允许连续发送数据帧的数目取决于窗口尺寸的大小,一般WT 2k-1,其中k为编号的比特数。第15章 网络体系结构 现举例解释后退N帧协议的工作过程,如图15.7所示。假设节点A向节点B发数据帧,设发送窗口尺寸WT5,表明节点A可连续发送5个帧,其序号为04。当节点A发完0号帧时
33、,可继续发送后续的1号、2号等帧,对于每一帧分别按顺序编号,而接收窗口的尺寸WR1。第15章 网络体系结构 图15.7 后退N帧协议的工作过程 012342340123A发送端B接收端EDDACK1ACK3ACK4ACK2NAK2第15章 网络体系结构 设节点B在收到一帧后立即应答,应指明是对哪一帧号肯定应答或否定应答,因为节点A已发了多个帧。现假设2号帧在传输中出了差错(图中用E表示),于是节点B发送否定应答信号NAK2,它到达节点A时,A正在发送4号帧。节点A根据收到的NAK2,就可知道应当重发2号帧,但应在4号帧发完后才能进行2号帧的重发。节点B应答NAK2后,接着陆续收到3、4号帧,尽
34、管这些帧号是正确到达的序号,但B也要将其舍弃(图中用D表示)。因此,节点A在发完4号帧后,还要向回走,重传从2号开始的所有帧,所以这种连续ARQ协议称为后退N帧ARQ协议,它指的是出现差错必须重传时,要向后走N个帧,然后开始重传。第15章 网络体系结构 同样,如果发送端发出的某个帧丢失了,或是应答信号(ACK或NAK)丢失了,则发送方的计时器会发现这种情况,这时也要后退N帧重发。由此可知,后退N帧ARQ协议一方面因能连续发送数据帧而提高了信道利用率,另一方面重传时又必须将原已正确的帧也重传,这又使利用率发生下降。在数据链路不太可靠(误码率大)的网络环境中这种协议的通信效率仍得不到明显改善。值得
35、注意的是,在连续ARQ协议中,为了减少接收端的开销,不必像图15.7所示的那样一帧一应答,而是等连续收到好几个正确数据帧后,只对最后那个帧发一个确认信息即可。当接收端节点接收了所有应该收到的序号时,如果接收端恰有数据帧重发给节点A,也可采用捎带技术,由数据帧将应答信息捎带传到节点A。第15章 网络体系结构 3.选择重传选择重传ARQ协议协议 为了进一步提高信道利用率,减少重传的帧数,可以设法只重传有错的帧或者是定时器超时的帧,这就是选择重传(Selective Repeat)ARQ协议。在该协议中,接收窗口的尺寸WR必须加大,使得接收序号不连续的但仍在接收窗口内的那些帧可暂存一下,以便等待所缺
36、序号的帧经重传到达之后再一并送交主机。由此可见,这种协议所允许的发送窗口的尺寸WT和接收窗口的尺寸WR均可大于1,但应满足WTWR2k。因为接收窗口不应大于发送窗口(否则没有意义),所以在选择重传ARQ协议下,接收窗口的约束条件为WR 2k/2。若取WT WR 2k/2,当k3时,则WTWR4。第15章 网络体系结构 15.3.4 高级数据链路控制(高级数据链路控制(HDLC)规程)规程 数据链路层的通信规程主要有两类:面向字符的通信规程和面向比特的通信规程。由于前者与特定的字符编码集的关系过于密切,兼容性较差,并且实现上也较复杂,故在现代数据通信系统已较少使用;而面向比特的规程(协议)传输效
37、率高,能适应计算机通信的最新发展,因而获得广泛应用。HDLC(High level Data Link Control)规程是ISO制定的高级数据链路控制规程,应用十分广泛,如X.25和帧中继广域网以及IEEE 802局域网等。HDLC规程的基本内容包括三个部分:帧结构、HDLC规程要素及HDLC规程类型。第15章 网络体系结构 图15.8 HDLC的帧格式 第15章 网络体系结构 标志(F):是一个8比特的序列“01111110”。F标志一帧的开始和结束,也可做帧同步信号。当发送连续帧时,一个标志序列可同时作为前一帧的结束和下一帧的开始。在一帧中间不允许出现与标志相同的比特模式,通过采用比特
38、插入的方法来实现透明性传输。地址(A):对于命令帧,该字段为对方(目标)地址;对于响应帧,该字段指出发出本响应的源地址。第15章 网络体系结构 控制(C):用作序号、确认及其它目的,用来表示各种命令和响应,以便对链路进行监视、控制、检验并防止信息的丢失和重复。控制段中规定三种类型的帧格式:信息帧(Information)、监控帧(Supervisory)和无序号帧(Unnumbered),如图15.9所示。在图15.9中,N(S)表示所发送帧的序号,而N(R)为捎带确认,指希望对方发送下一个帧的序号;M为修正功能位;P/F是探询/终结位;计算机用P来命令对方发送数据。除最后一帧外,所有次站发送
39、的帧都将P/F置成P,而最后一帧置成F。当然,该位也用来强制对方发送一个监控帧,从站将P/F置成F响应。这时P和F总是成对出现的,在F未到来之前,主站不能发送新的P帧。第15章 网络体系结构 0N(S)P/FN(R)1SP/FN(R)01MP/FM112345678I帧S帧U帧图15-9第15章 网络体系结构 信息帧(I)用来执行信息传输。按这种格式发送时,发送站应对所发送的每一帧进行计数编号,接收站对收到的帧检查其编号的顺序性。因此,发送站要设置发送顺序号N(S)来指明当前发送帧的编号,接收站也要设置接收顺序号N(R)。接收顺序号指明下一次期望收到I帧的顺序号,同时说明已正确接收了N(R)减
40、1的所有I帧。第15章 网络体系结构 监控帧(S)用来执行链路监控功能,如对帧的确认、要求重传或请求帧传送暂停等。其共有四种命令和响应:准备接收(RR)、拒收(REJ)、不准备接收(RNR)和选择拒收(SREJ)。RR帧用来指明已准备接收I帧以及确认顺序号小于N(R)的各帧。REJ帧用来请求重发从顺序号N(R)开始的各帧,并确认顺序号小于N(R)的各帧。RNR帧用来指明暂时忙状态,并确认顺序号小于N(R)的各帧。SREJ帧用来请求重发顺序号为N(R)的那一帧,并以P/F来表示对顺序号小于N(R)各帧的确认。第15章 网络体系结构 无编号帧(U)用来提供附加的链路控制功能,这种格式没有顺序号,而
41、是利用修正功能位M来规定各种附加的命令或响应功能。目前已定义了13种命令和8种响应。信息段(INFO):用来存放所要传送的信息。这些信息可以是任意比特组合,虽未规定长度大小,但实际应用中受FCS校验能力及站缓存空间大小的限制,最大长度是通信信道差错率的函数。校验序列(FCS):采用16比特CRC校验码进行差错控制,其生成多项式为X16+X12+X5+1。校验内容范围是首尾标志序列之间的帧内容,应除去按透明规则插入的所有“0”比特。第15章 网络体系结构 15.4 网网 络络 层层 15.4.1 网络层提供的服务网络层提供的服务 图15.10(a)和(b)分别画出了虚电路服务和数据报服务的特点。
42、第15章 网络体系结构 图 15.10 网络层提供的两种服务(a)虚电路服务;(b)数据报服务 123456ACB123456ACB3 2 12 1332 1212 1 33(a)(b)VC1VC2第15章 网络体系结构 1.虚电路虚电路 在虚电路方式中,在送出任何分组之前,先要建立一条逻辑连接。在图15.10(a)中,假定A有一个或多个分组要送到B,它首先要向节点1发送一个“呼叫请求”分组(Call Request Packet),请求与B连接。节点1启动路由选择算法为该请求分组和所有后续的数据分组选择与之相连的下一个节点。如节点1选定将该分组发到节点2,2又选定将该分组发到节点3,3号节点
43、最终将“呼叫请求”分组报送到B。如果B准备接受连接,它就向节点3发送一个“呼叫接受”分组(Call Accept Packet),这个分组通过节点2和1回送到A。第15章 网络体系结构 现在,A和B之间可以经由这条已建立的逻辑连接或虚电路(VC1)交换数据了。此后的每个分组除了数据之外还包括一个虚电路标识符。在预先建立的这条路由上的每个节点都知道这个分组要去的方向,所以不需要再进行路由选择判决。因此,来自A的每个数据分组通过节点1、2、3流动,而来自B的数据分组通过节点3、2、1流动。最终,其中任何一方用一个“清除请求”分组(Clear Request Packet)来结束这一连接。在任何时刻
44、,每个站都能与任何其它站建立多条虚电路,也能与多个站建立虚电路。第15章 网络体系结构 2.数据报数据报 在数据报方式中,单独处理每个分组。现以图15.10(b)为例,假定A有一个包括三个分组的报文要送到C,它将分组按123的顺序发送到节点1,节点1必须对每个分组分别作出路由选择的决定。在1号分组到来之后,节点1判定到2号节点的分组排队时间比到4号节点的排队时间短,于是它把1号分组排列到2号节点的队列。2号分组也是如此。但对于3号分组,节点1发现到节点4的排队时间短,因此将3号分组排到去节点4的队列,在以后通往C的路径的各节点上,都作类似的处理。这样,每个分组虽有同样的目的地址,但并不遵循同一
45、路由。而且很可能3号分组先于1、2号分组到达节点6。因此,这些分组可能以一种不同于它们发送时的顺序送到C。这就要靠C来重新排列它们,以恢复它们原来的顺序。第15章 网络体系结构 15.4.2 路由选择路由选择 1.最低费用准则最低费用准则 图15.11 网络图例 1234565322131152第15章 网络体系结构 2.最短路径算法最短路径算法 1)前向搜索算法(Dijkstra算法)前向搜索算法的基本思想是求出从一个源节点S到其它所有节点的最短路径,这个算法是一个逐步搜索的过程。假定在第k步,找到了k个最接近源节点的最短路径,这k个节点组成了节点集合M。在第k+1步,找出一个不属于M但距源
46、节点最近的节点,并把该节点也加入到M中。设l(i,j)是从i节点到j节点的链路长度(当i和j不直接相连时链路长度为),并设D1(n)是从源节点到n节点的最短路径长度。假定N为网络中所有节点的集合,节点1为源节点(即S=1),则Dijkstra算法的步骤如下:第15章 网络体系结构 (1)初始化:置MS,对于每个节点nN-S,置D1(n)=l(s,n)。(2)找出一个节点wN-M,使得D1(w)最小,并加进M。然后,对每个节点nN-M 置D1(n)=Min D1(n),D1(w)+l(w,n)若这后一项为最小值,则从S到n路径变为从S到w的路径再加上从w到n的链路。(3)重复步骤(2),直到MN
47、为止。第15章 网络体系结构 表表15.2 Dijkstra算法举例算法举例 第15章 网络体系结构 2)后向搜索算法(Ford&Fulkerson算法)后向搜索算法的基本思想是对于一个指定的目的节点D找出从所有节点到该目的节点的最短路径。现在我们用Ford&Fulkerson算法对同样的网络计算从所有节点到节点1(即D1)的最短路径。设D2(n)为节点n和目的节点D的最短路径,则Ford&Fulkerson算法的步骤如下:(1)初始化:置D2(D)=0,对于每个节点nN-D,置D2(n)=。第15章 网络体系结构(2)对于每个节点nN-D,置 若这后一项为最小值,则现在从n到D的路径是从n到
48、w的链路再接上从w到D的路径。),()(),(min)(222wnlwDnDnDNw第15章 网络体系结构(3)重复步骤(2),直到路径不变为止。表表15.3 Ford&Fulkerson算法举例算法举例 第15章 网络体系结构 3.路由选择策略路由选择策略 1)非自适应路由选择 非自适应路由选择又称静态路由选择,它是一种不测量、不依据网络状态信息,仅按照某种固定规律进行决策的一种简单路由选择策略。(1)洪泛式。洪泛式又称扩散式,每个收到分组的节点都将该分组复制成多份,向该节点所拥有的(除输入链路以外)所有出口发送出去。这种方法中,只要目的地是可达到的,分组总能送到目的地,而且至少有一个分组是
49、按最佳路径到达的。但是采用这种方法,一个分组在转发过程中迅速造成了许多复制的分组,网络资源使用效率低,吞吐量小,且由于副本越来越多,最后将泛滥成灾,因而要采用一些办法来限制它无限制地扩散转发。常用的办法有三种:第15章 网络体系结构 每个分组的首部设置一个计数字段,对该字段赋予一初始值,当某节点收到一个分组时,就将计数字段减1,若结果为零,则将此分组丢弃;网络中各节点均设一登记表,用来记录经过该节点的分组,一旦某个分组再次经过该节点时,就将其丢弃;采用有选择的洪泛法,该法不是将分组向所有相邻节点转发,而是只向靠近目的节点方向的那些中继节点转发,从而减轻了网络负荷。洪泛式路由选择方式可靠性高,但
50、付出代价大,适用于负荷轻、规模小、可靠性要求极高的网络,如军用网。第15章 网络体系结构 (2)随机式。这种路由选择方式的基本思想是让转发节点随机地选择一个输出链路(不包括输入链路)发送分组,如果选择各个输出链路的概率相同,则可用循环方式轮流地把各个分组转发到所有相邻节点。为了减少盲目性,可以对各个输出链路指定不同的选择概率。例如,根据各个输出链路数据率用下式计算出每条链路的选择概率:jjiiRPP式中,Pi为选择输出链路i的概率,Rj为链路j的数据率。上式分母是对所有候选链路求和。这个方案可望获得均匀的业务量分布。另外,也可以用其它费用准则来计算选择概率。第15章 网络体系结构 和洪泛式一样