|
|
6 p' Y# f+ s( |# j
本文经授权转载自漫话编程(ID:mhcoding)& Y4 P- H* y- b
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。- [* ` M0 B% S# @/ p

; X8 G$ R' r) d$ M3 r2 {+ H0 k
1 s- n6 [4 ~# ]* L7 b, O% ` w* o7 g4 W+ k' G4 {3 w" I
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。+ Z) B3 v# t/ n8 H% n+ U

! }2 W0 h/ T }7 o6 p E
7 Q! p: f$ p6 r8 ? * Q9 q& Y, x5 V

* j4 w1 R4 J2 L$ y" j+ o# f1 e/ i2 V- T+ l0 T( r0 z/ ]
网络带宽: u3 r0 _% F5 c }! u4 W
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。8 G; }8 h# ~% ^7 ?1 ^
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
+ `0 ^. M' x# H7 J4 K. @
2 ^* z% Y$ _, E& R, p+ F我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
7 C* e/ r7 b a) f更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
; j/ v- {( L' I9 P5 d举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
# D: ~9 V9 P( `# U+ f9 k
6 |8 d; V& _- A( a8 s' L现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
# {% P" r; ?" Z# _2 l$ }/ K通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。8 S3 \: R7 p; j$ E5 ]( T5 ` j
影响网络中带宽和吞吐量的主要因素有:
: _: S4 T+ X7 g" ~1 Y k0 ~, l! S' J! ^& \2 t, e, E
- 网络设备(交换机、路由器、集线器);1 ^6 C. A- a- z- }
- 拓扑结构(即网络构造形状,如星型、环状);, @5 m C+ W( z' c+ ^
- 数据类型;! m7 C+ ]) t# N8 o! K
- 用户的数量;
z T/ i4 _% V - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
: e4 {: C4 o& E) c - 电力系统和自然灾害引起的故障率。
$ h# }( l& S* \8 b; S5 C) w , l+ D) U) D& [. \/ u
+ e$ A1 |( @2 b: X. }( g+ d4 G$ Z
. f8 ^+ N$ g/ g! M, N5 p
网络速度4 Z1 b2 S6 Q, I" X6 W
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。8 I& r7 ]: u2 G% D+ w" o: T
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
/ s7 ]! V- _- [) w' e4 n7 ?1 t- e% q6 Y) D/ N( X4 ?
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。6 L- j3 ], F# ~! I4 F0 Q6 ^& [8 c3 n
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。, x# g( v# @. }9 ^5 n& s
中国电信宽带上下行速率对照关系如下:1 l4 l' ]- |6 Y# t! \

/ |9 `4 P% j X$ C; G200M的宽带,下行速率是204800kbps,上行速率是10240kbps。9 a1 w) q3 s: E# C* B& `% \
. p4 l# `7 k$ P" ?8 F5 @4 S
: y2 N% t2 z' A8 s g& U) I' G1 T
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
- _! f6 f3 u. k而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
5 Y2 D* R( E, a+ c$ \2 O下载速度计算方法
# u- i- S3 w7 z; T9 |3 O下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
) \/ m( R: P" F$ U例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。& W% G, A) C8 t7 F
上传速度的计算方法
2 x7 ]! z9 G9 F上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。& V& [) p* o1 h
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
- _6 j+ j9 c' _6 U : n' I" j: W/ g" w
上行速率比下行速率低的原因# E" j" H- F7 A8 e
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。2 T! [4 P8 B" s: ?
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。
- p; Q/ A3 ]; b: @ y/ j所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
+ M/ m* E( d4 \6 i' y
. P q* g% L& {8 g% h% F K
$ Q% c+ E9 i1 d0 a3 d
% o# R9 i0 I& r, ~ 6 a; p$ ^' l' H# [) }) b
" P' ~2 x1 q& t. X A/ `网络延迟' |3 [, w0 m. Z" I/ O
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。+ g U7 p, x) @7 @
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。% M8 ^9 c q0 I+ @( U `4 {6 t% Z
5 b% }2 `+ B# ^: |- q3 z
网络延迟一般分位以下几个级别:
8 e2 \; ~- A( P! q' E) L2 M; Q4 t
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
7 ^! C. p% I8 f& b+ Q/ J - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
5 `& ?5 W* c8 k6 ~ - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
- U. Y$ I' i1 c! Q# D - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
: p4 K, g3 P! D2 T4 Q: @: ~ 
0 C4 X- q, C) e& A 2 u; a5 u4 W m! F4 ~9 ?
+ b3 t: p4 p& N* h5 e p9 M
网络带宽、网络速度和网络延迟之间的关系
# h! m- N5 T3 Y: [& n/ u: P前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
; P9 Q% p+ [" Y, Q+ r# O5 t( e那么,是不是带宽越高,网速越快,延迟一定越低呢?8 p7 Y: e% o+ x/ _! Q- P9 W' g+ y
其实不是的!
* }/ H1 f- ^& I, T就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
0 G/ C6 B, s+ {1 v5 C影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
; `" _7 w7 C( v! k比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
% ?& d3 S9 @9 D5 G! l就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。1 v1 d$ W/ V( G1 E
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。 r4 `6 ~; t9 l' }

1 g3 W+ Q' t2 z+ z5 S& x; {
6 Y+ h2 L1 j4 L. y9 ]1 r
0 E5 y) i( x/ F3 L/ y; ^
: A c8 [1 c; y如何降低延迟
1 \# o% T, w# D其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。+ c* n I8 ?) I/ ^1 ~. d8 {$ d
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
0 @8 Y7 N8 M5 M2 O% }7 N1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
$ |7 i# `$ U( R: c# n; p3 K2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。7 Q/ h: B! \; y/ z% K; m4 V
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。* a3 [6 A: w9 d0 h: F* ]0 B

$ t4 X6 j2 j) e" N
# b% L2 ^+ g) j3 l O, W, M1 v7 u
; w1 M8 l8 N$ C0 B4 n" L
& W& o; ?8 I4 e【End】5 Q6 L9 n% T+ Q
: @2 ]6 M, E3 |" ?; a
热 文 推 荐 . M8 K. N8 ^5 h- k2 w! m
g% v0 l( r3 m
$ x ]0 t/ _4 v0 n! j) K' C
System.out.println("点个在看吧!");
/ p/ V: h$ ~5 Fconsole.log("点个在看吧!");5 |( W' F! S! ?% K9 U. L6 f
print("点个在看吧!");
3 O. V: g% d* m" zprintf("点个在看吧!\n");
/ y+ i4 g# W9 ~! e1 Ncout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|