数据链路层
三个重要问题:封装成帧、差错检测、可靠传输
概述
使用点对点信道的数据链路层
三个重要问题:封装成帧、差错检测、可靠传输
使用广播信道的数据链路层
共享式以太网的媒体接入控制协议:CSMA/CD
802.11局域网的媒体接入控制协议:CSMA/CA
互联设备:
网桥、交换机、集线器与交换机的区别
封装成帧
数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。帧头帧尾有重要的控制信息、帧头帧尾作用之一就是帧定界。
透明传输:指数据链路层对上层交付的传输数据没有任何限制。
面向字节的物理链路使用字节填充方法实现透明传输。若数据中有与帧定界相同的内容,则添加转义字符ESC.
面向比特的物理链路使用比特填充方法实现透明传输。(0111110,一般在五个1后插入0)。
帧的长度上限即最大传送单元MTU。
差错检测
1可能变成0,0可能变成1。
差错检测码FCS来检测
奇偶校验:在待发送数据后面添加1位奇偶校验位,使整个数据(包括校验位)中的1的数量位奇数或偶数。
缺点:只有奇数个位发生误码才检测得出。
循环冗余校验CRC:约定好一个生成多项式G(X),将待发送的数据和生成多项式计算出差错检测码(冗余码)添加到数据后面一起传输。通过生成多项式来计算收到的数据是否产生误码。
生成多项式各项系数构成的比特串作为除数。待发送信息后添加生成多项式最高次数个0作为被除数。将余数添加到数据后。余数位数应与最高次数相同。
差错检测不能纠正错误
可靠传输
一般情况下,优先链路不要求数据链路层向上提供可靠传输服务,无线链路易受干扰,要求数据链路层必须向上层提供可靠传输服务。
传输差错还包括:分组丢失、分组失序、分组重复。
机制一:停止-等待协议SW
确认与否认:没有误码接收方发送ACK(确认消息),有误码接收方发送NAK并发送方重发。
分组丢失——超时重传:超时计时器、重传时间
分组重复——给每个分组带上序号,ACK(确认消息)也需要有序号。
信道利用率U=TD(数据发送时延)/TD+RTT(往返时间)+TA(确认消息时延)。当往返时延RTT远大于数据帧发送时延时(例如卫星链路),信道利用率非常低。
机制二:回退N帧协议GBN
解决SW协议中信道利用率太低的问题。
设置发送窗口大小
例如,采用3个比特分组序号,则序号为0-7
发送窗口的尺寸数值为1<W<≤2^3-1(若超过上限则会出现分不清是新分组还是旧分组)
接收窗口尺寸只能为1。
接收方不一定要对收到的分组逐个发送确认,可以对按序到达的最后一个数据分组发送确认。即累计确认。即使确认分组丢失,发送方也可以不重传。重复收到确认就说明之前的数据出现了差错。
机制三:选择重传协议SR
改进机制二。
例如,采用3个比特分组序号,则序号为0-7
发送窗口的尺寸数值为1<Wt<≤2^3-1(若超过上限则会出现分不清是新分组还是旧分组)
接收窗口尺寸Wr必须满足1<Wr<≤Wt。
接收方只有在按序接受数据分组后,窗口才能向前相应滑动。
发送方只有在按序接受确认分组后,窗口才能向前相应滑动。若没有按顺序收到确认分组,则对已收到的确认分组进行记录,并且不能滑动窗口。