|

& f. B% o) i, z1 z本文经授权转载自漫话编程(ID:mhcoding)
1 j. a* `7 e8 f, G. B' ^周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
- h, r6 E: Z. x! |/ I+ P& u
+ K4 Q2 F R3 t1 W: b8 M9 B0 O 9 E, g% [! L+ _
 
. ?& F! S" r/ z: V, {大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
# d6 _6 t. b O! a/ |$ }" j 5 A B$ g, I4 M/ k6 S

' ^- Q5 b0 ?7 N0 @' d( _
1 S. a: q# T$ X# H; z' w
8 r0 D ?! _ Q: T; e- D4 c- b+ R" M& w+ J( S# {4 Z) O
网络带宽
5 [. L$ i8 i$ U' u% z带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
( o5 C2 C0 a% v j1 G) P- W ]数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。. f* a. j2 a+ s+ R/ m

- j" R0 o6 L+ W2 B) r* ?! ]5 T# A# K: Z我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
, ]1 K8 U+ ]" r$ W! {9 f更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。/ Q) t" x# b+ X9 d4 @- F
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
) |& i" X& \( Z8 S g9 |" z8 p
8 b8 ^8 _5 z# S- q: G& E现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。2 d( y8 x) D- {, i3 x) k
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。9 S4 c$ N# `! p( G3 z) P6 Z) p2 O
影响网络中带宽和吞吐量的主要因素有:
6 s0 ?2 B: U: R$ a7 y; i$ X5 k# w* V/ D7 } J, c; F8 d
- 网络设备(交换机、路由器、集线器);
/ r9 D+ }5 t0 g - 拓扑结构(即网络构造形状,如星型、环状);. p3 k4 k5 h x9 J
- 数据类型;
' S0 w9 M; ]5 w; Z - 用户的数量;+ h1 P7 o& Y7 O" J
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);8 p7 o" ^% c9 a* w& D
- 电力系统和自然灾害引起的故障率。
- e# }! m3 D9 ]' F; X9 t2 u 
) G* D$ V" l( F8 | " F. t" c( Q6 \; [4 ~
1 g2 D1 U: w' [1 c# i3 f2 N i
网络速度1 V: G+ M! j7 e. j$ `7 }
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
2 N0 m- c* j. E2 [* b可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
N+ C+ Z8 B J# B+ S; c6 a: N' t1 o2 E% }/ ?+ N! m. C
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
0 c2 V; v# E, b$ z3 G7 ~ - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。' m; D! g7 P2 v* U" W8 m2 \* D
中国电信宽带上下行速率对照关系如下:! R n- D% Y+ O0 l3 K2 a$ I
% T7 O- N$ b7 B8 ]
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
8 O# _" G( u; H0 ]. ~
" O- Z& d/ ~0 v! t
4 L# h( `1 ~# a6 N/ O( j3 S1 D0 `速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
( U* @0 V' V# }, }' G而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。8 f3 U/ x* K1 D8 J2 k
下载速度计算方法- ~7 b2 [ ?) s/ ] b
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。% i& O* Q# @" ?( ?
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
% f0 y6 r) e' z5 m上传速度的计算方法
" ^, E: ~- g; ^4 |: l$ T1 ^1 f* X; Q上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
8 u v& N X5 O8 e* Z" Z例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
1 |: Q* m4 M s / h- F; M. D; f
上行速率比下行速率低的原因& r* b5 _2 q7 F" [5 i* B& x
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。 x7 j8 j, }/ h$ V* f% o% O
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。
! I6 h; ]8 z: K5 l# Y& E所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!6 p0 U" p1 u2 k0 k

4 _* K' D u7 t& g8 T& S& {' y7 V c
1 n) n/ }: E$ d - ]; O3 i4 s' ]1 B( Y( _$ W; M

' x- ~) s9 q* \ M' D% x8 O: n
4 ~' b4 o0 t$ |1 R; B网络延迟
8 e. `" }5 h ^* L' Q1 z% [& ^网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。$ q; R8 \2 @% n9 {. Q
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。7 I! l& K- V* ~8 G6 M5 I- Q |

0 I7 s. L) t2 @0 f( `, f网络延迟一般分位以下几个级别:
' j$ y, b& q0 }
3 J7 a0 v& [7 `; s0 t; C N- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅7 e- Y7 Q& A& u: `
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况
$ O4 B1 ^. B3 W4 A - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿2 q, X' G+ E6 M: O3 k( |+ Y7 n
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象- S. K1 `- r9 ~0 _$ d$ [

7 U# g' |# M& e: B+ h) K. n
7 s( e& @* N2 W0 f. Y% R" N/ ~+ B" N0 x" }8 D, p4 O7 L* s. l
网络带宽、网络速度和网络延迟之间的关系
$ w1 ]+ v3 T6 k1 ]前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
7 j8 D/ o* {, X那么,是不是带宽越高,网速越快,延迟一定越低呢?8 A1 r) r# M, S; p0 _
其实不是的!
0 k' J5 n% T, v5 |4 E# e$ V5 g/ a就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
) i' z% P* ], K" j. t7 K4 }6 F影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。- @7 m) b# j8 c3 |5 P9 x
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
6 g L6 D* l. q就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
, @; t. z5 t, F: P `$ O更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。9 x5 j2 f. `* J' i% a+ _& `

( r {% m- z. C! w) x, [# a+ V 3 d# o$ l# W( K+ H1 j8 [% c$ d

& c/ I8 l5 v* y3 a3 X/ z
4 N5 Y+ q5 ~+ R h0 Q' [( x" w5 t如何降低延迟! b% A1 r2 ?% x7 ]6 F+ e0 b) ]. P/ O
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
# `2 D+ x+ P5 M. Q' u那么,如果自己玩游戏确实延迟很高,该如何解决呢?* _. s- j1 m! ~ f9 l* p
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。/ H& ^* ~0 a# n6 a
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。8 H R' c v3 N9 f% e) p7 Y
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。! V/ n$ M" J* W

T7 r1 Y( b! v5 w" o f! I# I! w# [, @( [% |

+ ]) d/ N% O; F$ H* H
+ O* G1 X+ p7 S5 T9 A' T( |8 {# d【End】0 w# s; [7 @& I6 e' v0 ?# o5 l
* w2 U! n2 s1 u
热 文 推 荐 - S, W2 J% |6 h4 X* ?4 n, H
O1 m4 a$ ~: e2 z
5 T. D5 |3 O# n9 E, S. LSystem.out.println("点个在看吧!");# i! g# Q% a: l3 }8 P0 O: X
console.log("点个在看吧!");7 I! ~ k4 Q5 t0 C5 M0 Y; r
print("点个在看吧!");; l6 {4 o. y; o* m: W4 T
printf("点个在看吧!\n");9 f1 N/ O% I: \& a9 c1 p! k e
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|