百科问答小站 logo
百科问答小站 font logo



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

  

user avatar   bei-ji-85 网友的相关建议: 
      

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

距离远慢的原因是因为物理限制,长距离情况下电信号/光信号的延迟是很明显的。假设中美海底光缆的长度是一万公里,那么光信号跑一个来回就至少需要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的速度)。




  

相关话题

  开源精神是否可能应用到别的领域? 
  如何看待 HTTP/3 ? 
  写一个操作系统内核有多难?大概的内容、步骤是什么? 
  由于网站的服务器要日夜运转,那运维工程师如何休息? 
  如何评价@左耳朵耗子 的《关于阿里云经典网络的问题》? 
  机械类的优秀答主为什么那么少? 
  机器学习到底是什么,如何使用这项技术? 
  如何看待小米路由器 AX6000 秒杀价 579 元,宣传语为「信号覆盖整个足球场」?实际值得入手吗? 
  国外发达国家码农是真混得好么? 
  该怎么看待网络语言? 

前一个讨论
RISC-V RV32I中零寄存器有什么用?
下一个讨论
Windows 等操作系统是如何做到复制大文件不出错的?





© 2024-06-03 - tinynew.org. All Rights Reserved.
© 2024-06-03 - tinynew.org. 保留所有权利