第4章数据链路层_第1页
第4章数据链路层_第2页
第4章数据链路层_第3页
第4章数据链路层_第4页
第4章数据链路层_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章数据链路层4.1数据链路层的主要功能和服务4.2差错检测与校正4.3数据链路层协议标准4.4Internet的数据链路协议4.5网桥4.6交换机思考题与习题4.1数据链路层的主要功能和服务数据链路层的作用是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,即使之对网络层表现为一条无差错的数据链路。数据链路层的基本功能是向网络层提供透明的和可靠的数据传送服务。透明是指该层上传输的数据的内容、格式及编码方式没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。数据链路层最基本的服务是将源机网络层来的数据可靠地传输到相邻节点的目标机网络层。所谓“相邻”,是指两个机器实际上通过一条信道直接相连,中间没有任何其他的交换节点,在概念上可以想象成一根导线。要使信道具有导线一样的属性,则必须使目的地接收到的比特顺序和原端发送的比特顺序完全一样。但是,实际的信道有时会出错,而且信道的数据传输率也是有限的,同一数据位在接收与发送之间存在传输延迟。为了达到可靠传输,数据链路层必须具备一系列相应的功能,主要有:如何将比特流组织成数据链路协议数据单元(在数据链路层中将这种数据单元称为帧,帧是数据链路层的传送单位,帧中包含地址、控制、数据及校验码等信息);如何控制帧在物理信道上的传输,包括如何处理传输差错(差错控制),如何协调收发双方的数据传输速率(流量控制),以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。在面向连接的服务时,为两个网络实体之间提供数据链路通路的建立、维持和释放管理,即链路管理。4.1.1为网络层提供的服务数据链路层是OSI参考模型中的第二层,数据链路层最基本的服务是将源机网络层来的数据可靠地传输到目标机网络层,也即源机进程将源机网络层的分组传送给源机数据链路层,源机数据链路层又将它们传输到目的机的数据链路层上,然后目的机的数据链路层将数据再传送给目的机的网络层。我们可以把这一过程看成是两个数据链路层使用数据链路协议进行数据通信。数据链路层可以提供多种不同类型的服务,实际提供的服务因系统不同而不同,但一般有三种基本服务:①无确认无连接服务;②有确认无连接服务;③有确认面向连接服务。无确认无连接服务是源机向目的机发送独立的帧,而目的机对收到的帧不作确认。这种服务类似邮政系统的寄信。事先不建立连接,事后也不存在释放。如果出现丢帧,数据链路层并不去恢复它,恢复工作留给上层去完成。这类服务适用于误码率很低的情况,也适用于实时语音传输,这类情况下数据延迟引起的不良后果比数据损坏更严重,例如,通电话时,有点杂音总比不自然的停顿要好。很多局域网在数据链路层都使用无确认无连接服务。为了提高可靠性,引入了有确认无连接服务。这种服务不需要建立连接,但是对每一个发出去的帧都要单独进行确认。这种服务类似挂号信。用这种方式,发送方就可以知道帧是否安全到达。如果在指定的时间间隔内确认帧未能到达,就必须重发此帧。这种服务适用于像无线系统之类的不可靠信道。数据链路层为网络层提供的最复杂的服务是面向连接的服务。采用这种服务,源机和目的机在传送任何数据之前,必须先建立一条连接。在这连接上传送的每一帧都被编上号,数据链路层保证所发送的每一帧都确实已收到,且只收到一次,所有帧都是按正确顺序收到的。但采用无连接方式时,如果确认信息丢失,将会引起一帧多次发送,因而被多次接收。所以,数据链路层的面向连接的服务为网络层协议实体之间的交互提供了可靠传送的比特流的服务。当使用面向连接的服务时,数据传输被分成3个不同的阶段。在第一阶段,建立连接,把通信双方的帧传送记录变量和计数器初始化;第二阶段进行实际的帧传送;第三阶段,也是最后阶段,断开连接,释放有关变量、缓冲区和其他用于维持连接的资源。4.1.2成帧为了使传输中发生差错后只将出错的有限数据进行重发,数据链路层将比特流组织成帧并以帧为单位传送。数据链路层的帧应包含寻址信息和用来检测错误的信息,同时帧的组织结构必须设计成使接收方能够从物理层收到的比特流中明确地区分出帧的起始与终止。这是一个看起来简单,实现起来却并不容易的问题。这是帧同步要解决的问题。由于网络传输中很难保证定时的正确和一致,所以不能采用依靠时间间隔关系来确定一帧的起始与终止的方法。实际使用的帧同步的例子有:以太网使用一个64位的同步序列,令牌环和FDDI都有一个起始界定符,HDLC包含一个8位的帧起始符标记(01111110)等等。下面介绍几种常用的帧同步方法。1.字节计数法字节计数法以一个特殊字符表示一帧的起始,并以一个专门字段来标明帧内的字节数。接收方可以通过对该特殊字符的识别,从比特流中区分出帧的起始,并从专门字段中获知该帧中随后跟随的数据字节数,从而可确定出帧的终止位置。采用字节计数法时,如果用于计数的字段出错,即失去了帧边界划分的依据,将造成灾难性的后果。由于这个原因,字符计数法已经很少被采用。2.使用字符填充的首尾定界符法使用字符填充的首尾定界符法用一些特定的字符来定界一帧的起始与终止,面向字符的同步协议BSC(BinarySynchronousCommunication)便是典型例子。为了不使数据信息位中出现的与特定字符相同的字符被误判为帧的首尾定界符,可以在这种数据字符前填充一个转义控制字符(DLE)以示区别,从而达到数据的透明性。3.使用比特填充的首尾定界符法使用比特填充的首尾定界符法以一组特定的比特模式(如01111110)来标志一帧的起始与终止。高级数据链路控制规程HDLC(HighlevelDataLinkControl)协议采用该法。假如在信息位中碰巧出现了与该特定模式相同的比特串,就会误认为找到了一个帧的边界。为了避免出现这种错误,HDLC采用零比特填充法。比如,对信息位中的任何连续出现的5个“1”,发送方自动在其后插入一个“0”,而接收方则做该过程的逆操作,每收到连续5个“1”,则自动删去其后所跟的“0”,以此恢复原始信息,实现数据传输的透明性。比特填充很容易由硬件来实现,其性能优于字符填充方法。4.违法编码法该法在物理层采用特定的比特编码方法时采用。例如,曼彻斯特编码方法,是将数据比特“1”编码成“高-低”电平对,将数据比特“0”编码成“低-高”电平对。而“高-高”电平对和“低-低”电平对在数据比特中是违法的。可以借用这些违法编码序列来定界帧的起始与终止。局域网IEEE802标准中就采用了这种方法。违法编码法不需要任何填充技术便能实现数据的透明性,但它只适用采用冗余编码的特殊编码环境。4.1.3差错控制为了使所有的帧最终都能按顺序正确传送到目的机的网络层,通信系统必须具备检测差错的能力,这也是数据链路层的主要功能之一。差错控制是指在数据通信过程中发现(或检测)差错,并采取措施加以纠正,将差错控制在所能允许的尽可能小的范围内的技术和方法,又称为差错检测与纠正。差错控制除选用高可靠性的设备和传输介质及相应的辅助设施外,在软件方面要进行差错控制编码。要传送的信息在传送之前,先按照某种规则附加上一定的冗余位,构成一个码字再发送出去。接收方通过对差错编码(奇偶校验码或CRC码)的检查,可以判定一帧在传输过程中是否发生了差错。一旦发现差错,一般可以采用帧重发的方法来纠正。这就要求接收方收完一帧后,向发送方传送一个接收是否正确的反馈信息(确认帧或否认帧),使发送方据此做出是否需要重新发送的决定。发送方只有当收到接收方传送的已正确接收的确认帧后,才能认为该帧已经正确发送完毕,否则需要重发直至正确为止。

物理信道的突发噪声可能完全“淹没”一帧,使得整个数据帧或反馈信息帧丢失,这将导致发送方永远收不到接收方发来的确认信息,从而使发送方永远等待下去。为了避免出现这种情况,通常引入计时器来限定接收方发回反馈消息的时间间隔(超时时间),当发送方发送一帧的同时也启动计时器,若在限定时间间隔内未能收到接收方的反馈信息,计时器发出超时信号,提醒发送方传出的帧已出错或丢失,需要重传此帧。在正常情况下,在计时器尚未超时前发送方已收到确认的反馈信息帧,即可将计时器清零。因为同一帧数据可能被重复发送多次,就可能发生接收方多次收到同一帧并将其传送给网络层的危险。为了防止发生这种情况,可以采用对发送的帧进行编号,即给每帧一个序号,从而使接收方通过该序号来区分是新发送来的帧,还是已经接受但又重新发送来的帧(重复帧),以此来决定要不要将接收到的帧传送给网络层。数据链路层通过使用计数器和帧序号来保证每帧最终都能被正确地传送给目的机网络层一次。4.1.4流量控制由于收发双方各自使用的设备的工作速率和缓冲存储空间的差异,可能出现发送方发送能力大于接收方接收能力的现象,若此时不对发送方的发送速率(也即链路上的信息流量)进行适当的限制,前面来不及接收的帧将被后面不断发送来的帧"淹没",从而造成帧的丢失而出错。因此,流量控制实际上是对发送方数据流量的控制,使其发送速率不致超过接收方所能处理的速率。在这个过程中,需要通过某种反馈机制使发送方知道接收方是否能跟得上。要有一些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后再继续发送。在后面介绍的滑动窗口协议就是一种常用的流量控制方法。需要说明的是,流量控制并不是数据链路层特有的功能,许多高层协议中也提供流量控制功能,只不过流量控制的对象不同而已。比如,对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是从源到最终目标之间端对端的流量。4.1.5链路管理链路管理功能主要用于面向连接的服务。在链路两端的节点要进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接。在传输过程中则要维持该连接。如果出现差错,需要重新初始化,重新自动建立连接。传输完毕后则要释放连接。数据链路层连接的建立、维持和释放就称为链路管理。在多个站点共享同一物理信道的情况下(例如在局域网中),如何在要求通信的站点间分配和管理信道也属于数据层链路管理的范畴。4.2差错检测与校正数据通信中,利用编码方法进行差错控制的方法基本上有两类:自动请求重发ARQ(AuotmaticRequestforRepeat)和前向纠错FFC(ForwardErrorCorrection)。在ARQ方式中,接收端发现差错时,以某种方式通知发送端重发,直到收到正确的码字为止。在FEC方式中,接收端不但能发现差错,而且能确定二进制码字发生错误的位置,从而得以纠正。我们把能够自动发现差错的编码称为检错码。把不仅能发现差错而且能自动改正错误的编码称为纠错码。

ARQ方式只使用检错码,但必须有双向信道,才有可能把差错信息反馈到发送方;同时发送方要分配一定的发送数据缓冲区,把已经发送出去但还未确认的数据帧再存放一段时间,以便在收到否认帧或超时信息时可以重新发送。

FEC方式则必须使用纠错码,它不需要利用反向信道来传递请求重发的信息,也不需要分配实施重发的发送数据缓冲区。虽然FEC有上述的优点,但由于纠错码一般都要使用比检错码更多的冗余位,编码效率低,而且纠错算法也要比检错算法复杂得多,因而除非在单向传输或实时性要求特别高(FEC由于不需要重传,实时性较好)等场合外,数据通信中使用更多的还是ARQ差错控制方式。4.2.1停等协议在停等协议中,一次只能发送一帧,发送方等待确认帧。发送方在发送帧的同时启动计时器,该计时器定时大于或等于两倍信号从发送端到接收端传播时间与接收端处理时间之和。当发送方在超时前收到确认帧,就从网络层取一新分组形成新帧,覆盖发送缓冲区中已正确发送的帧,加上帧编号(帧编号用一位二进制位表示),发送新帧,同时重新启动计时器。如果计时器超时或收到数据出错的否认帧,则发送方重发当前编号的帧。具体步骤如下:①初始时,双方的帧编号都为0。发送方维护的帧编号表明当前所发帧的序号,接收方维护的帧编号表明当前期望接收的帧序号。②发送方从发送缓冲区中取出一个帧,加上帧编号发送,随即启动计时器。③接收方接收帧并校验。如果帧校验正确且帧编号同期望接收的帧序号相同,则将该帧存入接收缓冲区,将接收方维护的帧编号取反,放入确认帧,向发送方发送一个确认帧。如果帧校验出错,丢弃该帧,向发送方发送一个否认帧,要求重发指定的帧;如果帧编号不是当前期望接收的帧编号,则该帧为重复帧,丢弃该帧,向发送方发送一个确认帧。不管是出错还是重复帧,在接收方都要维持帧编号不变。④发送方收到确认帧后,如果帧编号与当前维护的帧编号不同,则表明当前帧已被正确接收,将发送方维护的帧编号取反,从缓冲区中取出一个新的帧,加上帧编号发送;如果应答帧中的帧编号与当前维护的帧编号相同或在规定时间内未收到确认帧(即计时器超时),则重发当前编号的帧。从以上过程可以看出,停等协议的收、发双方仅需设置一个帧的缓冲存储空间,便可有效地实现数据重发并确保接收方不会重复接收相同的数据。停等协议最主要的优点就是所需的缓冲存储空间最小,因此在链路端使用简单终端的环境中被广泛采用。停等协议的最大缺点是:发送方要停下来等待确认帧,当确认帧返回后才能继续发送,这样,当链路距离和信号传播时间很长时,等待时间就长,必然造成信道浪费,信道利用率低。4.2.2连续ARQ协议连续ARQ协议又称回退N帧ARQ协议、回退N(Go-back-N)协议或连续传输(ContinousTransmission)协议等等。停等协议适用于半双工线路,信道利用率低。一种改进方法是采用连续ARQ协议。连续ARQ协议是指发送方可以连续发送若干个数据帧,即发送完一个数据帧后,不用停下来等待确认帧就可发送下一帧。这就需要在发送方设置一个较大的发送缓冲存储空间,用以存放若干待确认的数据帧。当发送方收到对某数据帧的确认帧后便可从缓冲存储空间中将该数据帧删除,接着可以发送数据帧。由于减少了等待时间,连续ARQ协议的链路传输效率大大提高,但相应地需要更大的缓冲存储空间。连续ARQ协议的实现过程如下:①发送方连续发送信息帧而不必等待确认帧的返回;②发送方在发送缓冲存储空间中保存所发送未确认的每个帧的备份;③发送缓冲存储空间按先进先出(FIFO)队列规则操作;④接收方对每一个正确收到的信息帧返回一个确认帧;⑤每一个确认帧包含一个惟一的序号,随相应的确认帧返回;⑥接收方保存一个接收次序表,它包含最后正确收到的信息帧的序号;⑦当发送方收到相应信息帧的确认后,从缓冲存储空间中删除该信息帧的备份;⑧当发送方检测出失序的确认帧(即第N号信息帧和第N+2号信息帧的确认帧已返回,而N+1号的确认帧未返回)后,便从未被确认的信息帧开始重发。连续ARQ协议的基本原理是:当接收方检测出失序或错误的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。这就是GO-DACK-N(回退N)名称的由来。对接收方来说,由于这一帧出错,就不能以正常的序号向它的高层递交数据,对其后发送来的N帧也可能都不能接收而丢弃。连续ARQ协议操作过程如图4-1所示。图中假定发送完8号帧后,发现2号帧的确认返回在计时器超时后还未收到,则发送方只能退回,从2号帧开始重发。图4-1连续ARQ协议显然,允许已发送等待确认的帧越多,可能要退回来重发的帧也越多。另外,为了控制发送方的发送速度,并考虑受发送方缓冲存储空间大小的限制等,要求对发送方已发出但尚未确认的帧的数目加以限制。这个数目被称为发送窗口大小。下面介绍几个基本概念。“发送窗口”指在发送端保存的一张允许连续发送的帧的序号表。把即将发送的帧的序号称为“发送窗口前沿”。最早发送但还未收到确认的帧的序号称为“发送窗口后沿”。只有其序号处于发送窗口内的帧才能继续发送出去。发送端可以不等待应答而连续发送的最大帧数称为“发送窗口的大小”。如果用N比特表示帧的序号,则帧序号的取值范围为0~2N-1。“接收窗口”指接收方允许接收的帧的序号表,凡在接收窗口内的帧,接收方都必须处理,在接收窗口外的帧被丢弃。不管接收窗口大小如何,接收方送给上层的数据总是有序的。“捎带应答”指在全双工通信中,通信双方在数据帧中增加一个字段,专门用来携带给对方的确认信息。通常用对某一个帧的确认来代替对该帧之前的所有帧的确认。从滑动窗口的角度看,当发送窗口和接收窗口的大小都为1时,则是停等协议;当发送窗口大于1而接收窗口等于1时(发送窗口的大小不能超过2N-1),则变成了连续ARQ协议;当发送窗口和接收窗口都大于1时(发送窗口和接收窗口的大小都不能超过2N-1),则是选择重传ARQ协议。一般帧号只取有限二进制位,到一定时间后就又反复循环。若帧号取3位二进制数,则帧号在0~7间循环。如果发送窗口大小取值为2,则发送如图4-2所示。图中发送方阴影部分表示打开的发送窗口,接收方阴影部分则表示打开的接收窗口。当传送过程进行时,打开的窗口位置一直在滑动,所以也称为滑动窗口(SliddingWindow)。图4-2滑动窗口状态变化过程图4-2中的滑动窗口变化过程可叙述如下(假设发送窗口大小为2,接收窗口尺寸为1):①初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,表示等待接收0号帧。②发送方已发送0号帧,此时发送方打开0号窗口,表示已发出0号帧但尚未确认返回信息。此时接收窗口状态同前,仍等待接收0号帧。③发送方在未收到0号帧的确认返回信息前,继续发送1号帧。此时,1号窗口打开,表示1号帧也属等待确认之列。至此,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变。④接收方已收到0号帧,0号窗口关闭,1号窗口打开,表示准备接收1号帧。此时发送窗口状态不变。⑤发送方收到接收方发来的0号帧确认返回信息,关闭0号窗口,表示从缓冲存储空间中删除0号帧。此时接收窗口状态仍不变。⑥发送方继续发送2号帧,2号窗口打开,表示2号帧也纳入待确认之列。至此,发送方打开的窗口又已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧,此时接收窗口状态仍不变。⑦接收方已收到1号帧,1号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口状态不变。⑧发送方收到接收方发来的1号帧收毕的确认信息,关闭1号窗口,表示从缓冲存储空间中删除1号帧。此时接收窗口状态仍不变。连续ARQ协议是一种运用最广泛的ARQ协议,它已应用在HDLC、SDLC、ADCCP和LAPB等标准的DLC协议中。连续ARQ协议一方面因连续发送数据帧而提高了效率,但另一方面在重传时又必须把原来已正确传送过的数据帧进行重传(仅因为这些数据帧之前有一个数据帧出了错),这又使得传送效率降低。4.2.3选择重传ARQ协议如果传输线路好,很少出现差错,则连续ARQ协议能很好工作。但如果线路质量不好,经常出现差错或丢帧,经常要回退重传,则会造成传输效率降低和资源浪费。一种效率更高的方法是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以和原已存于缓冲区中的其余帧一并按正确的顺序交付高层。这种方法称为选择重传ARQ协议,其工作过程如图4-3所示。图中2号帧的确认返回信息NAK2要求发送方选择重发2号帧。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。图4-3选择重传ARQ协议一般来说,当线路质量不好,经常出现帧差错,选择重传ARQ协议能提高传输效率。实际上,线路或其他原因出现的差错往往是突发性的,即可能很长一段时间无误码,而在某一短时间内,可能连续数帧出错。在这种情况下,选择重传ARQ协议不会有多少好处。正因为如此,在X.25中,不采用选择重传ARQ协议。4.3数据链路层协议标准4.3.1概述数据链路控制协议也称链路通信规程,也就是OSI参考模型中的数据链路层协议。在数据链路层,“规程”和“协议”两词常可通用。

目前常用的标准数据链路控制协议有:IBM公司于20世纪70年代率先提出的面向比特的同步数据链路控制协议SDLC(SynchronousDataLinkControl),国际标准化组织ISO建议的高级数据链路控制协议HDLC(HighlevelDataLinkControl),美国国家标准化学会ANSI规定的先进数据通信控制协议ADCCP(AdvancedDataCommunicationControlProcedure)和国际电话电报咨询委员会CCITT建议的平衡链路访问协议LAPB(LinkAccessProcedureBalanced)等。其中,HDLC与ADCCP功能相同,SDLC是HDLC的一个功能子集。LAPB是国际电信联盟ITU(InternationalTelecommunicationsUnion)X.25网的数据链路控制(DLC)协议,它也是HDLC的一个子集。以上这些协议都是面向比特的同步协议。根据同步方式的不同,数据链路控制协议可分为异步协议和同步协议两大类。异步协议以字符为独立的信息传输单位,在每个字符的起始处开始对字符内的比特实现同步,但字符与字符之间的间隔时间是不固定的(即字符之间是异步的)。由于发送器和接收器中近似于同一频率的两个约定时钟能够在一段较短的时间内保持同步,所以可以用字符起始处同步的时钟来采样该字符中的各比特,而不需要每个比特再用其他方法同步。异步协议中由于每个传输字符都要添加诸如起始位、校验位、停止位等冗余位,故信道利用率很低,一般用于数据速率较低的场合。同步协议是以许多字符或许多比特组成的数据块(帧)为传输单位,在帧的起始处同步,使帧内维持固定的时钟。由于采用帧为传输单位,所以同步协议能更有效地利用信道,也便于实现差错控制、流量控制等功能。同步协议可分为面向字符的同步协议(其典型代表是IBM公司的二进制同步通信BSC-BinarySynchronousCommunication协议)、面向比特的同步协议及面向字节计数的同步协议(其典型代表是美国原数据设备公司DEC的数字数据通信报文协议DDCMP—DigitalDataCommunicationsMessageProtocol)三种类型。其中面向比特的同步协议被广泛采用,因此在下一节主要介绍面向比特的同步协议——高级数据链路控制协议HDLC。4.3.2高级数据链路控制协议HDLCHDLC具有以下特点:协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特填充法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收或重复,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。由于以上特点,目前网络设计普遍使用HDLC数据链路控制协议。1.HDLC的操作方式

HDLC是通用的数据链路控制协议,在开始建立数据链路时,允许选用特定的操作方式。所谓“操作方式”,通俗地讲就是指某站点是以主站方式操作还是以从站方式操作,或者是二者兼备。链路上用于控制目的的站称为主站,其他的受主站控制的站称为从站。主站对数据流进行组织,并且对链路上的差错实施恢复。由主站发往从站的帧称为命令帧,而从从站返回主站的帧称为响应帧。连有多个站点的链路通常使用轮询技术,轮询其他站的站称为主站,而在点对点链路中每个站均可为主站。主站需要比从站有更多的功能,所以当终端与主机相连时,主机一般总是主站。在一个站连接多个链路的情况下,该站对于一些链路而言可能是主站,而对于一些链路而言又可能是从站。有些站可兼备主站和从站的功能,这种站称为复合站,用于复合站之间信息传输的协议是对称的,即在链路上主、从站具有同样的传输控制功能,这又称作平衡操作。与之相对的,那种操作时有主站、从站之分的,且各自功能不同的操作,称为非平衡操作。

HDLC中常用的操作方式有以下三种。①正常响应方式NRM(NormalResponsesMode)。这是一非平衡数据链路方式,有时也称非平衡正常响应方式。该操作方式适用于面向终端的点对点或一点与多点的链路。在这种操作方式中,传输过程由主站启动,从站只有收到主站某个命令帧后,才能作出响应向主站传输信息。响应信息可以由一个或多个帧组成,若信息由多个帧组成,则应指出哪一个是最后一帧。主站负责整个链路,且具有轮询、选择从站及向从站发送命令的权利,同时也负责对超时、重发及各类恢复操作的控制。②异步响应方式ARM(AsynchronousResponsesMode)这也是一种非平衡数据链路操作方式,与NRM不同的是,ARM下的传输过程由从站启动。从站主动发送给主站的一个或一组帧中可包含有信息,也可以是仅以控制为目的而发的帧。在这种操作方式中,由从站来控制超时和重发。该方式对采用轮询方式的多站链路来说是必不可少的。③异步平衡方式ABM(AsynchronousBalancedMode)。这是一种允许任何节点来启动传输的操作方式。为了提高链路传输效率,节点之间在两个方向上都需要有较高的信息传输量。在这种操作方式下,任何时候任何站点都能启动传输操作,每个站点既可作为主站又可作为从站,即每个站都是复合站。各站都有相同的一组协议,任何站点都可以发送或接收命令,也可以给出应答,并且各站对差错恢复过程都负有相同的责任。2.HDLC的帧格式在HDLC中,数据和控制报文均以帧的标准格式传送。HDLC中命令和响应以统一的格式按帧传输。完整的HDLC帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成,其格式见表4-1。表4-1HDLC的帧格式标志地址控制信息帧校验序列标志F(01111110)A(8位)C(8位)I(N位)FCS(16位)F(01111110)各字段的具体说明如下:(1)标志字段(F):标志字段“01111110”的比特模式,用以标志帧的起始和终止,通常,在不进行帧传送的时刻,信道仍处于激活状态。在这种状态下,发送方不断地发送标志字段,而接收方则检测每一个收到的标志字段,一旦发现某个标志字段后面不再是一个标志字段,便可认为一个新的帧传送已经开始。采用“0比特填充法”可以实现数据的透明传输,该法在发送端检测除标志字段以外的所有字段,若发现连续5个“1”出现时,便在其后添插1个“0”,然后继续发送后面的比特流;在接收端同样检测除标志码以外的所有字段,若发现连续5个“1”后是“0”,则将其删除以恢复比特流的原貌。

(2)地址字段(A):地址字段的内容取决于所采用的操作方式。在操作方式中,有主站、从站、复合站之分,每一个从站和组合站都被分配一个惟一的地址。命令帧中的地址字段携带的地址是对方站的地址,而响应帧中的地址字段所携带的地址是本站的地址。某一地址也可分配给不止一个站,这种地址称为组地址,利用一个组地址传输的帧能被组内所有拥有该组地址的站接收,但当一个从站或复合站发送响应时,它仍应当用它惟一的地址。还可以用全1地址来表示包含所有站的地址,这种地址称为广播地址,含有广播地址的帧传送给链路上所有的站。另外,还规定全0地址为无效地址。(3)控制字段(C):控制字段用于构成各种命令和响应,以便对链路进行监视和控制。发送方主站或复合站利用控制字段来通知被寻址的从站或复合站执行约定的操作;相反,从站用该字段作为对命令的响应,报告已完成的操作或状态的变化。该字段是HDLC的关键,下面还将详细介绍。(4)信息字段(I):信息字段可以是任意的二进制比特串。比特串长度未做严格限定,其上限由FCS字段或站点的缓冲器容量来确定,目前用得较多的是1000~2000b,而下限可以为0,即无信息字段。但是,监控帧(S帧)中规定不可有信息字段。(5)帧检验序列字段(FCS):帧检验序列字段可以使用16位CRC,对两个标志字段之间的整个帧的内容进行校验。FCS的生成多项式由CCITTV.41建议规定为X16+X12+X5+1。3.HDLC的帧类型

HDLC有信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)三种不同类型的帧,各类帧中控制字段的格式及比特定义如表4-2。表4-2HDLC的帧类型控制字段位12345678I格式0N(S)P/FN(R)S格式10S1S2P/FN(R)U格式11M1M2P/FM3M4M5控制字段中的第1位或第1、2位表示传送帧的类型。第5位是P/F位,即轮询/终止(Poll/Final)位。当P/F位用于命令帧(由主站发出)时,起轮询的作用,即当该位为“1”时,要求被轮询的从站给出响应,所以此时P/F位可称轮询位(或P);当P/F位用于响应帧(由从站发出)时,称为终止位(或F位),当其为“1”时,表示接收方确认的结束。为了进行连续传输,需要对帧进行编号,所以控制字段中包括了帧的编号。信息帧(I帧):信息帧用于传送有效信息或数据,通常简称I帧。I帧以控制字段第一位为“0”来标志。信息帧控制字段中的N(S)用于存放发送帧序号,以使发送方不必等待确认而连续发送多帧。N(R)用于存放接收方下一个预期要接收的帧的序号,如N(R)=5,即表示接收方下一帧要接收5号帧,换言之,5号帧前的各帧接收方都已正确接收到。N(S)和N(R)均为3位二进制编码,可取值0~7。监控帧(S帧):监控帧用于差错控制和流量控制,通常简称S帧。S帧以控制字段第1、2位为“10”来标志。S帧不带信息字段,帧长只有6个字节即48个比特。S帧的控制字段的第3、4位为S帧类型编码,共有四种不同组合:“00”接收就绪(RR)。主站可以使用RR型S帧来轮询从站,即希望从站传输编号为N(R)的I帧,若存在这样的帧,便进行传输;从站也可用RR型S帧来做响应,表示从站期望接收的下一帧的编号是N(S)。“01”拒绝(REJ)。由主站或从站发送,用以要求发送方对从编号为N(R)开始的帧及其以后所有的帧进行重发,这也暗示N(R)以前的I帧已被正确接收。“10”接收未就绪(RNR)。表示编号小于N(R)的I帧已被收到,但目前正处于忙状态,尚未准备好接收编号为N(R)的I帧,告诉发送进程暂停发送。“11”选择拒绝(SREJ)。它要求发送方重新发送编号为N(R)的单个I帧,并暗示其他编号的I帧已确认。可以看出,接收就绪RR型S帧和接收未就绪RNR型S帧有两个主要功能:①这两种类型的S帧用来表示从站已准备好或未准备好接收信息;②确认编号小于N(R)的所有接收到的I帧。拒绝REJ型和选择拒绝SREJ型S帧,用于向对方站指出发生了差错。REJ帧对应回退N帧策略,用以请求重发N(R)起始的所有帧,而N(R)以前的帧已被确认。SREJ帧对应选择重发策略,当收到一个N(S)等于SREJ帧的N(R)的I帧时,SREJ状态即应消除。无编号帧(U帧):无编号帧因其控制字段中不包含编号N(S)和N(R)而得名,简称U帧。U帧用于提供对链路的建立、拆除以及多种控制功能,这些控制功能用5位(M1~M5)来定义,可以定义32种附加的命令或应答功能,但实际上目前只定义了15种无编号帧。

4.4Internet的数据链路协议4.4.1SLIP协议

SLIP是指SerialLineInternetProtocol,即串行线路网际协议。SLIP是用来在串行线上传送TCP/IP数据的。它最初被开发用于串行线,在简单电话服务POTS(PlainOldTelephoneService)线上提供TCP/IP连接。SLIP协议不是一个Internet的标准,并且流传着SLIP的许多不同版本。然而,它可以成帧以及在串行连接线上传送IP数据报。因为它不是一个标准协议,SLIP就没有指定分组的最大值。因此,只要连接的两端的数据大小兼容,任意大小的数据都可以使用。

SLIP与PPP(PointtoPointProcotol)一样,都允许拨号用户将其计算机作为平等的主机连接到Internet上进行通信。不过,PPP在建立时不需太多的配置信息,因为PPP协议本身内置了先进的通信协商过程,能判断出分配给用户的IP地址或路由器地址,无需用户预先设置;而在建立SLIP连接时,用户需要将这些信息加入到配置说明或配置文件中。与PPP不一样的是,PPP协议是串行线连接的一种Internet标准协议,因此,PPP比SLIP更加通用和被广泛接受,SLIP也逐渐被PPP所取代。4.4.2PPP协议点对点协议PPP提供了一种通过点对点链路传输数据报文的方法。PPP协议包括有三个主要的部分:(1)通过串行链路封装数据报文的方法,PPP协议采用高层数据链路控制(HDLC)协议作为基础来通过点对点链路封装数据报文;(2)扩展的链路控制协议(LCP)用于建立、配置和测试数据链路的连接;(3)全序列的网络控制协议(NCP)用于建立和配置不同的网络层协议,PPP协议被设计成能够同时采用多种不同的网络层协议。为了通过点对点链路建立通讯机制,原始PPP首先发送LCP帧来配置和(有选择地)测试数据链路。在数据链路已经建立起来,可选设施已经由LCP协调好之后,原始PPP发送NCP帧来选择和配置一个或多个网络层协议。当某一个被选择的网络层协议已经被配置好时,来自每一个网络层协议的封包就可以通过数据链路发送封包。在显示的LCP或NCP帧关闭数据链路,或者是其他的外部事件发生(比如超时或用户干预等)之前,数据链路一直处于适合通讯的正常状态。

PPP协议能够通过任意DTE/DCE接口进行操作,这些接口包括EIA/TIA-232C(即以前的RS-232C)、EIA/TIA-422(即以前的RS-422)、EIA/TIA-423(即以前的RS-423)以及国际电讯联合会电讯标准化分会(ITU-T)的V.35标准。PPP协议的惟一强制性的要求就是提供双工的电路,不管它是专用的还是可切换的,只要能够以同步和异步的位串模式操作,对PPP协议的链路层帧透明。PPP协议对数据的传输速率没有任何限制。

PPP的帧格式和HDLC的相似。PPP协议的数据帧格式请参表4-3。表4-3PPP的帧格式字段长度(字节)1112可变2/41标志地址控制协议数据FCS标志有关PPP协议数据帧中的字段意义分别描述如下:(1)标志字段:表示数据帧的开始和结束的单字节字段,通常该字段的内容为二进制序列01111110。(2)地址字段:单字节的地址字段,包含的内容为表示标准广播地址的二进制序列11111111,PPP协议不赋值单个的站点地址。(3)控制字段:包含有二进制序列00000011的单字节字段,用来表示用户数据的传输是采用无序帧的方式进行,而且还提供类似于类型1的逻辑链路控制(LLC)的无连接设施。(4)协议字段:PPP与HDLC不同的是多了一个两字节的协议字段。协议字段用于说明封装在数据帧的数据字段中的协议类型。当协议字段为0x0021时,PPP帧的数据字段就是IP数据报;若为0xC021,则数据字段是PPP链路控制数据,而0x8021表示这是网络控制数据。在RFC1700中定义了PPP使用的协议字段的代码。(5)数据字段:该字段的长度为两个字节,它包含了协议字段中规定的协议所需的数据报文。数据字段缺省的最大长度为1500字节,但根据以前的有关规定,PPP协议在实现时其数据字段的最大长度也可以规定为其他的数值。(6)帧检验序列(FCS)字段:该字段通常为16个二进制位(即2个字节),但根据以前的有关约定,PPP协议在实现时,其FCS字段的长度也可以为32个二进制位(即4个字节),这样有利于提高错误的检测能力。

PPP技术中的链路控制协议(LCP)提供了用来建立、配置、维护和关闭点对点连接的方法。通常情况下,LCP协议一般都要经历如下四个步骤:(1)链路的建立与配置的协调。在任何网络层数据报文(比如IP数据报文)能够被交换之前,LCP协议必须首先打开有关的连接和协调有关的配置参数,当配置确认帧已经被发送和接收到时这一步骤才算完成。(2)链路质量的确认。在链路的建立与配置的协调步骤完成之后,LCP协议可以有选择地进行链路质量的确认步骤。在这一步骤中,链路被测试以确定是否能够满足运行网络层协议的要求,而且这一步骤对LCP协议来讲是可以选择的。LCP协议也可以将网络层协议信息的传输推迟到这一步骤结束之后进行。(3)网络层协议配置的协调。在链路质量的确认步骤完成之后,网络层协议可以通过适当的NCP协议进行单独的配置,而且可以在任何时刻被激活或者被挂起。如果LCP协议关闭了某一链路,它将会通知网络层协议采取相应的后续动作。(4)链路的关闭。LCP协议可以在任意时刻关闭链路,当然这种情况通常是由于用户请求而发生的,也有可能是由其他意外事件的发生所致,比如线缆本身出现故障或者使用超时等。4.5网桥4.5.1网桥的基本概念网桥也称桥接器,是连接两个局域网的一种设备。网桥还可以用于扩展网络的距离,在不同介质之间转发数据信号以及隔离不同网段之间的通信。网桥工作在数据链路层。IEEE将OSI参考模型的数据链路层划分成两个单独的子层:介质访问控制(MAC)子层和逻辑链路控制(LLC)子层。

MAC子层用于管理和协调对介质的访问(比如冲突的协调、令牌的传递等),而LLC子层用于组帧/解帧、流量控制、错误检测和MAC子层的寻址。一般情况下,被连接的局域网具有相同的逻辑链路控制协议LLC,但在介质访问控制协议MAC上可以不同。网桥是为各种局域网之间存储转发数据而设计的,它对末端站点的用户是透明的。网桥在相互连接的两个局域网之间起到帧转发的作用,它允许每个LAN上的站点与其他站点进行通信,看起来就像在一个扩展的局域网上一样。为了有效地转发数据帧,网桥自动存储接收进来的帧,通过查找地址映像表完成寻址,并将接收帧的格式转换成目的局域网的格式,然后将转换后的帧转发到网桥对应的端口上。网桥除了具有存储转发功能外,还具有帧过滤的功能。帧过滤功能是阻止某些帧通过网桥。帧过滤有3种类型:目的地址过滤、源地址过滤和协议过滤。目的地址过滤指的是当网桥接收到一个帧后,首先确定其源地址和目的地址,如果源地址和目的地址处在同一个局域网(或网段)中,就简单地将其丢弃,否则就将其转发到另一个局域网(或网段)上。目的地址过滤是任何网桥的最基本的功能。源地址过滤是指网桥拒绝某一特定地址(站点)发出的帧,这个特定地址无法从网桥的地址映像表中得到,但可以由网络管理模块提供。而协议过滤是指网桥能用帧中的协议信息来决定是转发还是滤掉该帧。协议过滤通常用于流量控制和网络安全控制。并非每一种网桥都提供源地址过滤和协议过滤功能。由于不同局域网在帧格式、数据传输率、CRC校验等方面都不相同,例如,FDDI网络中允许的最大帧长度是4500B,而802.3以太网的最大帧长度是1518B。这样,网桥在从FDDI向以太网转发数据帧时,就必须将FDDI长达4500B的帧分割成几个1518B长度的IEEE802.3帧,然后再将这些帧转发到以太网上;反之,在从以太网向FDDI转发数据帧时,必须将只有1518B的以太网帧组合成FDDI格式的帧,并以FDDI格式传输。以上这些过程都涉及到帧的分段和重组,帧的分段和重组工作必须快速完成,否则会降低网桥的性能。另外,网桥还必须具有一定的管理管理,以便对扩展网络进行有效管理。例如,可对网桥转发及丢弃的帧进行统计,及时修改网桥地址数据库,某些类型的网桥还可以通过生成树算法动态调整扩展网络的拓扑结构以适应网络的变化。网桥可分为本地网桥(LocalBridge)和远程网桥(RemoteBridge)等。本地网桥是指在传输介质允许范围内完成局域网之间的互连。远程网桥是指两个局域网之间的距离超过一定范围,需要用点到点线路或广域网进行连接的网桥。最常见的网桥是透明网桥和源选径网桥。4.5.2透明网桥透明网桥(TransparentBridge)也称生成树网桥(SpanningTreeBridge),是由DEC公司针对以太网提出的桥接技术。透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。这需要通过查询网桥中一张大型散列表里的目的地址(MAC地址)而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。在插入网桥之初,所有的散列表均为空。由于网桥不知道任何目的地的位置,因而采用扩散算法(FloodingAlgorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。透明网桥采用的算法是逆向学习法(BackwardLearning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:(1)如果源LAN和目的LAN相同,则丢弃该帧。(2)如果源LAN和目的LAN不同,则转发该帧。(3)如果目的LAN未知,则进行扩散。为了提高可靠性,有人在LAN之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路(环),可能引发无限循环。透明网桥的标准是802.1D,这个标准不仅描述了网桥“学习”MAC地址和转发帧的方法,还提供了一个算法来保证网桥并行操作而不会无限循环地进行包的发送,这个算法叫做生成树(SpanningTree)算法。解决无限循环问题的方法是让网桥相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。使用生成树,可以确保任两个LAN之间只有惟一一条路径。一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树。由于从每个源到每个目的地只有惟一的路径,故不可能再有循环。大多数二层网桥和交换机都提供生成树操作。为了建造生成树,首先必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证全球惟一),选序列号最小的网桥作为根。接着,按根到每个网桥的最短路径来构造生成树。如果某个网桥或LAN故障,则重新计算。网桥通过网桥协议数据单元BPDU(BridgeProtocolDataUnit)互相通信,在缺省情况下,每两秒钟,一个指定的网桥就发出一个配置BPDU。在网桥做出配置自己的决定前,每个网桥和每个端口需要下列配置数据:●网桥:网桥ID(惟一的标识)●端口:端口ID(惟一的标识)●端口相对优先权●各端口的花费(高带宽=低花费)配置好各个网桥后,网桥将根据配置参数自动确定生成树,这一过程有三个阶段:(1)选择根网桥。具有最小网桥ID的网桥被选作根网桥。网桥ID应为惟一的,但若两个网桥具有相同的最小ID,则MAC地址小的网桥被选作根。(2)在其他所有网桥上选择根端口。除根网桥外的各个网桥需要选一个根端口,这应该是最适合与根网桥通信的端口。通过计算各个端口到根网桥的花费,取最小者作为根端口。(3)选择每个LAN的“指定(designated)网桥”和“指定端口”。如果只有一个网桥连到某LAN,它必然是该LAN的指定网桥,如果多于一个,则到根网桥花费最小的被选为该LAN的指定网桥。指定端口连接指定网桥和相应的LAN(如果这样的端口多于一个,则低优先权的被选)。一个端口必须为下列之一:●根端口●某LAN的指定端口●阻塞端口当一个网桥加电后,它假定自己是根网桥,发送出一个CBPDU(ConfigurationBridgeProtocolDataUnit),告知它认为的根网桥ID。一个网桥收到一个根网桥ID小于其所知ID的CBPDU,它将更新自己的表,如果该帧从根端口(上传)到达,则向所有指定端口(下传)分发。当一个网桥收到一个根网桥ID大于其所知ID的CBPDU,该信息被丢弃,如果该帧从指定端口到达,则回送一个帧告知真实根网桥的较低ID。当有意地或由于线路故障引起网络重新配置,上述过程将重复,产生一个新的生成树。通常,根网桥的选择不是最关键的,因为网桥的层次结构非常复杂(推荐的每个802.1D的最大“跳”数为7)。不要通过WAN把它分配给一个远程网桥或者频繁使用的网桥,因为BPDU可能会有延迟,使拓扑结构不稳定。如果没有并行的网桥,那么用哪个网桥作为根网桥就不是问题了。实际上,甚至不需要生成树,包也不会意外地穿过两个并行的网桥或交换机。4.5.3源路由网桥透明网桥的优点是易于安装,只需插进电缆即大功告成。但是从另一方面来说,这种网桥并没有最佳地利用带宽,因为它们仅仅用到了拓扑结构的一个子集(生成树)。这些因素的相对重要性导致了802委员会内部的分裂。支持CSMA/CD和令牌总线的人选择了透明网桥,而令牌环的支持者则偏爱一种称为源路由选择(SourceRouting)的网桥,并得到IBM的支持。源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一LAN上。当发送一帧到另外的LAN时,源机器将目的地址的高位设置成1作为标记。另外,它还在帧头加进此帧应走的实际路径。源路由选择网桥只关心那些目的地址高位为1的帧,当见到这样的帧时,它扫描帧头中的路由,寻找发来此帧的那个LAN的编号。如果发来此帧的那个LAN编号后跟的是本网桥的编号,则将此帧转发到路由表中自己后面的那个LAN。如果该LAN编号后跟的不是本网桥,则不转发此帧。这一算法有3种可能的具体实现:软件、硬件、混合。这三种具体实现的价格和性能各不相同。第一种没有接口硬件开销,但需要速度很快的CPU处理所有到来的帧。最后一种实现需要特殊的VLSI芯片,该芯片分担了网桥的许多工作,因此,网桥可以采用速度较慢的CPU,或者可以连接更多的LAN。源路由选择的前提是互联网中的每台机器都知道所有其他机器的最佳路径。如何得到这些路由是源路由选择算法的重要部分。获取路由算法的基本思想是:如果不知道目的地地址的位置,源机器就发布一广播帧,询问它在哪里。每个网桥都转发该查找帧(DiscoveryFrame),这样该帧就可到达互联网中的每一个LAN。当答复回来时,途经的网桥将它们自己的标识记录在答复帧中,于是,广播帧的发送者就可以得到确切的路由,并可从中选取最佳路由。虽然此算法可以找到最佳路由(它找到了所有的路由),但同时也面临着帧爆炸的问题。透明网桥也会发生有点类似的状况,但是没有这么严重。其扩散是按生成树进行,所以传送的总帧数是网络大小的线性函数,而不像源路由选择是指数函数。一旦主机找到至某目的地的一条路由,它就将其存入到高速缓冲器之中,无需再作查找。虽然这种方法大大遏制了帧爆炸,但它给所有的主机增加了事务性负担,而且整个算法肯定是不透明的。4.5.4透明网桥与源路由选择网桥的比较透明网桥与源路由网桥的比较如表4-4所示。透明网桥一般用于连接以太网段,而源路由选择网桥则一般用于连接令牌环网段。表4-4透明网桥与源路由选择网桥的比较特点透明网桥源路由选择网桥注解连接方式无连接面向连接

透明性完全透明不透明透明网桥对主机来说是完全不可见的,而且它与所有现在的802产品完全兼容。源路由选择网桥既不透明又不兼容。如果要用源路由选择网桥,主机必须知道桥接模式,必须主动地参与工作配置方式自动手工

路由次优化优化源路由选择网桥的几个不多的优点之一是:从理论上讲,它可使用最佳路由,而透明网桥则只限于生成树。另外,源路由选择网桥还可以很好地利用网间的并行网桥来分散载荷。不过在实际中,网桥能否利用这些理论上的优点是令人怀疑的定位逆向学习发现帧逆向学习的缺点是:网桥必须一直等到碰巧有一特别的帧到来,才能知道目的地在何处查找帧的缺点是:在有并行网桥的大型互联网中,会发生指数级的帧爆炸失效处理由网桥处理由主机处理

4.6交换机4.6.1交换机的工作原理同集线器被称为多端口中继器一样,交换机有时被称为多端口网桥。也就是当网桥从两个以上端口接收信息时,网桥就变成了交换机。使用网桥可以分隔多个网络。一直以来,分段被认为是一种减少跨段通信和在扩充网络中实现基本性能改善的一种很好的方法。尽管网桥能使高负荷的网络细分为更易管理的小型网络,但是当最初的高负荷问题重新出现时,采用网桥的方案只在有限的范围内有效,特别是当某一分段上的大量用户要求许多其他分段上的连接时,网桥就不能够同时提供跨分段的连接。值得庆幸的是,交换机的一个优点就是很好地解决了多个跨分段连接。交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的发送者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。用于LAN上的交换机与网桥相似,因为它们都运作在数据链路层的MAC子层上,都检验着所有进入的网络流量的设备地址。与网桥还相似的是,交换机保持一张有关地址的信息表,并用表中信息来决定如何过滤并转发数据帧。交换机限制数据与局部分段,只在帧的目的主机位于其他分段时才进行跨段传输,交换机将所需帧仅发往目的分段,而使其余连至交换机的分段与此次传输无关,并且能实现局部分段通信。交换机工作确保网络通信经过尽可能少的分段数。而与网桥不同的是,交换机采用交换技术来增加数据的输入输出总和和安装介质的带宽。交换机本身是硬件设备,在外形上与路由器、集线器和网桥的差别并不大。但是,三个重要的因素使交换机和同类网络设备相区别:整体速度(交换机快得多);发送方法学或电子逻辑(更智能);更多的端口数。同网桥和路由器的功能相比,它们在传统上使用效率较低却更加昂贵的微处理器和软件方式,交换机对其上逻辑板进一步依赖,应用专用集成电路,从而以更快而且更有效的方式使数帧直接穿过多个分段。通常情况下,一个LAN的交换机会采用下列两种交换技术之一:直接(CutThrough)交换和存储转发交换。4.6.2交换方式1.直接交换直接交换有时也称直通交换。直接交换是通过在整个帧接收到之前就转发帧的部分而实现的。MAC级的目标地址一读取,就可以转发帧,而目标端口是由交换机中的表决定的。这种方法可以有效地降低交换延迟(由于内部采用了基于硬件的交叉矩阵,交换延迟仅为30×10-6s),获得较高的传输速度,而这样高的网络速度部分是因为放弃错误校验而实现的。因此,对于交换机在没有完全接收并检查数据包的正确性之前就已经开始数据转发,这样,在通信质量不高的环境下,交换机可能将错误帧转发出去,这实际上是给整个交换网络带来了许多垃圾数据包。所以,直接交换技术适用于网络链路质量较好、错误数据包较少的网络环境。采用直接交换技术的交换机有固定的延时,因为直通式交换机不管数据包的整体大小,而只根据目的地址来决定转发方向。所以,它的延时是固定的。对于多媒体应用,直接交换是一种很好的方法。采用存储转发技术的交换机由于必须要接收完完整的数据包才开始转发数据包,所以它的数据包越大,延时越长;数据包越小,延时越短。2.存储转发存储转发技术要求交换机在接收到全部数据包后再决定如何转发,交换机提供存储和转发功能,这使交换机可验证分组的CRC并去除其他可能的传输错误,进而允许网络上的高可靠性数据传输。尽管它没有严格地改进网络性能,但它确实去除了分组错误所必然产生的额外传输,否则这些额外传输必然占用网络资源,从这个角度看,它也提高了网络相关速度。在存储转发交换中,帧是在完全接收到之后才能转发。一旦交换机接收到了帧,首先要在发送到目标节点之前通过CRC检查错误。其次,帧被缓存起来,直到正确的端口和通信链接可用。这样保证了网络上的高可靠性数据传输。新的使用存储转发交换技术的交换机(有时称为路由交换机)也可以组合路由和交换技术,因此可以在网络层(第3层)上工作,以建立到目标的最快的路径。组合了路由功能的交换机在网络流量分段方面具有更大的灵活性,从而可以避免在以太网应用中的广播风暴。关于路由交换机是否真如公认的那样是严格的第2层设备,在网络互连专家中还存在有一些争议。根据20世纪80年代发展的交换机的定义,第3层的交换机实际上是路由器,这个路由器采用交换技术来发送包,速度要高于传统的路由器。存储转发交换技术越来越比直接交换流行,目前其中有些交换机还利用CPU来增加输入输出总量。在理想条件下,基于CPU的交换机比非CPU的交换机速度要快得多,但在某些环境下,基于CPU的交换机在大量的输入流量下会承受超额负载,致使CPU的利用率达到100%,从而实际上降低了交换机的速度,使其比没有CPU的交换机还要慢。如果使用基于CPU的交换机,那么检查CPU的容量以确定其是否与网络负载相匹配是很重要的。基于CPU的交换机用于:●以太网●快速以太网●吉比特以太网●令牌环网●快速令牌环网●FDDI●ATM交换技术的最常见的用途之一是在以太局域网上减少冲突并改善带宽。以太网交换机利用其MAC地址表来确定哪个端口接收特定的数据。由于每个端口都通过惟一的一个节点与一个段相连,并没有其他的节点,所以节点和段享有完全的10Mb/s(或100Mb/s或1Gbps)的带宽,这样就减少了发生冲突的可能。交换机另一个最常见的应用是在令牌环网中。令牌环网交换机在数据链路层只执行桥接功能,或者能在网络层执行源路由桥接功能。虽然IEEE规范在某些条件下允许在以太网集线器或交换机段上有两个连接的节点,但大多数网络管理员只连接一个节点,这种网络设计可以充分利用通过交换技术增强的带宽能力。通过直接转接到接收数据的段,交换机可以极大地提高网络的带宽,而无须对现有的网络介质进行升级。例如,考虑下面这种情况:有一个集线器连着8个10Mb/s的段,但是却没有交换能力。由于集线器一次只能向一个段传送数据,所以集线器的容量不能超过10Mb/s。如果用以太局域网交换机来代替集线器,由于交换机可以几乎同时向每个段重新传送数据,所以网络的整个容量就增加了7倍,即80Mb/s(8×10Mb/s=80Mb/s)。因为目前交换机的价格不比集线器贵多少,所以交换机提供了一条在高流量网络上提高性能的快捷之径。目前有一种受控的交换机可用,它可以提供智能选项,与受控的集线器提供的智能选项相似。有些交换机能够实施虚拟局域网VLAN(VirtualLAN)技术。根据IEEE802.1q标准的定义,VLAN是一种基于软件的将网络逻辑地划分为子网络的方法,这些逻辑的子网络组都独立于真实的物理网络拓扑结构。VLAN中组的成员可以在物理上相距甚远的段中,但可以通过VLAN软件和交换机、路由器以及其他网络设备而配置为在同一个逻辑段中。当实施VLAN时,路由交换机是最佳选择,因为根据其子网的容量,路由交换机可以减少管理的开支。VLAN中的第2层交换机要求交换端口链接到MAC地址,这就对VLAN的管理增加了一层额外的工作。路由交换机的成本比传统的第2层LAN交换机的成本只略高一点,这就使得它们成为许多网络的非常好的选择。如果在网络中使用路由交换机取代第2层交换机,就可以使用子网来控制网络流量并防止出现广播风暴。4.6.3交换机特性与选型原则从广义上来看,交换机分为两种:广域网交换机和局域网交换机。广域网交换机主要应用于电信领域,提供通信用的基础平台。而局域网交换机则应用于局域网络,用于连接终端设备,如P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论