首页 > 编程知识 正文

端到端流量控制,计算机网络体系结构

时间:2023-05-05 18:42:39 阅读:116248 作者:3795

目录

一、为什么需要流量控制?

二、怎么控制?

三、发送方什么时候再继续发送数据?

四.若干术语及其注意事项说明

流量控制使发送方能够根据接收方的实际接收能力来控制要发送的数据量。 具体操作是,当接收方主机通知发送方主机其可以接收的数据大小时,发送方将发送不超过该大小的数据。 这个限制大小就是窗口大小。 也就是说,窗口大小由接收主机决定。

TCP报头具有用于通知窗口大小的字段,并且接收主机将能够接收的缓冲器大小放入该字段中并通知发送方。 当接收缓冲区面临数据溢出时,窗口大小的值也会发生更改,设置为较小的值并通知发送方,以控制数据的发送量和流量。 控制此过程的窗口也称为滑动窗口。

一、为什么需要流量控制? 当双方正在通信时,发送侧的速度不一定等于接收侧的速度。 如果发送侧的发送速度过快,则接收侧无法处理。 在这种情况下,接收端只能将无法处理的数据保存在缓存区中。 失去顺序的数据包也被存储在缓冲器中。 即使缓冲区已满,如果发送方疯狂地发送数据,则接收方只能丢弃接收到的数据包。 大量丢包会严重浪费网络资源。 因此,需要控制发送端的发送速率,使接收端和发送端为动态平衡

发送方的发送速率控制被称为流量控制

二、怎么控制? 接收端每次收到数据包时,在发送确认消息的同时,可以告诉发送端自己的缓冲器有多空闲。 此外,缓冲器的剩馀大小被称为接收窗口大小,由变量win表示接收窗口的大小。 发送方收到后,调整自己的发送速率。 也就是说,调整自己发送窗口的大小。 发送方接收到的接收窗口大小为0时,发送方可以停止发送数据,防止大量丢包。

三、发送方什么时候再继续发送数据? 发送方停止发送数据后,返回该怎样才能知道自己可以继续发送数据?

在接收侧处理数据并接收到窗口win 0时,接收侧可以采用发送通知报文通知发送侧,通知发送侧可以继续发送数据的策略。 发送方在接收到窗口大于0的消息的情况下,继续发送数据。

但是,此时,在接收方发送的通知消息由于某种网络上的原因丢失的情况下,会发生接收方发送了通知消息之后,发送方继续等待数据的发送,发送方等待来自接收方的通知消息的问题,有可能双方陷入僵局

为了解决这个问题,发送方在接收到接收窗口win=0时,发送方停止发送消息,同时打开定时器,每小时发送测试报文向接收方发送消息

四、一些术语及其注意事项说明1、在本说明中,TCP/IP支持全双工传输,因此通信双方都有两个滑动窗口,一个用于接收数据,接收窗口一个用于发送称为拥塞窗口或发送窗口的数据。 收到窗口大小通知窗口通告

2、接收窗口的大小固定吗?

在早期的TCP协议中,接受窗口的大小确实是固定的,但是随着网络的快速发展,固定大小的窗口变得不太工作,成为TCP性能的瓶颈之一。 也就是说,在当前TCP协议中,接受窗口的大小是基于某种算法动态调整的。

3、接受窗口越大越好吗?

如果接受窗口太小,显然这是不行的,会大大浪费链路的利用率,增加丢包率。 那个越大越好吗? 不过,接收窗口达到某个值时,再大也不会减少多少丢包率。 进一步消耗内存。 因此,接收窗口的大小需要根据网络环境和发送的拥塞窗口来动态调整。

4、发送窗口和接受窗口相等吗?

在发送确认消息时,它传达发送它自己的接收端窗口的大小,而发送端的发送端窗口相应设置它自己的发送窗口,但这并不意味着他们相等。 首先,接收方在发送确认消息的瞬间,一方正在处理自己缓冲区中已经积累的数据,所以一般情况下接收窗口=发送窗口。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。