1.流量控制和可靠传输机制
1.1 什么是流量控制
流量控制是链路层根据接收方的接收能力来限制发送方发送数据的速度的行为。因为如果发送方发的太快,但是接收方的接收速度很慢,就会造成数据溢出,然后就有一些数据收不到,发生错误。
这里必须说明的一个点是,数据链路层考虑的接收方和发送方指的是点到点的,也就是说,两个相邻节点(可以是两个中间节点,也可以是发送的主机和第一个中间节点)之间的事情,所以前面半部分里面说的字符填充或者零比特填充其实是每一个节点都会把被填充的数据给消掉,然后再重新填充,这里做一个修正。
流量控制的操作主要是通过接收方不回复确认帧来实现的,也就是当发送方发现对方对前几个帧的数据进行了回复,但是对后面几个帧的数据没有回复,发送方就会减缓发送的速度,这是其基本的原理。具体要怎么减缓发送,其实是根据不同的协议来实现的,这些协议多是人为规定的,所以学的时候不需要太疑惑。
1.2 什么是可靠传输
可靠传输就是保证接收方能够完整的收到发送方发送的全部帧。目前可靠传输主要是依靠自动重传来实现的,具体也是需要通过协议来规定。下面我们就来依次讲一下相关的这些协议。在正式讲解协议之前,必须说一下,下面这些协议其实都是传输层的协议,这是因为目前的技术相比之前已经更加进步,不需要再在传输层来实现可靠传输,传输层只需要验错和纠错即可。但是因为以前的设备不是那么可靠,所以即便是在数据链路层也需要实现可靠传输。这里再说一下传输层和数据链路层的区别,传输层是端到端的,也就是说只需要发送的主机和接收数据的主机同时遵守这些协议即可,不需要每一个中间节点都遵守,大大节省了资源。所以下面几个协议,大家不需要太纠结处于哪个层次,因为计算机本身就是不断套娃的事情,并不是说一个协议只能在什么地方使用。
1.3 停止-等待协议
停等协议是用来解决数据丢失问题的,电气干扰,设备故障,或者是发送方发送的速度太快,接收方来不及缓存都有可能造成数据丢失,我们也称之为丢包。停止等待协议的内容十分简单,就是当发送方发出一定量的数据以后,不会立刻发送下一份数据,而是等待接收方回复,只有接收方回复已经收到了数据,发送方才会发送下一份数据。
1.3.1 停等协议的具体内容
停止等待协议就是发送方发一帧,接收方就回复一帧:
它的特点有:
(1)每次发送方发出一份数据之后,自带的超时记时器就会启动计时,当计时器归零的时候,重新发送这一份的数据,这个过程也被称为重传。这就要求超时记时器的时间要大于信号在发送方和接收方之间的平均往返传输时延(RTT),如果小于RTT,至于为什么就不用解释了。
(2)在每发送一个帧之前都需要进行备份,来准备重传。
(3)每一个帧都需要一个专门的编号。因为接收方的回复也可能会丢失,这个时候发送方也会因为收不到确认信号进行重传,当接收方收到两个编号一样的数据的时候,会丢弃这个数据,但是返回一个确认帧。
(4)当接收方检查收到的帧的时候,如果发现错误就不会返回一个确认帧,而是直接丢弃这个帧,等待接收方重传。因为返回一个确认帧要比直接等发送方重传要方便,而且时间上也差不了多少。
(5)确认帧信号也可能因为各种原因到达时间要比计时器的时间要大,这个时候发送方会重传,然后出现连续收到两个相同确认帧的情况,一样的,发送方会对收到的第二个确认帧进行忽视。
这个协议看起来很美好,但是实际上信道利用率很低,因为可以从图上看到,信道很多时候都是空着的,不是那么符合通信要求的速率问题。下面学两个考这方面内容会考的名词:
1.3.2 信道利用率
信道利用率是一个常考考点。信道利用率其实就是发送方在一个发送周期内,有效的发送数据所占的时间,占整个发送周期的比率。发送周期其实就是发送方发送数据到收到接收方回复的一个时间,可以更简单的理解为一个发送周期内,信道上发送数据时通过的数据量和信道带宽乘以时间的比值,更直观的可以看作下图的一个面积比值,用整个信道的面积去比上发送方信号传输的面积,这里必须注意的是,要把接收方处理确认帧的时间也算进去:
因为高是一样的,所以直接用时间相比即可。当然,题目不会直接给你这几个数字让你计算,而是给你发送方的发送速率,并且给你一个帧有多少的数据,再给你一个RTT和确认帧的确认时间,让你计算信道利用率,这个时候就需要用数据量除以发送速率先算出发送的时间,然后再计算。
来个例题:
这个题要求的是发送的数据帧的大小,这要求我们灵活利用公式求未知量,我们设这个帧的长度为xkb,单位也要统一,RTT=30msx2=0.06s,题目没有说明处理确认帧的时间,显然这个点可以忽略不计:
1.3.3 信道吞吐率
1.4 后退N帧协议
1.4.1 后退N帧的滑动窗口
1.4.2 后退N帧协议的具体内容
1.4.3 例题
1.4.4 GBN协议的优缺点
1.5 选择重传协议
1.5.1 选择重传协议的窗口滑动机制
1.5.2 选择重传协议的特点
2
(
n
−
1
)
2^{(n-1)}
2.介质访问控制
2.1 静态划分信道
2.1.1 频分多路复用技术
2.1.2 时分多路复用技术
2.1.3 波分多路复用
2.1.4 码分多路复用
2.2 动态信道划分
2.2.1 ALOHA协议
2.2.1.1 纯ALOHA协议
2.2.1.2 时隙ALOHA协议
2.2.2 CSMA协议
2.2.2.1 1-坚持CSMA
2.2.2.2 非坚持CSMA
2.2.2.3 p-坚持CSMA
2.2.3 CSMA-CD协议
2.2.3.1 争用期及其意义
2
τ
2tau
2
τ
2tau
2.2.3.2 截断二进制指数规避算法
2
τ
2tau
2.2.3.3 最小帧长
2.2.3 CSMA-CA协议
2.2.3.1 CSMA-CA协议的具体内容
2
τ
2tau