|
|

4 u* ^- y9 X) \ A1 K7 N3 }. w& w$ A {本文经授权转载自漫话编程(ID:mhcoding)1 p5 L) \3 r/ O! ~. k1 x/ K
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。5 b$ e% G% e* J3 {) n
( Z$ D- g L T: B1 _/ {5 q T
$ p" D7 q/ q3 L& Q8 h3 @5 b
 7 B" {* i$ @! v6 ~' p4 N! I5 O. [) o
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。' F7 F" l! b# P( z

! U @- s+ G" ?4 V: t+ A
7 t1 w% Z6 R+ u0 ?1 t + e9 \( n5 @* _& t, L

. \ |* { ~) Q) P5 A! x
2 R! R7 |* m% `, B; A网络带宽) C$ U, {. e( p8 t. _! w+ P
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。& c/ G3 i) p9 ~4 c
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。% b+ b) `9 {- p4 ^' L
" j K* [9 D, S9 r* \# i# E" G. p J
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。& \' v4 [- g* P
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
9 v8 G9 [3 H; D0 u! w! }( ]举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。- ?& o; O7 Q8 P8 c

2 `3 P( l4 P a0 D9 m3 e& S: t( u现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
. [9 ~/ i+ l, A# ?通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
; q8 @6 c2 T# o: Q- c5 j Y影响网络中带宽和吞吐量的主要因素有:
0 l' M2 f: G9 y* A% @3 z( _
0 V& b3 W! y2 ]9 D2 E- {- 网络设备(交换机、路由器、集线器);
4 ]! ?, C- r; j1 B7 y( X9 ^ - 拓扑结构(即网络构造形状,如星型、环状);. p/ a% {! f. s4 c( `/ ~1 M0 X) \
- 数据类型;/ F3 x+ b; q4 ]6 ]8 b
- 用户的数量;. p8 {# _# M) w2 i( |0 |
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);& }- ~) a! F3 Q e: ^
- 电力系统和自然灾害引起的故障率。
; l( L9 i9 ~% u

9 e. B7 Z% M6 ?7 @' W7 n
9 A& w2 e! ^6 V- Z0 n- r
+ J: Q5 u* g. R R4 P1 d/ _网络速度4 I; z# O: U' p* b% u: |+ x
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
5 I" f! A* h8 T. x3 Q可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。: _% x& ^- V2 o& S8 c Z
& k. Z( _9 B+ Q# o3 \0 `
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
" m8 y% P, e5 v3 I - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
2 Q- [& y2 p9 z' N5 j( [, ]* | p' B 中国电信宽带上下行速率对照关系如下:
# _! p; z0 K. w. |" `1 _/ C2 }$ a ' h9 V+ t: w+ [! M' D: _
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
$ z9 @; m8 p1 c+ p- [ * ]" E9 d5 U; |
/ u- i" c _( r& p
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。: H! t' A& g, r9 B& b2 h; ^$ O
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
; k9 O! H9 j" b8 h8 I下载速度计算方法, D! J' g3 }5 n6 I/ J
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。+ u' `! F& Z* w- Y: T1 m7 S3 \1 e+ n
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
8 [% j) G% t! V4 L上传速度的计算方法
# e; x+ w- z3 g9 t' d9 J% _上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
# t9 [3 y; ^* \4 J' d+ ^. ~例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。6 a2 s& x0 `. n4 O+ Z$ c
9 m( p! ^: Z2 P+ ~8 t/ W
上行速率比下行速率低的原因4 A# ~) X3 ~! C
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。& e( Y0 [$ c7 N8 Q
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。
* e/ F& E9 {( L- A; r9 q所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
2 N0 h! O: ~3 _" w6 F ( V$ K: t0 C8 ?* Z: f. Y* O- e2 p! N
. Y/ ~- O: P& W0 u
% j: R+ V* a9 @0 S" M+ d

3 O. ~5 `8 f* E) i& u& E+ \8 }' W/ E' r
网络延迟* y* b2 @# ^; N u
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。, \( L$ Z: g7 N+ F
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
/ u0 c; U4 E3 g( Y: P
+ x& J7 b- [- E# P9 p网络延迟一般分位以下几个级别:
3 N; V9 T) ?6 w2 t l, V
+ L! [6 C" f0 J7 w- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅5 P9 v% j' i* I3 c! P
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况( H' a; ^' n, L# S7 g
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿9 m2 S9 _) h. c2 G8 t1 M8 x" }
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
! ~4 ?$ q$ o9 u) R$ }
$ W- J9 [# I: L7 J

/ C) a6 V3 v0 Y! u9 Z( i; j) x- j1 g5 d& t6 D- r' D* S! p' y9 ~
网络带宽、网络速度和网络延迟之间的关系: t# `; U) }7 k0 n+ d9 |5 L
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。+ B5 b }. t" h3 b
那么,是不是带宽越高,网速越快,延迟一定越低呢?$ X: {7 j6 g; e- W0 E, Z+ ]
其实不是的!
* d" Z) m- N. ~5 F就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
9 J/ z0 ]. ]2 X影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。2 V8 A i3 T- q: b- d
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
r6 A6 u8 W! s$ K4 Z7 a* a就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
* V& I$ ?' w* g2 q' j0 v' a更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
( P8 f5 T; ?$ z0 O ) ` _- k! w4 W5 U3 ]; J$ e
3 C. v5 |: A X( s% X! e; G

4 n8 l8 ^% ?% c) m9 C8 v6 W
* F! h7 {/ U( s7 U& E% h/ b n! n如何降低延迟
) e2 y* B* p' s, S! G w1 P其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
2 K7 u$ e3 c! n那么,如果自己玩游戏确实延迟很高,该如何解决呢?# O5 m3 i- y R9 } t- D: r; f
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。) O% I. |5 A( H% D0 {9 P
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。* d* C$ ^3 v" d
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。, I( Q; P) }$ e' g8 }
. U7 F& d s3 Y5 f' @5 h2 Q
l" F2 r3 ~* d ]* L7 T
6 S% g6 a$ {& A- w5 k6 i9 l# M
: R7 i( p# C# H7 N
【End】, d( O8 U t, Y: a) X/ Z, X( y
( n# y& V) N( } 热 文 推 荐 : [' X* r+ `$ v+ w3 ?5 ~. `1 ^$ D8 B8 r
2 ^6 ~$ }/ q! h
' C8 ?# O) w$ J3 d5 {+ H, ~System.out.println("点个在看吧!");
6 Z: Q& c6 O. T# oconsole.log("点个在看吧!");1 A/ ~) ^$ Z0 w$ m3 t j# e
print("点个在看吧!");+ z1 p; A2 ?. {& l" @7 o: M
printf("点个在看吧!\n");
1 L. s- i2 ]! }cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|