+ z. e c$ A& h
(不久前,和@范卫锋 聊天,谈到我们作为技术的外行,怎么去了解一些基本的互联网知识,于是计划将一个外行人对技术的理解,写下来。某些概念和原理的解释可能不太准确,另外和投资没有直接关系,供其他转行、跨行同学参考。)
j4 G4 q! m( b L$ U; W0 Q- P
, m9 P( |5 _$ O( o. X" a第一篇:带宽常识 我家是10兆的宽带,上网为什么巨慢?8 V* L0 }8 C# X9 m" ?% X7 P& P
5 \. i/ E: _ Q2 [
9 B' Q3 j, x3 M+ G9 W& c2 a
如果问题是“我们小区里面是双向10车道,为什么上班路上还是堵车呢?”答案很明显,小区不堵车,但我们的上班地点,出了小区,还得老远的跑到中心区CBD去。你家里的10兆宽带(如果有的话),只是从你家到网络接入商的带宽,不等于到所有地方都是这个速度。
7 B( N4 i) F% ^% g: d% b
3 F* m: o, D# S1 a5 N; ~; [% r+ d1 v. j
. @) V @) N# T' j
1 U* K9 N7 o9 k! T上网快慢,涉及到几个问题:你的电脑;你的网络接入商;你希望使用的互联网服务(简单理解为要访问的目标网站吧);目标网站的系统;目标网站所在网络环境。 * ?; b( y' n& p& B2 T& k1 b
) ] [. R) C: g6 p5 @& [
; _, t1 O% O& R
1,跑车还是拖拉机?+ S! s7 P( X7 I0 p) }
, s8 y& [2 a$ X
+ L; ~- L$ ]0 B4 S- W" i影响网速的因素,首先要看,你的电脑配置是不是太落后,是不是中了木马、流氓软件等。是不是同时使用了太多耗费带宽的服务,比如看视频,下载大文件等。
' S1 |$ T- l, N- w- m- O* p* f- L3 w' i$ ^9 p
3 M! D/ J. Z8 g( ]3 d5 O$ F; D& M
* i. p; e1 w; F3 ?2 @9 f C2,网络接入商: Y% y; t* _" D l8 f, L r5 L/ y
5 ^! h( E& Z0 J( ?* A
2 ~& C1 }' g" P1 z5 j. F# Z' J简单来说,就是能牵线到你家里,然后让你的电脑上网的那个公司(现在也有无线的方式)。由于历史的原因,以前只有中国电信能为普通用户提供这种服务,所以现在最大的接入商,仍然是中国电信和中国网通。其他大大小小的各种接入商(比如长城宽带、E家宽、歌华有线等),可以看作是前两者的分包商。这些可以统称ISP (Internet Service Provider),互联网服务提供商。
5 t4 T; ]9 r5 V/ E2 q
5 j: p2 z7 G" Q% l. D# {# a
8 N/ |. y) {4 p" f$ \- W3,目标网站
- a* ~4 x5 t, v( z/ u/ D4 X4 n- L: _! R5 P, i% T3 P
3 ?4 i1 t4 @5 J
作为上班一族的你,中心区是你经常去的目的地;而上网的话,目标网站的服务器在哪里?同样由于历史原因,绝大多数都在中国电信或者中国网通的机房里,也有部分公司,通过从电信、网通租赁一些带宽,自建了机房,再向外提供服务。这些都叫IDC(Internet Data Center),即互联网数据中心。& G* I9 V! l8 i' j! ?( g; }0 w. v! N
% }+ n5 i3 K) \3 H# Q7 ?& v# V" [; q, D0 y
4,目的地是小区还是中心区?
% u; i: ^4 i4 \# q. J s! i$ A8 y7 F8 d% |2 m
+ _6 r3 ~% ^1 O, ^" S# l假设你的接入商是长城宽带(简称长宽),10兆(M)入户。或者,从你家到长宽的骨干网,的确有10兆(也就是小区内的10车道)。问题是,你经常访问的是新浪、网易以及雪球等网站,而这些网站的服务器不在长宽。于是,如果长宽的用户越来越多,而长宽与电信、网通之间的接口带宽没有相应增加的话,网速就越来越慢。所以,即使是相同的带宽标准,不同的接入商,与你实际使用到的带宽差别非常大。这里不得不为电信、网通做一下广告,他们的ADSL以及专线等方式要比其他接入商靠谱。4 w# b% V2 r m% U
% T. q6 k! S* r' h. J
; `7 k' |7 q/ G* Z% O5,上班高峰期
, c) P/ T9 D# o- o' |" q
9 D" X% @2 ]1 Z
1 L' s& b* R5 Z虽然,网络接入商,不断的增加自己与电信、网通等骨干网之间的带宽(要钱的),也就是将小区出去的路修得宽一点。但是仍然难解决上班高峰期,大家一起上路的问题。所以,很多你会发现,早上起来觉得网速很快,但到晚上就不灵了。因为对小区宽带用户来说,晚上是使用高峰期。6 T5 ]5 }' D) g" k" h. y
4 i. u! M/ i2 }- D) F
; Z- {# b Q, B% M/ D3 A# g" k
6,小车还是火车?. {2 O6 K3 B* [. Q: o
# [; D; y6 \4 F" Z0 V1 o
+ T" {, @* _" R9 s+ N0 U ]如果你的小区有1000辆车需要开到中心区,为了不堵车,是不是得修一条1000车道宽的公路呢?当然不是,因为1000辆车不是并排一起走的,每辆车只占几米长的一小截路面,所以10车道的公路就足够了。
* D: W1 G2 X5 h0 F$ x0 N0 I) i v9 I
: |, U I0 K/ k
6 Z$ [* F$ }5 J) y$ J9 p但,如果这些车不是轿车,而是火车(每列车所占的路面很长),恐怕就得要几百条车道,才不会堵车了。
) l3 {5 g- c6 k. e
/ b. ~8 B6 l! Z$ U2 X+ R1 S% g3 l1 o. k! O1 @9 D' I' I
同理,假设小区里有1000户人家开设了10兆接入,接入商并非提供10兆X1000的总出口带宽。因为,多数人的上网行为,比如浏览网页,仅在打开页面极短的时间内产生高流量,而且也不是所有用户约好了一起刷页面,可以实现错峰。如果是QQ聊天之类的活动,所占的带宽也非常小。也就是说,你的10兆带宽,多数时间是闲置的。" O. V; d2 P' e" |/ k4 v- x2 l
, f3 S+ F7 [" ]+ A/ J6 n$ G' x9 A2 M6 j1 K4 V
因此,网络接入商不会按理论最大值来配备带宽。如果平时大家都是开小车(浏览网页、聊天)还好,如果开火车,就容易堵了。进行大文件的下载(包括在线看视频)就像开火车,特别是使用P2P的下载软件(比如迅雷、电驴),因为带宽长时间被占据,如果接入商的总带宽冗余不多,少量的火车就会将出口挤爆。
1 t9 |% Z. E' c; G0 p+ i$ u) k: i3 J
# w) B5 }* U- `. c
9 W: I8 F a/ p- X: a+ W7,目标网站的系统& W" Y+ ^7 Y: c* f8 ~% E; ?
. a* C6 p. u$ l! ~
$ V% K! u1 T& X R' T( r2 i) ]1 s
你一路飞车到了中心区,但是里面塞满了车,你只能在路口排队等。用户所能感受的网速,与目标网站所提供的服务及其质量关系极大,主要是受网站的架构、数据库读写、缓存技术、以及前端页面的编码、以及访问压力等影响。一般来说,静态页面抗压能力要比动态页面强很多,换个意思是,同样的条件下,静态页面通常比动态页面快。静态页面(或者是应该静态化的页面)可以简单理解为,所有人看到的几乎都是一样的内容,比如新闻页面;动态页面每个人看到的都是各不相同,比如微博自己的首页,或者对更新频率要求在秒以内的页面。
9 y, r/ N2 A) H3 o
2 d. ^5 K, V' u4 |' C5 a7 q$ Z( F0 a
2 W+ M- q. K6 j% R/ O. g
8,目标网站的网络环境2 A0 C. E3 q0 `! o0 ~
9 t% |: J% C5 P8 E' i# B3 A) K' [( }
由于各种原因,中国主要的基础网络提供商电信和联通(前网通)之间,互联互通还存在很大障碍,另外还有教育网、金桥网、中国移动等各种网络环境。如果一台服务器,放在网通的机房,电信的用户跨网访问可能较慢,反之亦然。所以,不少网站将服务器放到双线、甚至BGP机房,以解决用户跨网访问的问题。! p- O y& [+ M% {4 s P X0 |
: S3 C2 l& M7 _! N B* l
另外,由于中国到境外的出口总带宽瓶颈以及其他原因,国内用户使用境外的互联网服务,速度明显受到影响,哪怕目标服务器是在香港。
) N/ Y7 T: T7 N- G. Z. ~5 |% Q
8 d( z7 z2 \# ^6 g$ t' c2 g7 D9,网络分发和加速服务
+ w8 O# f) @3 r ~' L, s: Y/ v, Z, }$ V5 i3 W
6 Q8 J e" `) Z5 E4 Z% b; Q3 Q) l3 N. k/ U3 Y" R, f
这个不是针对单个上网用户的服务,是网络内容服务商(简称网站运营方吧),通过网络分发和加速服务,部分地解决用户的访问瓶颈问题。也就是CDN(Content Delivery Network)。
3 v5 u5 i d" I5 _; _* y3 t# e0 v: r5 w- q0 {& P
再看之前的例子,假设目标网站的服务器,是放在北京联通下某个机房,一个海南的电信接入的用户去请求,路途遥远。虽然在光速传输上,从北京到海南的物理距离所耗费的时间几乎可以忽略。但是事实上,由于各个接入商、各地网络环境、跨城市骨干网总带宽、以及互联互不通等问题,确实存在瓶颈。
6 S' l4 O; c. e; c. r6 {5 ?
- n: U0 n; b3 G+ s' X$ `7 g& y* j1 {! L& }0 b6 L9 |6 X! L
于是有的公司(蓝汛、网宿科技、世纪互联等),在全国各地租用(或者自建)当地的机房和网络,架设了自己的全国分发系统。目标网站最终的服务器可能还是在北京,但是将内容通过他们的CDN网络向全国(全世界)分发,于是,海南的用户,直接请求当地最近的服务器的镜像数据,比以前要快很多。而别的同样在海南的其他用户,需要相同的内容时,也直接从本地最近机房读取。CDN的方式,既提供了访问速度,也节约了带宽成本。有的带宽虚耗大户,干脆组建自己的CDN网络。世界上最大的CDN服务提供商是Akamai(NASDAQ:AKAM)。' [7 A3 P6 t( I6 [& _4 m
6 x0 R) w; O5 E, m. C$ s
' P0 `( t6 a: u. l/ B* q* v# i
这方式可以理解为,全国人民本来要去北京朝圣,一睹老人家遗容。按传统的方式,即使将飞机、轮船、火车、手推车等所有交通工具用上,再将北京整个城市腾空来接待,10几亿人民不知道排队到何年何月。现在有个CDN公司,将尸体一摸一样地复制了几万份,分发到全国各地,甚至某些乡镇都有。于是,人民无需背井离乡、长途跋涉远赴京城,奔丧之需又丝毫不受影响。7 U4 b" \( x5 O7 `+ }
2 K# u( Q; U! ~( ~) ~! w% @7 X4 Y; L( B. D6 u+ P) N, a
10,动态CDN
5 \8 u1 b/ k( o. i' ?) J/ b- j$ x6 _2 \, o; F7 U& k- g
+ }6 l$ x& [" H
前面说的CDN目前主要使用在更新频率很低(甚至几乎不作更新)的静态(静态化)内容上。比如,上面的遗体,复制几万次而不影响大家哀悼,是因为复制品和原品一摸一样(至少人民感知不到区别)。如果是个活人,身体、穿着、神态等天天在变,要保证复制品质量的话,就得不停的更新,那样会导致很多运输在途的复制品变成废品。现在的动态CDN技术,能将复制频率以及向全国分发的时间,缩短到用户无法感知的程度,已经有部分公司尝试使用(价格昂贵)。
4 | h4 \. t1 m0 g
) f9 b+ E( S; A) u- p' e
" w* n- \# ?; T3 `11,带宽的单位% y6 O9 r k" T5 _4 f8 M3 q; P
; V, ~: N1 \7 M5 Q8 [4 B; ^! I4 l$ H6 H
假设上面说的问题都解决了,家里10兆(10M)的带宽,下载东西时,你会发现,怎么最多也只是1.25M/秒?那是因为,服务商说的带宽(字节)单位,是bit,而我们电脑上,使用的单位是byte。1byte=8bit,需要将他们的说的数字,除以8。电脑里显示某个文件的大小时候,使用的也是byte。(雪球 梁剑)2 Q3 E4 A3 |; J1 G; u0 K; @6 @
6 L, n/ ~* X/ @) W) E4 {
1 i+ P. [' Q) k! c, g& P2011-12-29 18:02 来自雪球
" X! R' q. s o4 Z |