|
|
/ e* m% X% J, ]8 l$ J+ T9 j# W
本文经授权转载自漫话编程(ID:mhcoding)& M r, L+ D' m! n$ s$ X
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
# l- w& v* T+ u/ _3 v3 g
, ?- C3 n% l+ a6 I+ Q/ S" k
$ m0 k& k' B% \4 B$ d2 F$ I : h5 ^. j( p) o+ ^$ ~9 @8 P
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。5 D7 G! S1 M/ c z, z: S

" }$ I! b. {7 X
1 @1 B# N% ?7 Y H" ], t* k ) F2 h+ v4 g# {0 A4 U, T
, h) b3 H7 `) q# X
6 ^" \, u) v+ t; w% {& G1 l- _
网络带宽
( n: a$ x. T( Y5 `/ g r. D# _带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。) M, S+ O0 n( c' B' t
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
1 v2 U9 n7 q* |- O& d
# {8 | h l+ m: ~2 n" `5 m/ f我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。' T3 e- F K) v1 G4 L$ r
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。8 ^& z! S/ i2 i* {
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。! v( I$ i- z/ ~3 O2 ]6 Z

- d! n6 w' k% \, T1 V- H; \现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
7 ` a4 a1 u f( L/ G: t; v% r" M( P1 I通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。' W9 I- L4 X( \2 v& i
影响网络中带宽和吞吐量的主要因素有:" U* `, I o8 |) m7 ^' n8 O
+ }! g* o7 T6 N' }' ~
- 网络设备(交换机、路由器、集线器);
& N: K7 W! P' t' [2 q - 拓扑结构(即网络构造形状,如星型、环状);# r* b0 {. |: ~) f& p
- 数据类型;
9 \3 b: J$ z5 ^( @; D' A5 v4 D: K" F - 用户的数量;% f- G" t8 ~- o- c- u4 @
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);0 D' o4 Q' O/ L. \9 K E) g
- 电力系统和自然灾害引起的故障率。
% o9 Q2 [' \4 J+ A& o% N" E 
5 W2 A5 s$ f$ R 9 I6 m0 F* a/ i3 ?; W. Q
1 j7 [9 ~( G R7 V/ X" `
网络速度
* h0 v2 K1 H3 W. B' S" }+ L网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
* l9 F4 u& W; }1 B+ ?- z可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
% _. e# ^+ p: J
/ n8 F9 r4 Z9 s i- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
, }7 u) S7 k2 b! s - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
+ m) e/ p k2 F+ @5 ~ S9 Q9 y 中国电信宽带上下行速率对照关系如下:% |( k& [% I3 n4 W5 @4 o
6 f( S7 i' l. ] b8 I0 Y
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。7 E% U7 y( \* O
; t6 y' o! f9 q- R- d

0 r2 R; X9 y: y/ |1 a速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
. e2 V6 j+ w6 q4 {* w [而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
1 v. d Q6 g& s# a下载速度计算方法
/ D$ G# `( a9 R% f7 t& d) h! N下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
?3 j* U) [. t例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。2 z' \6 m2 n8 D% p( L% J% d+ {
上传速度的计算方法4 s5 x$ d4 e7 p& N$ K6 B
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
% t# F% e% d2 @ M/ r/ X) B2 n例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
& U- ?2 O5 e, o; R2 U' j9 @
3 H2 O. C% y+ x: L; G9 T4 Q上行速率比下行速率低的原因
* N. C% c* h! m2 _通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
1 w1 G/ s/ B9 l: ^0 t所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。! E% I( w S" f ~
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
: w; N' T& ]3 g ) W. w! ~2 C( i! \/ ?% A8 f
" `4 A" Q# T2 F. ?% y2 \- N4 Z

2 d& \0 S5 t. P3 Q 7 p- v+ i+ c0 k: q$ K
' B0 c8 q) I1 u$ L' R: K/ B网络延迟
% U4 m: k- }3 ^0 n网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
& l" u$ S2 O' D3 s0 M% s* m网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
, v/ B; }2 |/ v5 v* R 3 ^! K0 C, d1 x
网络延迟一般分位以下几个级别:+ N; J) g, q/ ~1 i
. E* ]' w# n+ D* ~# P- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
1 P- n9 u" f$ P) l7 d' Z1 ` - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
7 Q/ \4 ]5 Q/ e* Y - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
1 t6 L0 @0 O* j3 L1 o5 m - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象3 c6 E1 S& O) W3 r( w$ V9 f

, N" o9 `+ a2 |) i+ ]/ @5 @ 7 `2 L3 A# Y1 b) L
, ]& Q8 t0 L8 R$ S4 Q网络带宽、网络速度和网络延迟之间的关系- U9 A. @, p9 L' q2 Q. V1 P2 N
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。4 J9 I& Z& Q7 C
那么,是不是带宽越高,网速越快,延迟一定越低呢?
. ^) [& f T. P4 k" @) ^7 l其实不是的!
3 Z2 U- Y, n, a5 l7 o! W就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
" O# ~) ?% }4 D; b' _) ?0 ~5 _影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
) [. x9 I) O; h1 q比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。( _5 E6 ~4 h0 l( _2 n" N0 F$ I0 W
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
! n6 L& [ a3 P" f更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
L3 c# L! A2 G9 y 0 Z. @. O; H* r* s" P3 H6 z

$ {# q/ H2 {, Y; L
1 a9 d6 D! o% n% I" W n, \ G1 m, \ X! `
如何降低延迟! V" _' t3 N, ~6 ] ^3 e3 K
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。5 f4 ~' ? q+ Q8 S+ {
那么,如果自己玩游戏确实延迟很高,该如何解决呢?/ u1 ~1 N+ N# K9 ~
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
, G' Q; S0 T- O: q J) X* i3 l2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
0 `) [4 q5 `$ s1 ~3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。" _& O; l& M6 f+ r: S) k! V

$ N% X% {& w% Z! ?( N i0 |" N/ e! t # c/ S$ R1 S% R; J$ h# `8 U

: n' ?; k6 w0 i 2 e. L4 N: V/ W% D( D6 v
【End】' k5 w: [6 C! B3 M
, g* [9 F# m! a+ ^7 H9 j3 H
热 文 推 荐
0 T' P$ c5 V k% K( w% t2 m4 P
* O9 Y) J% j# ]9 k) i8 J) z
) `, J1 @0 ~: [& `7 m& A1 \2 L$ u1 ZSystem.out.println("点个在看吧!");8 Z a. _: \; A! t
console.log("点个在看吧!");
6 W- F* ]7 ^8 U7 ?4 f* X/ bprint("点个在看吧!");
: a+ ~% g+ e2 _4 C/ @/ C; X; p: kprintf("点个在看吧!\n");
0 T9 Z; G+ H6 u: k1 {6 Hcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|