计算机网络-数据链路层功能概述

数据链路层的研究思想

在这里插入图片描述

基本概念

结点: 主机, 路由器

链路: 网络中两个结点之间的物理通道, 链路的传输介质主要有双绞线, 光纤 和微波, 分为有线链路和无线链路

数据链路: 网络中两个结点的逻辑通道, 把现实控制数据传输协议的硬件和软件加到链路上就构成了数据链路

帧: 链路层的协议数据单元, 封装网络层数据报

数据链层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据
(两个相邻结点传输数据)

在这里插入图片描述
数据链路层在物理层提供服务的基础上向网络层提供服务
其最基本的服务是将源自网络层的数据可靠地传输到相邻结点的目标机网络层
其主要作用是加强物理层原始比特流的功能
将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路

数据链路层功能

  1. 为网络层提供服务: 无确认无连接服务, 有确认无连接服务, 有确认面向连接服务
  2. 链路管理: 建立连接的建立, 维持, 释放(用于面向连接的服务)
  3. 组帧
  4. 流量控制(限制发送方)
  5. 差错控制(帧错/位错)

组帧

封装成帧:
就是在一段数据的前后部分添加首部和尾部, 这样就构成了一个帧
接收端在收到物理层上交的比特流后, 就能根据首部和尾部的标记, 从收到的比特流中识别帧的开始个结束

首部和尾部包含许多控制信息
他们的一个作用: 帧定界(确定帧的界限)

帧同步:接收方应当能从接受到的二进制比特流中区分出帧的起始和终止

在这里插入图片描述
组帧的方法:

  1. 字符计数法
  2. 字符填充法
  3. 零比特币填充法
  4. 违规编码法

透明传输 : 不过传输的数据是什么样的比特组合, 都应该在链路上传输

字符计数法:帧首部使用一个计数字段(第一个字节, 八位) 来标明帧内字符数
在这里插入图片描述
字符填充法
在这里插入图片描述
当传输的帧是由文本文件组成的时候, 不管从键盘上输入什么字符都可以放到帧里面传过去, 即透明传输

当传输的帧是由非ASCll组成(二进制代码的程序或图像), 就要采用字符填充方法实现透明传输
在这里插入图片描述
要添加转义字符, 在非尾部的数据中添加
在这里插入图片描述
零比特币填充法
在这里插入图片描述
保证透明传输: 在传输的比特流中可以传输任意的比特组合, 而不会引起对帧边界的错误判断

违规编码方法
我们知道曼彻斯特编码是高低或者低高的形式
在这里插入图片描述

所以, 可以用"高高" , "低低"来定界帧的起始和终止

目前使用的组帧方法是零比特币填充法和违规编码法

差错控制

来源: 由噪声引起的

全局性: 由于电路本身电气特性所产生的随机噪声(热噪声), 是信道固有的, 随机存在的
解决办法: 提高信噪比来减少或避免干扰, 从传感器设备上解决

局部性:外界特定的短暂原因所造成的冲击噪声, 是产生差错的主要原因
通常用编码技术来解决

帧错
在这里插入图片描述

检错编码

奇偶校验码

由n-1位信息元和1位校验元组成
在这里插入图片描述
特点: 只能检查出奇数个比特错误, 检验能力位50%

CRC循环冗余码

在这里插入图片描述

纠错编码

海明码:发现双比特错, 纠正单比特错

工作原理: 牵一发而动全身

工作流程

  1. 确定校验码的位数r
  2. 确定校验码和数据的位置
  3. 求出校验码
  4. 检错并纠错
如何确定校验码的位数r

海明不等式
在这里插入图片描述
r为冗余信息, k为信息位

举例: 要发送的数据: D=101101
数据的位数 k=6
满足不等式的最小r为4
也就是D=101101的海明码应该有6+4=10位
其中元数据6位, 校验码4位

确定校验码和数据的位置

D=101101
假设这4位校验码分别位 P1, P2 , P3 , P4—>放在2的几次方的位置
数据从左到右为:D1, D2, D3, D4---->按序把空填满

先填校验码
在这里插入图片描述
按序把空填入数据
在这里插入图片描述
填入实际值
在这里插入图片描述
求校验码的值
令所有要校验的异或为0
在这里插入图片描述

流量控制

较高的发送速度和较低的接收能力不匹配, 就会造成传输错误
在这里插入图片描述

数据链路层的 流量控制是点对点的, 而传输层的流量控制是端对端的

控制手段: 接收方收不下就不回复确认

传输层的流量控制手段: 接收端给发送端一个窗口公告

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

稻田里展望者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值