|
, k1 B8 k4 N" L3 }9 s9 P8 Z' q: _. C; M
本文经授权转载自漫话编程(ID:mhcoding)
' ?- g* p/ M7 c周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
3 q) [) b2 c8 X) n: p3 I. q$ B2 O
5 N" v, o( T; ?! e7 ^ - a9 v# h9 [- {9 K$ U. I% d
 $ _0 W. @7 |1 [
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
% H6 g3 N( [4 [) V$ W% u+ w4 G
# e' Y: P$ c( M' `1 H1 ^7 q6 q8 q
H* q. x. n) M5 a # B- ~( p# ]& T1 P9 @: B/ _
% |3 Q! b* Q: u) e
Z2 Z9 ^. ~6 ~% B4 p! V网络带宽
' C K: R0 J$ v6 i* T3 h: D带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。$ H) k3 ^' Z" ~* h, s* K& F2 k. X2 `
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。7 u+ u* m; J1 T4 S

( c( s7 ?# v7 g我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
% R* g' J& M$ t t4 E2 b' s更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
1 ]. i& b+ P- U. }举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
' l2 k( f' X% J5 r; V5 L
% M" I* r2 r! `! e: Z. z+ a7 K现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
$ l$ u- a2 V2 H* h通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
) s$ x: D7 T1 d9 [) K影响网络中带宽和吞吐量的主要因素有:/ v4 c' r- t+ z+ {9 I
2 G7 D4 c3 i$ a; D) }) b5 j0 E# ?
- 网络设备(交换机、路由器、集线器);- r* O4 g1 m2 D+ g9 I- w5 U$ R
- 拓扑结构(即网络构造形状,如星型、环状);5 I; v9 C+ v7 u3 n3 Y% {
- 数据类型;
9 H9 ~1 ?* W% O- u# R5 i - 用户的数量;% C& C; B/ |9 R: b
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);. K/ Z) C" _8 c$ ?
- 电力系统和自然灾害引起的故障率。
' N0 i/ `) p6 h' u# g" Z 6 x, y3 Y# y! S$ T: q
. Y3 Q) r3 a( w9 p
9 g' G: z* J- d X网络速度
1 X# i o7 R& m" R* V5 R0 l5 M网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。0 e: D4 q" A1 c; F8 F# e
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。 x& F/ h+ P' d: k7 ~$ j+ u1 k
' {( B# U0 o% n' J
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。7 K I) P2 E" |
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
+ r! f: M/ d% ]+ D4 X, ?: V 中国电信宽带上下行速率对照关系如下:" w+ f( u$ W" z8 v0 E8 _& K
- w. K0 D6 {+ c
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
7 S- K1 A( B* I& k - L' z! g. P/ j a! f# ~3 k9 c

* j3 O, ~3 h1 \+ s/ \* A7 h速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
# q2 ]) r+ n( @7 b% c而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
7 v2 k. z% R! U; l! `; g5 x下载速度计算方法
3 F7 G# W) O, ?5 R4 S, g- z1 S4 H下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。/ J6 S' R3 g5 ~% h! [: a
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
! k5 K( ]6 x5 `# l上传速度的计算方法
* w" ], r% a3 ?7 E) _上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。! A% y/ c8 ?' z+ [! o: h- x
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
- @) Q/ a i9 y+ H M
- Q: w" Y; `1 J/ S! i上行速率比下行速率低的原因* }( b% \2 _: s( C
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
+ V1 W6 j* Y6 j5 L) T/ _5 y所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。" O+ }# ~9 o( o# U) d. E- q [
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
8 _1 G0 J n2 e( x $ H. a) p( F! [8 T3 ?. {; {& f

" q, C6 l- t6 Q- }+ q9 b$ U
6 C0 I& n* K4 z: M8 W- B( n # k& |( s( x, j ?" J; A
/ u: y3 P9 A: L3 I; J网络延迟
) U" I! U7 m$ ^+ C D9 s网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。, K$ ~1 t- P- g% {
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
6 C% I# b% j+ X/ p( W
& I& V/ z' Q( ]( l# _) U8 @4 E网络延迟一般分位以下几个级别:5 q7 z' y7 N! n4 v3 M
; c( h! }! [/ r! r$ j
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅# n& W# c3 r/ q) ^
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况: m5 B+ m0 [/ k- j7 _1 M
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿0 [1 e$ }# N+ y! j
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象7 T- u! \8 V4 Q7 r+ w
7 } \1 {: B# b1 o n: Y6 J

% j/ R6 ~7 G# U4 c9 L# O+ V! j) f8 @4 K' `0 B; o1 k
网络带宽、网络速度和网络延迟之间的关系6 E$ E, _& f7 j- C
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
5 k% J m# _ }" w那么,是不是带宽越高,网速越快,延迟一定越低呢?
" e) o$ `+ G; w其实不是的!" B8 O9 _- w. P e, K4 G, l
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。" ?* C" J% T/ q0 B. C; r9 x0 B
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
* q: m: r8 G" }( A8 m- G& R比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。. b2 r6 Z5 X6 ~
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
8 K8 N {! A) [8 @更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
: F2 q) s6 a/ u% N" `
# f) s* H3 ~5 w6 x d7 _# G; E7 [/ W
" ^/ l( }/ H/ w A) a0 ?+ O, _
* C: }+ s* U3 {
. z# p& e) M' r6 V9 r* h如何降低延迟0 B% f0 W0 e- e: F
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。$ U! [6 d( l$ c& I9 b
那么,如果自己玩游戏确实延迟很高,该如何解决呢?- ? `, v( N5 q( M3 w% u1 v8 e* |$ r
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。+ a" T3 m/ i# ^ P9 P
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。# Z1 t+ H0 M4 v# t9 f
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
3 u7 l9 Q# o( t d * ^& y9 N6 {. f4 z& C7 F) G8 O
% r6 k& H1 f0 U
( G1 w( O4 ?3 a
6 i6 ?' M. [$ Q/ c# a9 G# B
【End】% ^! ]. A; }( E8 ~( z
' s. o1 R5 U) m( ]3 `+ I8 t! ]3 G
热 文 推 荐
/ f' m; k# L9 g% c3 X$ B2 n: Z, Z
8 g- A( M: Y2 g) Y, p- ~. Y
System.out.println("点个在看吧!");4 z8 Q% B0 a$ s& l; q
console.log("点个在看吧!");
: v2 a U; ~/ Y& d) k& l9 L7 a8 g( U" Aprint("点个在看吧!");
" d% M+ Z& L g. k5 B( oprintf("点个在看吧!\n");
5 n" Y5 E' l# i( x; U/ kcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|