通过队列,我们确定数据发送的方式。重要的是要意识到我们只能塑造我们传输的数据。
根据互联网的工作方式,我们无法直接控制人们发送给我们的内容。这有点像您家中的(实体!)邮箱。除非联系所有人,否则您无法影响世界来修改他们发送给您的邮件量。
但是,互联网主要基于 TCP/IP,它有一些功能可以帮助我们。TCP/IP 无法知道两个主机之间网络的容量,因此它只是开始越来越快地发送数据(“慢启动”),当数据包开始丢失时,因为没有空间发送它们,它会减速。事实上,它比这更智能一些,但稍后会详细介绍。
这相当于不读取一半的邮件,并希望人们停止向您发送邮件。不同之处在于它适用于互联网 :-)
如果您有一个路由器,并希望阻止网络中的某些主机下载速度过快,则需要在路由器的内部接口(即向您自己的计算机发送数据的接口)上进行整形。
您还需要确保您控制了链路的瓶颈。如果您有一个 100Mbit 的网卡,并且您有一个具有 256kbit 链路的路由器,则必须确保您发送的数据不超过路由器可以处理的数据。否则,将由路由器控制链路并塑造可用带宽。我们需要“拥有队列”,可以这么说,并成为链条中最慢的环节。幸运的是,这很容易实现。