|
|
& J6 o F5 U/ X5 ^1 y; X/ D
本文经授权转载自漫话编程(ID:mhcoding)0 B+ S5 Y+ } ?' I( }! P
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。6 ^* ^9 r6 Z% [+ e2 }

; d9 k# A# ^; e: e0 [; y$ J
2 d3 S+ i1 P4 ?9 `2 A2 g ( f1 O) v9 M; C9 {! ^! Z
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
8 H3 R# t+ h6 y) b5 {! c/ K1 ~ - S$ d! ]2 j: E9 r; E) O1 e. X* w

4 n2 J" j. _0 l ?5 Q
, C2 o) L& u/ r
) R% p" @* [( d. |0 y. g+ f, c3 o5 K" x: f/ n
网络带宽
) H% H: `8 G' p4 L2 r7 I带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
9 L. o7 X, M& B0 I5 S& c3 w7 Z数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
( C3 I! F4 Q% |7 c" a- W
& P& b- z; _# s4 M( V我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
8 Q4 _/ ~3 z! v# j" }更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。6 P& ?% J6 `: F1 q+ M$ @% D! x2 n
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。, M6 I }: z$ z- u. \
" X1 F3 d* \( ~8 J! M6 ?* L
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
. u* s- f" o! H! N0 _3 H. [通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。0 e# }/ U' _( F! \( s. w& l) F2 b2 w' q
影响网络中带宽和吞吐量的主要因素有:
" N- L7 J/ b- \8 V
3 z& k- C" l# ~/ F W$ E7 b- 网络设备(交换机、路由器、集线器);" o1 u- H3 c2 }9 k" o4 J1 n
- 拓扑结构(即网络构造形状,如星型、环状);) Y: `+ B0 }2 Z) r8 l9 l. J0 m6 T
- 数据类型;
5 D7 B5 e" C a% L' n - 用户的数量;; ]+ t+ ^3 [+ _( x$ c8 _# W. `9 p; ]
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);) }7 ~0 V$ e* N3 i, \' J
- 电力系统和自然灾害引起的故障率。, |* ^( W3 o4 q1 j+ h: o$ P) x2 r

- @# z H7 S) a2 \* B) c9 L$ R/ P * G6 ^1 h+ r' c* @2 R. n5 Q0 y+ {
' ?4 i8 V! C9 N9 }: F: T网络速度
0 ~& \% S! i+ E( j7 p网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。5 K; Y' R* p2 P5 t! u' ?( M
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。( O# O3 K2 A9 `4 }
9 Q' V" N, R! o: i L! q
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
- w. c7 J; j- U - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
/ F4 ]/ P R) c8 @# i# `" w1 v% x 中国电信宽带上下行速率对照关系如下:
4 v2 b7 i* X( Z4 _* T4 _$ x7 s# o
" P9 }' ]. o( t# z( D. |. i2 R200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
% ]" B: w8 [2 ]" b. k # j8 C E1 }, D5 g) z, W

1 U. W, c3 a' V. B5 l速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
/ R4 _, `& c. l% D而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
6 e6 F/ [% G0 `+ s0 ^下载速度计算方法; R2 ]" D" g) x) I. ~0 P
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。+ ~5 }& { r4 I, d
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。! X0 L9 ^' i$ a; W& Y5 B& I! c; U
上传速度的计算方法
5 _. N: `. z( A5 F4 q3 G8 S- d- |上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
* E0 |2 w0 S! c3 J$ J q例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
, |1 _' E; I. { g" ~' r5 j7 a1 ^2 o* _$ A: B
上行速率比下行速率低的原因
. J* ~( a7 B6 b) l8 X. a0 I9 X通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。8 K9 S5 ^0 W2 m0 C# R
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。
/ v% X+ T/ {9 @# m( M. z) C* l* x所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
: v- e6 h% o) O/ C5 B . e! t* q. W! L+ H1 ^$ i7 W' _$ U# A

' Q" x/ t8 J# ]0 b: y5 H
- l2 l1 o# L- h; M& l
2 H& x2 g! j* Q3 F2 j9 X3 E" J* ?8 c1 {4 h# B
网络延迟3 P' P9 Q- A# [1 g
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
: ?& ~) Y7 m$ V1 [, V网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
" J) k: A5 ~, t/ i 8 G# u5 @% y% O; n7 k& y
网络延迟一般分位以下几个级别:9 j* S* ~! K7 }5 J5 u
; B& ^( A; P, [1 r9 W h+ I
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
! J, k, P, W2 r6 g* E/ P - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
2 T. Q& z: h' G) h: X" I, J. k - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿3 G; ^ G' N. ~4 k. `' P- K
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象# E6 q8 R* j6 ]9 m: T- Z4 V

3 Y! u' k* X2 B5 T
5 J. f' J; ~* G8 K6 ^
$ M' Y* `0 K/ ]0 S# ~; ~% p网络带宽、网络速度和网络延迟之间的关系
8 [. v; C5 |: x" k. Q% {! O" d前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
4 m* F. t2 V3 ]4 I4 H7 l1 i* c( E那么,是不是带宽越高,网速越快,延迟一定越低呢?. Y/ z: Q; s. k* [
其实不是的!
* K. i- F& n7 C* N/ h$ t2 h6 Z就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。7 `! _6 h- I V+ f# r8 }( q
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。 i( D) _7 H+ W! k* ~
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
Y3 E# |9 V- X$ [就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。* ~, u) i) z# b, h5 m/ S) ]
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
3 {! ~$ _, m+ o
# T/ A, F5 O+ ~ 0 }0 n/ U% n% }/ f8 h& X

. V8 D' @' P2 R( H# v7 t3 G# Q u% x, G0 J& m) B
如何降低延迟
4 c# {6 f/ _8 Y& o$ Q; ^$ l( ^其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
q1 b7 _" t2 D( j那么,如果自己玩游戏确实延迟很高,该如何解决呢?
: z8 b& ?& w3 v" U0 @! q8 x- ]1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
! {$ Q8 k @* E' F9 u2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
) k: B8 E1 B7 H3 U, K3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
0 U: P/ X' Q7 l. g V; d
& K6 h, G: s3 l" U! U6 ? & u0 |6 `/ u" X8 v& h

1 z, j6 k) [: L, V0 s 6 J6 r% j) e o* e3 [8 z
【End】
& S- f* Q9 l/ T7 G3 u. u
8 F6 ]! J$ M/ W6 d& m 热 文 推 荐 + V# k, R% o: a0 \( `, g8 F9 N) w, j
" M- U6 x' x+ h* z# S. k9 E
2 P y' ?4 D! I( c( j9 ], T# K! o
System.out.println("点个在看吧!");
; @0 ]( `* ?* _4 z$ x+ d1 \- ?console.log("点个在看吧!");7 a+ @2 [3 L8 v+ d8 P# _& |7 L
print("点个在看吧!");
% D1 g2 ~/ e2 G4 J: r; d6 gprintf("点个在看吧!\n");$ I2 @1 c, X4 { K+ X$ R! X
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|