计算机网络第三章数据链路层思维导图+大纲笔记(考研,期末复习,学习笔记)

思维导图

大纲笔记:

  • 功能概述

    • 基本概念

      • 结点
      • 链路
        • 物理通道
      • 数据链路
        • 逻辑通道
    • 功能

      • 负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报
      • 为网路层提供服务

        • 无确认无连接服务
          • 通信质量好,有线传输链路
        • 有确认无连接服务
        • 有确认面向连接服务
          • 通信质量差的无线传输链路
      • 链路管理
      • 组帧

        • 封装成帧

          • 在一段数据的前后部分添加首部和尾部
          • 首部和尾部作用:帧定界
          • 帧同步
        • 组帧四种方法

          • 字符计数法
            • 帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数
          • 字符填充法
            • 传送的帧由文本文件或非ASCII码组成,透明传输
          • 零比特填充法
            • 5 ''1'' 1 ''0''
          • 违规编码法
            • 用两个题目中不会用到的编码方式来定界帧的起始和终止
        • 透明传输
          • 概念
            • 不管所传数据是什么样的比特组合,都应当能偶在链路上传送
      • 差错控制

        • 差错来源
          • 噪声

            • 全局性

              • 解决办法
                • 提高信噪比来减少或避免干扰
              • 原因
                • 由于线路本身电气特性所产生的随机噪声,是信道固有的,随机存在的
            • 局部性

              • 原因
                • 外界特定的短暂原因所造成的冲击噪声
              • 解决办法
                • 利用编码技术
        • 差错

          • 位错
            • 比特出错
          • 帧错

            • 丢失
            • 重复
            • 失序
        • 方法
          • 位错

            • 检错编码

              • 奇偶校验码

                • 奇校验码
                  • '1'的个数为奇数
                • 偶校验码
                  • '1'的个数为偶数
                • 特点
                  • 只能检查出奇数个比特错误,检错能力为50%
              • 循环冗余码CRC

                • 发送端传输过去的数据在接收端若余数为0,则判定无错,接受数据
                • 过程

                  • 准备待传有效数据
                  • 每个组都加上冗余码构成帧再发送
                  • 接收方检验

                    • 余数为0则认为正确接收
                    • 余数不为0则丢弃
                • 凡是接收端数据链路层接收的帧均无差错
            • 纠错编码
              • 海明码

                • 工作流程

                  • 确定校验码的位数r
                  • 确定校验码和数据的位置
                  • 求出校验码的值
                  • 检错并纠错
                    • 纠错方法

                      • 偶校验/异或为0
                      • 找到不满足奇/偶校验的分组取交集,并于符合娇艳的分组取差集
                • 海明距离

                  • 两个合法编码的对应比特取值不同的比特数称为这两个码字的海明距离(码距)
                  • 一个有效编码集中两个合法编码的海明距离的最小值称为改编码集的海明距离
      • 流量控制与可靠传输机制

        • 数据链路层的流量控制

          • 较高的发送速度和较低的接收能力的不匹配会造成传输出错
          • 与传输层流量控制的比较

            • 控制手段

              • 数据链路层
                • 接收方收不下就不回复确认
              • 传输层
                • 接收端给发送端一个窗口公告
            • 数据链路层的流量控制是点对点的,传输层的流量控制是端到端的
          • 方法

            • 停止-等待协议
              • 发送窗口大小=1,接收窗口大小=1
            • 滑动窗口协议

              • 后退N帧协议(GBN)
                • 发送窗口大小>1,接收窗口大小=1
              • 选择重传协议(SR)
                • 发送窗口大小>1,接收窗口大小>1
        • 可靠传输
          • 发送端发什么,接收端就接收什么
  • 总结

    • 功能

      • 封装成帧
      • 差错控制

        • 位错

          • 检错编码
            • 重传帧
          • 纠错编码
        • 帧错
          • 定时器、编号机制
      • 流量控制
      • 可靠传输
    • 应用

      • 两种链路/信道

        • 点对点(广域网)
        • 广播(局域网)
          • 介质访问控制

            • 静态划分信道
            • 动态划分信道
      • 链路层设备
  • 停止等待协议

    • 目的
      • 除了比特出差错 ,底层信道还会出现丢包问题,为了实现流量控制
        • 丢包
          • 物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失
    • 前提
      • 仅考虑一方发送数据,一方接收数据
    • 应用情况

      • 无差错情况
      • 有差错情况

        • 数据帧丢失或检测到帧出错

          • 发完一个帧后,必须保留他的副本
          • 数据帧·和确认帧必须编号
        • ACK丢失
        • ACK迟到
    • 性能分析

      • 简单
      • 信道利用率太低
    • 信道利用率

      • 发送方在一个发送周期内,有效地发送数据所需的时间占整个发送周期的比率
      • 信道利用率=(L/C)/T

        • L:T内发送L比特数据
        • C:发送方数据传输率
        • T:发送周期
      • 信道吞吐率=信道利用率*发送方的发送速率
  • 后退·N帧协议(GBN)

    • GBN发送方必须响应的三件事

      • 上层的调用
      • 收到一个ACK
      • 超时事件
    • GBN接收方要做的事

      • 若正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层
      • 其余情况都丢弃帧,并未最近按需接受的帧重发ACK,接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)
    • 总结

      • 累计确认
      • 接收方只按顺序接收帧,不按顺序无情丢弃
      • 确认序列号最大的、按需到达的帧
      • 发送窗口最大为2的n次方-1,接收窗口大小为1
相关推荐
黎宇幻生1 小时前
Java全栈学习笔记39
java·笔记·学习
遇印记4 小时前
大二java学习笔记:二维数组
java·笔记·学习
bnsarocket6 小时前
Verilog和FPGA的自学笔记6——计数器(D触发器同步+异步方案)
笔记·fpga开发·verilog·自学·硬件编程
LK_077 小时前
【Open3D】Ch.3:顶点法向量估计 | Python
开发语言·笔记·python
li星野7 小时前
打工人日报#20251011
笔记·程序人生·fpga开发·学习方法
摇滚侠7 小时前
Spring Boot 3零基础教程,yml配置文件,笔记13
spring boot·redis·笔记
QT 小鲜肉7 小时前
【个人成长笔记】在Ubuntu中的Linux系统安装 anaconda 及其相关终端命令行
linux·笔记·深度学习·学习·ubuntu·学习方法
QT 小鲜肉7 小时前
【个人成长笔记】在Ubuntu中的Linux系统安装实验室WIFI驱动安装(Driver for Linux RTL8188GU)
linux·笔记·学习·ubuntu·学习方法
急急黄豆8 小时前
MADDPG学习笔记
笔记·学习
Chloeis Syntax8 小时前
栈和队列笔记2025-10-12
java·数据结构·笔记·