|
|
8 p4 v0 m; [' a, |
本文经授权转载自漫话编程(ID:mhcoding)
, ~: Q% u( }7 C3 q$ v$ S周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
6 Q0 e# a, T8 S" m# m! G 0 J! `5 A4 n- ]$ V: i
% V& _ L5 u( h6 G7 q8 @
 
/ }3 K! o! i& i+ r大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。" F* P9 Y+ t% c

$ Y3 n' L, D2 f4 K7 f * _: ?. d$ g, Z2 |9 k& x
8 S9 j# S" Q2 J4 L7 @: ~; U
2 m3 \" t0 e% W5 Q& ~
( X! W+ g9 O' o5 _, e8 F
网络带宽
5 d* C/ r d. N, i' R/ p& i* M带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
8 s+ P4 l3 S0 H6 _+ L7 S( U/ g数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
6 _. `! ]; a- H) {' b
0 K9 h3 D+ P% `7 ~) W; `我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。" X% x3 @8 J* n$ \/ f ^$ S7 P0 t5 `( Y
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。* n$ g N+ V' v% e7 U0 E5 q) n+ A
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
: E# g4 l" Y- ]7 f' u6 w$ s, y " i6 q% Q2 o/ f" K: p5 K
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。: Y/ u7 H" q# k) t* @$ j
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
+ A) y2 ?5 [0 |7 X* c8 V/ L影响网络中带宽和吞吐量的主要因素有:' y2 Z- ]' | a
/ `' y+ n. Y! k- B& G# `/ Y- 网络设备(交换机、路由器、集线器);
2 j" S) y" Y, d8 W5 F1 Y4 X - 拓扑结构(即网络构造形状,如星型、环状);
/ @# d+ v% U5 H( t) D - 数据类型;
- e+ e2 L0 `' m - 用户的数量;
* X y$ n9 P! O7 [0 ?4 B7 T, ^ - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙); N+ V/ w8 z5 i' W9 B& S
- 电力系统和自然灾害引起的故障率。( R6 c& k' N( `
) S) i7 R; Z e
3 F" y* v, D% ~$ w; Q
5 @( J3 I" s' b* z( _( N网络速度- P7 P2 e5 i- G, F7 e# D7 [
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。1 E! H. |$ \2 g- m
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。" E3 d2 o( j. O3 F7 R' l
& S3 X w' I6 o, ~" e- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
6 ?3 w) a- s( _% M2 ~& C& F9 r - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。2 m- |) B8 i8 l& l- u
中国电信宽带上下行速率对照关系如下:
5 Y! }; L7 u% Y/ F* v
: T& B2 O& Q0 e8 c W+ b200M的宽带,下行速率是204800kbps,上行速率是10240kbps。6 m/ `/ f4 ~ Q1 C3 d
: M' @8 N) H: H( l ^: [

8 x1 F5 ]) ^1 j" F速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。1 d. l# G6 `7 L# U5 N1 u* y) w0 y
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。2 f% h& W5 u- X; z
下载速度计算方法
5 m, d$ m% B& a2 f7 N下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
g3 f3 |/ }8 y( A2 I" ]例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。$ K# `+ O5 f! N; m0 g
上传速度的计算方法5 r1 n6 t& Z& k: v( J/ ]
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。' x- d, p9 k8 |6 C* W1 }
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
" ] H& Z" x* ^
) l; i1 n, R/ Q上行速率比下行速率低的原因2 a% m" x/ N* g4 v# S. f" L5 W# _
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。4 S; J: Q& p" k3 x2 r
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。% t: V. g, ?: K. u/ ^ ~
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!( W, b) l* S% D. x

8 ~& v. F8 b* o' T : U( k& I5 V r( Z' [
3 [7 `7 {8 l7 ~, ?. V( D

2 u+ t& r/ j' r3 C$ ?& A5 O8 c7 i0 \/ v8 Q! t/ j, A& x
网络延迟
4 L: ]' E) [; b2 b0 K4 B% C网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
6 W& B8 \* |: Q8 u网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
+ {3 w' w' u& ?. l6 H. G 7 B2 I* k, ^# a. g8 y
网络延迟一般分位以下几个级别:5 k% B, o9 x/ ~" M
0 n. F" q7 Z( m( Q9 R/ B4 E- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
# e, |; M8 G. P1 V4 H - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
9 G* x- _. k& X" P! R( Z) ~7 `% }: _ - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
) z6 ~( H! K3 S! U, j& ^ - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象, F) z5 p" a* q. \/ Z. R$ ?0 x( [
/ ^& J# T6 L' m/ N

6 G& O" X- a: ^- m4 a) L, ^' c4 R) s
网络带宽、网络速度和网络延迟之间的关系0 I/ y1 u& q5 H: x' a
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
# ?; W% q2 z- |9 b那么,是不是带宽越高,网速越快,延迟一定越低呢?
3 m/ T3 i! L# `. \其实不是的!* `1 A( H/ h6 B1 z4 u2 ?0 g& q
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。, T1 [! N% d. h( w O# |
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。; X+ f' u( x! v; T4 @" j
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
3 e$ ~! V0 P4 H2 a就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。( y9 B* `% K3 ^% L7 J- g
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。6 Q# {% _* \% c

: d+ M2 b/ A" {$ k- M& K+ u6 r 7 H) n1 x8 w0 M* }! x+ u

. w, _! l' F: ]
1 k6 @2 [& B* V1 [' \如何降低延迟
) T+ Z f! V: z. }: L! M \其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。! Z* [1 n& H/ }) i C- ?
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
1 e/ _; u" @" a! ~1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。1 i. P- i8 O9 ~6 Z/ ]8 _( T
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。9 }) C7 P* c3 x1 @+ L" w% D
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。5 P# [6 D5 o$ ^! _+ v/ o2 D
% R4 C! E# G7 J$ t. [. M0 z

( }, G+ g, T! q; t7 B6 T5 L 4 T2 R. K6 `! _3 P# I' q
' h8 k8 l. S' p& {, _. i* `
【End】, y7 y- I' A6 v$ w; g
) D$ z/ m/ Q* q" y 热 文 推 荐 $ l7 G0 t6 d8 H2 r8 ]/ R v
/ @2 T, W A: A( m- U, K3 S" t
3 l u2 a7 X! S5 F( QSystem.out.println("点个在看吧!");( P$ A2 A2 c- |6 I
console.log("点个在看吧!");- Q9 o# n8 k! y! D0 z
print("点个在看吧!");; M2 X2 o7 C& e" o% D5 ]
printf("点个在看吧!\n");: b5 s0 p) ?/ r$ |% Z$ {& @
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|