3.1 链路层功能综述

概述:将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,向网络层表现为一条无差错的链路

  1. 帧定界,帧同步,透明传输:链路层的数据以帧为单位传输,网络层的IP数据报被加上首部尾部确定为帧定界;接收方能通过比特流区分帧的起始和终止,称为帧同步;帧中的信息能完全透明的被传输过去,称为透明传输
  2. 差错控制:帧在传输中可能出现位错和帧错,位错的检查和纠错常用的有CRC冗余法,帧错的检查可以通过编号,窗口等机制
  3. 流量控制:控制发送方的发送速度,即窗口机制
  4. 链路管理:数据链路的链接建立,维持,释放的过程称为链路管理,包括信道的划分与管理
  5. 为网络层提供服务:链路层为网络层提供服务

    3.2 组帧

    组帧:帧是链路层的数据传输单位,网络层的分组被封装成帧,出错时只重发出错的数据,因此有四种组帧方法

  6. PPP协议:最常用的数据链路层协议,用于定义数据帧

    1. image.png
    2. 透明传输:面向字节的异步电路,采用字节填充;面向比特的同步电路,采用比特填充法
      1. 字符计数法:帧头部使用一个计数字段标明帧内的字符数,其中字符字段也占用一个字节;这种方法的问题是如果帧头部出错,将导致后面全部的错误
      2. 字符填充的首尾定界符法:在帧头帧尾加上SOH和EOT,如果数据中出现相关字符就在前面加上转义字符ESC
      3. 零比特填充的首尾标志法:用01111110来标识帧首和帧尾,数据中如果有6个1,那么遇5个1加一个0
      4. 违规编码法:用违规的码元提示接收端开始或结束;现在常用的是比特填充和违规编码
    3. 工作状态:image.png

      3.3 差错控制

      差错:有随机差错和突发差错,这里只讨论比特位错,通常用编码检错、纠错来控制
  7. 奇偶校验码:加上校验位后,字段中的1的个数为奇数或者偶数

  8. 循环冗余码:CRC法比较常用,m位的FCS,被除数加上m-1位的0,除数为FCS,得出的余数就是循环冗余码,将余数加到被除数的尾部,这样的数据被传送到接收方用相同的FCS检验
  9. 海明码:多位奇偶校验共同检错,纠错

    3.4 流量控制与可靠传输机制

    流量控制与可靠传输机制:停等协议和滑动窗口机制是流量控制的方法,但是为实现可靠传输还需要确认和超时重传,ARQ的机制是必要的,否则将死锁

  10. 停等协议:发送和接收窗口都为1;接收方收到了发送ACK,接收到ACK后才能发送下一帧;帧在发送方需要保存副本,直至收到ACK才能删除

  11. GBN协议:发送窗口为N,接收窗口为1,以保证连续发送和按序接收;采用累积确认机制;帧丢失时需要超时重传丢失帧之后所有的帧,发送效率不一定优于停等协议
  12. SR协议:发送窗口和接收窗口一般相同,接收方不需要按序接收
    1. 窗口个数:
      1. 发送窗口的大小由谁决定?发送窗口最大的个数指RRT时间内,能发送的最大的帧数,这是由帧长和信道带宽两者决定的,与其他因素无关;
      2. 但是帧的编号是人为的,其受到发送窗口和接收窗口大小的制约;
      3. 那窗口大小如何制约编号范围?如果窗口号超过编号,新帧旧帧就无法被区分导致错误,因此接收窗口和发送窗口个数的和至少要小于等于编号值(Ws+Wr < 2n)
        1. 当帧的编号用n比特时,GBN的发送窗口为2n-1
        2. 当帧的编号用n比特时,SR的发送窗口为2n-1
    2. 信道利用率:一个发送周期内,有效发送数据的时间所占的比例;一般只在停等协议中计算通道利用率,因为GBN和SR中发送窗口在发送周期内一直在发送,所以理论上通道利用率为100%

3.5 介质访问控制

访问控制:在使用链路层时,两结点可以隔离同一信道上其他结点的信号

  1. 静态划分
    1. 信道划分——多路复用技术:
      1. FDM(传送模拟信号),TDM(STDM可以按需动态分配时隙),WDM(利用光的频率),CDMA(Code Division,内积为1代表1,内积为-1代表0,在线道上传输两者的和)
  2. 动态划分

    1. 随机访问
      1. ALOHA protocol和时隙ALOHA protocol:随机传输,如果碰撞则等待一段随机时间后再重传;时隙ALOHA就是给每个站点分配一个时隙,只能在时隙内发送
      2. CSMA protocol(Carrier Sense):载波侦听根据侦听方式和处理方式的不同,分成三种坚持
        1. 1-坚持:忙则持续监听,空闲时立即发送
        2. 非坚持:忙则随机时间后再次监听,空闲后立即发送
        3. P-坚持:忙则持续监听至下一时隙,空闲则以P的概率发送,1-P的概率不发送
      3. CSMA/CD protocol(Collision Detection)先听后发,边听边发,冲突停发,随机重发
        1. 半双工以太网:因为信道上有数据时,将等待,或者发生冲突将停发,因此是半双工的通信
        2. 最小帧长:发送帧后,最短经过τ,最长经过2τ,发送端将检测出冲突,因此发送端为了在发送的同时能检测是否会发送冲突(发送到一半检测到冲突被停发,这个可以被忍受;都快发送完了检测到冲突,这个会浪费带宽;都已经发完了过好一会儿才检测到冲突,信道上这样的错误的短帧在未来还会继续发送),因此需要满足帧的传输时延要至少两倍于帧的信道传播时延
        3. 指数退避算法:检测到碰撞后,将会在 [0,1,2……,2k-1] k最大为10,随机取一个数乘以2τ,之后再发送,以躲避碰撞
      4. CSMA/CA protocol(Collision Avoid):无线局域网的存在隐蔽站,而且信号强度非常小,不能检测碰撞只能避免
        1. 发送方式:由于信号质量的问题,其本质是一个停等协议,以此保证信号的可靠传输
        2. 帧间间隔:由于要避免信道的碰撞,因此在发送信号前不仅要侦听信道是否空闲,而且还需要等待一段时间,即帧间间隔IFS;两数据帧之间需要空隔时间长,因此用DIFS;用来分隔一次对话,时间短用SIFS
        3. 退避算法:在发送完一个数据帧后,不仅需要等待一个DIFS,还需要退避一段时间以避免冲突 image.png
        4. RTS和CTS信道预约:先发送RTS并回应CTS,预约信道后再传输,过程中发送SIFS
    2. 轮询访问
      1. 令牌传递:逻辑结构是环,物理结构不必是环;主机只有拿到令牌才能发送数据

        3.6 数据链路层网络

        3.6.1 局域网

  3. 局域网(Local Area Network)一般使用CSMA/CD,最具代表性的以太网采取无连接的不可靠服务,使用曼彻斯特编码

  4. MAC地址,又称物理地址,有48位,是在链路层上传输时的接口标识
  5. 除10Gb以太网是全双工,不使用CSMA/CD之外,其他是半双工

    3.6.2 数据链路层的物理设备

  6. 网桥与交换机:网桥会学习,因此可以过滤信号,基本等于集线器,只是可以隔离冲突域而已