|
|

O8 M& r+ p" X1 {) L, c本文经授权转载自漫话编程(ID:mhcoding)
$ ~# |8 X$ s6 {; a3 p: m周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。1 S8 }1 Q7 Y& l+ F+ r! q
! G1 B# w- s* X, m& O- @

3 m. s' D3 T, M; j$ S / x: j# R6 d8 ]3 i
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
4 [; f* S+ Q( m
3 [, c9 S7 L9 N1 Q5 V
6 l9 L- m9 b* P* h. l9 e8 @
X/ f# Z0 Q' ]" W3 }8 Q
! ~) P. `' e& n0 p1 m
( |) b @6 r- G网络带宽. A1 M7 i8 i5 Q# D- Y
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
- ]5 g2 I6 ]8 g8 g/ q数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
- e0 C4 ~2 B5 f
- ?7 f4 ^3 p/ ?& }+ U我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
# T$ X) o# u- ^5 R( M7 y. Z! m更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。& w& D( l9 p& y( O r# S
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。; D; D3 d2 @( p, q1 C" ~2 g
# G4 M) D, j! S5 _ j" d( T
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
) K# h2 Z" d3 v% h6 @- S通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
, o0 u- H5 ~7 ?# x影响网络中带宽和吞吐量的主要因素有:
, a' @) Z& f# R. q4 v9 l# F8 y- u; I9 d7 K3 D" }' I3 G; j, E1 b
- 网络设备(交换机、路由器、集线器);; ?( C& s4 \$ X* M
- 拓扑结构(即网络构造形状,如星型、环状);1 ^; ]: m; h* |* j* O, ~) H
- 数据类型;9 y) z! t$ O, Y
- 用户的数量;
$ F+ `3 f3 p5 f. @) }8 M - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);! x: Y t) a5 B) v6 c' R
- 电力系统和自然灾害引起的故障率。
9 M# ?" t: U9 e) `. T$ Q % s4 Q1 ]+ P8 E$ z, j! p1 [ c- _

% G. _9 f1 T, ^0 i: k: W m- B- N' G* B
网络速度9 A9 f& a( [. Z* L( Q$ ?& i
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。+ |5 n. h) v' n
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
B( n7 s- X. @" b; K: f0 ~5 g) G! U% h
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。7 \8 u8 G, u/ \% t
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
, I! G7 A9 v; m, k8 N3 y% A( X V 中国电信宽带上下行速率对照关系如下:
! k: V: C0 R* Q $ I0 W% k; u7 d* H7 j
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
! k' D9 Y$ O" G* A9 }- _
& J# i: `0 ^" \- B W1 U , _, E% Z* h" m$ N1 ]
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
+ K5 j) z0 [- @- D$ v* l而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。: T/ E6 m) _' H; h
下载速度计算方法+ r1 d8 D& v% |
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。& W7 X% A$ f! U& b. l' m* b: A
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。- Z: n3 j/ t" Y& Q( O3 |5 W
上传速度的计算方法: x$ z6 X& J7 |6 b( J% x
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。/ ~) T6 H& B0 C* a- w
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
4 X: j( T9 w; T4 Z# [ : U X6 g# ?2 s( ?- @* Z
上行速率比下行速率低的原因6 v/ ]* @; G6 }7 d, b0 h3 u8 k9 \
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
: h1 ^; \/ w; a. [7 O3 C所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。; l" [: h, k J/ S$ h. y, h$ g
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!+ I, W: c5 ?4 m/ Y' O. f' O' T5 T
) l& E- P" Y- m' \

) e! l0 j+ r. Q8 e8 I: `- Z
$ U0 W1 [: c" D+ ?2 C. w! X4 [' S 2 L! V4 N, p* w4 g) Y( w
4 }& p; Y7 i: f% a; b% V网络延迟
+ O7 L3 Q" u6 d网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
# J; v' z" Y: v2 m网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
( Y8 J }4 b# g) b6 d3 x; N, x - R$ i2 F5 T! q/ m) C( `3 b
网络延迟一般分位以下几个级别:
" e6 n7 q- k0 A/ F6 G: ^
% H$ z/ G$ ]; E8 w" i- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
! e) ^) r$ P; r* ^' c0 h- s - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
% A$ x- W0 ^8 Q E - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
2 Y8 s0 y! i8 C; z( P - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象0 _5 j! ^9 D' _0 G3 \

# D/ w7 Z' v6 f0 x z
5 O7 c" G0 c" X
5 o/ F0 j* o6 u M7 I0 W9 s7 C- U b网络带宽、网络速度和网络延迟之间的关系; w |. F: N5 n# C6 |, Y. Q
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
& w X# M) t9 p1 V y那么,是不是带宽越高,网速越快,延迟一定越低呢?
% V9 y- Q [0 f1 {其实不是的!
' c- v8 R/ f5 Y, a, O就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。' f/ T% w% h9 r* {8 F. d: v
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。" I m4 ]; [7 f; K2 H0 _2 f* G i
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。# v6 e; i: _* g) t; }) C7 r. R; [
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。9 B: I0 r% o! ~8 d$ w
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
6 P' e) y1 ^( P$ b( p5 G 6 L/ ^4 C. s+ s/ S

- O1 `9 F8 V3 ?8 K5 ~
9 n2 c2 ]# [( v0 H9 f- c0 }/ w$ r8 N7 b" W
如何降低延迟
$ C* {: R) i2 D$ Z其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。1 D/ Y6 y# d. l: p2 M1 o( C( a
那么,如果自己玩游戏确实延迟很高,该如何解决呢?! G S# b$ h/ [
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。; }& y3 q$ F8 Q* J0 k, s
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
8 t ]/ L$ f6 F0 g5 d! A. Q& A3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
0 U- O; ?: I2 b* z Q" k+ z7 w
$ U! G1 ` [& J X: O% |* |
' L# b+ U6 U; @) X0 D% ~ & K' G/ ^/ q/ y
) F# p4 r I0 j
【End】" v, n4 b9 J$ f+ C, Q- g' F% Q
+ \' `, B/ V( k }& t y 热 文 推 荐
' o4 r' t5 M# Z/ O( ]
* Z% w$ E) v& p5 ?/ V' u
3 \ g/ f' P( ` R: |3 V, n6 \System.out.println("点个在看吧!");. z: a3 w% d' [" G7 |
console.log("点个在看吧!");
: s6 ?) b1 Q5 R' Fprint("点个在看吧!");
2 k$ `2 T5 }& v( l: L/ ?3 ~printf("点个在看吧!\n");
- v. M9 Y$ d. O+ O. M1 ]7 U% k. Gcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|