计算机网络——数据链路层

本文深入探讨了数据链路层的结构,重点关注逻辑链路控制(LLC)和媒体接入控制(MAC)层。LLC层负责流量控制,而MAC层涉及硬件接口和帧的发送与接收。MAC帧格式包括前导字段、帧起始符、目的和源地址、类型字段、数据、填充和校验和。MAC地址是全球唯一的6字节地址。此外,文章还介绍了载波监听多路访问/冲突检测(CSMA/CD)协议的工作原理,以及IEEE 802系列协议,如802.1d的生成树协议和802.1q的虚拟局域网。最后,讨论了检错与纠错方法,如奇偶校验、海明码和CRC编码。
摘要由CSDN通过智能技术生成


数据链路层将原始的传输线路变成一条 逻辑的传输线路,实现实体间二进制的正确传输,为网络层提供可靠的数据信息。数据单位是 ,可以进行 流量控制。主要功能有: 链路的建立、拆除、分离;帧定界和帧同步;顺序控制;差错检测、恢复;链路标识、流量控制
数据链路是数据的通道,是物理链路加上必要的 通信协议组成的逻辑链路。

数据链路层的结构

数据链路层分为两个子层:1.逻辑链路控制层(LLC);2.媒体接入控制层(MAC)

逻辑链路控制层(LLC)

LLC层与硬件无关,实现流量控制等功能。LLC只在IEEE 802.3格式的时候才会用到,现在很少使用了

媒体接入控制层(MAC)

MAC层与硬件相关,提供硬件和LLC层的接口。主要功能包括数据帧的封装/卸装、帧的寻址和识别、帧的接收和发送、链路的管理、帧的差错控制等。
MAC层的主要访问方式有三种:CSMA/CD、令牌环和令牌总线。

MAC帧格式

以太网中,MAC帧格式如下,最大1518(1500+6+6+2+4)字节、最小64(46+6+6+2+4)字节(从目的地址到校验和的长度)

前导字段 帧起始符 目的地址 源地址 类型 数据 填充 校验和
7字节 1字节 6字节 6字节 2字节 0~1500字节 0~46字节 4字节
  • 前导字段:长度7个字节
  • 帧起始符字段:固定格式为10101011,长度1个字节(1个字节=8位)
  • 目的地址、源地址字段:6字节,48位
  • 类型字段:标识上一层使用什么协议,也可以表示数据字段长度
    *类型字段占2个字节(16位),可表示的数为0 ~ 65535。MAC帧最大长度位1500,所以用0 ~ 1500表示长度;1536 ~ 65535用于描述类型值
  • 数据字段:上一层(网络层)的协议数据,长度为0 ~ 1500字节
  • 填充字段:确保最小帧长64字节,长度为0 ~ 46字节
  • 校验和字段:32位的循环冗余码,CRC-32(稍后会介绍到)

MAC地址

MAC地址,又被叫成硬件地址,填写在MAC帧的目的地址和源地址字段(6字节,48位),由48比特组成。
MAC地址前24位是厂商编号,由IEEE分配给制造商;后24位为序列号,由制造商自行分配;是全球唯一的编号

载波监听多路访问/冲突检测( CSMA/CD)

CSMA/CD是一种争用型的介质访问控制协议。其工作原理是:发送数据前先监听信道是否空闲。若空闲,立即发送数据;在发送数据时,边发送边监听;若监听到冲突,则立即停止发送等待随机时间再重新尝试。
CSMA/CD是一种解决访问冲突的协议,适合传输非实时数据。在网络负载小的时候,CSMA/CD协议的通信效率很高;当网络负载变大时,发送时间增加,效率下降

  • 多路访问
    多路计算机连接在一根总线
  • 载波监听(CSMA)
    发送数据前检测总线中是否有数据发送。若有,则进入类似退避算法的程序,然后反复进行载波监听;若没有,则运行不同的坚持算法进行发送。
    以太网规定的帧间最小间隔为9.6μs。
  • 坚持算法
    分为以下三类:
    • 1—持续CSMA。当信道忙或发生冲突时,一直监听,一旦有空闲(在帧间最小间隔时间内没有检测到信道上有冲突)便发送
    • 非持续CSMA。发送方并不持续监听信道。冲突时等待随机的一段时间N,再发送
    • P——持续CSMA。信道空闲时,发送方按照P概率发送,以1-P概率不发送。若不发送数据,下一个时间间隔 τ \tau τ仍空闲,同理进行发送;若信道忙,则等待下一个时间间隔 τ \tau τ;若冲突等待随机一段时间重新开始。
      τ \tau τ为单程网络传输时延
  • 冲突检测
    即边发送边监听
    • 冲突检测最长时间为2倍的总线端到端的传播时延( 2 τ 2\tau 2τ), τ \tau τ称为争用期,又叫碰撞窗口。经过争用期还没有检测到碰撞,才能肯定发送不会出现碰撞。
    • 10M以太网的争用期为51.2μs。10M/s网络,51.2μs可以发送512bit数据即64字节。所以10M以太网的最小帧长为64字节,小于64字节的数据都会被丢弃。(千兆以太网和万兆以太网的最小帧长为512字节)
    • 最 小 帧 长 = 网 络 速 率 × 2 × ( 最 大 段 长 / 信 号 传 播 速 度 ) 最小帧长=网络速率 \times 2 \times (最大段长/信号传播速度) =×2×(/)
      即 L = R × 2 × d / v 即L=R \times 2 \times d/v L=R×2×d/v
  • 退避算法
    CSMA只能减少冲突,不能完全避免冲突,只有争用期没有检测到碰撞,才能肯定本次传输不会发生碰撞。以太网使用退避算法中的一种——截断的二进制指数退避算法,来解决发送数据的碰撞问题
    发生碰撞的站在信道空闲后并不立即发送数据,而是推迟一个随机时间进入发送流程。减少重传时再次发送碰撞的概率
    具体算法如下:
    • 设定基本退避时间为争用期 2 τ 2\tau 2τ
    • 从整数集合[0, 2 k − 1 2^k-1 2k1]中随机取一个数 r r
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值