计网笔记 数据链路层 (1-2) 封装成帧、差错控制、流量控制与可靠传输、停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)

数据链路层负责通过链路从一个结点到另一个相邻结点的可靠传输,包括封装成帧、透明传输、差错控制(如CRC校验、海明码)和流量控制(如停止等待协议、滑动窗口协议)。滑动窗口协议中,GBN和SR协议分别通过累计确认和选择重传提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

在这里插入图片描述

零、数据链路层基本概念

1、结点:主机、路由器

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

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

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

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送网络层给的数据报。
<注意>
在分析数据链路层时,看成水平方向的数据链路层数据传输。

一、功能

0、数据链路层功能概述

概述:
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

<举例>
boosA (网络层)让 秘书A(数据链路层)送一份文件给boosB,秘书A将文件拆分并编号让傻子A(物理层)送到秘书B手上,这个过程物理层可能会丢失数据,根据编号可以把数据重新找回来

功能:

功能一:为网络层提供服务。
无确认无连接服务:通常用于实时通信,误码率较低的信道
有确认无连接服务:步提前建立连接,对方收到会返回一个确认帧。等不到的话就重新发
有确认面向连接服务:最可靠

功能二:链路管理。即连接的建立、维持、释放
功能三:组帧
功能四:流量控制
功能五:差错控制(帧错/位错)

1、封装成帧和透明传输

1.1封装成帧

封装成帧:就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,其中有一样叫:帧定界(确定帧的界限)。
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
在这里插入图片描述

1.2 透明传输

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。(就不用管内容是什么,直接传就完事儿了)

1.3组帧方法

1、字符计数法
就是在帧的首部做计数,这个字符记录了当前帧有多少个字符。
缺点:如果在某一个帧内,标记位后面的某个字节的数据丢失,那么会影响后面的帧比如311和4222,如果前面的帧丢失变成31,那么后面的4就会被补到前面变成314导致错误
在这里插入图片描述

2、字符填充法
就是加头加尾分别标记开始结束,和零比特填充法(见下)对比,开始和结束的对应的字符不一样
在这里插入图片描述解决方法:添加转义字符。即对于那些与标记字符重复的数据流。在它们的前面添加一段转义字符,这祥接收方在解析帧时。看到这些转义字符就不会认为那些特殊的数据当成帧的开始/结束了。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值