|
|
/ H% [/ Y, I) X( q
本文经授权转载自漫话编程(ID:mhcoding)
1 V: O- P, {; ?/ u周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。) D& X. B% ?' G7 q2 q. v D$ H

+ P9 q' {2 g' @
0 q. {' a s& W$ ^2 }; m % @, F% Z2 y7 w: E3 h+ I
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。7 r8 I+ t v7 F3 n; D* ?, O
3 Q3 } A; K2 E. G& f X

! ?; B, i8 e! z1 l: R4 p
9 B$ F% Z* x; ~4 t2 A$ W9 h 3 ~5 o0 ?4 [$ J1 Z4 S% w
0 P7 j$ k- w- \" h8 b. i网络带宽; i7 T/ ^; c- h5 ~9 A
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。8 ~4 }/ _1 I' I3 C1 S* M6 X- z
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
/ e. e* }1 H! m* k5 j2 O/ y; F" P ( \% ~2 f: D6 z) I Q6 ]
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
3 }; l: Q$ H4 f1 E6 r$ z更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。2 p: v, e* T% R$ p/ |4 v0 k
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
3 T5 m; b7 g. f, n- ] " Q) H) s9 M3 o* V g) E
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。9 E3 S, Y, _) z* f" |* X4 C
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
- m: G! o& V& ~- Q2 W; P影响网络中带宽和吞吐量的主要因素有:; @; ]! a6 s9 L0 r8 h% L5 q4 Z v
" x- D8 W9 B/ E1 u6 X9 Z- 网络设备(交换机、路由器、集线器);% O6 W' {+ @& d% p
- 拓扑结构(即网络构造形状,如星型、环状);
8 a4 N$ p4 T- t5 N# u% a - 数据类型;
: ]8 n/ ~; {2 ?0 |. x2 R+ I+ t4 w - 用户的数量;6 v& L1 J9 X4 h6 ~; R# v
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
+ |; `3 F. C# s# z9 _% _2 J - 电力系统和自然灾害引起的故障率。9 U- |1 B$ G) J8 r" i8 S& J* d
: D; N0 O6 j% ?9 _2 k* C) i& z
0 v: M2 M7 O% p# c5 q( ]7 h2 ?
9 `, u2 u% \) @, _# G/ W1 @
网络速度
4 s* f4 Z4 V* I) N网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
2 U( {* t6 u$ }+ G可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
7 O. O9 U `$ |# x5 [+ r
# V! B! D) p$ K, ?7 m* S- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。) b& E# }" P% C3 l# R2 d
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
0 \3 p, V$ H% D: v3 O7 f 中国电信宽带上下行速率对照关系如下:
! t& v1 y3 _" M9 D+ }& j 3 G6 I% t% I' L4 ?3 A
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
9 k+ M4 F k) L) M0 A2 s
3 ~; P0 s1 d5 x$ v
/ d' d! @! p1 ] ]) p, H+ f速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
9 ~: W3 @* g5 R而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。9 \0 s& Y) a; k6 K! D& N1 r
下载速度计算方法5 J2 f4 l/ @6 o6 |6 a( {
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
2 T/ S& I: y: k5 R/ T( G例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。 b; @0 d2 l5 B8 c8 P- O1 z
上传速度的计算方法
8 S/ o1 i- ~5 d/ i% m H3 \$ i6 p上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。2 e4 A" H4 I. l0 }4 o3 U* `
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
) Q& K0 g7 M& j8 D" F( c
8 l* [; T# D1 t9 p9 L w# _上行速率比下行速率低的原因7 B6 v6 }4 E0 Z5 E1 F: o0 f7 F
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。( v' |/ m2 C- L% ?/ f# I
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。) I9 u3 s# l3 ^
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!$ K" [9 h8 k @6 B+ ~

& r& n6 o) k. ` B( @4 G. P ! k" W3 S; [' I
8 a2 Q) I$ `9 N# k# W
6 Y9 n) U [0 R) v! o+ X
; y- l+ M% ~- p* G网络延迟% P7 e# c! f8 x( }. K, A
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。/ J) ~5 S& z" y
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。3 G3 B& G4 H* {9 [1 n
; D( S+ ~3 F- @" s& g
网络延迟一般分位以下几个级别:2 i( I$ u- I& |% w5 B1 S
' G+ e. e! ]; a o" {0 R: M& |6 Y- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅 c- f1 M" k3 A4 p) ^
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况
; Z6 |6 ?9 z, m( r - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿" [" ~+ w) {: F- e& x0 V- E. {
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
; b w, V5 l5 j6 T

- {( ~; t9 S0 B6 s2 s8 i
& m* v6 l) C( V1 x
$ | P9 f T- U4 \网络带宽、网络速度和网络延迟之间的关系, A) Q+ l" r6 ?7 P# m2 Z' G2 ~& ~ E
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
# g/ @1 H& E$ p6 ^* h6 U那么,是不是带宽越高,网速越快,延迟一定越低呢?
1 K- A# O8 Y$ P8 P* o其实不是的!, y; p: R) e1 a$ N6 w
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。5 G M4 X% l& u9 I! b/ l' b
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。5 M& w k, N8 Q4 @
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。8 J4 A7 M9 U& c7 k: P6 N
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。4 D* h" l$ f( i0 o0 e; v$ p
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。- x4 M- s7 x. \) G: I! t- F

! q7 r* ?% j6 ^8 f! ^
8 C! G2 E0 [5 H3 \: A5 f4 y 3 h8 M' \& m6 i; t; H5 E& ~
3 V, j) f. v. m$ r
如何降低延迟
4 W& J; y& [1 B1 O3 r7 I D其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。# V, u& L7 U. g# ?, P) \7 K8 K }
那么,如果自己玩游戏确实延迟很高,该如何解决呢?0 X% i7 _ C- y! n! m+ H
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
7 t1 i, i, E( L* H5 M2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。* h! V, R. i; c7 w& T% J
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
- {6 E$ o# ]; @+ E; K( D & ]' L; C& U! e7 k5 H$ r- x2 p
/ b* g4 n! C: p8 U$ f" B9 V9 l' F
+ Z% B9 x0 c! E7 s& d$ }- p

# w2 ^1 u4 Z9 [4 J【End】( I6 K+ n ^0 E/ C) F
- U, O. {9 k8 _% ~: _9 L 热 文 推 荐 , ^- U) e0 w& ]( s( J0 d# D
6 q- G7 j6 @' J$ U) f6 \; h& }5 R$ a4 h+ i% Y6 Y
System.out.println("点个在看吧!");) ?! z* m% t* f8 Y0 `1 W8 T
console.log("点个在看吧!");9 i$ g* d& W2 n- w( n
print("点个在看吧!");% k) ]: \" r" w5 K
printf("点个在看吧!\n");% _# p) h, o7 ]; O6 e2 v* _8 b
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|