|
|
I' \& Y% E5 |* ` G5 U- J
本文经授权转载自漫话编程(ID:mhcoding)
, E P8 E2 X: m周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
[3 ?3 @: L5 A/ e5 o% e! C* v $ U7 e z3 Q# C2 z @/ B! [1 E* ?7 X6 x

) }5 L8 F! }1 C6 m4 M 
! M% N+ g8 k, P8 y( M5 e) l大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
" x( R7 n- h. P7 d6 ?) y2 ?& c2 ^) p ! `) w" I( G! W) `

4 K& `1 c( ]3 q- O" @2 l; ^+ Y, l
' Q' w, n$ J* Q8 `0 w; _& Q' J' A - s& t; \7 l7 a# T- ]7 Y
* c9 Q2 R6 t& z
网络带宽
9 Y/ N1 A" v( w5 R带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
: p) @7 V/ h; R; d数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。. h: K7 P. l& u3 P/ K T
I4 G& ]9 M. n
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
8 @' C2 C- d' q/ l4 q更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。3 O( Q( Y* h; t& ]9 I$ Y2 N; Z% B1 S
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。! U$ e4 L% i0 ~

' t; N3 [2 t& O/ E: I4 C' d现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。# `$ }" i2 V( D8 _& l4 k: o
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
/ x9 z* V. f2 {1 d. e/ @. ~* P7 f影响网络中带宽和吞吐量的主要因素有:
4 ~, d3 F/ ]$ V+ X% E" Z+ l5 Y6 o, L; E a8 `# C7 Q% s
- 网络设备(交换机、路由器、集线器);* f. M* j6 k9 Q, `$ ?* J( B) n
- 拓扑结构(即网络构造形状,如星型、环状);
" I% r/ e% ]4 |: X4 d; M% \, z+ E - 数据类型;, w$ J# R" l* M( F, J
- 用户的数量;
0 E! I3 [3 o; D8 f! K# k( h- n0 C - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
+ n. D; }5 f4 ^3 k# ]$ \; \5 i - 电力系统和自然灾害引起的故障率。* x5 Q) W, S( } s

9 [& n5 v8 D/ C( O, X) h- V3 G , J- [. M" w5 P# ?# I) v
+ b t( N8 m1 ^
网络速度, s& m$ k2 Q1 f8 S( f
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。, y" _+ c1 G+ ^& T- h
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。7 U( O& Y" r% z( j) {# _
7 h! q0 p% F% s. {) _ I8 W- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。& |9 ^' g" Q' v7 D5 @ A' h3 K
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
0 p6 p) a5 K7 Y8 `' d9 t 中国电信宽带上下行速率对照关系如下:! ]; P; e2 Z" ?# ^0 v% m

# I6 e# u( ?2 O- {' h; c200M的宽带,下行速率是204800kbps,上行速率是10240kbps。' \" }$ X K$ l

" A8 U6 s- Q4 p$ i8 ^& V
" A% t% x5 s# J速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。 X1 C4 h7 A0 e. b8 U# {
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
. X' y9 G* L* t* J- `下载速度计算方法
9 R5 l: w3 H+ ~下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。, `; D" B- o ^5 F' ?! w& X; z! r5 H
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。1 `+ M# C6 x& c l h) p1 U' A
上传速度的计算方法; H: J5 p: x8 W' l t1 V
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
$ u; M2 ^# m; a. l例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。 i% j; Y- T: c5 R4 n B: h
6 w* `! V5 W3 H$ f4 ?
上行速率比下行速率低的原因
. {; p& ~; ]1 U通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
/ w/ G1 E* u) k$ N/ O n' ?所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。; H) o; [/ R) @9 I j' F' J1 z
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!& v$ {1 Y1 K T* e( ~0 M1 s
4 Z/ T& F0 E8 l) K) D! A9 z
- N0 [( I) K) ?% e( Y' X9 o8 P3 V/ w9 E5 j

* k O, I7 [9 F4 u5 `- d3 G, O% I 6 N. r! ^5 O8 x5 W
6 E, ^' h/ O, \7 {: F% d5 J( n" s
网络延迟
4 W" N' ~8 g& [ k- L网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
2 ?' z6 Q% C+ L a" d! e网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。8 T1 |, ~' A9 K2 F/ q, t
+ F$ m) k* r) Z' V
网络延迟一般分位以下几个级别:
. p/ @, x" g9 `2 h& O1 R$ l2 g: H! e9 l/ Q5 a9 ` B3 z& u# `/ z
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅0 N1 U( T$ d+ D5 t$ ] U; [
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况0 A6 B( x* h: q% s1 r3 j
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
/ V" @$ ~, J* N/ Y Z8 h. m - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象0 ]9 v0 E6 o9 m% U" z8 W

9 O# u n+ U% ]: W' V; N% F" L 6 \+ K! @% Q. F8 f$ y/ e1 |4 ]
# e+ u9 \4 r. o2 [- O3 @
网络带宽、网络速度和网络延迟之间的关系
( N% Z: ~9 {8 i9 r% f1 i/ ]7 E前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
3 K' _: u0 C# ?# f那么,是不是带宽越高,网速越快,延迟一定越低呢?
$ ` \) u* ^2 Z# ~/ Q: |4 ~* t! K o其实不是的!6 t8 X& C& [6 x5 X# G
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
2 ]9 v6 D3 m1 T0 X( \影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
: i, G+ N; L6 O" M+ z- j3 A& y/ c( w比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。( F+ V' a: n: o7 H1 h ]/ q, _
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。- o, U, H3 c I4 V6 |- C6 K
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。: @, D" i" |/ u. X3 v/ o: [4 H

0 [9 w; |+ B& L, t$ f+ K2 E & T p$ [* T* K9 e

6 u& |, E" _0 n
: r/ z7 u$ y" e! J' Z. [3 p如何降低延迟. i" u3 u$ { n
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。9 [0 k' X! A# a
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
w2 y* M8 E" M* J4 h P* @1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。* W% e3 m% U1 L7 Z
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
' s0 t/ ~) x8 o5 |* d y6 ?3 O: O3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
( H* d/ o3 l( q' j9 B: r! _' W 4 X* r& g5 c6 X4 m

2 ^* v) f5 J5 y+ f5 t* Y3 r6 J , Y4 P3 ]' @" U" n) W

3 [; l5 P) e4 }$ a: _ Z【End】
; }. @) h. }: y: N
6 n C& g- u. \# ?5 r: h& |+ ^ 热 文 推 荐
0 @; h% N q7 Q# E3 U% ]. t$ Z5 K" ^; u: ]" o, \+ R5 r
; Z7 k9 t+ [" |) K0 o6 E" NSystem.out.println("点个在看吧!");
, {4 s2 j! I- b' `( o' c$ ~! \- Vconsole.log("点个在看吧!");
8 {7 U0 i. K Z+ t3 @; h0 Aprint("点个在看吧!");
F, E3 O2 b! m V( F8 m: `; ?9 Nprintf("点个在看吧!\n");
- b/ T# x2 R/ Ucout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|