问题

为什么连离我很远很远的服务器会很慢?

回答
这个问题啊,其实挺有意思的,很多人都有体会,感觉网上的东西有时候快得飞起,有时候又慢得像蜗牛在爬。你说你离服务器那么远,为什么会慢呢?这事儿可不是简单地“远了就慢了”这么一句就能说清楚的。这里面涉及到的门道,其实挺多的,咱就一点一点捋捋。

首先,得明白这中间到底发生了啥。你电脑上的操作,比如点个链接,或者发个消息,这其实不是直接“咻”一下就到服务器了。你的指令,或者说你想要的数据,得经过一连串的“旅行”,才能到达目的地,然后再把结果带回来。这个过程,就好比你寄一封信,从你手里出去,经过邮递员、邮局的分拣、运输,最后才能送到收信人手里。

第一站:你家里的网络和设备

别忘了,这趟旅程的第一步,就可能出问题。

你家的WiFi信号强不强? 你家里的路由器虽然方便,但信号范围是有限的。如果你的设备离路由器太远,或者中间隔了墙壁、楼板之类的东西,信号就会衰减。信号弱了,数据传输的准确性和速度就会打折扣,就像你想跟远处的人大喊,对方听不清,还得重复好几遍一样。
家里的网络设备状况? 路由器用久了,性能可能会下降,或者固件版本太老。还有,你连的WiFi频道会不会跟邻居的冲突?这些都会影响你本地网络的效率。
你的设备本身? 如果你用的电脑或者手机比较老旧,处理数据的能力跟不上,它自己就成了瓶颈。它可能还没来得及把你的请求打包好,就已经在忙活了。

第二站:你家到互联网的“最后一公里”

你家里的网络,最终还是要连接到互联网上。这中间,通常是你的网络运营商(比如电信、联通、移动)负责的。

你办理的宽带速率? 这是最直接的限制因素。就像你有一条水管,水管越细,一次能通过的水量就越少。如果你是百兆宽带,和千兆宽带的体验肯定不一样。而你下载文件、看视频,都需要大量的“水”通过这条管道。
运营商的线路质量? 你家到运营商机房那段线路,是不是老旧了?有没有受损?就像你家到邮局的路修得不好,路上坑坑洼洼,信件运输自然就慢。
你家路由器的上行速度? 一般我们更关心下载速度,但上传速度也很重要。你发出的请求,也需要通过上传通道出去。

第三站:穿梭于互联网的骨干网络

这才是真正考验“距离”的地方。你的数据从运营商那里出去后,并不是一条直线就能到达那个遥远的服务器。

网络节点和路由器的数量与质量: 互联网就像一个巨大的蜘蛛网,你的数据会在这个网上不停地“跳跃”,从一个节点到另一个节点,再到下一个节点。每个节点都是一台路由器,负责根据你的数据包的“地址”,决定它下一步该往哪儿走。
距离越远,经过的节点越多: 想象一下,你家在A地,服务器在Z地。你的数据包可能需要经过 B、C、D… 一连串的节点才能到达Z。每一个节点,都需要处理这个数据包,进行路由决策,然后转发出去。节点越多,延误的可能性就越大。
节点性能瓶颈: 即使这些节点是先进的设备,如果某个节点因为流量过大、设备性能不足、或者维护等原因处理速度变慢,整个链条就会受到影响。就像一个长长的队伍,前面一个人动作慢了,后面所有人都得跟着等。
路由路径的选择: 互联网的路由不是固定的。运营商的系统会根据网络状况,动态地选择最优路径。有时候,最快的路径不一定是最短的。但即使是“最优”路径,也可能经过很多个不同的网络运营商的设备,这中间涉及到的协议、配置、以及不同运营商之间的互联情况,都会影响速度。
物理距离和光纤的传输速度: 数据在光纤里传输的速度虽然接近光速,但不是真正的光速。而且,光纤在海底铺设、在地面穿行,也会有一定的弯曲和损耗。长距离传输,累积的损耗和延迟是无法避免的。这就好像声音在空气中传播,传播得越远,自然听起来越模糊,传播时间也越长。
网络拥堵: 互联网上的流量是巨大的,尤其是在高峰时段。就像高峰时期的公路,即使车子本身没问题,但车子太多,也会造成严重的拥堵。你的数据包在某些节点或者链路上,可能需要排队等待。
服务器本身的负载: 即使你的数据顺利到达了服务器,如果服务器本身正在处理海量请求,忙得不可开交,它也无法及时响应你的请求。这就好像你终于把信送到了收信人手里,但收信人正在开会,没法马上拆开看。

所以,为什么“离得很远”会慢?

延迟(Latency): 这是最关键的因素。“远”最直接的影响就是物理距离上的远。你的数据包需要传输更长的物理距离,经过更多的网络设备(路由器、交换机)。每经过一个设备,都会产生一点点处理延迟,叫做“跳数延迟”或“节点延迟”。物理距离越长,跳数通常越多,累积的延迟也就越大。这就好比你说话,离得越远,对方听到的时间就越晚。
带宽(Bandwidth): 虽然不是直接由“远”决定,但长距离传输往往意味着要经过更多运营商的网络,这些网络之间可能存在带宽限制或者互联瓶颈。想象一下,你家到A地的水管是100兆,A地到Z地的水管可能是50兆,那么整体的传输速度就受限于那个最细的水管。
丢包率(Packet Loss): 在复杂的网络环境中,数据包有可能会在传输过程中丢失。长距离、多跳数的传输,更容易遇到信号干扰、设备故障等情况,从而增加丢包的几率。数据包丢失了,就需要重新发送,这会大大降低整体的传输效率。就像你寄信,邮递员在路上把你的信弄丢了,收信人就收不到,你还得重新写一封寄过去。

总结一下:

你觉得离得远的服务器慢,是因为你的请求和服务器的响应,需要经过一个庞大而复杂的网络。这个网络包含了无数的设备和路径。距离远,意味着你的数据包需要“走”的路更长,经过更多的“关卡”(路由器),这些额外的路程和关卡都可能引入延迟、拥堵和丢包,从而降低了你感觉到的速度。

所以,下次感觉慢的时候,不妨想想,你的数据包它经历了一场多么漫长而艰辛的旅行才能到达那个远方的服务器,又需要多么漫长而艰辛的旅行才能把结果带回来。这中间的任何一个环节出了小岔子,都可能让你觉得它慢得让人抓狂。这可不是什么神秘魔法,而是实实在在的网络工程问题。

网友意见

user avatar

距离远的服务器几乎是一定会更慢一些,但是不代表距离近的一定就快,物理距离近的服务器可能也会很慢。

距离远慢的原因是因为物理限制,长距离情况下电信号/光信号的延迟是很明显的。假设中美海底光缆的长度是一万公里,那么光信号跑一个来回就至少需要10000*2/300000=0.0666秒,考虑到光纤本身的因素(如折射率、全反射路径等),实际时间可能要更长一些。

距离近的服务器仍然很慢的原因,在国内主要是绕路。

比如教育网访问公网就有这样的问题,教育网的总出口是在北京(过去,现在不清楚),所以在教育网访问电信、联通,可能就需要去北京走一圈,这样的开销是很大的。我过去在兰州念书的时候,访问兰州网通(联通),数据需要走的路径是:兰州->西安->北京->西安->兰州,绕了一大圈,速度非常慢。

除了距离因素,影响网速的还有:

1. 从客户端到服务器的中转节点数量:这些节点包括但不限于:交换机、路由器、防火墙等,一般来说数据包每经过一个节点,都需要消耗一定的时间,这个时间可能是以微秒甚至毫秒级的,一般来说,考虑到现代互联网的复杂度,这类延迟的开销基本上都差不多。

2. 整条传输路径上的最小带宽:把数据想象成水流,一个管网的最大流量取决于整个管网里最细的那根管子,如果管子太细,水流(数据包)就要排队通过,自然就慢了。多数情况下,不同线路网速的快慢差异主要在这里。

第一条很难优化,原因是:本身骨干网上的节点就不少,防火墙又很难绕,绕过去的话,节点数可能会更多,更慢。况且针对第一条优化,技术上要复杂的多。

所以一般的网游加速器就针对这两条做优化,通常来说,是第二条。

关于带宽的问题:

根据《第42次中国互联网络发展状况统计报告》 ( cac.gov.cn/wxb_pdf/CNNI

国内主要国际出口的带宽总数如下:

国际出口带宽数(Mbps)
中国电信 4,422,215
中国联通 2,274,207
中国移动 2,007,000
中国教育和科研计算机网 61,440
中国科技网 61,440

看上去电信的出口带宽更大一些,但实际上并不是这么一回事。

这个表中列出的总带宽,不代表实际分配给普通上网用户的带宽,大头可能会被电信卖给企业和其他小运营商(长城宽带之类的),实际拿出来分给用户的可能很少,毕竟国际出口是很贵的东西,是可以拿出去卖钱的(据说,移动的出口带宽虽然少,但分配普通用户的带宽更多)这样一来,普通用户想要访问国际线路,就会十分拥挤。

加速器的思路是:花钱买国际出口的带宽,再卖给需要的人,这样就不需要跟普通用户挤小水管了。

理论上,访问美国的服务器,延迟应该在60-100ms左右,实际上,因为出口带宽不够,延迟可能要200ms,但花钱买的出口就可以走专门的通道,延迟可能会降低很多,但仍然无法突破物理光速限制。

其它回答里提到的走不同AS访问的做法,在实际中并不多见,因为就中国的实际环境来说,主要影响用户体验的是带宽。

中美的海底光缆目前处于服务状态的只有一条:TPE,5.12Tbps,TPE (cable system) ,之前的一条CUCN,于2016年停止服务,并且5.12Tbps只是整条链路的设计带宽,实际使用的带宽并没有多大,并且大部分都是借道日本。根据wiki上的描述,用户可以花钱买带宽,单位是10Gbps,大户买了这个带宽以后,再分割卖个更小的用户,并且这个光缆似乎还没用满。

当别人还在挤小水管的时候,花钱走专线的用户就会更快一些了。

前文提到的国内主要运营商的出口总带宽看着很大,其实这些出口还包括去其它地区的带宽,比如:台湾、俄罗斯、东南亚、日韩等等,并非专门针对美国。考虑到加速器的实际技术能力,一般都是针对某个方向做优化,很少有针对所有地区都能提速的加速器,在各个方向上都买带宽的话成本实在太高了。


最后说点题外话,正常国内访问北美的服务器,有些要经过日本中转,因为日本到北美的光缆很多(参见 cablemap.info/ ),带宽大,据说比直接走TPE光缆要便宜一些,但延迟会稍微大一点,确实也有网游加速器针对这方面做优化。但大部分加速器可能并没有技术实力专门这么做,通常是从国内运营商那里直接打包买带宽,这个带宽是走直连还是走日本中转,对于加速器来说,并不关心,因为一般小公司做的加速器里,成本最大的一块还是带宽。

------------------------------

评论一堆人在说节点优化的事情,打通一个VPN看上去节点数变少了,实际上物理链路走的东西还是一样的,该走电信走电信,该都联通走联通,哪个加速器敢号称自建链路?traceroute打出来的是三层设备的数量,现在通过一个三层设备的时间并不长,包头重算都是硬件做了,转发面也是硬件完成的,甚至防火墙都是硬件实现的,traceroute上省几跳根本不解决什么问题。

MPLS网络可以把IP报文重新封装,traceroute上看到的能省很多跳点,但不代表你的报文真的绕过去了,实际还是在大网里走呢。

另外,国内游戏加速器和国外游戏加速器的原理是不同的,国际流量的瓶颈在带宽,国内流量的瓶颈才是AS之间的连接问题。比如联通-电信之间的加速器,这种是要通过双向NAT来打通一个近距离的出口实现加速的,而国际流量是因为人均带宽不足导致的访问慢(好像是人均不到10Kb的速度)。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有