第3章数据链路层——1.数据链路层基本概念

数据链路层功能: 在物理层物理链路的基础上验证数据差错,为上层的网络层提供无比特差错传输服务。

一.数据链路

在这里插入图片描述

①链路: 一个结点连接到相邻节点的一段物理线路
②数据链路: 物理线路+通信协议

  • 网络适配器: 实现协议的软/硬件

二.数据链路层的传输

由于计算机网路分层的独立性和灵活性,再学习某一个层时,可以忽略上下层,以逻辑链路的情况学习该层
在这里插入图片描述

封装帧
生成帧检验序列
传输帧
接收帧
检验帧
提取帧
传递数据
  • 封装帧: 将网路层传输的IP数据报,添加首部尾部封装
  • 生成帧检验序列: 在帧封装过程中,添加帧检验序列,用于检测在传输过程中是否发生了比特错误。
  • 传输帧: 帧传输到物理层进行实际的传输
  • 接收帧: 物理层接收到传输过来的帧,并将它们进行解码,恢复为二进制数字
  • 检验帧: 接收端的数据链路层会检验接收到的帧
  • 提取帧: 数据完整性通过时,数据链路层会解析帧头,提取发送端封装的数据部分
  • 传递数据: 将提取到的数据传递到网络层进行进一步处理

三.封装成帧

基于分组(IP数据报)传输的原理封装(打包)
在这里插入图片描述

首部和尾部能起到帧定界的作用

  • 帧定界: 让计算机明确帧的完整性
  • MTU: 帧数据传输上限
    在这里插入图片描述

定界符: 区分帧的开头和结尾,确认数据是否完整。

  • SOH: ASCLL码中的开始控制符(00000001)
  • EOT: ASCLL码中的结束控制符(00000100)

四.透明传输

在这里插入图片描述

错误定界: 当数据部分恰好出现定界符,帧会错误区分头尾
解决方法

  • 转义字符(字符填充): 在数据部分中的SOH/EOT(干扰识别)前面添加转义字符ESC使其透明化

五.差错检测

比特差错: 比特在传输过程中出错。
误码率: 错误比特传输在总比特传输的占比
循环冗余检验: 确定长度为(n+1)的p,进行CRC检验

举例:
①假定传输的数据M=101001(k=6)
②假定商定好的传输除数P=1101(n=3位)
模2运算: 2 n ∗ m 2^n*m 2nm得出被除数据 M ∗ 2 n = 101001 ∗ 1000 = 101001000 = M + ( 3 个零 ) M*2^n=101001 * 1000=101001000=M+(3个零) M2n=1010011000=101001000=M+(3个零)
商Q=110101
余数R=001作为FCS
在这里插入图片描述

发送端发送数据为:101001拼001=1011001001
结论:
发送端发送: 2 n ∗ M (数据) ∗ F C S 冗余码 2^n*M(数据)* FCS冗余码 2nM(数据)FCS冗余码
接收端: 接受数据后进行CRC检验若余数为0 则数据无差错,接受数据,反之有差错,丢弃数据。
①只能保证数据的无差错接受
②将可靠传输问题抛出到下一层

六.数据链路层检测情况

在OSI中,数据链路层要实现可靠传输,所以有CRC校验,帧编号,帧确认,帧重传 的策略机制
通信质量好的传输链路: 不进行帧确认,帧重传,出错了由上层进行改正。
通信质量差的传输链路: 进行帧确认,帧重传,向上层提供可靠传输。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐-import-某人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值