计算机网络-数据链路层

概述

物理层为数据链路层提供服务。物理层:位流(bits),数据链路层:帧(frame)。

链路:一条无源的、点到点的物理线路段,中间没有任何其他的交换节点。

数据链路:物理线路+链路控制规则形成的数据管道。

数据链路层的三个基本功能

1.封装成帧

在一段数据的前后分别添加首部和尾部,就构成了一个帧,首部和尾部的一个重要作用是进行帧定界。

MTU:最大传输单元。

帧=帧头+载荷+帧尾

2.透明传输

转义字符

3.差错控制

在传输过程中可能会产生比特差错。在数据链路层传送的帧中,广泛使用了循环冗余校验CRC的检错技术

循环冗余校验的原理:在发送端,先把数据划分为组,假定每组k个比特。假设M为要发送的比特,将M后面加n个0,与一个n+1位的除数P进行模二除法运算,得到n位的余数R,R即冗余码,需要加在M的后面。在数据后面添加的冗余码被称为帧检验序列(FCS)。除数P可以采用生成多项式来表示。

接收端对收到的每一帧进行CRC校验,若得出的余数R为0,则没有差错。

仅用循环冗余校验CRC差错检测技术只能做到无差错接受。无差错接受 ≠ 可靠传输。


数据链路层的可靠传输

停-等协议

基本原理:

数据帧出错,检验:CRC检验,否认帧:NAK。差错重传

数据帧丢失,超时计时器,超时重传

应答帧丢失,重复帧-序号。

自动重传请求(ARQ):停止等待协议的优点是简单、易实现,缺点是信道利用率太低。

连续ARQ协议:流水线传输。发送方发送一个数据帧之后,不用等待确认帧,而是可以连续再发送若干个数据帧。边发送边接收确认,由于连续发送,需要连续编号,确认帧也需要编号。接收端出现差错后的处理:向发送端发送否认帧或者不响应。接收端只按序接收(Go-back-N 回退N)。接收端采用累积确认方式。

滑动窗口机制

在发送方和接收方分别设置的可以移动的发送窗口和移动窗口。只有在窗口内的帧才能被连续发送出去。


PPP协议

需求:简单,封装成帧,透明性,多种网络层协议,多种类型链路(串并行、低高速、同异步),差错检测,检测连接状态,最大传输单元(MTU),网络层地址协商,数据压缩协商。(只支持全双工链路)

PPP协议的组成:一个将IP数据报封装到串行链路的方法;链路控制协议(LCP);网络控制协议(NCP)。

PPP协议的帧格式:有一个2个字节的协议字段(当协议字段为0x0021时,PPP帧的信息字段就是IP数据报,若为0xC021时,则信息字段是PPP链路控制数据,若为0x8021时,则表示这是是网络控制数据)。

透明传输问题:当PPP采用异步传输时,使用一种特殊的字符填充法(将信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E),若信息字段中出现一个0x7D字节,则将其转变成2字节序列(0x7D,0x5D),若信息字段中出现ASCII码的控制字符,即数值小于0x20的字符,则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变),当采用同步传输链路时,协议规定采用硬件来完成零比特填充(信息字段中出现了和标志字段完全相同的比特组合,发送端在5个连续1之后填入0比特再发送出去)。

PPP协议的工作过程:

计算机网络-数据链路层_第1张图片
PPP协议状态图

你可能感兴趣的:(计算机网络-数据链路层)