第三章:数据链路层(一)

一、基本概述:

1、相关名词解释:

链路::网络中两个结点之间的物理通道

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

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

2、基本概念:

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

二、功能:

1、功能总括:

封装成帧和透明传输
差错控制位错检错编码    重传帧
纠错编码
帧错 定时器、编号机制
流量传输滑动窗口
可靠传输

2、概述:

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

3、功能详情:

封装成帧:

概念:给一段数据添加首部和尾部来组成一个帧。首尾部包含很多控制信息,他们的重要作用:帧定界(确定帧的界限)

注:帧的数据部分<=最大传送单元MTU

帧同步:

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

透明传输:

概念:指不管所传数据是什么样的比特组合,都能够在链路上进行传送,因此,链路层看不到有任何妨碍数据传输的东西

组帧的四种方法:
  1. 字符计数法(易出错,不常用):帧首部的第一个计数字段(第一个字节,8位)来标明帧内的字符数
  2. 字符(节)填充法:以一个特定的标志符开始,以及一个特定标志符结尾,中途的所有标志符会被转译成一般的帧
  3. 零比特填充法:首部尾部的标志符是一样的,中间的数据部分:在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0(不管五个1后面跟的是不是0);在接收端,收到一个帧时,先找到标志符确定边界,再用硬比特流进行扫描,发现连续5个1时,就把后面的0删掉(发送端的逆过程)
  4. 违规编码法:用编码中不会用到的编码方法来定界帧的起始和终止,例如:曼彻斯特编码中用”高-低“或者”低--高“表示0或1,那就不会用到”高-高“或者”低-低“,那么就可以用”高-高“或者”低-低“来界定帧的起始和终止

注:比特填充法和违规编码法更为常用

差错控制
差错来源:噪声引起的
全局性原因:线路本身电气特性所产生的随机噪声(热噪声),是信道固有的随即存在的解决办法:提高信噪比来减少或避免干扰(对传感器下手)
局部性原因:外界特定的短暂原因所造成的冲击噪声解决办法:利用编码技术
差错类别
位错比特位出错,1变0,0变1
帧错丢失:收到[#1]-[#3]
重复:收到[#1]-[#2]-[#2]-[#3]
失序:收到[#1]-[#3]-[#2]
1、检错编码
检错方法原理特点
奇偶校验码

发送数据时,发送方根据所选的校验方式(奇或偶),计算数据中1的个数;

根据这个数量,发送方在数据后附加一个校验位:

  • 对于奇校验,如果1的数量是偶数,则校验位设置为1;如果是奇数,则校验位设置为0。
  • 对于偶校验,如果1的数量是奇数,则校验位设置为1;如果是偶数,则校验位设置为0。
只能检查出奇数个比特错误,检错能力50%
CRC循环冗余码
  • 数据表示:将数据视为二进制多项式。
  • 生成多项式:选择一个生成多项式(例如,G(x))。
  • 计算校验码
    • 在数据后附加与生成多项式阶数相同的零位。
    • 进行模 2 除法(使用异或操作)以得到余数,余数即为 CRC 校验码。
  • 数据发送:发送原始数据和 CRC 校验码。
  • 接收验证:接收方同样进行模 2 除法,如果余数为 0,表示数据无误;否则,数据可能已损坏。
能实现无比特差错的传输,但这不是可靠传输(可靠传输:数据链路层发送什么,接收端就手到什么)

2、纠错编码

海明码:

流量控制

使用背景:较高的发送速度和较低的接受能力的不匹配,会造成传输出错,故需要进行流量控制

方法:

停止-等待协议每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧发送窗口大小=1,接收窗口大小=1
滑动窗口协议后退N帧协议发送窗口大小>1,接收窗口大小=1
选择重传协议发送窗口大小>1,接收窗口大小>1
可靠传输机制

发送端发啥,接收端收啥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

khatung

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

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

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

打赏作者

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

抵扣说明:

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

余额充值