计算机网络-流量控制

Aki 发布于 2023-08-06 177 次阅读


数据链路层也提供流量控制的服务。

数据链路层和传输层提供的流量控制服务有一些区别。

  • 位置不同:数据链路层的流量控制发生在两个相邻的节点之间,即在物理链路中的传输过程中进行。传输层的流量控制发生在网络的端到端传输中。
  • 协议不同:数据链路层的流量控制通常使用的是基于帧的协议,例如HDLC、PPP和Ethernet等,通过控制发送端发送数据帧的速率,确保接收端可以正确接收到数据。传输层的流量控制通常使用的是基于字节的协议,例如TCP协议,在传输层通过TCP窗口大小来控制数据的发送速率。
  • 范围不同:数据链路层的流量控制是针对相邻节点之间的通信进行的,主要关注链路的利用率。传输层的流量控制是针对整个网络的端到端通信进行的,主要关注网络的拥塞控制。
  • 目标不同:数据链路层的流量控制主要目标是确保数据在链路中的可靠传输,防止丢包和错误。传输层的流量控制主要目标是确保网络的稳定性和高效性,防止拥塞和网络性能下降。

总的来说,数据链路层的流量控制服务注重链路的利用率和可靠传输,而传输层的流量控制服务注重网络的稳定性和拥塞控制。两者在位置、协议、范围和目标等方面有所区别。

在流量控制中,我们主要关注接收方,确保接收方接收数据的速率大于等于发送方发送数据的速率!

在通信领域中,noisy channels(噪声信道)和noiseless channels(无噪声信道)是两个相关概念。

噪声信道指的是在信息传输过程中由于各种干扰因素引入的噪声。这些干扰因素可以是电磁干扰、信号衰减、多径效应等等。在噪声信道中,发送方发出的信息可能会被噪声扭曲、干扰或丧失,接收方可能无法完全准确地接收到原始的信息。

无噪声信道则是在信息传输过程中没有任何干扰因素存在的理想化情况。在无噪声信道中,发送方发出的信息将完美地传输到接收方,不会受到任何扭曲或丧失。

在实际应用中,大多数信道都会存在一定程度的噪声。因此,通信系统的设计往往需要考虑如何在噪声环境下实现可靠的信息传输,并使用各种技术和算法来增强信号的质量和鲁棒性。

上述是数据链路层关于流量控制的协议。ARQ表示automatical repeat quest,自动重复请求。

Stop-and-wait protocol(停止-等待协议)、

发送方每发送一帧数据后就等待接收方的确认帧,只有在接收到确认帧后才发送下一帧。这种协议简单易实现,但效率较低。

每发送一个数据帧都需要一次RTT。

优点:简单易于实现。

缺点:(1)如果发送方发送的帧丢失了,由于接收方没收到帧因此不会发送ack,接下来发送方和接收方就会进入无限阻塞的情况。(2)如果发送方发送了帧,接收方接收到了,并发送ack,但是ack丢失了,接下来发送方和接收方就会进入无限阻塞的情况。(3)存在延迟ack问题

Stop-and-wait protocol ARQ(停止-等待ARQ协议)、

stop-and-wait协议会发生ack收不到的问题。stop-and-wait ARQ协议在此基础上增加了超时自动重传机制,序列号机制,类似于tcp协议。

发送方发送一个数据帧后,等待接收方发送确认帧(ACK)。如果在一定的超时时间内没有收到ACK,发送方假设该帧丢失或损坏,并重新发送该帧,这样可以确保接收方能够正确接收到数据。发送方为每个数据帧分配一个唯一的序列号,接收方在发送确认帧时将该序列号包含在确认帧中,用于发送方确认哪个数据帧已成功接收或需要重发。

对于该协议有四个场景,abcd。

a:这个是协议完美工作的场景,发送方和接收方都接收到了帧,且没有超时。

b:发送方发送帧丢失,在超时后重新发送。

c:发送方发送帧,接收方接收帧并回复ack,但是ack丢失了,发送方超时后重新发送帧,接收方收到回复ack,发送方收到。

d:这个是计时器到期的情况,发送方发送帧,接收方收到回复ack,但是ack由于某种原因发生了延迟,导致超时了,发送方又重新发送了一份。

当计时器到期时,意味着在规定的时间内未收到期望的事件(比如ACK确认帧)。在流量控制协议中,计时器的到期通常会触发以下处理方式:

  • 超时重传(Timeout Retransmission):如果计时器到期时还没有收到期望的事件,发送方会假设数据帧已丢失或损坏,并进行重传。发送方重新发送相同的数据帧,期望在下一个计时器到期之前收到确认帧。
  • 丢弃/忽略(Discard/Ignoring):有时,在某些情况下,计时器到期时可能并不需要进行重传。例如,如果接收方已经向发送方发出了一个更高序列号的确认帧,说明该数据帧已经被正确接收,因此发送方可以选择忽略到期计时器并继续发送后续的数据帧。
  • 连接中断/重置(Connection Interruption/Reset):在某些情况下,计时器到期可能表示网络连接出现问题,导致无法正常收到确认帧。在这种情况下,可以考虑中断连接或进行连接重置,以便重新建立可靠的通信链路。

具体采取哪种处理方式取决于具体的流量控制协议和应用场景。停-等ARQ、滑动窗口协议和选择重传协议等都会根据计时器到期的情况进行适当的处理,以保证数据的可靠传输和流量控制的有效性。

缺点:一次发送一帧,效率太低,严重浪费带宽,性能太低。

sliding window protocol(滑动窗口协议)、

该协议有一个字段叫做窗口字段,决定了一次能够发送数据的大小,每一帧都有序列号。

原理动画:Sliding Window Protocol - YouTube