|
|
& _" s& a( t! o4 d/ { a4 w$ z
本文经授权转载自漫话编程(ID:mhcoding)
u2 X9 N: h: n周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
4 W6 k% v6 o7 d2 u8 A
! P1 a, U# w2 @6 S6 c- Q 6 W) u+ U* R8 |* A; s" _- o( ]
 - E+ z% J: `( F& X4 k
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
, B# v; q, ?: u Y, U# ~$ N" E1 o: [! F! k$ F V
' W1 T# V4 I" [% G
, H% ^6 | Z' E0 k& |

. g) I7 M+ r. r H% L l. @& H( s. \
网络带宽
# H4 A3 A- _; h6 L4 C/ q/ k带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。6 J8 h( ~2 u, a5 @3 `& r: g: l: l
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
- C/ y* y; K& S! ] 9 J: j3 I% n4 V( C0 E
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。# J ~8 V" c R, e' O
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。+ n0 ~( d) L5 @) x' C8 e
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。" b6 r, {+ Q7 T- B7 d5 d& C

+ o- K' b7 x3 }* w$ P现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
4 q1 f% C `6 O0 J0 |+ Y) k通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。' C! f: R: R; B& a2 p" }
影响网络中带宽和吞吐量的主要因素有:
O8 }( A/ ^& m9 I2 t; s! g5 X9 Q
( e6 t4 k! P4 S1 ^/ K$ q! i- 网络设备(交换机、路由器、集线器);0 U8 R, H5 T7 f4 U0 K* u6 ]
- 拓扑结构(即网络构造形状,如星型、环状);
* Y9 T0 Z/ ]6 _; i - 数据类型;& Y0 j a" B9 ^
- 用户的数量; b( m- A' C! ?2 L/ ` V) o
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
. e1 `' w. y0 U1 b W X9 m - 电力系统和自然灾害引起的故障率。
+ B( f1 E8 _4 R" p
& `& l+ U6 f, O5 c
- q' ~* Y8 A& \" v0 E X) c
8 v, p5 H$ B1 q! A网络速度
- _% I, K/ V0 a8 V- V- m网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
! ~& ]5 T" q+ M' j5 U) N% C: s6 e可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。6 C, _7 q N }4 F" B- f
+ p6 z( k* H" H3 I
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。. h8 ~8 m) {" |
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。3 }3 ^- H, q. q+ a# }& B0 P' s
中国电信宽带上下行速率对照关系如下:& O4 M# J3 _" K2 x7 w& g
" ?5 X# V& R* Y& N+ ~
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
5 T/ t5 u* t6 U8 g 0 C! I- S* E9 [* _* G
/ s6 m, g6 s5 `$ l1 [. x
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
) _4 \( l; f' ]/ d$ y6 O( V7 Y& ]而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
' ^2 x3 e0 O: {" |3 M下载速度计算方法4 Z0 I: A: i4 q r
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。$ _: w% m" V7 {- h: ~; H
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。+ a9 V$ b6 T; n" s! i! j+ o0 G4 d6 r
上传速度的计算方法/ a- p5 R0 M% _6 _; S% j( {1 S
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
' m4 {) |, B2 c) I2 G" {% s" v例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。8 z4 s, F" O1 F' k. R. y0 @
+ d4 f$ R1 h; b
上行速率比下行速率低的原因
$ C1 _0 F4 C# \4 ]# O通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。! L4 E" |( _6 ~2 t0 j ?5 m4 @
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。+ X+ B; G# g, e8 P; e
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
& R; f1 A. Z: ?1 Y r9 V 5 @% a$ |* D) a4 a0 ]7 N

" z& @) Q& J5 s( |- K + w' |2 S! Q. n4 }+ ?
! \# s- Q2 X: K q& D
; v0 D, J ~; D0 H( b
网络延迟
5 l2 D# P2 M# t- O( ~; b3 a网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。, p7 T3 r- h; m8 s8 \: T% L
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。7 X& z# q6 }0 a7 l+ S

- n% \0 N, p7 ^# M; u: `网络延迟一般分位以下几个级别:
) T4 Q% z4 K) F8 J* s
) V2 m+ y3 o7 N. w e" u8 i- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅) @ r6 b% b% E0 z, |
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况8 V3 q& T. H Q! ^4 A( U5 v# `9 k
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿6 |/ L& u0 H0 i, }: r! h! [
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
$ ]0 v" v+ @; P8 F7 o5 D( V
% B1 D9 ~; a! d* [6 x+ M% o! v

( c6 e2 W! u0 |% W" s' w8 `1 O. b
网络带宽、网络速度和网络延迟之间的关系1 J' T8 p7 t! Y2 i8 }, Y+ e( Q3 Q
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。3 \; B0 Y, _8 a5 X1 ]* p! [
那么,是不是带宽越高,网速越快,延迟一定越低呢?
1 O+ d8 H# K5 J, w8 f其实不是的!
) X9 ?8 k" ^. C: _" u就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。) p8 f* p$ ?( ^5 t% t* w
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。, Y/ X# L0 w& U2 F' i- X+ H, W
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。* F3 k# r7 o, a" e6 _
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。# U3 @) w1 s; {* f# Q5 u
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。5 f, u; ~! k9 l9 f/ V* @, ?
4 V, r [5 D$ G, { y/ Y

: m' N* I" n/ j$ k. e1 g/ w3 v* e, T
$ d# q% l, J: M" K* y2 V$ u2 P6 Z$ R
如何降低延迟+ }2 d; H! F! O, A( ]3 o$ j T( y$ f
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。' W- G6 \4 z, ^' I5 z
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
0 q& C3 H/ ~+ k, ^8 \: @1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
. P7 w; c: j! i: u! A" h2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。, n7 Y. S1 P: ^0 r: ^* F& W& P
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。/ J9 g5 `+ c1 P, p- p+ ?$ s

: @7 }- t2 q' c' A7 J) Z% ?
/ |0 T1 U/ r4 J6 Y
7 a$ o! [! p# Z; B+ K3 r" v8 S) P
1 ?: z( E9 V$ ~0 @【End】* G: ~8 V* b3 R6 |: Q* c8 T4 i2 F
8 }; H% N& }% G7 T9 S. q7 w! s
热 文 推 荐
. W! Q& Z% E: A" N: R1 n+ C8 @! ~3 c# `5 h" n" q
9 P( L. [2 e+ [4 }
System.out.println("点个在看吧!");
1 P, U' T7 v4 _4 a2 o, c* z* J1 M! R; bconsole.log("点个在看吧!");
+ f' j c( p5 ]$ b, @& Oprint("点个在看吧!");
1 ^! b1 j8 x. S/ T% `* i# n7 _1 uprintf("点个在看吧!\n");8 b/ g, |( M( o4 i) F; Y* `2 _9 n( | i
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|