带宽分配情况

本文主要摘自知网王子亭高二学生,编程爱好者对对于问题《如果局域网内有两台同样的设备在以满速下载资源,那么路由器如何给他们分配网速?》的回复。个人觉得很好,现转发到此。

通常,本地网络的带宽(家里的小型网络一般是 10Mbps 到 100Mbps)要远大于外网(家用宽带一般2Mbps到10Mbps)带宽,所以通常在本地网络这里是不会出现瓶颈的。想必楼主的提问也是针对于抢外网的带宽的。从你的电脑,到外网,大概是这么一个路线:


你的电脑 <-> 你家的路由器 <-> 运营商(联通/电信)路由器 <-> 更多骨干路由 <-> 目标服务器


前面说了,从你的电脑到你家的路由器之间是本地网络,基本不会出现瓶颈。就好比一根水管,能流多少水,要取决于最细的地方,但最细的地方通常不是本地网络。


楼主以为带宽是你家的路由器来分配的么?其实不是,带宽是由运营商(通常联通或电信)来限制的,你购买了 5Mbps 的宽带,运营商的路由器就会把你的带宽限制在 5Mbps. 具体怎么限制呢。最简单的策略就是先到先得,多出的部分(在路由器的内存里)排队,如果队列也满了,那么就丢弃后来的数据。


以上策略都是在运营商的路由器上进行的,你家里的路由器只是单纯地把你的电脑发来的数据转发到运营商的路由器。当然,你也可以在你的路由器上设置策略,一般的家用路由器都可以限制单个电脑的网速,使用的是类似上面的策略。


然后更多的骨干路由,也会有策略地排队,或者丢掉一些数据,当然这个就是由运营商来负责协调的事情了,它们会保证让你的数据尽可能快地到达目标服务器。


那么数据被丢掉了会发生什么呢。目前的网络上主要有两种传输层协议,UDP 和 TCP.
使用 UDP 的程序在发现数据丢失的时候,会非常野蛮地反复重新发送,直到发送成功,通常抢网速比较牛X的软件都使用这样的策略。
而 TCP 有被称为拥塞控制的功能,当发现数据丢失后,会自动调低发送速度,当一段时间没有数据丢失时,又会自动调高发送速度。理论上来讲 TCP 更为智能,对带宽的利用更高效,但是就因为 TCP 太谦让了,所以抢不过 UDP.


正面回答楼主问题:10Mbps以下的宽带,远达不到硬件的瓶颈,抢网速的能力主要取决于软件,比如多线程下载工具要比单线程的强的多。当然也取决于你有没有在路由器上设置限速。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值