计算机网络数据链路层

Posted:   September 30, 2019

Status:   Completed

Tags :   计算机网络

Categories :  

Were equations, pictures or diagrams not properly rendered, please refresh the page. If the problem persists, you can contact me.

一、数据链路层的功能

    • 无确认的无连接服务
    • 有确认的无连接服务
    • 有确认的面向连接服务
    • 有连接就一定有确认
  1. 链路管理:数据链路层连接的建立、维持、释放过程称为链路管理
    • 主要用于面向连接的服务
    • 首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化
    • 建立连接
    • 在传输过程中维持连接
    • 传输完毕释放该连接
  2. 帧界定、帧同步、透明传输
    • 帧界定:确定帧的界限
    • 帧同步:接收方能从接收到的二进制比特流区分出帧的起始和终止
    • 透明传输:不管数据是什么比特组合,都能在链路上传输
  3. 流量控制
    • 限制发送方的数据流量,防止其发送速率超过接收方的接受能力
    • 控制的相邻两结点之间数据链路上的流量
  4. 差错控制
    • 使发送方确定接收方是否正确收到其发送的数据的方法称为差错控制
    • 位错:帧中某些位产生差错,通常用循环冗余校验发现位错,通过自动重传请求方式来重传出错的帧
    • 帧错:帧的丢失、重复、失序等错误,引入定时器和编号机制,能保证每一帧最终都能且仅有一次正确地交付
  5. 易错点

    • 为了避免传输过程中帧的丢失,数据链路层采用的方法是计时器超时重发,别把差错控制的方法搞混了
    • 对于信道比较可靠且对实时性要求高的网络。数据链路层采用无确认的无连接服务比较适合
    • 物理信道的传输成功率是指单个帧的成功情况,如果想求网络层分组的成功率,要全乘起来

二、组帧

  1. 字符统计法(脆弱性)(计数字段也算进计数中)
    • 在帧头部使用一个计数字段来标明帧内字符数,可以确定帧结束的位置
    • 最大问题在于如果计数字段出错,收发双方将失去同步,造成灾难性后果
  2. 字符填充的首尾定界符法(复杂性)
    • 使用特定字符来定界一帧的开始与结束
    • 书上那啥DEL STX什么的,就是一个首尾标志,没有转义字符
    • DEL转义字符可以防止特殊字符的误判(特殊字符就是本身作为其他用处的字符),并且只是一个字符而不是三个,特殊字符就是我们规定好的那些,不一定只有一个
  3. 比特填充的首尾标志法
    • 用0111110来标志一帧的开始与结束
    • 发送方的数据链路层在信息位遇到五个连续的1时,自动在其后面插入一个0
    • 接收方没收到五个连续的1时,自动删除后面紧跟的0,恢复原信息
    • 性能优于字符填充法
  4. 违规编码法
    • 利用违规(不使用的编码规则)编码来定界帧的起始和结束
    • 不需要采用任何填充技术,就能实现数据传输的透明性
    • 只适合采用冗余编码的特殊编码环境(有不使用的编码规则

三、差错控制(传输中的差错基本都是有噪声引起的)

  1. 两种噪声
    • 信道随机热噪声:提高信噪比来减少或避免
    • 外界特定短暂原因所造成的冲击噪声:产生差错的重要原因
  2. 差错控制
    • 自动重传请求(ARQ)
    • 前向纠错(FEC)
  3. 检错编码(哟哟哟,这不是计组嘛)
    • 奇偶校验码:只能发现数据代码中奇数位的出错情况,不能纠正错误
    • 循环冗余码
      • 在K(信息码长度)位信息码后面再拼接R(生成多项式最高幂次)位的校验码,整个编码的长度位N位,这种编码又叫(N,K)码
      • 基于线性编码理论,在发送端,将要传送的K位二进制信息吗左移R位
      • 将它与生成多项式G(x)做模2除法,生成一个R位校验码,并附在信息码后,构成新的二进制码(CRC)
      • 在接收端,利用生成多项式对接受到的编码做模2除法,用来检查出错位的位置,无错则整除
      • 生成多项式是接收端和发送端的一个约定
      • 同样,也是纠错位取反
  4. 纠错编码
    • 海明码:L(最小码距) - 1 = D + C 且D(检测错误的位数) >= C(纠正错误的位数)
    • 实际上是多重奇偶校验码
    • 在有效信息位中加入几个校验位形成海明码
    • 把海明码的每个二进制位分配到几个奇偶校验组中
    • 当某一位出错后,就会引起有关的几个校验位的值发生变化
    • 因此既能发现错位又可以指出错位的位置,为自动纠错提供依据
    • 将错位取反就可以直接纠错

四、流量控制与可靠传输机制

  1. 基本方法是由接收方控制发送方发送数据的速率

  2. 停止-等待流量控制基本原理(类似与发送窗口与接受窗口都只有1)
    • 发送方每发送一帧,都要等待接收方的应答信号,之后才发送下一帧
    • 接收方每接受一帧,都要反馈发送方一应答信号,表示可接受下一帧
    • 如果接收方一直不反馈应答信号,那么发送方就必须一直等待
    • 每次只允许发送一帧
    • 传输效率很低
  3. 滑动窗口流量控制基本原理
    • 在任意时刻,发送方都维持一组连续的允许发送的帧的信号,称为发送窗口
    • 在任意时刻,接收方都维持一组连续的允许接受的帧的信号,称为接收窗口
    • 发送窗口的大小代表还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧
    • 接受方只有收到的数据帧的序号落入接受窗口内才允许将该数据帧收下,其他的丢弃
    • 发送端每接受到一个确认帧,发送窗口就向前滑动一个帧的位置,当发送窗口内没有可以发送的帧时,发送方就会停止发送,直到收到接收方发送的确认帧使窗口移动窗口内有可以发送的帧的时候,才开始继续发送
    • 接收端收到数据帧后,将窗口向前移动一个位置,并且返回确认帧
  4. 可靠传输机制
    • 确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收
    • 为了提高效率,有时候将确认捎带在一个回复帧中,称为捎带确认
    • 超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止
    • 自动重传请求:
      1. 停止-等待
      2. 后退N帧
      3. 选择性重传
  5. 单帧滑动窗口和停止-等待协议

    1. 停止-等待协议可能出现的错误:

      • 数据帧丢失
      • 到达目的站的帧可以已经损坏,接收站检测出错误后,只是单纯地将该帧丢弃
      • 数据帧正确但是确认帧被破坏
    2. 发送结点:

      1. 从主机取一个数据帧,送交发送缓存

      2. 发送状态变量初始化

      3. 将发送状态变量值写入数据帧中的发送序号

      4. 将发送缓存中的数据帧发送出去(这个数据帧的副本还保留在发送缓存中)

      5. 设置超时计时器(选择适当的超时重传时间)

      6. 等待

      7. 收到确认帧ACKn后,

        若n = 1 - V(S),则从主机取一个新的数据帧,放入发送缓存

        V(S) = 1 - V(S)

        否则,丢弃这个确认帧,转到等待那一步

      8. 如果超时计时器时间到,转到重传已发送的数据帧那一步

    3. 接收结点:

      1. 接收状态变量初始化(数值等于欲接收的数据帧的发送序号)
      2. 等待
      3. 收到一个数据帧时,检查有无传输差错,出错则丢弃并等待,正确无误执行后续
      4. 若接收状态变量 = 发送发送状态变量,执行后续算法,否则丢弃此数据帧,转到7
      5. 将受到的数据帧中的数据部分交送给主机
      6. 更新就收状态变量,准备接收下一个数据帧
      7. 发送确认帧ACKn,并转到2(n = V(R),表明希望接收到V(R))
  6. 多帧滑动窗口和后退N帧协议(不一定优于停止-等待协议)

    1. 发送方无需在收到上一个帧的ACK后才能开始发送下一帧,可以连续发送帧
    2. 当接收方检测出失序的信息帧后,要求发送方重发最后一个能正确接收的信息帧之后 的所有未被确认的帧
    3. 当发送方发送N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方不得不重传该出错帧及随后的N个帧
    4. 接收方只允许按顺序接受帧
  7. 多帧滑动窗口和选择重传协议

    1. 为了进一步提高信道利用率,可以设法只重传出现差错的数据帧或计时器超时的数据帧
    2. 但是此时必须加大接收窗口,以便收下发送序号不连续但仍处在接收窗口中的那些数据帧
    3. 等到所缺序号的数据帧收到后再一并送交主机
    4. 为了保证接收方向前移动窗口后,新窗口序号和旧窗口序号没有重叠部分

八、介质访问控制(怎么更好地分配信道的使用权)

  1. 信道划分介质访问控制

    1. 多路复用技术(现在杭州市有10个不同地方的人都去杭州市某一个邮局寄信,寄往上海的10个不同地方,到了上海之后,再由邮递员将十封信送往各自目的地)
      • 频分多路复用:将一条信道分割成多条不同频率的信道,类似于将一条马路分割成多个车道,使用频分复用时,如果复用数增加,那么信道的带宽必需得增加,每个子信道的带宽可以不相同,但是它们的总和不能超过信道的总带宽,在实际应用中,为防止子信道之间的干扰,相邻信道之间要加入保护频带
      • 时分多路复用:统计时分复用是一种动态的时间分配方式,同时又是异步的,所以统计时分复用又称为异步时分复用,普通的时分复用就是同步时分复用
      • 波分多路复用:光的频分多路复用,在一根光纤中传输多种不同频率的光信号,由于各路光的频率不同,因此各路光信号不互相干扰。最后,再用分波器将各路波长不一样的光分解出来
      • 码分多路复用:又称为码分多址,既共享信道的频率,又共享时间。是一种真正的动态复用技术
        • 任意两个不同站的码片向量正交
        • 任意站点的码片向量与该码片向量自身的规格化内积一定为1,任何站点的码片分量与该码片的反码向量的规格化一定为-1
  2. 随机访问介质控制访问
    1. 动态划分信道,分为随机接入与受控接入
    2. 随机接入:所有用户都可以根据自己的意愿随即地发送信息,这样就会产生冲突,从而导致所有冲突用户发送数据失败,CSMA/CD被引入用于解决
      • ALOHA协议:
        1. 不进行任何检测就发送数据,如果在一段时间没有收到确认,结点就认为传输过程中发生了冲突,等待一段随机事件后再发送数据
        2. 时分ALOHA:所有结点的时间被划分为间隔相同的时隙,规定每个结点只有等到下一个时隙到来时才可发送数据
      • CSMA协议:
        1. 1-坚持CSMA,立即发送数据
        2. p-坚持CSMA,以概率p发送数据
        3. 非坚持CSMA,立即发送数据,否则延迟一段随机的时间再重新监听
      • CSMA/CD:先听后发,边听边发,冲突停发,随机重发
      • CSMA/CA:主要用在无线局域网中
    3. 受控接入:不能随即地发送数据,一定要得到某种东西才有权发数据
  3. 轮询访问介质访问控制(令牌传递协议)

九、局域网

  1. 局域网的基本概念和性质

  2. 以太网的工作原理(迄今世界上最成功的局域网)

    1. 以太网采用总线拓扑结构,所有计算机都共享一条总线,信息以广播方式发送。
    2. 以太网采用CSMA/CD技术对总线进行访问控制
    3. 为了使局域网信道质量好,采用无连接的工作方式,不对发送的帧进行编号,也不要求对发送方发送确认,以太网提供的服务是不可靠的服务,尽最大努力交付,差错的纠正是由传输层的TCP完成的
    4. 以太网是不可靠的,它不知道对方有没有收到自己发出的数据报,但如果它知道自己发出的数据报发生错误了,它会进行重传,越底层的重传,速度越快,所以对于以太网错误,以太网必须要具有重传机制,不然高层重传会花费更多时间。还有一种情况即使知道碰撞了,也不需要重传,发送方的数据已经发完了后才收到碰撞信号,因为发送方无法确定这个碰撞是不是因为自己发送数据产生的,所以不需要重传
  3. 以太网的MAC帧(两种格式:IEEE 802.3、DIX Ethernet V2)

    1. 前导码:在帧的前面插入8B,是接收端与发送端进行时钟同步
      • 前同步码(7B)
      • 帧开始定界符(1B)
      • 组帧部分,MAC帧不需要帧结束符,因为以太网在传送帧时,各帧之间必须有一定的间隙
    2. 目的地址、源地址:均使用6B的MAC地址,处于前面的是目的地址,处于后面的为源地址
      • 源地址前8位的最后一位恒为0
      • 当目的地址前8位的最后一位为0时,表示帧要发送给某一个工作站,单站地址
      • 当目的地址前8位的最后一位为1且其余不全为1时,表示帧发送给一组工作站,组播地址
      • 当目的地址前8位的最后一位为1且其余也全为1时,表示帧发送给全部工作站,广播地址
      • 只有目的地址才能使用组播地址和广播地址
    3. 类型:占2B。数据域中携带的数据应交给哪个协议实体处理
    4. 数据:占46B~1500B。以太网帧的最短帧长为64B,而MAC帧的首部和尾部长度为18B,64B - 18B = 46B,最大的1500B是规定的,没有为什么
    5. 填充:0~46B
    6. 校验码(FCS):占4B,采用循环冗余码,不但需要校验MAC帧的数据部分,还要校验目的地址、源地址和类型字段,但是不校验前导码
  4. 以太网的传输介质

    标准 电缆 每段最大长度/m 每段最大结点数
    10Base5 粗电缆 500 100
    10Base2 细电缆 185 30
    10Base-T 双绞线 100 1024
    10Base-F 光纤 2000 1024
  5. 高速以太网

    1. 100Base-T以太网
    2. 吉比特以太网
    3. 10吉比特以太网
  6. 无线局域网(IEEE 802.11)

    1. 无线局域网的组成
      1. 有固定基础设施的无线局域网的组成:IEEE 802.11标准规定其最小构件为基本服务集(BSS)。一个基本服务集包括一个基站和若干个移动站,所有站在本BSS内可直接通信。但在和本BSS以外的站通信时都必须通过本BSS的基站,因此,BSS中的基站称为接入点(AP)。一个基本服务集可以是孤立的,也可通过接入点连接到一个主干分配系统,然后再接入另一个基本服务集合、,构成扩展的服务集。
      2. 无固定基础设施的无线局域网的组成:又称为自主网络,自主网络没有上述基本服务集中的接入点,而是由一些处于平等状态的移动站之间相互通信组成临时网络。这些移动站都具有路由器的功能。
    2. IEEE 802.11标准中的物理层
    3. IEEE 802.11标准中的MAC层
  7. 令牌环网的工作原理

十、广域网

  1. 广域网的基本概念(互联网虽然覆盖范围也很广,但在这种网络中,不同网络的互联才是其主要特征,广域网只是一个单一的网络)
  2. PPP(点对点协议)
    1. 一个将IP数据报封装到串行链路的方法
    2. 一个链路控制协议,用于建立、配置、测试数据链路连接,在不需要时将它们释放
    3. 一套网络控制协议,其中每个协议支持不同的网络层协议,用来建立和配置不同的网络层协议
    4. PPP的帧格式
      1. 标志字段(F):首部和尾部各占一个字节,规定为Ox7E
      2. 地址字段(A):占一个字节,规定为OxFF
      3. 控制字段(C):占一个字节,规定为Ox03
      4. 协议字段:占两个字节
      5. 信息部分:占0~1500个字节,PPP是点对点的,不是总线型,所以无需采用CSMA/CD协议,自然就没有最短帧
      6. 帧检验序列(FCS):占两个字节,即循环冗余码检验中的冗余码
    5. PPP的工作状态:当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接,这时,个人计算机向路由器发送一系列的LCP分组(封装成多个PPP帧),这些分组及其响应选择了将要使用的一些PPP参数。接着就进行网络层配置,网络控制协议NCP给新接入的个人计算机分配一个临时IP地址。这样,个人计算机就成为因特网上的一个主机了。当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接,最后释放物理层连接。
    6. PPP是一个面向字节的协议
    7. PPP不需要的功能:纠错、流量控制、序号、多点线路、半双工或单工
  3. HDLC协议
    1. HDLC协议的基本特点:ISO指定面向比特的数据链路控制协议,适用于链路的两种基本配置:非平衡配置和平衡配置
      1. 非平衡配置的特点是由一个主站控制整个链路的工作
      2. 平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允许
    2. HDLC协议的帧格式
      1. 标志字段(F):占一个字节,为01111110,首尾各有一个0作为帧的边界。
      2. 地址字段(A):占一个字节,若使用非平衡方式传送数据,为次站的地址;若使用平衡方式传送数据,为确认站的地址;全1为广播方式,全0为无效地址
      3. 控制字段(C):占一个字节,最复杂的字段,HDLC的很多重要功能都是靠控制字段实现的,根据其前两位的取值,可将HDLC帧划分为三类:信息帧、监督帧、无编号帧
      4. 信息字段:长度任意,存放来自网络层的协议数据单元
      5. 帧检验序列(FCS):占两个字节,即循环冗余码检验中的冗余码

十一、数据链路层设备

  1. 网桥的概念和基本原理:在物理层扩展局域网使用的是集线器和中继器,其缺点有扩大了冲突域且总的吞吐量没有提高,不能互联使用不同以太网技术的局域网;在数据链路层扩展局域网使用网桥。

    1. 网桥的优点:过滤通信录、扩大物理范围、提高了可靠性、可以互连不同物理层、不同MAC子层和不同速率的以太网
    2. 网桥的缺点:存储转发增加时延、在MAC子层没有流量控制功能、具有不同MAC子层的网段桥接在一起时时延更大、网桥只适合于用户数不太多和通信量不太大的局域网,否则有时还会因传播过多的广播信息产生网络拥塞,即广播风暴
  2. 网桥的分类

    1. 透明网桥(选择的不是最佳路由):目前使用最多的网桥,透明是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。透明网桥是一种即插即用设备。
    2. 源选径网桥(选择的是最佳路由)
  3. 局域网交换机及其工作原理(多端口网桥)

    1. 局域网交换机的基本概念:以太网交换机独占传输媒体的带宽。对于普通的10Mbit/s的共享式以太网,若有N个用户,则每个用户占有的平均带宽只有总带宽的1/N。在使用以太网交换机时,虽然在每个端口到主机的带宽还是10Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体带宽,且交换机在全双工状态,则总容量位2N * 10Mbit/s(如果是半双工,则总容量位N * 10Mbit/s),这正是交换机的最大优点。
    2. 交换机的两种交换模式:
      1. 直通式交换。只检查帧的目的地址,这使得帧在接收后马上能被转发出去。这种方式速度很快,但缺乏安全性,也无法支持具有不同速率的端口的交换。
      2. 存储转发式交换。先将接收到的帧存储在高速缓存中,并检查数据是否正确,确认无误后,查找转发表,并将该帧从查询到的端口转发出去,如果发现该帧有错误,就将其丢弃。存储转发式的优点是可靠性高,并能支持不同速率端口间的转换,缺点是延迟较大。
      3. 工作原理
  4. 各层设备的广播域、冲突域及总结

    1. 物理层设备

      1. 中继器:在接触到的网络中,最简单的就是两台计算机通过两块网卡构成的双机互连,两块网卡之间一般是由非屏蔽双绞线来充当信号线的,由于双绞线在传输信号时信号功率会逐渐衰减,当信号衰减到一定程度时将造成信号失真,因此在保证信号质量的前提下,双绞线的最大传输距离是100m。当两台计算机之间的距离超过100m时,为了实现双机互连,人们在这两台计算机之间安装一个中继器,它的作用就是将已经衰减的不完成的信号经过整理,重新产生出完整的信号再继续传送。放大器和中继器都是起放大信号的作用,只不过放大器放大的是模拟信号,中继器放大的是数字信号
      2. 集线器:中继器就是普通集线器的前身,集线器实际就是一种多端口的中继器
    2. 数据链路层设备

      1. 网桥:参考下面的交换机,因为交换机就是多端口网桥
      2. 交换机:交换机也称为交换式集线器,它通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用。由于交换机根据所传递数据报的目的地址,将每一数据报独立地从源端口送至目的端口,避免了和其它端口发生碰撞。简单地说就是,交换机某端口连接的主机向和另一个端口连接的主机通信,交换机就会通过转发表发送到那个端口,不可能去其他端口,不存在发错端口,因此交换机的每一个端口都是一个冲突域,也就是说,交换机可以隔离冲突域;
    3. 网络层设备:路由器:简单地说就是路由器要把数据从一个网络发送到另一个网络。

    4. 冲突域、广播域总结:

      设备名称 隔离冲突域 隔离广播域
      集线器 × ×
      中继器 × ×
      交换机 ×
      网桥 ×
      路由器

Comments


😅 Commenting is disabled on this post.
You can use extended GitHub flavored markdown in your comment. Commenting FAQs & Guidelines