|
|

" v. N6 G- m& Z( ~1 e o# v- k本文经授权转载自漫话编程(ID:mhcoding)
4 x: e1 p6 L& r" S" F5 n7 P周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。 m0 W' y: W0 j$ @% P1 K/ e2 J# [
+ Y) u- i: B. g |
5 {- E/ l1 J Z/ O
 ( X# s$ d( Y" x8 {4 p
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。0 D6 e! }0 c" V5 C1 i
! U/ U: ]7 o8 P: D% X
6 _5 Y' \; Z4 m& s }% f: ^

, G3 x z0 b- ~, \ . g. z# L5 b4 W# t! g
6 R0 \" Y4 s0 m5 B; `8 T
网络带宽
1 I: u- l. z @# k6 v5 t带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。5 m8 x; S# d' {" K
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
* \& {: Y, [1 c ( v. y! j3 Z" @! d& ~6 }4 Y8 }
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。" j4 V2 F7 Q6 W, I) _2 d, B9 j
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。# b; {, [/ x- ^3 ~/ u, N
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。+ n( w. q5 Z. h
; P# ]. L9 f0 ~) X7 [$ v
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
( Y; O/ P* s$ R通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。2 s+ u0 k; `, L! I7 V3 v; R
影响网络中带宽和吞吐量的主要因素有:
/ _ d! Z6 t8 r$ I
* Z/ I+ l t$ `; d& u/ k" x- 网络设备(交换机、路由器、集线器);
( E/ u# Q+ h9 ~. ^9 \, l2 k - 拓扑结构(即网络构造形状,如星型、环状);
4 Z" z( k& V2 m5 L4 V - 数据类型;
7 `+ Z8 n/ h/ k8 M+ e2 T" i - 用户的数量;
4 p# v& U$ I+ E# I4 h - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
; [! D# z$ |9 U, ~9 q# e" l - 电力系统和自然灾害引起的故障率。
0 A: h) `5 ~' g$ d o" \

! f+ m V4 K6 M7 k% v ]# p
0 y( P" i; q6 V2 F# u1 u6 {4 r: W7 [$ }- |: n0 L, d3 w+ h: D
网络速度
- i3 x+ G" v2 M4 O; N网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
9 o: P* C3 H3 [; Z& |) g可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
* M/ x2 Z$ k: w0 v0 ^; F+ B: U' J# i1 Q. o1 ?0 O
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。. C- @' c8 `7 D* ?8 j
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
6 d' a. Q2 |& g( I: @: P 中国电信宽带上下行速率对照关系如下:, M0 d$ _' ]* t' r( o2 L6 D4 |

' i) U0 @" H/ l4 X2 D; M200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
$ M2 M: I' ~' Y$ o ! @4 k/ P1 _1 j! ~0 L$ b% L8 f. Q

1 U, X# B& @/ e* ?+ u/ D- v$ n速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
" S# y# D! e1 a, P1 F6 e* u l6 g+ A而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
& C) m2 Z$ P( [4 l6 l" x下载速度计算方法
& @, s5 Q! V- z K, w& f6 ^+ r下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。# F' g. M2 ~. B' [/ ]) b4 v
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。' T [3 C7 f% `) f; r7 v
上传速度的计算方法' ?. G& x5 i9 S% l
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
) s1 u0 Q s U# ~例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。) \) g/ H. d8 C

* q) _' `6 }! O: R' l! n. P, m上行速率比下行速率低的原因/ }2 j% w& j$ r4 h t
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
; W8 t0 m% u% s) e' p) d所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。
$ S1 l* N5 X7 D0 t$ ?3 b所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!: c% d9 C0 y+ C' n3 N

9 D) t3 X4 p9 I# }0 ~ " }- @9 c( S: Z1 U8 ]% L3 }
/ \3 R. \ d1 N% b" C

! j# a8 N' L& O0 j; |- Q
6 [8 _2 X9 U7 b9 g4 C2 t网络延迟0 d8 H; X8 u' S6 C, `6 |
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。* j' x& a9 D" H
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
& |- A* k) j5 v( ~7 q
1 h" ]# g0 n, r! o+ e+ ], ^网络延迟一般分位以下几个级别:. W% a8 y' C0 w5 S; n! E
F) ?' K" V* a! h5 h7 Y! P- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅) u9 [* Q8 O2 h @& [" I8 m; F
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况
F9 m% C! j$ J; T& T - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
$ }6 L ~* B2 k! W( c' C - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象7 Q. o3 j8 T) A4 K0 V& J) c z

1 @) E" t# w* q2 a) q* [ ! A5 F- C* N8 ~/ p- t- K7 X8 C- d
: H6 M3 q% p5 \: [4 Y网络带宽、网络速度和网络延迟之间的关系3 `9 \( K9 x" R+ i
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。3 n% O v# F$ {* h0 _
那么,是不是带宽越高,网速越快,延迟一定越低呢?. X4 c0 Y. w1 S. X
其实不是的!
. ~4 ` G ` G! a! b" g( K9 _0 u就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
- S/ d$ s3 i$ r8 a. R影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
: r4 g! D n- I# F( y, H/ h/ n, h比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
$ l8 s1 t8 M5 k7 c& c1 u: h+ \0 G就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
, v4 c/ [2 o2 X& E9 z更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。6 T2 L/ G9 m: v+ ^4 T$ j
; E5 ~9 [5 G4 g& j

3 q1 f& A1 l4 [# C! d$ [ 0 V0 X5 O8 {( Q6 y9 K: V8 Q; G
+ @4 @% q' \5 V1 Y
如何降低延迟" h! \7 Z2 Y; n
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。2 ~4 O& Z7 v/ F' s9 T% u! s
那么,如果自己玩游戏确实延迟很高,该如何解决呢?$ @, S, W& U! X+ T- @7 U
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。$ e1 T# u' h4 C0 b+ L! m" G3 o
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。4 ^6 t% d0 [& h
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
$ c. a. {3 h; J2 v: p* A) i
* C0 D5 w& i1 p O
2 S& v; ^! ? e7 k4 U ' v5 R! V& a ^. h( o

* X! j. q" Z; v) v- ~& b3 B【End】
: i+ H0 m+ Z- a+ t% f) s1 _" G% J6 U, v
热 文 推 荐
, m% x& {& ^5 D* H# H/ g8 @
. R+ R) r1 M' l, M' m4 W, T# H( X' S6 ?1 ~( ]
System.out.println("点个在看吧!");3 v) F) U+ z! _
console.log("点个在看吧!");
( S- Y' ~( W$ f7 s0 xprint("点个在看吧!");/ N3 e' `- t/ j" W L7 K. n/ G( r
printf("点个在看吧!\n");
$ K$ q( b+ A( Zcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|