计算机网络(谢希仁 第七版)第三章 数据链路层 笔记

数据链路层的主要功能包括封装成帧、透明传输、差错检测和流量控制。帧的生成涉及开始和结束标志,透明传输通过字符填充法确保任意比特组合的数据都能传输。差错检测主要使用CRC校验,通过添加冗余码进行错误检测。流量控制通过确认和重传机制确保数据可靠性。此外,介绍了PPP协议及其特点,包括链路控制和网络控制协议。数据链路层还涉及到逻辑链路控制LLC和媒体接入控制MAC,以及CSMA/CD协议用于避免局域网数据碰撞。
摘要由CSDN通过智能技术生成

数据链路层

1)数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输,若把这些协议的软件和硬件加到链路上,就构成了数据链路

数据链路层传输的数据单位:帧


帧从生成到发送的一个过程:由应用层,传输层,网络层形成的数据报,在数据链路层封装成帧,然后通过数据链路传输到另外一个结点


链路层的基本功能:

1)封装成帧

加头:在哪里开始(开始标志)

加尾:在哪里结束(结束标志)

首尾还包含控制信息和最大传输单元(最大传输长度)

SOH:首部

EOT:尾部

规定首尾头的长度加起来要小于原始报文的长度(软性规定)

2)透明传输(理解透明二字,表示无论什么样比特组合的数据都能通过数据链路层)

字符填充发保证数据链路传输的透明性

以下是字符填充法:

如果数据报文中由和头SOH,尾(EOT)相同的部分怎么办?

答:数据报文中出现的SOH和EOT(不代表头尾的)前面一个转义字符ESC

如果由ESC这个数据的话,也是在ESC前面加ESC

这样无论什么样的数据,数据链路层都能传输

3)差错检测

数据可靠性的保证

循环冗余校验CRC

1)在发送端,数据报文后面加冗余码

n位数据+k位冗余码生成完整的一个帧

冗余码的生成:

数据m:1010001101(10位)

假设n=5,p=110101

然后用二进制的模2运算进行2的n次方乘以m的运算

具体:m后面加n个0,得到n+k位除数除以p得到余数r

如果r不够n位,则前面补0

二进制的除法:和十进制的除法(竖式)不同在于没有减法,而是直接异或

异或:相同为0,不同为1

在接收端:

CRC校验:把收到的每一个帧都除以相同的除数p(模2运算),然后检测余数r,r=0,则数据无误

即a/b 商c余d 那么 b*c+d==c

帧检验序列:是数据+冗余码生成的序列

注意帧检验序列和循环冗余校验的区别,一个是序列,一个是方法

CRC是无差错接受:凡是接收的帧都没有传输差错,由差错的帧就丢弃而不接受

确认和重传机制:流量控制

4)流量控制(确认和重传机制)

弥补主机a,b之间的带宽差异

发送下一个帧之前先确认上一个帧传输成功(等待接收端发送过来的接收成功信号)

(ack信号)

发送方:

1. 从主机中取一个帧

2. 进数据帧发送到数据链路层的发送缓存里

3. 将发送缓存里的数据帧发送出去

4. 等待

5. 若收到ack信号,则跳转到1

接收方:

1. 等待

2. 若收到数据帧,则放入接收缓存中

3. 先进行冗余校验,正确则上交给主机

4. 向发送端发送ack信息

5. 跳转到1

没有流量控制的话,就是不停的发不停的发,由流量控制的话,就发送一个帧,收到ack信号再发

可靠性的保证

采用流量控制的时候数据传输可能出现的四种情况:

1)正常情况

2)数据帧出错:接收端进行CRC校验之后发现数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值