你说怪不怪,延迟中相当大的一部分往往花在了最后几公里,而不是在横跨大洋或大陆时产生的,这就是所谓的“最后一公里”问题。为了让你家或你的办公室接入互联网,本地ISP 需要在附近安装多个路由收集信号,然后再将信号转发到本地的路由节点。连接类型、路由技术和部署方法五花八门,分组传输中的这前几跳往往要花数十 ms 时间才能到达ISP 的主路由器!根据美国联邦通信委员会(FCC)发布于2012 年年中的《美国宽带测量报告》(Measuring Broadband America),在通信高峰的几个小时内: 光纤入户服务的平均往返时间为18 ms,有线电视线路上网平均为26 ms,DSL 专线平均为43 ms。——FCC,2012 年7 月 这里18~43 ms 的延迟测量的还只是ISP 核心网络中与用户最近的节点,此时分组甚至都还没有启程呢! FCC 的报告只反映了美国的情况,但最后一公里的延迟却是世界任何一个角落的互联网提供商共同面临的问题。如果你好奇,那只要一条简单的traceroute 命令,就能知道上网服务商的拓扑结构和速度。 $> traceroute google.com traceroute to google.com (74.125.224.102), 64 hops max, 52 byte packets 1 10.1.10.1 (10.1.10.1) 7.120 ms 8.925 ms 1.199 ms ❶ 2 96.157.100.1 (96.157.100.1) 20.894 ms 32.138 ms 28.928 ms 3 x.santaclara.xxxx.com (68.85.191.29) 9.953 ms 11.359 ms 9.686 ms 4 x.oakland.xxx.com (68.86.143.98) 24.013 ms 21.423 ms 19.594 ms 5 68.86.91.205 (68.86.91.205) 16.578 ms 71.938 ms 36.496 ms 6 x.sanjose.ca.xxx.com (68.86.85.78) 17.135 ms 17.978 ms 22.870 ms 7 x.529bryant.xxx.com (68.86.87.142) 25.568 ms 22.865 ms 23.392 ms 8 66.208.228.226 (66.208.228.226) 40.582 ms 16.058 ms 15.629 ms 9 72.14.232.136 (72.14.232.136) 20.149 ms 20.210 ms 18.020 ms 10 64.233.174.109 (64.233.174.109) 63.946 ms 18.995 ms 18.150 ms 11 x.1e100.net (74.125.224.102) 18.467 ms 17.839 ms 17.958 ms ➋ ❶ 第1 跳:本地无线路由器 ➋ 第11 跳:谷歌服务器 分组从森尼维耳市开始,跳到圣克拉拉,经过奥克兰,返回圣何塞,又被路由到“529 Bryant”数据中心,从那儿才开始向谷歌服务器进发,最终在第11 跳到达目的地。整个行程大约18 ms,所有延迟都算上了,还不错。但与此同时,我们的分组几乎穿越了大半个美国本土! 最后一公里的延迟与提供商、部署方法、网络拓扑,甚至一天中的哪个时段都有很大关系。作为最终用户,如果你想提高自己上网的速度,那选择延迟最短的ISP 是最关键的。 大多数网站性能的瓶颈都是延迟,而不是带宽!要理解为什么,需要明白TCP 和HTTP 协议的细节,这也是本书后面几章要讨论的。假如你现在就着急知道,可以直接翻到10.3.1 节“更多带宽其实不(太)重要”。 使用traceroute 测量延迟 traceroute 是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟。为找到每一跳的节点,它会向目标发送一系列分组,每次发送时的“跳数限制”都会递增(1、2、3,等等)。在达到跳数限制时,中间的节点会返回ICMP Time Exceeded 消息,traceroute 根据这个消息可以计算出每一跳的延迟。 在Unix 平台上,可以在命令行运行traceroute。而在Windows 平台中,相应的命令叫tracert。
Web性能权威指南——1.4 延迟的最后一公里
书名: Web性能权威指南
作者: Ilya Grigorik
出版社: 人民邮电出版社
原作名: High Performance Browser Networking
译者: 李松峰
出版年: 2013-9
页数: 336
定价: 69
装帧: 平装
ISBN: 9787115349101