• 第三章 数据链路层


    数据链路层

    1、数据链路层的功能

    • 为网络层提供服务
      • 无确认的无连接服务
      • 有确认的无连接服务
      • 有确认的面向连接服务
    • 链路管理
      • 帧定界、帧同步、透明传输
      • 流量控制(只是控制发送端)
      • 差错控制

    2、组帧

    • 字符计数法
    • 字符填充的首尾定界符法
    • 比特填充的首尾标志法

    3、差错控制

    概括的说,传输过程中的差错都是由于噪声引起的,噪声有两大类:一类是信道所固有的,持续存在的随机热噪声;另一类是由于外界特定的短暂原因所造成的冲击噪声。前者可以通过提高信噪比来减少后者避免干扰。后者不可能靠提高信号幅度来避免干扰造成的差错,是产生差错的重要原因。

    通常利用编码技术进行差错控制,主要有两类:自动重传请求(ARQ)和前向纠错(FEC)。差错控制又可分为纠错编码和检错编码。

    3.1 检错编码

    • 奇偶校验码
    • 循环冗余码

    3.2 纠错编码

    海明码

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

    4.1 流量控制与可靠传输与滑动窗口机制

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

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

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

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

    3 可靠传输机制

    数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。

    4.2 单帧滑动窗口与停止-等待协议

    在停止-等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。从滑动窗口机制的角度看,等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。

    4.3 多帧滑动窗口与后退N帧协议(GBN)

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

    4.4 多帧滑动窗口与选择重传协议

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

    5 介质访问控制

    介质访问控制所要完成的主要任务是为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道分配的协议属于数据链路层的一个子层,称为介质访问控制子层。

    常用的介质访问控制方法有:信道划分介质访问控制、随机访问介质访问控制和轮询访问介质访问控制。其中前者是静态划分信道的方法,后两者是动态分配信道的方法。

    5.1 信道划分介质访问控制

    信道划分介质访问控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域或者频域资源合理地分配给网络上的设备。

    多路复用技术将多个信号组合在一条物理通道上进行传输,使多个计算机或中终端设备共享信道资源,提高信道的利用率。

    • 频分多路复用
    • 时分多路复用
    • 波分多路复用
    • 码分多路复用

    5.2 随机访问介质访问控制

    随机访问介质访问控制协议,常用的协议有:ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议等,他们的核心思想:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问控制协议又称为争用型协议。

  • 相关阅读:
    01时间处理--02 指定日期--转成星期
    中文乱码处理
    判断js变量是否定义,
    安卓请求服务器js文件下载到本地,版本号不一致就下载
    a标签href跳转---传值---禁止单引号
    修改mysql配置文件,group_concat设置为最大.默认1024个字节字符串.多条json会超出
    GROUP_CONCAT()多条数据.拼接字符串 最大长度1024
    使用变量判断之前.务必先定义
    多种序列化器-指定类对象
    JsonHelper
  • 原文地址:https://www.cnblogs.com/yanyun888/p/9134082.html
Copyright © 2020-2023  润新知