• 考研笔记-数据链路层和局域网


    7.数据链路层和局域网

      7.1 数据链路层的功能

        数据链路层在物理层提供的服务的基础上向网络层提供服务,主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能    出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

        7.1.1 为网络层提供服务

          对网络层而言,数据链路层的基本任务是将源机器中的来自网络层的数据传送到目的机器的网络层。

          数据链路层通常提供的服务有:

          1)无确认的无连接服务。源机器发送数据帧时不需要建立连接,目的机器收到数据帧也不需要确认。对于丢失的帧,数据链路      层不负责交给上层处理。适用于实时通讯和误码率较低的通信信道,如以太网。

          2)有确认的无连接服务。源机器发送数据帧时不需要建立连接,目的机器收到数据帧必须确认。源机器在规定时间内没有收到      确认数据帧就重传丢失的数据帧,以提高传输地可靠性。通常用于误码率较高的通信信道,如无线通信。

          3)有确认的面向连接的服务。帧传输过程分为三步:建立数据链路、传输帧、释放数据链路。目的机器对于收到的每一帧都要      给出确认,源机器收到确认后才能发送下一帧,因此服务的可靠性最高。该服务适用于通信要求较高的场合。

        7.1.2 链路管理

          数据链路层的连接建立、维持和释放称为链路管理,主要用于面向连接的服务。当两端节点都要进行通信前,首先必须确认双      方都处于就绪的状态,并交换一些信息对帧序号初始化,然后才能建立连接。在多个站点共享同一物理信道的情况下,如何在要求      通信的站点间分配和管理信道也属于数据链路层管理的范围。

        7.1.3 帧定界、帧同步、透明传输

          两个工作站在传递信息时,必须把网络层的分组封装成帧,以帧的格式进行传输。他将一段数据的前后加上首部和尾部,就构      成了帧。首部和尾部有很多控制信息,它们一个重要作用是确定帧的界限,即帧界定。而帧同步是指接收方应能从接收到的二进制      比特流中区分出帧的起始和结束。如果在数据中恰好出现域帧界定相同的比特组合,就要采取有效措施解决这个问题,即透明传        输。透明传输就是不管所传数据是什么样的比特组合,都应该能在链路上传送。

        7.1.4 流量控制

          由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接收能力,若此时不限制发送方的      发送能力,接收方就会来不及接收到来的帧,造成帧的丢失出错。因此,流量控制就是限制发送方的发送能力,使其发送速率不超      过接收方的接受能力。

          流量控制并不是数据链路层所特有的功能,许多高层协议中也提供此功能,只是控制的对象不同。对于数据链路层来说,控制      的是相邻两节点之间数据链路上的流量,而对于传输层来说控制的是源端到目的端之间的流量。

        7.1.5 差错控制

          由于信道噪声等各种原因,帧传输过程中可能会出现错误。用以使发送方确定接收方是否正确接收到了他发出的数据的方法称      为差错控制。通常这些错误可分为位错和帧错。

          位错是指帧中的某位出现了差错。通常采用循环冗余校验CRC方式发现错误,通过自动重传请求ARQ方式来重传出错帧。具体做      法是:发送方将要发送的数据附加一定的CRC冗余检错码一并发送,接收方根据检错码对数据帧进行错误检验,若发现错误则丢弃,      发送方超时重传该数据帧。这种方法称为ARQ法。

          帧错是指帧的丢失、重复、失序等错误。在数据链路层引入编号机制,可以保证每一帧最后都能一次性正确地交付给目的地。

      

      7.2 组帧

        7.2.1 字符计数法

          字符计数法是在帧头部使用一个计数字段来表明帧内字符数,当目的节点的数据链路层收到字节计数值时,就知道后面跟随的      字节数,从而确定一个帧的结束位置(计数字段本身占一个字节)。

          这种方法最大的问题就是如果计数字段出错,即失去了划分帧界限的依据,接收方就无法判断一个帧的结束位和下一帧的开始      位,收发双方失去同步,造成灾难性后果。

        7.2.2 字符填充的首位定界符法

          字符填充法使用一些特殊字符来定界一帧的开始(DLE STX)与结束(DLE ETX)。为了使信息位中出现的特殊字符不被误判为      帧的首尾定界符,可以在特殊字符前填充一个转义字符(DLE)来区分,实现数据的透明传输。接收方收到转义字符时,就知道后面      紧跟的是数据而不是控制信息。

        7.2.3 比特填充的首尾标志法

          比特填充法允许数据帧包含任意个数的比特,也允许每个字符编码包含任意位数的比特。它使用一个特定的比特模式,即        01111110来标志一帧的开始和结束。为了不使信息位中出现的比特流01111110被误判为首尾标志,发送方在数据链路层在信息位中      遇到五个连续的1,就在后面自动插入一个0;接收方则执行逆操作。

          比特填充很容易使用硬件来实现,性能优于字符填充方法。

        7.2.4 违规编码法

          在物理层比特编码时通常采用违规编码法。例如,曼彻斯特编码,将数据比特1编码成高-低电平对,将数据0编码成低-高电平      对。而高-高电平对以及低-低电平对在数据比特中是违规的。所以可以采用这些违规编码序列来界定帧的起始和终止。

          违规编码法不需要采用任何填充技术,就能实现透明传输,但它是适用于采用冗余编码的特殊编码环境。

          由于字节计数法中技术字段的脆弱性和字符填充法实现上的复杂性和不兼容性,目前通常采用的组帧方法是比特填充和违规编      码法。

      

      7.3 流量控制和可靠传输机制

        7.3.1 流量控制、可靠传输和滑动窗口机制

          流量控制的基本方法是接收方控制发送方的速率,常见的方式有两种:停止-等待协议和滑动窗口协议。

          1.停止-等待流量控制基本原理

          发送方每发送一帧,就要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,就要反馈一个应答信号,表示可      接收下一帧,接收方如果不反馈应答信号,发送方就要一直等待。每次只允许发送一帧,然后就陷入等待对方确认信息的过程中,      因此效率很低。

          2.滑动窗口流量控制基本原理

          任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,      称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小Wt代表还没有收到对方确认信息的情况下发送方最多还能      发送多少数据帧。同理,在接收端设置接受窗口是为了控制可以接收哪些数据帧而不能接收哪些帧。在接收方只有收到的数据帧的      序号落在接收窗口内才允许将该数据接下。若在窗口外,一律丢弃。

          在发送端,每收到一个确认帧,发送窗口就向前滑动一个帧的位置,当发送窗口内没有可以发送的帧时,发送方就会停止发        送,直到收到接收方的确认帧使窗口移动,窗内有可发送的帧,才会继续发送。

          在接收端,收到一个数据帧后,将窗口向前移动一个位置,并发回确认帧。

          滑动窗口有以下重要特性:

          1)只有接受窗口向前滑动,发送窗口才有可能向前滑动。

          2)从滑动窗口的概念上来看,停止-等待协议、后退N帧协议和选择重传协议只是在发送窗口大小上有所区别:

            停止-等待协议:发送窗口=1,,接受窗口=1。

            后退N帧协议:发送窗口>1,接收窗口=1。

            选择重传协议:发送窗口>1,接收窗口>1。

          3)当接收窗口大小为1时,可以保证帧的有序接收。

          4)数据链路层的滑动窗口协议中,窗口大小在传输过程中是固定的。

        7.3.2 单帧滑动窗口与停止-等待窗口

          在停止-等待协议中,除了数据帧丢失,还有可能出现以下两种差错:

          到达目的站的帧可能已经遭到破坏,接收站利用前面所说的差错检测技术检出后,丢弃该帧。为了应对这种情况,发送站装备      了计时器,如果在计时器计满时仍未收到确认,则再次发送相同的帧。如此重复,知道该数据帧准备被接收为止。

          另一种可能的差错时数据帧正确而确认帧被破坏,此时接收方已收到正确的数据帧,但发送方收不到确认帧,因此发送方会重      传该帧,接收方收到同样的帧会丢弃,并重传一个对应的确认帧。发送的帧交替使用0和1来区分,确认帧分别用ACK0和ACK1来标识

          

        7.3.3 多滑动窗口和后退N帧协议(GBN)

          在后退N帧式的ARQ中,发送方不需要收到上一个帧的ACK后才能发送下一帧,是可以连续发送帧。当接收方检测出失序的信息帧      后,就要求发送方重发最后一个正确接收后所有未确认的帧;或者当发送方发送了N个帧后,若发现N帧的前一个帧在计时器超时后      仍未返回信息,则该帧被判定为出错或丢失,此时发送方不得不重传该帧以及之后的N个帧。换句话说,接收方只允许按照顺序接收      帧。

          为了减少开销,GBN协议还规定接收端不一定没收到一个正确的数据帧就要立刻返回一个确认,而是可以收到多个正确帧后,才      对最后一个帧进行确认。也就是说,对某一数据的确认就表示该数据与之前的数据都已正确被接收。

          后退N帧的接收窗口为1,可以保证按顺序接收数据帧。若采用n比特对窗口编号,则发送窗口的尺寸因满足:1≤W≤2^n -1,若      发送窗口超过2^n -1,就会造成接收方无法分辨新帧和旧帧。

        7.3.4 多帧滑动窗口和选择重选协议(SR)

          为了进一步提高信道利用率,可设法只重传出现差错的帧或者计时器超时的帧。此时必须加大接收窗口,以便先收下那些序号      不连续的但仍处于接收窗口的那些帧,等到所缺序号的数据帧到达以后再一并上交给主机。

          在选择重传协议中,每个缓冲区都对应有一个计时器,当计时器超时时,缓冲区帧就会重传。另外,该协议使用比上述协议更      加有效的差错处理策略,一点接收方怀疑帧出错,就会发送一个否定帧NAK给发送方,要求发送方对NAK中的指定帧进行重传。

          选择重传协议的接收窗口与发送窗口尺寸都要大于1,可以一次收发多个帧。若采用n比特对帧编号,要满足:接收窗口+发送窗      口≤2^n。假定仍然采用累积确认的方法,并且接收窗口不应大于发送窗口,那么接收窗口的数值不应超过序号范围的一半。一般情      况下,在SR协议里,接收窗口的大小和发送窗口的大小是相同的。

          【补充】信道的效率,也称为信道利用率,这里给出时间角度的定义:信道效率是对于发送方的,是指发送方在一个发送周期      内,有效得发送数据所需要的时间占整个周期的比例。

              信道吞吐率 = 信道利用率 * 发送方的发送速率

     

      7.4 信道访问协议

        7.4.1 固定信道划分协议

          固定信道划分协议主要有时分复用(TDM)和频分复用(FDM)。可以进行固定信道划分的前提是,单一信道传输能力大于一路      信号传输所需要的能力,通过把信道划分为子信道,每一路信号占一个子信道,实现信道的共享。信道划分存在的问题是,若某一      路没有数据传输,也会占用一路信道,使得信道利用率不高。

          码分多址(CDMA)是移动通信中采用的信道访问协议,CDMA对每个节点分配不同的编码信号,节点用唯一的编码信号对发送的      数据进行编码。

        7.4.2 随机访问协议

          在随机访问协议中,不采用集中控制的方式解决发送次序的问题,所有用户可以根据自己的意愿随机地发送信息,占用信道全      部速率。在总线网中,有两个或者更多用户同时发送信息就会产生帧的冲突。为了解决随机接入发生的碰撞,每个用户需要按照一      定的协议反复重传它的帧,知道无碰撞通过。常用的协议有:ALOHA协议、CSMA协议、CSMA/CD协议、CSMA/CA协议等,他们的核心思      想是:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问介质控制协议又称为争用型协议。

          1.ALOHA协议

          ALOHA协议分为纯ALOHA协议和时隙ALOHA两种。

          (1)纯ALOHA

          基本思想是在当网络中任何一个站点需要发送数据时,可以不进行任何检测就发送。如果在一段时间内没有收到确认,该站点      就认为传输过程中发生了冲突。站点需要再等待一段时间后再发送数据,直到发送成功。

          假设网络负载(T0时间内所有站点发送的成功的和未成功而重传的帧数)为G,则ALOHA网路的吞吐量(T0时间内成功发送的平      均帧数)为S=Ge^-2G。当G=0.5时,S=0.5/e≈0.184,这是网络吞吐量S可能达到的极大值。可见ALOHA网络的吞吐量很低。

          (2)时隙ALOHA

          时隙ALOHA是把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙的开始发送一个帧。

          时隙长度T0使得每个帧正好在时隙内发送完毕。每个帧达到后,一般再要缓存中等待一段小于T0的时间,然后才能发送出去。      在一个时隙内有两个或两个以上帧到达时,则在下一个时隙将产生碰撞。

          时隙ALOHA的吞吐量S与网络负载G的关系是:S=Ge^-G。 当G=1时,S=1/e≈0.368,这是吞吐量S能达到的最大值。

          2.CSMA协议

          如果每个站点在发送前都侦听一下公用信道,发现信道空闲后再发送,那将会大大降低冲突的可能性,载波侦听多路访问       (CSMA)就是依据这个思想。

          根据侦听方式和侦听到信道忙后的处理方式不同,可分为三类CSMA。

          1).1-坚持CSMA

          基本思想是:当一个节点要发送数据时,首先侦听信道;如果信道空闲立刻发出数据;如果信道忙则等待,同时继续侦听,直      到信道空闲;如果有冲突,则随机等待一段时间后,再重新开始侦听。

          传播时延对1-坚持CSMA协议性能影响较大。节点A开始发送数据时,节点B也有数据要发送,但这时A发出的数据信号还未到达      B,B侦听到信道空闲,于是立即发送数据,必然造成冲突。即使不考虑时延,也会产生冲突。当B和C都有数据要发送,侦听到信道      忙,当结点空闲时,B和C会立即发送数据导致冲突。

          2).非坚持CSMA

          基本思想是:当一个节点要发送数据时,首先侦听信道;如果信道空闲立即发送;如果信道忙碌就放弃侦听,等待一个随机时      间后再重复上述过程。

          非坚持CSMA协议在侦听到信道忙后就放弃侦听,这样就减少了多个节点等待信道空闲后同时发送数据导致冲突的概率,但这也      使得数据在网络中的平均时延增加。可见,信道利用率的提高的代价是增加数据在网络中的时延。

          3).p-坚持CSMA

          基本思想是:当一个节点要发送数据时,先侦听信道;如果信道忙,则等待下一个时隙再侦听;如果空闲,以p的概率发送数      据,以1-p的概率推迟到下一时隙;这个过程一直持续到数据成功发送。

          其目的是为了降低1-坚持CSMA协议中多个节点在检测到信道空闲后同时发送的数据发生冲突的概率;采用“侦听”是为了客服      非坚持CSMA协议中由于随机等待时间造成时延较长的问题。

          3.CSMA/CD协议

          载波侦听多路访问/碰撞检测(CSMA/CD)适用于总线型或者半双工网络环境。“载波侦听”就是发送前先侦听。“碰撞检        测”即配适器边发送数据时边检测信道上信号电压的变化,以便判断自己在发送数据时其他站点是否也在发送。

          CSMA/CD的工作流程可概括为“先听后发,边听边发,冲突停发,随机重发”

          1)适配器从他的父节点获得一个网络层数据报,准备一个以太帧,并把该帧放到适配器的缓冲区中。

          2)如果适配器侦听到信道空闲,就开始传输该帧。如果适配器侦听到信道忙,他将等待直至没有信号能量,然后开始传输该帧

          3)传输过程中,适配器检测来自其他适配器的信号能量出现。如果这个适配器传输了整个帧,而没有检测到其他适配器的能量           信号,这个适配器完成帧的传输。否则,适配器就必须停止发送该帧,取而代之传输一个48比特的拥塞信号。

          4)在中止以后,适配器采用截断二进制指数避退算法来等待一段随机时间后返回第2步。

          在站A发送帧后最多经过2γ就知道所发的帧是否遭到了碰撞,因此以太网把端到端的往返时间2γ称为争用期。只有经过争用期      的这段时间内没有检测到冲突,才能确定这次发送不会发生冲突。

          为了确保发送站在发送数据的同时能检测到可能存在的冲突,需要在发送完帧之前就能收到自己发送出去的数据,即帧的传输      时延都至少要两倍于信号在总线中的传播时延,所以CSMA/CD总线网中的所有数据帧都必须大于一个最小帧长。任何站点收到帧长小      于最小帧长的帧就丢弃。

          最小帧长的计算公式:总线传播时延*数据传输率*2

          以太网规定取51.2μs为争用期长度,对于10Mb/s的以太网,在争用期内可发送512bit即64B。在以太网发送数据时,如果钱64B      没有发生碰撞,后续的数据就不会发生冲突。因此,以太网规定最短帧长为64B。如果只发送小于64B的帧,要在MAC子层数据字段后      面加入一个整数字节的填充字段,保证以太网的MAC帧长度不小于64B。

          二进制指数退避算法:

          1)确定基本退避时间,一般取两倍的总线端到端传播时延2γ。

          2)定义参数k,他等于重传次数,但k不超过10,即k=min[重传次数,10]。

          3)从离散整数集合[0,1,……,2^k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的2γ。

          4)当重传次数达到16次仍不成功时,表示网络台拥堵,抛弃此帧并向高层报错。

          4.CSMA/CA协议

          在无线局域网的情况下不能搬用CSMA/CD协议,特别是碰撞检测部分,主要有两个原因:

          1)接收信号往往会远小于发送信号的强度,且在无线介质上信号强度动态变化范围很大,因此要实现碰撞检测不现实。

          2)在无线通信中,并非所有站点都能听到对方,即“隐蔽站”问题。

          因此CSMA/CA把碰撞检测改成碰撞避免。“碰撞避免”并不是指协议可以完全避免碰撞,而是指协议设计尽量减少发生碰撞的概      率。

          CSMA/CA采用二进制指数退避算法,信道从忙变空闲时,任何一个站要发送数据帧时,不仅都必须等待一个时间间隔,而且要进      入争用窗口,并计算退避时间以便再次重新试图接入信道。当且仅当检测到信道空闲,并且这个数据帧是要发送的第一个数据帧        时,才不使用退避算法。

          CSMA/CA还使用预约信道、ACK帧、RTS/CTS帧等三种机制来实现碰撞避免:

          1)预约信道。发送方在发送数据的同时向其他站点通知自己传输的数据所需要的时间长度,以便让其他站点这段时间不要发送           数据,以免产生碰撞。

          2)ACK帧。所有站点在正确接收到发给自己的数据帧(除了广播帧和组播帧)后,都要向发送方返回一个ACK帧,如果接收失败           则不采取任何动作。发送方在发送完数据后,在规定时间没有收到ACK帧,则认为发送失败,将该数据帧重发,知道收到ACK           帧或者到规定重发次数为止。

          3)RTS/CTS帧。是可选的碰撞避免机制,主要解决无线网中“隐蔽站”的问题。

          前两者是必须实现的,而RTS/CTS是可选的。但后两者又增加了网络流量。

          CSMA/CD与CSMA/CA的区别:

          1)CSMA/CD可以检测冲突,但无法避免;CSMA/CA发送包的同时不能检测到信道上有无冲突,只能尽量避免。

          2)传输介质不同,CSMA/CD用于总线型以太网,CSMA/CA用于无线局域网。

          3)检测方式不同,CSMA/CD通过电缆电压变化来检测;CSMA/CA采用能量检测.载波检测和能量载波混合检测信道空闲的方式。

          4)在本节点处无冲突不代表在接收节点处无冲突。

          【总结】CSMA/CA协议基本思想是在发送数据时先广播告知其他站点,让其他站点这段时间内不要发送数据,以免冲突。              CSMA/CD协议基本思想是发送前侦听,边发送边侦听,一旦出现碰撞马上停止。

        7.4.3 轮询访问介质访问控制:令牌传递协议

          在轮询访问中,用户不能随机地发送信息,而是通过一个集中控制的监控站,以循环的方式轮询每个节点,再决定信道的分        配。当某一节点使用信道时,别的结点都不能使用。典型的轮询访问介质访问控制协议是令牌传递协议,主要使用在令牌环网中。

          令牌是由一组特殊的比特组成的帧,当环上一个站希望传递帧时,必须等待令牌。一旦收到令牌,站点便可启动发送帧。帧中      包含目的站的地址,以标识哪个站应接受此帧。帧在环上传送,不管帧是否是发往本站的,都必须进行转发,直到该帧回到他的始      发站,并且由始发站撤销该帧。帧的目的站除了转发以外还要对该帧维持一个副本,并通过在帧尾部设置“响应比特”来指示已收到      副本。站点在发送完一帧后应释放令牌,让其他站点继续使用。

          轮询介质很适合于负载很高的广播信道。负载很高是指多个节点在同一时刻发送数据概率很大的信道,如果这样的广播信道采      用随机介质访问控制,有很大概率会发生冲突,而采用轮询访问介质访问控制则能很好地满足各个站点的通信需求。

      7.5 局域网 

        7.5.1 局域网的基本概念和体系结构

          局域网是在一个较小的地理范围内将各种计算机、外部设备、数据库系统等通过双绞线、同轴电缆等介质互相连接起来,组成      资源和信息共享的计算机互连网络,主要特点有:

          ·为一个单位所有,且地理范围和站点数据均有限。

          ·所有站共享较高的总带宽。

          ·较低的时延和较低的误码率。

          ·各站点为平等关系而不是从属关系。

          ·能进行广播和组播。

          局域网的特性主要由三要素决定:拓扑结构、传输介质、介质访问控制方式,其中最重要的就是介质访问控制方式,决定着局      域网的技术。

          常见的局域网拓扑结构主要有以下四类:①星形结构②环形结构③总线型结构④星形和总线型结合的复合型结构。

          局域网可以使用双绞线、铜缆、光纤等多种传输介质,其中双绞线为主流传输介质。

          局域网的介质访问控制方法主要有:CSMA/CD、令牌总线和令牌环。前两者主要用于总线型局域网,最后一种用于环网型局域网

          三种特殊的局域拓扑实现:

          以太网(目前使用范围最广的局域网)——逻辑拓扑是总线型结构,物理拓扑是星形或者拓展星形结构。

          令牌环(Token Ring,IEEE802.5)——逻辑拓扑是环形结构,物理拓扑是星形结构。

          FDDI(光纤分布数字接口,IEEE802.8)——逻辑拓扑是环形结构,物理拓扑是双环结构。

          IEEE802标准定义的局域网参考模型只对应OSI参考模型的物理层和数据链路层,并将数据链路层拆分为两个子层:逻辑链路控      制LLC子层和媒体接入控制MAC子层。与接入传输媒体有关的内容都放在MAC子层,它向上层屏蔽对物理层访问的各种差异,提供对物      理层的同一访问接口,主要功能包括:组帧和拆卸帧、比特传输差错检测、透明传输。LLC子层与传输媒体无关,它向网络层提供无      确认无连接、面向连接、带确认无连接、高速传输4种不同的服务。

        7.5.2 以太网与IEEE802.3

          IEEE802.3是一种基带总线型的局域网标准,描述物理层与数据链路层的MAC子层的实现方法。

          以太网逻辑上采用总线型拓扑结构,以太网中所有计算机都共享一条总线,信息以广播的方式发送。为了保证数据通信的方便      和可靠,以太网简化了流程使用CSMA/CD方式对总线进行控制访问。 

          以太网采用两项措施简化通信:采用无连接的工作方式;不对发送的数据帧编号,也不要求接收方确认,即提供不可靠服务,      对于差错纠正由高层完成。 

          1.以太网的传输介质与网卡

          以太网常用的传输介质有四种:粗缆、细缆、双绞线和光纤。


          计算机与外界局域网的连接是通过主机机箱内插入一块网络接板,又称网络适配器或者网卡接口(NIC)。网卡上装有处理器和      存储器,是工作在数据链路层的网络组件。网卡是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物      理连接和电信号匹配,还涉及帧的发送与接收.帧的封装与拆封.介质访问控制.数据的编码与解码以及数据缓存等功能。

          全世界每块网卡在出厂时都有一个唯一的代码,称为介质访问控制(MAC)地址,这个地址用于控制主机在网络上的数据通信。      数据链路层设备(网桥、交换机等)都使用各个网卡的MAC地址。另外,网卡控制着主机对介质的访问,因此网卡也工作在物理层,      因为它只关注比特,而不关注地址信息和高层协议信息。

          2.以太网的MAC帧

            MAC地址长6字节,一般由连字符(或冒号)分隔的6个十六进制数表示,如06-02-8c-6b-55-c5。高24位为厂商代码,低24         位为厂商自行分配的网卡序列号。

            由于总线上使用的是广播通信,因此网卡从网络上每收到一个MAC帧,首先要用硬件检查里面的MAC地址,如果是发往本站         的就收下,否则丢弃。


            前导码:使接收端与发送端时钟同步;在帧前插入的8个字节可再分为两个字段:第一个字段共7个字节,是前同步码,来         迅速实现MAC帧的比特同步;第二个字段时帧开始定界符,表示后面的信息就是MAC帧。

            地址:通常使用6字节地址。

            类型:2字节,指出数据域中的数据应交给哪个协议实体处理。

            数据:46-1500字节,包含高层协议信息。由于CSMA/CD算法限制,以太网帧必须满足最小长度64B的要求。

            填充:0-46个字节,当帧太短时填充帧,使之达到64B的最小长度。

            校验码(FCS):4字节,校验范围是从目的地址到数据段末端,算法采用32位循环冗余码(CRC),但不需要校验MAC帧的         数据部分,还要检验目的地址、源地址、类型字段,但不校验前导码。

            802.3帧格式与DIX以太帧格式的不同之处:

            ·帧起始标志:与802.4和802.5相兼容。

            ·长度域:替代了DIX帧中的类型域,指出数据域的长度。

            在实践中,前述长度/类型两种机制可以并存,由于IEEE802.3数据段的最大字节数是1500,所以长度段的最大值是1500,         因此从1500-65535的值可以用于类型段标识符。

            3. 高速以太网

            速率达到或者超过100Mb/s的以太网称为高速以太网。

            (1)100BASE-T以太网

            是在双绞线上传送100Mb/s基带信号的星形拓扑结构以太网,使用CSMA/CD协议。该以太网及支持全双工又支持半双工方           式,可在全双工方式下工作而无冲突发生。因此,全双工方式下不使用CSMA/CD协议。

            MAC帧格式仍然是802.3标准规定的。保持最短帧长不变,但将一个网段的最大电缆长度减小到100m。帧间时间间隔从原来         的9.6μs改为现在的0.96μs。

            (2)吉比特以太网

            吉比特以太网又称千兆以太网,允许1Gb/s下用全双工和半双工两种方式通信。使用802.3协议规定的帧格式。半双工方式         下使用CSMA/CD协议(全双工不使用)。与10BASE-T和100BASE-T技术向后兼容。

            (3)10吉比特以太网

            10吉比特以太网帧格式与10Mb/s、100Mb/s、1Gb/s以太网帧格式完全相同。10吉比特以太网还保留了802.3标准规定的以太         网最小和最大帧长,便于升级。10吉比特以太网不再使用铜线而使用光纤作为传输媒体。10吉比特以太网只工作在全双工方           式,不存在争用冲突。

          7.5.3 IEEE 802.11

            IEEE802.11是无线局域网的一系列标准协议,包括802.11a和802.11b等。他们制定了MAC层协议,运行在多个物理层标准之         上。除了基本的协调访问问题,标准还进行错误控制以克服通道固有的不可靠性、适宜的寻址和关联规程以处理站的可携带性         和移动性,以及互连过程以扩散无线站的通信范围,并且允许用户在移动时可以通信。 

            802.11的MAC层采用的是CSMA/CA协议进行介质访问控制。冲突避免要求每一个发送节点在发送帧之前都需要侦听信道。如         果信道空闲,节点可以发送帧;发送站在发完一帧之后必须再等待一个短的时间间隔,检查接收站是否发回帧确认ACK。如果收         到确认,这说明此次发送没有出现冲突,发送成功;如果在规定时间没有收到确认,默认出现冲突,发送失败,发送方重发该         帧。直到在规定的最大重发次数之内,发送成功。 

          【注意】在无线局域网中,即使在发送过程中发生了碰撞,也要把整个帧发送完毕。而在有线局域网中,发生冲突则节点立刻          停止发送数据。

            无线局域网可分为两大类:第一类是有固定基础设施;第二类是无固定基础设施。

            1.有固定基础设施无线局域网

            802.11标准规定无线局域网最小构件是基本服务集(BSS)。一个基本服务集包括一个基站和若干移动站。所有的站在本         BSS以内都可以直接通信,但和本BSS以外的站通信时都要通过本BSS基站。基本服务集中的基站也称为接入点(AP),作用与网         桥相似。

            一个基本服务集可以是孤立的,也可以通过接入点AP连接到一个主干分配系统,然后再接入另一个基本服务集,构成扩展         服务集(ESS),扩展服务集ESS还可以通过叫做门桥的设备为无线用户提供到非802.11无线局域网的接入。门桥的作用就相当         于一个网桥。

            2.无固定基础设施的无线局域网自组织网络

            自组织网络没有上述基本服务接入点AP,而是由一些处于平等状态的移动站之间相互通信组成的临时网络。各点之间地位         平等,中间结点都是转发结点,这些节点都具有路由器功能。

            移动自组织网通常这样构成:一些可移动设备发现他的附近还有其他可移动设备,并且要求和其他移动设备通信。它和移         动IP并不相同。移动IP技术使漫游的主机可以使用多种方法接入因特网,其核心的网络功能仍然是基于固定互联网中一直在使         用的各路由器选择协议。而移动自组织网络是把移动性扩展到无线领域的自治系统,具有自己特定的路由选择协议,并且可以         不和互联网相连。

          7.5.4 令牌环网基本原理

            令牌环网的每一站都通过电缆与环接口干线耦合器TCU相连。TCU的主要作用是:传递所有经过的帧、为接入站发送和接收         数据提供接口。与此对应,TCU状态也有两个:收听状态和发送状态。数据总是在一个特定的方向上从一个TCU到下一次TCU逐比         特地依次传送,每个TCU重新产生并重新传输每一比特。

     

             令牌环网的媒体接入控制机制采用的是分布式控制模式的循环方法。在令牌网中有一个令牌沿着环形总线在入网节点计算         机之间依次传递,令牌实际是一个特殊格式的MAC控制帧,本身并不包含信息,仅控制信道的使用,确保同一时刻只有一个节点         能够独占信道。站点只有取得令牌后才能发送数据,因此令牌环网不会发生碰撞。由于令牌环网上是按顺序依次传递的,因此         对所有入网的计算机而言,访问权是公平的。

            令牌环网中令牌和数据的传递过程如下:

            1)当网络空闲时,环路中只有令牌帧在循环传递。

            2)令牌传递到有数据要发送的站点处,该站点就修改令牌中的一个标志位,并在令牌中附加自己要传输的数据,这样令牌             就变成一个数据帧,再将令牌发送出去。

            3)数据帧沿着环路传输,接收到的站点就要一边转发数据一边查看帧的目的地址。如果目的地址与自己的地址相同,接收             站就复制该数据帧以便进一步处理。

            4)数据帧沿着环路传输,知道到达该帧的源站点,源站点收到自己发出去的数据帧便不再进行转发。同时,发送方可以检             验返回的数据帧以查看数据传输过程是否出错,若有则重发该帧。

            5)源站点传送完数据后,重新产生一个令牌,并将令牌传递给下一站点,以交出对媒体的访问权限。

            令牌环网在物理上采用星形拓扑,在逻辑上采用环形拓扑。

     

      7.6 广域网

        7.6.1 广域网基本概念

          广域网通常指覆盖范围很广(范围远远超过一个城市的范围)的长距离网络。广域网是因特网的核心部分,其任务是通过长距      离运送主机所发送的数据。连接广域网各节点交换机的链路都是高速链路,其距离可以是几千公里的光缆线路,也可以是几万公里      的点对点卫星链路。因此广域网首要考虑的问题是通信容量必须足够大,以便支撑日益增长的通信量。

          广域网不等于互联网,互联网可以连接不同类型的网络(既可以连局域网,又可以连广域网),通常使用路由器来连接。

          广域网由一些节点交换机(而不是路由器,节点交换机和路由器都是用来转发分组,但节点交换机在单个网络中转发分组,而      路由器在多个网络构成的互联网中转发分组)以及连接这些交换机的链路组成。节点交换机执行将分组存储转发的功能。节点之间      都是点到点的连接,为了提高网路的可靠性,通常一个节点交换机会和多个相连。

          从层次上考虑,广域网和局域网的区别很大,因为局域网使用的协议主要在数据链路层,而广域网使用的协议主要在网络层。

          PPP协议和DHLC协议是目前最常用的两种广域网数据链路层控制协议。

        7.6.2 PPP协议

          PPP协议是使用串行线路通信的面向字节的协议,该协议应用在直接连接的两个结点的链路之上。设计的目的是用来通过拨号或      者专线的方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案。

          PPP是在SLIP的基础上发展而来,它既可以在异步链路上传输,也可以在同步线路上使用。

          PPP有三个组成部分:

          1)链路控制协议LCP:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。

          2)网络控制协议NCP:PPP允许同时采用多种网络层协议,每个不同的协议都要由不同NCP来配置,为网络层协议建立和配置逻           辑连接。

          3)一个将IP数据报封装到串行链路的方法。IP数据报在PPP帧中就是其信息部分。这个部分的最大长度受到最大传输单元MTU的           限制。

          PPP帧前三个字段和最后两个字段与HDLC帧是一样的,标志字段F仍为7E(01111110),前后各占一个字节,若他出现在信息部      分就必须作为数据填充,使用的控制转义字节是7D(01111101)。但在PPP中地址字段A占一个字节,规定为0xFF,控制字段C占一个      字节,规定为0x03,两者内容始终固定不变。PPP是面向字符的,所以所以PPP帧长度都是整数字节。


          第四个字段时协议段,占两个字节,在HDLC中没有该字段,它说明信息段中运载的是什么种类的分组。以0比特开始的是诸如      IP、IPX、AppleTalk这样的网络层协议;以比特1开始的被用来协商其他协议,包括LCP以及每个所支持网络层协议的一个不同的        NCP。

          第五个字段信息段长度可变,大于等于0且小于1500B。为了实现透明传输,当信息中出现与标志字段相同的比特组时,必须采      取一些措施来改进。

          第六个字段时帧检验序列(FCS),占2个字节,即循环冗余码检验中的冗余码。检验区包括地址字段、控制字段、协议字段、      信息字段。

          当线路处于静止状态时,不存在物理层连接。当线路检测到有载波信号时,建立物理连接,线路变为建立状态。此时,LCP开始      选项商定。商定成功后就进入身份验证状态。双发身份验证通过后,进入网络状态。这时,采用NCP配置网络层,配置成功后,进入      打开状态,然后就可以进行数据传输。当数据传输完成后,线路转为终止状态。载波停止后则回到静止状态。

        【注意】1)PPP提供差错检测功能但不提供纠错功能,只能保证无差错接收。 是不可靠的传输协议,因此也不使用序号和确认机制

            2)它仅仅支持点对点的通信,不支持多点线路。

            3)PPP只支持全双工链路。

            4)PPP的两端可以运行不同的网络层协议,但仍可以使用同一个PPP进行通信。

            5)PPP是面向字节的,当信息段出现与标志字段相同的比特组合时,PPP有两种不同的处理方法:如果PPP用在异步线路               时,采用字节填充法;如果用在SONET/SDH等同步线路时,协议规定采用硬件来完成比特填充。

        7.6.3 HDLC协议

          高级数据链路控制(HDLC)协议是ISO指定的面向比特的数据链路层协议。该协议不依赖于任何一种字符编码集;数据报文可透      明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,有较高的数据链路传输效率;所有帧采用CRC检验,对      信息帧进行顺序编号,防止漏收和重发,传输可靠性高;传输控制功能和处理功能分离,具有较大的灵活性。

          HDLC可适用于链路的两种基本配置:非平衡配置和平衡配置。

          1)非平衡配置的特点是由一个主站控制整个链路的工作。

          2)非平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允           许。

          1.站

          HDLC有三种类型的站:主站、从站、复合站。主站复制控制链路的操作,主站发出的帧称为命令帧。从站受控于主站,按主站      的命令进行操作,发出的帧称为响应帧。另外,有些站既具有主站的功能,又具有从站的功能,所以这类站叫复合站,可以发出命      令帧和响应帧。

          2.数据操作方式

          HDLC有三种数据操作方式:

          正常响应方式:它是一种非平衡结构操作方式,即主站向从站传输数据,从站进行响应传输,但是,从站只有在收到主站许可      后才可进行响应。

          异步平衡方式:它是一种平衡结构操作方式。在这种方式中,每个复合站都可以进行对另一个复合站的数据传输。

          异步响应方式:它是一种非平衡结构操作方式。从站在没有收到主站允许下就能进行传输。

          3.HDLC帧

          HDLC帧由标志、地址、控制、信息、帧校验序列等字段构成。

          标志字段F为01111110。在接收端只要找到标志字段就能确定一个帧的位置。HDLC协议采用比特填充的首尾标志法完成透明传      输,当一串比特流中有五个连续的1时,就在其后填入一个0。在接收帧时,先找到F字段确定帧的边界,接着对比特流进行扫描,发      现五个连续的1,就把后面的0删除,来还原成原来的比特流。

          地址字段A,共8位,在使用非平衡方式传输数据时,站地址字段总是写入从站的地址;在使用平衡方式发送数据时,站地址字      段写入应答站的地址。

          控制字段C,共8位,是最复杂的字段。HDLC的许多重要功能都靠控制字段实现。根据其第1位或第一1、2位的取值,可将HDLC分      为三类:

          1)信息帧(I),第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认。

          2)监督帧(S),第1、2位分别为0、1,用于流量控制和差错控制,执行对信息帧的确认、请求重复和请求暂停发送等功能

          3)无编号帧(U),第1、2位均为1,用于提供对链路建立、拆除等多种控制功能。

          PPP与HDLC协议很相似,但两者有以下几点不同:

          ·PPP是面向字节流的,HDLC是面向比特流的

          ·PPP帧比HDLC多了一个2字节的协议段。当协议段值为0x0021时,表明信息段内是IP数据报。

          ·PPP不使用序号和确认机制,只保证无差错接收,而端到端的差错检验由高层完成。HDLC协议的信息帧使用了编号和确认机          制,可以提供可靠传输。

      7.7 数据链路层设备

        7.7.1 网桥概念以及其基本原理

          两个或多个以太网通过网桥连接起来,就形成了覆盖范围更大的以太网,而原来的以太网就可以被称为一个网段。网桥工作在      链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。如果把网桥换成工作在物理层的转发器,就没有这种过滤通信量的功      能。由于各网段相对独立,一个网段的故障不会影响到别的网段的运行。

          网桥的基本特点:①网桥必须具备寻址能力和路径选择能力,以确定帧的传输方向;②从源网络接收帧,以目的网络的介质访      问控制协议向目的网络转发该帧;③网桥在不同或者相同类型的LAN之间存储转发帧,必要时还要进行链路上的协议转换;(一般情      况下,存储转发设备都可以进行协议转换,即连接的两个网段可以使用不同的协议)④网桥对所有接受到的帧不做修改,或只对帧      的封装格式做很小的修改;⑤网桥可以通过执行帧翻译互连不同类型的局域网,即把元协议的信息段内容作为另一种协议的信息部      分封装在帧中;⑥网桥应有足够大的缓存空间,因为短时间内帧到达的速度可能高于转发速度。

          网桥的优点:①过滤通信量;②扩大物理范围;③可使用不同的物理层;④可互连不同类型的局域网;⑤提高了可靠性;⑥性      能得到改善。

          网桥的缺点:①增加时延;②MAC子层没有流量控制(流量控制需要采用编号机制,LLC子层实现编号);③不同MAC子层的网桥      接在一起时,帧格式的转换;④网桥只适合用户不多通信量不大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,      就是所谓的广播风暴。

          根据路径选择算法不同,可分为透明网桥和源路由网桥。

          1.透明网桥(选择的不是最佳路由)

          透明网桥以混杂的方式工作,它接收连接的所有LAN传送的每一帧。到达帧的路由选择过程取决于源LAN和目的LAN;①如果源      LAN与目的LAN相同则丢弃该帧;②如果源LAN和目的LAN不同,就转发该帧;③如果目的LAN未知,就扩散该帧。

          当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。该算法的思想是:若从站A发出的帧从某端口      进入网桥,那么这个端口出发沿反方向一定能找到站A。所以网桥每收到一个帧,就记下其源地址和进入网桥的端口,作为转发表中      的一个项目(源地址、进入接口和时间)。在建立转发表时,把帧首部的源地址写在“地址”这栏。在转发帧时,则是根据收到帧      的首部目的地址来转发。网桥就是这样在转发的过程中逐渐将其转发表建立起来。

          为了避免转发的帧在网络中不断兜圈子,透明网桥使用一种生成树算法,以确保每个源到每个目的地只有唯一的路径。但生成      树一般不是最佳路由。

          2.源路由网桥(选择的是最佳路由)

          路由选择由发送数据帧的源站负责,网桥只是根据数据真正的路由信息进行存储转发。

          源路由网桥对主机是不透明的,主机必须知道网桥的标识以及连接到那些网段上。路由选择由发送帧的源站负责。为了找到最      佳路由,源站先广播方式向目的站发送一个发现帧作为探测只用。源路由的生成过程是:在未知路径前,源站要先发送一个发现        帧,途中每个网桥都要转发该帧,最终该帧会通过多条路径到达目的地;目的站也会一一发送应答帧;每个应答帧将通过原路返        回,途经的网桥将自己的标志记录在帧中;源站选择出一个最佳路由。以后,凡从这个源站向该目的站发送帧的首部都必须携带这      个路由信息。

          此外,发送帧还可以帮助源站确定整个网络可以通过的帧的最大长度。由于发现帧的数量指数型增加,可能会使网络严重拥塞

          3.两种网桥的比较

          使用源路由网桥可以利用最佳路由。若在两个以太网之间使用并联的源路由网桥,还可以使通信量比较平均地分配给每个网        桥。用透明网桥则只能使用生成树,而使用生成树一般不能保证所使用的路由是最佳的,也不能在不同的链路中进行负载均衡。

        【注意】透明网桥和源路由网桥中提到的最佳路由并不是经过路由器最少的路由,也可以是发送帧往返时间最短的路由,这样才能       真正地进行负载平衡,因为往返时间长,说明中间某个路由器可能超载了,所以不走这条路。

        7.7.2 局域网交换机及其工作原理

          1.局域网交换机

          桥接器的主要限制是在任一时刻只能执行一个帧的转发操作,于是就出现了局域网交换机,又称以太网交换机。本质上来讲,      以太网交换机就是一个多端口的网桥,工作在数据链路层。交换机能经济地将网络分成几个小的冲突域,为工作站提供更高的带        宽。

          以太网交换机对工作站是透明的,这样管理开销低廉,简化了网络节点的增加、移动和网络变化的操作。利用以太网交换机还      可以很方便地实现虚拟局域网(VLAN),VLAN不仅可以隔离冲突域,也可以隔离广播域。

          2.原理

          以太网交换机的原理是,它检测从以太端口来的数据帧的源和目的地的MAC地址,然后和系统内部的动态查找表进行比较,若数      据帧的MAC地址不在查找表中,则将地址加入查找表,并将数据发送到相应的目的端口。

          3.特点

          以太网交换机的特点如下:

          1)以太网交换机的每个端口都直接与单个主机相连(普通网桥的端口往往是连接到以太网的一个网段),并且一般都工作在全      双工方式。

          2)以太网交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体拿样,无碰撞地传输数据。

          3)以太网交换机也是一种即插即用的设备,其内部的帧转发也是通过自学习算法建立起来的。

          4)以太网交换机由于使用了专用的交换结构芯片,其交换速率比较高。

          5)以太网交换机独占传输媒体的带宽。

          以太网交换机一般具有多种速率的端口,大大方便了不同的用户。

          4.两种交换方式

          目前交换机主要采取两种交换模式,即直通式和存储转发式。

          1)直通式交换机只检查帧的目的地址,这使得帧在被接收后能很快地转发出去。这种方式速度很快,但缺乏智能性和安全性,      也无法支持具有不同速率的端口的交换。

          2)存储转发式交换机先将收到的帧缓存到高速缓存器中,并检查数据是否正确,确认无误后再通过查找转发表转换成输出端口      将该帧发送出去。如果发现帧有错,就将其丢弃。存储转发方式的优点是可靠性高,并能支持不同速率的端口之间的转换,缺点是      延迟较大。

     

  • 相关阅读:
    Redis常用数据类型介绍、使用场景及其操作命令
    spring的官方文档地址
    ps基础学习笔记一
    类的加载时机与步骤(转)
    jvm的基本结构以及各部分详解(转)
    jdk1.8使用的url和driverName的改变
    测试框架简单了解
    shiro简单学习的简单总结
    easyui弹框后销毁当前tab弹框不显示的解决方式
    springboot学习章节代码-Spring MVC基础
  • 原文地址:https://www.cnblogs.com/Ragd0ll/p/9435280.html
Copyright © 2020-2023  润新知