|
|

i% ~/ z4 U$ h9 n+ T本文经授权转载自漫话编程(ID:mhcoding), {$ ~2 u$ X" O% I' u' y
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
0 m- ?" h4 \5 w3 f/ e' j* W G0 [9 Q# Z1 w) T' e
8 X P. t7 B+ l" p
 + e3 J" f7 m) w9 I5 B4 ~
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。: p0 x1 P) ]/ R" \) K/ K
$ h; k/ |. `0 l" f

4 x$ X6 p) K" q U0 x
2 A w) u+ F( Y3 @
3 y$ D$ E" c' F2 I+ ~% `+ o6 m U$ l+ L% ^* ^% d2 I2 P
网络带宽9 K3 a4 h% v# k
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。9 P% o; V, g2 z. y2 q2 c H
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。" k' P$ S0 j# Z# y; J' j
: S4 Z. q* ]' _. p
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。3 O5 m3 C, P5 ]0 y2 u3 c- A, m
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
9 E+ D* I7 Z. T3 D; w举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
2 x$ G6 @8 u6 o1 y. z 9 Q3 W6 W7 d3 p9 |
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。; N3 q8 V1 @9 q3 a4 b! R
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
8 c' g# W6 p; u影响网络中带宽和吞吐量的主要因素有:. H4 A8 u) E1 N* K# k
9 U# b1 r2 O' l% R: C/ B; p$ i v- 网络设备(交换机、路由器、集线器);/ O4 z n7 l; ^% A+ L4 |4 k6 D7 z& u1 u, v
- 拓扑结构(即网络构造形状,如星型、环状);
* q6 G7 |9 B% ^2 \ - 数据类型;+ J) B2 O4 y! ?, A& Q* J0 O1 Z/ ~
- 用户的数量;# V9 w* W/ O, q: v9 V5 o+ e
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
; ]" g y1 n0 p( N: L4 [% _ - 电力系统和自然灾害引起的故障率。
; h5 p8 z7 T: |, m' C; @9 c

- D' g8 p. p3 _ ! r* ~8 u3 ~" `" [8 @
: s) H2 V" J& J' p2 h4 m/ Q: {网络速度! E! s' K; D* Z8 v/ G
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。4 H7 s9 _& Z8 P; E8 Z5 D
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。8 w3 n9 `% Y/ P' a( a0 R0 Q
: A8 M. ]" R! x M- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。3 l, Y1 F5 z- y& I& H3 O. e
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
+ d; ]/ j6 `6 Y 中国电信宽带上下行速率对照关系如下:
* O$ J0 y2 x5 ~+ s* z6 I. ^2 o
4 E% ~% G! c2 A200M的宽带,下行速率是204800kbps,上行速率是10240kbps。0 O7 ?- ]! a4 m/ m

+ }8 `2 Q6 i, ]; Y6 W7 r - c8 g% {0 @ v$ I4 m1 E
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
) _5 V, V" ?$ u7 G5 l- j0 a而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
. W; {+ T* U4 _! Y u- i/ v下载速度计算方法
. T9 E: H1 k$ R6 ^8 n下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。6 N k/ ^! H* S' P- W* o& G( c! x
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。% K$ c" v2 K \. j: l0 X7 H3 i
上传速度的计算方法- o& b) T, R" j2 N" {9 `( S
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。1 H% }4 [! S4 P
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。' P* S9 A& \* h4 J( U

" N1 ]- V' x- u* V% x7 {上行速率比下行速率低的原因; ]+ P; X4 m; X( p6 u4 `
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
* R9 v5 |% q# R$ u所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。! o# S+ x8 o4 Y( M- p! M
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!0 L2 C* h' f$ {* Y8 } _5 }
6 n3 l/ f. u9 b" ]
/ B( o1 c# K U7 A( L4 y
1 Q. R; Z7 O# }* A9 p7 h
0 Q* X9 b! u9 o
* T( M. l1 G5 x% e2 t网络延迟
1 y- v) @8 ~1 b网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
5 b1 O( [* K3 G2 K" A- J网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。/ P+ Q! t# e( o! G; ~

& }1 ~* v& d9 d' L网络延迟一般分位以下几个级别:7 f" ^9 `8 M! B6 y, C
) J3 m/ D0 W d, Q# a
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅# ^! ], q' ?8 Z$ V
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况
& E/ \5 }- f3 U# V/ i- y - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
5 n2 Z$ k- C# b - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
$ M: a: H& c" y! h 
4 t' B- b4 {# P+ g 2 m# W3 @ n) j0 y$ O% a
# {6 S3 N& h5 ~& w( u4 k网络带宽、网络速度和网络延迟之间的关系
6 ?& P) r& }/ |) q K( J s1 f1 g前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。9 x& }2 {. m. m' c3 X0 @
那么,是不是带宽越高,网速越快,延迟一定越低呢?
3 g: }# ?8 B }. a# N3 \其实不是的!8 T# V- L+ w& R( F
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
( |% r' S6 Z4 Z( _' W/ `# p1 y影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。- O& B* `+ z+ @ b6 R7 I/ ~. a
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
' L4 K: Q, }0 Y6 ]/ P* b0 Y; ~% \! N; H就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
, H8 ~# r V- g: l更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。4 T4 h3 k7 W9 D, G" F6 E" E/ ?

7 C! i: l5 ?, L8 f/ o ) L: d6 T3 q* E6 ~0 }
# h% ^; L9 s$ F$ G* B J8 @
7 t2 D$ S* V) I9 l* |% k如何降低延迟2 |6 L8 L4 W$ G; c q
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。) A% @7 x) @, z) e; _2 @& U
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
R `+ n3 o! Z" U/ h8 R4 b, a1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。8 m" l6 d! {2 k1 `
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
' ~" e1 ^, W! q p9 V3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
* k/ l) A* ?& }5 l+ L + c5 m0 m, h' U% V, r

7 H6 ]8 p- Q! o- l
! Q1 p5 K' g( l7 t6 Z ]1 x
, k, _, k& |7 p! b【End】
- E% p0 o9 r% a4 G% l
' D" S* q$ S6 s$ k1 s 热 文 推 荐 , J$ ?, K7 }- O4 c. e: o
2 b3 S, C- D8 k7 u3 p5 F$ F- M
+ i* Q7 p/ W+ f7 q
System.out.println("点个在看吧!");+ [1 M+ j5 l, c- Z9 l
console.log("点个在看吧!");
9 O: ~& u$ c" h5 t: Q9 u' j$ Vprint("点个在看吧!");
4 ^6 U. D6 ?4 M+ H4 Pprintf("点个在看吧!\n");8 h: i) u( R" o/ R+ a5 c+ [
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|