|
|
4 \! B8 G9 X: k" A# `! Q
本文经授权转载自漫话编程(ID:mhcoding)
/ O2 d- v9 a) q+ `5 }周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
# m2 M% T( f1 f) l( v2 G: p 3 y+ Z- s2 h2 `. K% q: W( z" a% z

2 B' ?" G6 B; ~. y3 h# r2 A ) M3 p/ D$ w7 G
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
, R" a( E6 N3 _2 {& @ [ ' _$ [; w5 v4 h% u7 k" n0 H6 P

, ^& f- v4 T. F( o I
: s! G6 J, j* m4 a$ E6 n
2 _; }9 B5 A& f3 H5 J% q6 B. }
- Z- J) V# c, l6 X4 N6 V4 h5 t网络带宽. Z1 X7 E* W) Z
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。0 q2 p+ y: h0 ?- L& |2 H5 |" J9 L
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
4 O- ]5 T8 D1 Y( |' v$ v. b* ? - c9 T, ^& f4 \+ Y; {
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
( X! g9 {2 l7 W4 w; @$ V更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
1 x$ S% o% @1 b* p' x3 h举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。1 o3 X+ B8 e: M; h V, K

0 @) G8 X ?8 w$ A `' P现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。9 y; K( Z( b: m+ h+ @; B* w
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。. W! c. I( ?3 X$ Z- }
影响网络中带宽和吞吐量的主要因素有:6 b; P n1 v: f( Q% {
5 h# q% n2 |3 ^+ G6 @2 h- 网络设备(交换机、路由器、集线器);; h7 U" y" Z/ Z2 w
- 拓扑结构(即网络构造形状,如星型、环状);
& n/ m( X% r# R0 v6 m3 a( r6 o- ]- ~" A - 数据类型;
3 a1 d, Q3 m7 s! X9 I! C. J; I0 n$ R - 用户的数量;
; Q' ^; x9 M; }$ w, ~; f - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
; l& Y" W0 v7 n, `7 y - 电力系统和自然灾害引起的故障率。
' ?. P. ~% t# |0 p) n' O; t

# O% C! v" f. F$ [2 b% u$ H$ v4 q - \0 M# f5 ^) @& J
2 R- [' }) P, g9 s4 q2 n
网络速度
+ f/ k, ]! a2 i9 d: l$ Y1 ?$ X2 @网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。) c! u# {8 H2 ^. y
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
+ O( G8 T, Y5 Y. U* W* x6 v( D1 l5 |# R
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
( t) r2 u, O( \( f# B1 e; M4 F, c) d - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
5 K2 _, v1 s w$ E. v: o( h8 m 中国电信宽带上下行速率对照关系如下:/ F. @) Y9 u0 q( z, V) Y' w {4 Y

, K2 `9 Q2 Y5 k( f+ n200M的宽带,下行速率是204800kbps,上行速率是10240kbps。 A; J7 v( P. z" H" S

# v! ] Y F2 ~ - Z+ R- ?) _; B, c; ]1 u1 L) T
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。# e9 J' H U6 A4 r" P9 b* E
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
$ O4 {- d6 ]8 e+ q4 t: s下载速度计算方法: z/ Y0 @5 R1 E; ]" g* M( U
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。, ]5 o& m: ^+ ~' d
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
8 M/ \0 B# q* v M上传速度的计算方法
3 ^3 y9 i( B& {; e4 E% A1 ]上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
- |9 n5 [( ?# z/ z4 z例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。: m3 s9 Q4 j A9 A6 b+ d
4 ^4 G" h' s. `) |' P) k
上行速率比下行速率低的原因
( v r! j, @) P( L. P通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。5 U0 ~9 s/ q& s! X
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。+ b: m2 [5 E( {/ u; O+ ~
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
+ V6 R3 D6 a) b, i8 y+ Q H; L
. J( |5 T+ Z# s+ e5 M5 k3 w6 E
1 T# S F- j1 o9 C; m; \
4 D# U6 p: O, O; C8 S
7 K0 I! U; e8 `6 R, B! C1 }- C. ?7 r+ {/ Z( n2 w
网络延迟
. J3 \3 Q. ~* W网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
+ B. I* M- i$ m4 d& u/ A网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
5 t% E: x1 n U" \/ v! Y, n4 s : j8 T# {9 N' E5 s& N
网络延迟一般分位以下几个级别:
4 f. \: X% o$ r/ T% C5 @( }
, G2 b# ]$ n" K% A- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅0 ]" k6 J' b: f2 W& m
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况: v g+ H# A) j x8 r7 X
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
) Z/ O8 d6 N$ ?; }% H) `6 U& M0 P - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象- ]# R" W! F8 m) X& \, U4 s: j

: c' K1 h, G' B o1 P; \ 6 b$ z* o" L3 ?5 {% M+ E5 ^1 V
1 l' ^" |+ u5 `1 t
网络带宽、网络速度和网络延迟之间的关系
% x# D5 `% e, g3 Q6 j前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。: p( a8 M( ]. r& p4 d1 J& A0 K
那么,是不是带宽越高,网速越快,延迟一定越低呢?, |* P0 a6 m( t0 S* j- G
其实不是的!
4 |( y. Y+ M5 {8 T就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
- ?4 X6 B& a; P( ~& J: W" ^+ n影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
& v$ |/ m% R! G: r5 i* L; \比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
@% L" U: D* p0 B就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
9 S/ |/ S: Y% I3 s R3 l更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
/ G7 z: f: ]1 b. `2 f( s4 V
8 ]5 ^7 m% G0 a& v7 u0 ]
+ p3 H' N \# K) y0 u ' s0 h( u' n3 m2 U/ p: R
$ g1 q# @" N8 \
如何降低延迟4 B4 s: C# F- V3 Z
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
3 g5 u# X2 ~1 h那么,如果自己玩游戏确实延迟很高,该如何解决呢?
6 A6 E9 d2 T1 n9 C1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。; B; o0 E# J* N9 g# n
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。& {" N* o/ q- n# y
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
3 [9 q$ v! n7 q) h
; M5 V' ]% x" R8 H 1 o8 |' X$ k1 c* v; }. z$ m

& Q L; G# E& v# \+ a6 O) J |; N f
2 M* K" O [/ c/ `. j7 y/ O2 B【End】- s) C7 z7 a. [7 X8 Z4 q! `6 q( d
1 W3 T: i1 z) _8 t 热 文 推 荐 4 \* y/ ?+ k: l" ?
, y9 B4 S! O( y' O8 @- U/ O3 Q( R
System.out.println("点个在看吧!");
$ Q4 C/ F4 ~- i( Mconsole.log("点个在看吧!");8 B7 t r4 g( j- _
print("点个在看吧!");
8 x, f% s4 R* m, g& Fprintf("点个在看吧!\n");
$ O" _; L4 J1 d9 V0 ecout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|