|
# H* ]1 _0 t2 i1 o+ w
本文经授权转载自漫话编程(ID:mhcoding)2 [, W( r0 H2 B; I( ?3 c9 y3 r+ [
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
4 ` R% n3 Z' z" t1 F0 R9 ~ 5 ~$ C1 t& o5 Y2 z
* a, E0 _+ z+ |
 7 O! R& X* m% Q1 g9 V
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
( T6 F. |+ j! ]
6 q, V6 G# D; w9 l9 G. B% l+ B$ Z
) A4 h% |1 f# o e8 U . Y4 f$ {/ X% y0 Q2 _$ F
9 N& X* z+ Z% t
# s H+ |2 _3 c' E4 K网络带宽
: N D* v! {4 B$ I" `2 @带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
3 y8 ?- c; N! r* D' a! x6 U( }& j数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
; S* f/ ?, l8 a: Q& E
7 `3 i/ s% ]/ y$ B" w/ ? Z我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
y4 e7 f. ^. }7 V' V* r更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
- _; L6 ?; M7 f4 G) T; e举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。% Z& C" @2 }8 C# N+ i
0 U) |1 j& C4 L% Z; v4 e0 `6 K
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
8 ~* S. | S5 e. X4 a# V- Z通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
2 H2 f# }' r, ?8 |! G( f2 w! d影响网络中带宽和吞吐量的主要因素有:% E- n7 c+ Q$ o
5 r9 V) U6 U$ [% @5 k4 i- 网络设备(交换机、路由器、集线器);/ |/ j& w. G7 l/ k1 n3 k: A. ~9 ^
- 拓扑结构(即网络构造形状,如星型、环状);2 l+ @8 e( A0 P$ R( F7 N
- 数据类型;
! E5 Q7 g3 d9 m - 用户的数量;9 O) c. y! I& n& |+ I# u
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);7 f6 s/ k Q: X8 R7 ~
- 电力系统和自然灾害引起的故障率。. Y' o0 L9 F: |/ k" a4 f2 X
. i0 a4 V1 X2 p6 G( P+ p

8 n. ?( K: Q: {6 d! y) Y0 w! C, Y- Y6 \* ]8 E( i1 r0 C
网络速度
) G! X/ ^! [" W7 q2 x网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。1 T$ z0 ~, T# J# e2 g% h
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
) O, n' s- Q. Y4 ^- [) ]& n
) f+ X6 M. e( j- _- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。" j) t# [+ ?! v
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。$ V6 _0 W+ m# n
中国电信宽带上下行速率对照关系如下:
4 l% X2 H) A \( Y% @/ ^7 o% v
7 ]% |2 a1 p1 v' L' G200M的宽带,下行速率是204800kbps,上行速率是10240kbps。& A( r' `0 [- S' {% m

7 Z8 ^+ n$ A% F4 N2 I7 e2 U
5 i0 t5 S. l# a+ k- F9 p速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。: x+ f2 e. V! _( n/ U" h
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。% G/ ~# H, y4 p, N% K3 f
下载速度计算方法) d$ G+ z2 w+ K/ h) S, w+ T N, c
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。! P4 \; ~1 H$ i; h# r& |0 O/ ]
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
4 b* o! u# p" J. s2 Z上传速度的计算方法
+ x6 d- P# ~* m$ @9 S3 o上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
% j3 X" k& L2 G+ ?9 T" y) Y例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
& M9 C, Q4 ?6 Y; P' g $ y- R, X6 j$ S7 u) _
上行速率比下行速率低的原因. l' h$ C# s% p+ @4 i% N# H2 o. e; X) q A
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
, S/ Z3 S: f. q/ U) m所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。5 {% Z7 u% c; u7 v
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!3 g7 F) x/ A9 C- b6 n' T

( t! R* R6 w3 ~
9 Y" o0 M! A/ w+ [) y1 P
& Y6 M" b8 S K4 z; q+ P# D5 M : Z7 k- Z" b' t4 J* u: A
% b6 `) G, O4 s$ ]) C/ E) ?网络延迟4 R8 N0 M ` B, V7 i: C
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。/ g5 S; q4 j0 ~- v4 T# l
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。) Z1 ~$ T- q0 R" c" u. J
& M+ f6 n# q0 {4 s, }0 s
网络延迟一般分位以下几个级别:
7 _% T* Z. }4 U7 D! t- ^. n
. ^$ u; \5 H3 r& ^( A, {# |- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅* y1 j: Y2 q/ p* n- @
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况; E/ J ^- L' K7 ?- J7 ^; R3 S
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
9 A: M+ z7 g( I, u8 q - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象 o# m4 y4 _5 m3 M5 r( {

5 A( |$ ^0 }2 ]4 B5 t7 x . s8 {* Q# w' f1 A6 @! y
! U& g$ E" G9 M# w' Q& @5 ]4 k网络带宽、网络速度和网络延迟之间的关系$ R* a0 x9 U9 i- N" F# g- M0 D3 _
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
$ J; i8 F# X8 G9 X) Y4 `那么,是不是带宽越高,网速越快,延迟一定越低呢?
( }- O8 Y$ M8 ~8 f其实不是的!0 X$ ~! W$ Z `+ E! ~7 y
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。 O/ u ?6 d3 p% Q) s0 E' [3 z
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。, i+ J4 s% e) r. o$ ^
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
# B' {% y) J# u% D就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
6 Z! b3 \' l* t. c更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。7 v/ l7 f/ e# y5 ^( \

, p& [ ^( n8 s3 S& N3 c5 l ) o; m" ~/ K0 s/ z7 F, @" w3 h, B

, _& @+ W6 f4 Y* e0 o& ]# ]/ K2 h6 V% `2 j! q+ F1 i# v) J5 @1 l
如何降低延迟
r) B% v& D" r; U k# Y1 d其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
9 g' W" P$ b' e( x那么,如果自己玩游戏确实延迟很高,该如何解决呢?1 S9 |4 D3 ]9 J% y8 v! n' O: p
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。- d" G# N& x1 z0 P4 ]) q
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
, h* Y+ N1 j1 y) I# V( {3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。% i S# Z6 x2 D# h1 W' J }( I
7 d- M: E P7 K) f
6 ?9 g& P7 W5 a/ f' {

' [* i8 w; l) Z) R2 T, n/ G7 m . j% g P$ Y' ]* u, V* D
【End】
9 Q- r6 }# R+ o4 n: A* j$ G. R: B- d1 b& O1 K
热 文 推 荐 8 i% p# ^7 Q/ p s7 M6 ^
% R6 K! d9 u7 `% G9 ~! X
! b ~; _1 J0 S1 F5 ^3 e( ]* m! PSystem.out.println("点个在看吧!");1 _4 t' D$ L2 L6 p
console.log("点个在看吧!");5 `1 N5 w2 c, @) ?- L
print("点个在看吧!");0 p- S8 ~! Z; }! @# e9 g* e* l
printf("点个在看吧!\n");
4 `: j6 k* b1 lcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|