|
|
$ h' Q# T! ~1 A- V" b+ \5 y2 a; |% f4 }
本文经授权转载自漫话编程(ID:mhcoding)
( ^+ e5 w. ?7 |0 J, k/ W% c# s周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。6 s2 S5 {' I0 T3 T
/ [ C `& P; r4 w( ~
. D: v# @5 P0 F2 b9 \
 ; p) Q* `4 u2 c8 i$ e4 V
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
0 @) g5 g" d0 D2 o; } + w0 x3 g% i% @* k" [4 [& r

4 e: X& S" I# r! }$ K 2 m7 g; R/ ?1 H
/ m: N# f0 V( q/ b1 U
" E( Y! t9 E# F3 m! q) T网络带宽
" W' [. O& i. V% B% J0 w& R带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
, |% _) o6 p. e4 c9 p( t( J' _数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
2 j; N0 k" [6 ]" S7 i , k B2 p: p1 h0 P7 j x/ I8 K3 D
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
$ T9 w0 o$ D3 ~/ e% w+ z# y$ [) w更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。# W$ J2 r) i/ r0 {* }, S
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。0 G e4 i4 K: u; e5 y$ y

! A) Y( t9 C% s现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
^1 j! J3 H3 ]* |! U6 u通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。' O6 m* c- r6 Y% S4 h
影响网络中带宽和吞吐量的主要因素有:8 O; M( ^1 ]8 i. v# l. w7 }. J$ e
* c% Y( r! M, D! s
- 网络设备(交换机、路由器、集线器);
7 j. _6 p. ~- W- F% P) c( J7 L! E - 拓扑结构(即网络构造形状,如星型、环状);/ g- t) O: I- x$ A, u
- 数据类型;
% x9 I8 x9 j/ s7 x) ~2 j" F - 用户的数量;0 c# U$ y/ q# H7 M' c2 D6 J
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);$ f9 ~8 [) L' `2 e
- 电力系统和自然灾害引起的故障率。
9 N1 F. Z& R2 q. R% W5 f" \) f* _ 
% Y5 V+ {0 m; j9 C9 \% C& ?$ i ! ?+ @, M" ~" e
$ i: `, p1 m' {7 N# d
网络速度
. o2 q0 y+ c7 K b. N2 R$ m1 k- e2 L网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
, S# C: k# H. M: k' K可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
/ i# \4 D' _" S7 a, ] |
9 o5 U* q5 A3 P' a- @ |1 N- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
3 c, |$ e' d7 H! i3 O - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。0 O1 p4 D: t! o4 E
中国电信宽带上下行速率对照关系如下:
+ F) \6 e1 P! e
5 p& `2 ? E2 P/ r& r) w200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
0 W' E7 y: O9 o
6 j8 q" b4 E# j. l$ Z1 [. m
1 R$ S) O: S5 Y8 }' L速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。# [# |, m1 T$ Q3 o4 \4 @' ?
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
/ C/ T4 `9 h0 ~3 w下载速度计算方法
8 n( E. H6 y3 @下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
5 u# _$ [7 I/ i例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
. h3 W2 ^8 g0 T8 R, A8 c. \ I ^上传速度的计算方法; e8 j- U5 a* ]! }% t0 v
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
5 `. |/ Z1 [( I. i9 q: a& z例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
! B- b& i; z1 C% e
- X+ A+ `; m; ^* i* G9 j& g2 X! S上行速率比下行速率低的原因
7 Z/ R% q# ?6 j0 P7 e% C3 Q通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
% C. l' M: A1 \0 F/ A所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。4 G8 S; J: e' g8 s3 H1 }
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!: u4 F8 }1 L8 w# c7 Z& Z8 m6 T
3 ]7 D% x! S% S, m, k5 _: @9 m D
' c. r& g% K1 H% x8 [* X

: h7 g: z4 b3 q" t; T$ i4 _
8 e# H( @% k3 h7 D" X) T0 u! x
2 G# J. j. ~5 F! ?! S3 v7 R: K6 s3 f网络延迟
* t R* p( p# x* b网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。# h I, A3 y# y. ^, T) }
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。, v, C5 F1 P& T4 E' s! M& \, G

! A c) z: p1 h" ] n7 g4 t- W网络延迟一般分位以下几个级别:, ?' z, R |1 A( `3 W0 r
" O$ j/ w$ S8 E- j- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
2 ]" A$ d+ w" R - 31~50ms:良好,可以正常游戏,没有明显的延迟情况, m8 I: x, v2 e7 E
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿. D) n1 |/ T( e( X' H. l! l
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
6 y, z0 G, e+ V1 ?
0 _9 f1 v4 [( r+ y6 y2 e
* {/ f& o1 i" T$ A7 y$ ]: s
% V2 s6 I7 N/ |& X* w+ W l& W网络带宽、网络速度和网络延迟之间的关系8 w) u8 m' `3 L. Q
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。1 V+ F5 e' H/ w$ ], F, Y
那么,是不是带宽越高,网速越快,延迟一定越低呢?
3 K" e! y o. r5 \0 T: H( g# e* U其实不是的!0 ?& l+ ?& V% t( A( x7 K! |2 ~
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
, h# c6 ?2 \& d1 I影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。* Q3 g8 @4 A" Q6 C5 R
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
+ J! Z5 x! q! {/ o就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
$ z. s: B) T$ H更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。+ K8 b5 e8 D" G/ V6 {
+ j }0 V) \2 B9 h$ S2 Y: |$ n8 k

; Y( Q) b* v( W- {
# t7 G' ^- G3 d M: [1 ?0 x
0 ?# Q3 A, T! R& x8 R如何降低延迟
+ f* x+ ?: l0 D5 I1 _2 b* U其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
( R7 Q" F2 r& a9 D0 Z& Z那么,如果自己玩游戏确实延迟很高,该如何解决呢?
8 Q4 P1 v4 l7 k0 H; r- Y; W. s1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
. _( f* p7 R3 F9 z6 e& i2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
& s. D4 C n: K3 u3 c3 _ N3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。) Y7 a0 p5 `7 w/ Q/ J

( T8 \& h! v1 O, ] * {0 s v5 E: W, B' w. S
, V9 U, F7 p' _5 y6 R2 A5 C( m8 ?

5 T' H+ a" Z/ |7 @( t9 ?【End】( d& e! v2 O1 l, [1 ~" r t
. y, q+ ~# T1 D' {) P# Q( ` 热 文 推 荐 2 h+ ]) W; q+ M
/ k% }3 J3 J e. {7 M; S4 z
5 N0 q+ M' c$ SSystem.out.println("点个在看吧!");
( `; W6 ~; C$ c0 gconsole.log("点个在看吧!");4 w& `% F/ u8 Y) S9 v; v8 g
print("点个在看吧!");. Q- \& a( X5 j% B {* j; g
printf("点个在看吧!\n");
3 T; F3 Z% T: l8 L& T+ F' R2 ~cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|