|
|
3 e! C- I9 Y) f: a; U1 l
本文经授权转载自漫话编程(ID:mhcoding)) y+ I$ `+ h3 {! l; z' Q8 T2 r
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
! p9 W! m I7 C+ }/ o! ^# ^0 I
/ R- U0 o h; I2 v/ w 5 {' x0 I1 p1 e5 {/ D
 : U! b+ S2 U+ }$ f% y. {7 f* Y
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
8 F. H2 p% H3 f- h0 }# {( [) U
* ]9 b) H: Z' D4 l) u, g' q 6 W' @5 M3 r/ q5 [; k! i
5 U0 Z0 Y/ I% N. n
, ?4 i. p3 j+ w c" M& b7 M
X, w& H- |: P
网络带宽% }- \$ v) G- ]. G& r6 Z
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。 X+ i0 p% A5 ]0 }4 D: k8 h
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。1 Y0 D6 t3 Y* N4 g
: ~1 |& T# w) T |( u7 ]
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
+ h9 ?; J( X9 ?更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。+ v+ [- n7 l* d3 r, Z3 n$ K, W
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
) I: r2 b' n% W: i0 f, e
+ T, K( G8 E1 F9 ?现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
3 N+ E2 N8 O" t通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
5 k$ o* o. R- I5 p影响网络中带宽和吞吐量的主要因素有:
?; g+ N/ S& ~/ v3 Y3 L! b7 ]: R/ M! d' ?' [9 Z* \
- 网络设备(交换机、路由器、集线器);
( x9 \: P1 k$ z: ] - 拓扑结构(即网络构造形状,如星型、环状);2 s% J+ z4 ^" H
- 数据类型;' \7 _2 P7 m7 ~2 R( a8 p
- 用户的数量;
) y& @* M& S! z0 M - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
0 `- l* _6 B; p* A" i. e - 电力系统和自然灾害引起的故障率。 W6 d$ e1 l9 X4 N. R' @9 K. Y

3 W2 M8 `8 I5 c# b' R. m! Q 6 b$ G* t! |0 c' D
+ W# O$ i" O2 u# {
网络速度, s0 a9 _ o9 J: r% C% n$ O' t7 }; w
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
7 C/ C& m i' W6 \& m" A( @可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
. ~+ D" L! C* L3 ~& w$ G- g4 l6 g& U. F& i/ Z
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
" C9 t/ `! e' y5 W6 @ - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。# a- T0 I* b# }( w
中国电信宽带上下行速率对照关系如下:' F( v) I! V2 H, b: N- q/ }, t

! z4 K: C& O$ P; f- X" S6 n200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
! m' M8 M" R4 V8 {6 Z - |# s" e+ T. v/ r7 U

K2 H2 k/ K w# j速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。: t6 b( `1 U, b o; J
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。) k ~# m1 y8 w ^
下载速度计算方法
0 l$ {' i: i8 k, W% S% E下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
7 M' y% ^' g, T; A例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
* q6 s& @/ s9 J( ]( i) r上传速度的计算方法
7 Y G+ H3 j; {# G上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
" L' V! Y# C0 P( V# a例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
3 f# u3 P( ^" }( z* f
' }* M* _' {( P& D* u: [上行速率比下行速率低的原因
~$ m# R- l e6 r通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。" y5 b k- i0 E1 A/ I
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。; D2 W) u; @& y4 F3 s" v7 s
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!7 ~* d6 k6 n" \; ?- V3 a8 J) i7 ]
|: [. I! l! \' V
, B7 \3 X5 P. r( {/ P% t

1 Y3 F7 f& x7 [- I6 M/ x; o
/ t0 L3 w5 q& U* y& |; d# {, V( f; n3 q Q9 X
网络延迟
( P- z J9 `8 E- C/ D% d0 ?网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
* A7 M* A0 `8 r) H8 F网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。/ S: L0 k7 w5 K# j4 E# |

5 q6 f% F0 u' {% {! Q" \) ^ A网络延迟一般分位以下几个级别:
( v+ W: p: l( K$ S9 |8 ?5 R5 b. C/ g
) d( I& ]. F) A# S v) y Y: C- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅. t; _! T/ y* ~$ K" M( U: O" T
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况" S5 P9 T' ^& a
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
9 G8 ?2 H4 a4 r i - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
+ r$ `( x' r/ t, X( r$ L

9 g- f& |- m4 }" ?/ S4 x9 n , q; B+ ]: S1 \
$ @; m$ ?2 S6 j5 c, O7 h
网络带宽、网络速度和网络延迟之间的关系
3 |- x( I- A1 N. g前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
; K! a6 ^: Q8 D8 |那么,是不是带宽越高,网速越快,延迟一定越低呢?7 i9 t4 b- g6 L; p- O
其实不是的!7 h/ u; C: E1 P; m* k. v4 z! j( W
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。# |2 s& ^$ t* m( O5 \
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
& ?* b9 j y3 e0 c& s6 V5 J比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。3 u6 ^; E9 }- |1 x- ]
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
2 V; `0 L1 D" p更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。+ O* j# s, y) B) }

/ e9 B( Y( w6 h% L
5 ^+ n! @0 @, o1 L
1 W8 X8 X) [! Y% _, k4 S3 Y+ N" c! g" X' K5 L1 z1 c( ^
如何降低延迟
, a- X) P' a L x; i& x. i l: v7 @4 ?其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。: |& S' b- {3 @6 p% \8 V/ ^( ~1 z
那么,如果自己玩游戏确实延迟很高,该如何解决呢?+ c( |/ A) e2 N
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
7 {' M( y$ Z& S5 \2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。" q+ N! a# I/ Z2 H2 j }3 ~
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。* r, }2 L. [$ _( ]2 i6 K
2 F5 [4 V0 S: I5 l; F

$ C0 i/ K+ C% ]8 d# Y0 M. _# j9 P
7 C. v5 b* w# M- g2 d& p; |- x 6 N' w6 R% \* F2 H, a8 d A
【End】" k5 R8 s! T n
/ |- W2 y' W; f& P6 S: R
热 文 推 荐 2 J. B8 @7 }+ }+ u& H
! l0 N) n) w# H. z" D1 z" t9 j4 O" \% R
) t& N0 j; }9 X! C) O; H
System.out.println("点个在看吧!");# z. ]& G4 d) \$ H3 B3 N! T9 x: G
console.log("点个在看吧!");
7 B5 q4 a( |# Z% b( aprint("点个在看吧!");
. U/ I4 K, W" H% V5 lprintf("点个在看吧!\n");
' c0 W5 w( _- G- r; ^7 Hcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|