|
|

; B" t5 e. \9 r1 h9 t( V9 z本文经授权转载自漫话编程(ID:mhcoding)
( v- F/ O! ]' Q4 q周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。" Z' t/ l* l( Z; G7 c) A
6 _4 d8 j- a0 k/ c

. O, r6 q C! T% U5 P 8 `0 W; u1 r7 y* z/ h+ H- N5 _
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。, J1 u! {# U& ]& m, M' ]% f
) u2 J: ]& o5 R8 r$ k
) p& v" n5 ^6 U( j2 o3 |2 Y" x
0 n; A5 Q8 @- m. U8 A, f. |

4 _% U- }0 t ~# M5 V/ m
" R u8 x2 x; v( B+ n3 Z网络带宽
+ j3 P7 ]( Q) m. E Y3 m7 m带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。/ Y. ]# d8 W' {( ~0 V" C3 l, ^
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
" | M- r, K2 H' y( W
, |. G& u$ `# j% ?我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。/ @5 m* q7 z' A
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
/ |4 C: _2 U% C \! u举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。# _% b4 l' w2 q

$ C1 l: o6 j3 t0 ^" Q' A2 v现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
( s1 F7 P$ _ R: J通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
& I! `4 ?" k& o- B$ M. d0 L影响网络中带宽和吞吐量的主要因素有:
, N( m1 \7 H3 T3 J4 Z: G
! E" X& ^' X5 E( ^# R- 网络设备(交换机、路由器、集线器);4 q( A7 q2 c2 I$ P% `, |
- 拓扑结构(即网络构造形状,如星型、环状);
. a" Y, z" b9 S' B' h - 数据类型;
; j3 W+ s" z$ ~" F- M2 L0 H - 用户的数量;
8 k) S- p3 s0 L/ \1 a! ? - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);9 [; j7 l X6 [' J* a- O3 ^
- 电力系统和自然灾害引起的故障率。& K- w$ l+ v4 Y0 L8 K) J
+ C* d* y7 v* g& _: F) c9 n4 D
, h* o" O; D: f; h* M! Z+ \0 l
% t! X s, h1 }' ^" Y" H
网络速度/ W; R' {7 \6 N
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
7 @5 l) O7 L% T- B可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。/ f0 \! U L( M! j( ] Z
% ?- e7 [: X, d4 i8 A5 p
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
; X) l' }, z! Y: e5 I, d: X& \$ V - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。2 h! T; e8 s9 v7 Q l( z
中国电信宽带上下行速率对照关系如下:
7 H2 t$ p" d7 c$ B& ?' O
/ s, k, Y' a$ \200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
' ~3 C% B# T7 h; E + d% r( J$ Z* L# F6 t, ~% A8 Z1 t
) A' ~: B0 n2 Q0 K
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。: r! v# {1 c- d9 w# J: N0 m* P7 d
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
; F: B# u6 v9 Q$ u8 V, R下载速度计算方法+ N z# D. _! |3 P9 Q) h: J
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。# ~ Q& T1 V& ^+ {( l
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。$ A/ y4 T, q( `+ M# F1 O
上传速度的计算方法: i) E/ O% v" k* b E3 P+ e
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。* E; [2 }) V/ P- s1 p& z' |$ w# X
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。* ?! i3 n6 v* y1 _

" x; A, ?9 v0 q2 H3 E6 [4 ?上行速率比下行速率低的原因
* h# f5 Y5 n' y. r1 D通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。% ^: I3 K2 ~ u6 R
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。( r7 b( y( s0 I2 J
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!) x/ O# F6 Q# q- {

4 |3 x7 m; O: B ) p2 Z2 L5 b9 ~3 E" s3 V c
$ E" A0 y) N$ P8 S& D

1 ]+ q9 N' ^5 O6 [: y2 H4 O
6 M, E* p! f' y5 U3 f网络延迟1 f* }& Y) q+ `& k" [- i6 c
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。" i1 s( ]2 t& l- R* F% d
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
* i' n) t3 U- |7 s8 M) u* U
s2 G1 n$ o; c2 g/ |网络延迟一般分位以下几个级别: q3 c5 f" ^ S! G4 c1 G
6 e2 X; N/ [& ?/ e5 p3 b% M
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅2 \6 [$ t, D: V. j
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况
+ V/ }6 E0 f: x1 I - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
; U- v5 Z1 _: q# T$ } - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象& _2 m$ ~0 ~, f! l) T

/ t' B* T! _4 z8 ` , [2 P; A6 I& u
5 y2 E6 J0 T8 r/ B N# V5 B0 y+ E网络带宽、网络速度和网络延迟之间的关系
$ Y! Y2 {9 Z; q# y0 Z7 N前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
8 U- H- F) A1 ~& ]$ \) O( p t9 P那么,是不是带宽越高,网速越快,延迟一定越低呢?
. Y# e/ O% i$ z% S; j其实不是的!) n7 T9 |% f" x. p( m( r
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
' ^( T, ]! O" q影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。8 _ `1 U2 h; L3 e* q
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。- A; ^& q0 e! b" z% X! e6 q }, u1 e
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
- Z* f I Y/ n9 f6 {5 L更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
; q2 s' I. E7 y# q$ `; J / G, M$ F& \5 s& u) m) O. G& d

- h2 I" K) C9 [8 ]! a. K 9 F# b: ?8 n: I5 n
1 _) v: E0 L* t) p+ R如何降低延迟2 o. W. i" N: ?7 y2 K
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。& p4 r: X1 N/ ]/ u4 I4 K
那么,如果自己玩游戏确实延迟很高,该如何解决呢?8 z; A" k4 S& N8 N) {7 t
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
- X" F0 @7 J3 _0 ^8 e+ s4 J2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
* F- S* ], u8 K d8 r# k3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。! S% X9 e! T5 b" S9 c

) b0 p1 P3 s0 V Y7 Z$ c
1 ?4 m4 U) J. S: y " z7 @3 J+ |; j, v

" X" w) J& ]- X& B0 I. r【End】
* U/ L4 L9 b. ?9 ~. O7 t
' g' }+ k2 y# e- e8 R$ I5 y- U5 ? 热 文 推 荐
& b. P* L. S7 P$ W- s3 t5 D& [- Y1 G; x9 |6 g7 S: D- s/ J
* t7 E A" u4 ^7 u) Y. v! b' K% F, C2 GSystem.out.println("点个在看吧!");
9 q* D+ V, a; m- `# L$ B4 A: rconsole.log("点个在看吧!");! T6 N! i- A" N3 R% N: g6 K
print("点个在看吧!");
% S, }, I4 i }% o+ \" h6 dprintf("点个在看吧!\n");
8 G# {% [4 _. z" R2 g R7 S5 [& qcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|