|
|

3 F( I% @+ Q5 @3 w, s, f本文经授权转载自漫话编程(ID:mhcoding)
0 B3 [6 s% x6 J" I6 t+ W周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。3 |/ O. t( R* B
; [, k+ r, X0 j

' m7 I, E0 s2 M* p- S : u* y7 n7 |+ `6 \
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
" K, m& z1 ?) m * L1 K" B! h9 \! z4 t0 q
/ z3 N0 w! o9 W, v0 g/ b
6 f8 d1 j+ U5 G$ i4 o

; M2 k) t/ m' p4 |7 M) u( A( }0 y0 k- R# F" ^# E5 K/ @4 R
网络带宽4 |# i- Y1 u& J0 w' R4 u1 {5 y
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。1 y% ?$ l" }% h5 w" S% g
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
( C1 N4 g) w( Z$ \ N' C% b1 h" v - n) K- |' m0 g3 ~) Q% }; S
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
: h. [" l7 e p+ @: b更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
/ Y# f/ q8 a/ E( Z; \; ?9 l举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
2 M' q$ W; q7 C/ S- ]* l. U & Q) i. S1 g6 Y, m# |
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。7 k- w" C4 Y5 }
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
5 [# O- o0 w+ D, q影响网络中带宽和吞吐量的主要因素有:
( n" E! I* Z# N- ^' J, K
; L5 r* z8 l1 I! q- 网络设备(交换机、路由器、集线器);
Q4 f1 v2 D7 x2 y2 u0 j0 i - 拓扑结构(即网络构造形状,如星型、环状);/ N: M5 S; w# w& p% ^* `1 E
- 数据类型;# `2 f& \& {' t4 @1 b0 m2 G% i
- 用户的数量;6 o* y6 v) g7 e P- j. I6 r
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);/ P- R1 I2 z, ?# L: G( }
- 电力系统和自然灾害引起的故障率。, m* F( l/ J+ t4 b* F
2 N& N. ]7 n n

2 [& T$ X$ i8 f! b& s6 R
+ V$ U& n' I0 ~0 O9 K K5 n网络速度: z+ M5 f/ U& H- f1 Z# Q
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。. P$ \% D( @3 B6 s8 ~2 ~* L
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
" R# s0 Z- @; M$ b! y
; T& @/ e1 d6 j- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
d. w) c5 a% r H6 F6 [7 L) | - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
* G( o( Z# m/ `% _( [ 中国电信宽带上下行速率对照关系如下:
9 X) G! F; D3 O$ D% H
5 h4 r9 c- H" [) Q1 D200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
% u- }+ X3 G, m" {- [) I* K $ k- V3 ?9 V. z) H& K) o
7 _: R/ {- M9 i: M Q3 J* p
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
( A% C. }: D3 T而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
6 U* T0 T6 t0 m# p9 t$ f下载速度计算方法
2 O$ `' H% Q/ S# [( J& ]9 m下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
/ D+ F6 g6 b2 b, S8 K0 J例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。# d4 f* l/ B6 e7 W3 {, z
上传速度的计算方法6 U5 s! o1 c/ Y* C
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。3 ?+ A/ f! y% i ~" i6 _9 G
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
; R" p2 c% g" _$ |. {9 G- U/ [ ) q- m3 M1 D3 h0 P3 I, d2 i
上行速率比下行速率低的原因
M4 T% g S$ B; s- z B- |6 o通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。" `* ^% P/ G S, d. `; |
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。9 `; x2 H3 j/ o$ D6 z. @
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!9 ^8 s7 P% W. K( X; B# e( f7 N. }+ g
4 \# S z' s- W) {. @3 {

b* G5 v+ U- b: T6 x# I2 o 6 f; n$ S( ]0 d7 P* {% U: D

! O' \# W) u; ^$ H5 L; V) `$ o. d; y( l0 N) N4 H" X
网络延迟
- `: P% O- R! Q4 A网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
/ g3 i' S3 V+ o$ V. `0 a( l6 R" @网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
) U/ s8 a* V3 \& M0 O ! \) \9 d9 A4 k& @
网络延迟一般分位以下几个级别:
, f/ x0 t1 ]/ [! {3 h( R
$ P: t0 q; j$ h4 [& w- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
6 d" v# R2 `. p3 _+ k8 D$ \ - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
; t! }6 ]4 g- C. O! o - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿5 P3 j( @, I& d& n" {" q t) m& Z
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
2 P1 F) P* p( w- U. Z* ~: j! I

4 V6 h8 Y) b* w) g3 B9 u& [ ) r- I4 j% N! R' q
4 b1 p9 d( C% o/ N+ X网络带宽、网络速度和网络延迟之间的关系/ { \, g0 R* z; R1 @# O
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
# G# I L: K) V: B那么,是不是带宽越高,网速越快,延迟一定越低呢?
\& b, `% T' b& D9 J8 I3 }1 {其实不是的!
. i8 Q# V0 J+ \就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。+ |3 f" P1 i9 g9 }2 d& v
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
% J5 j* |( M! ~2 ?1 G比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
1 T/ `7 r; r! B. A# U6 a V就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。9 Z( Z: X& p3 N% ]% p
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。7 w6 x, S) t% {# J& X: a

5 D$ A! x4 k; `. e: z7 n& A, ?& z
8 L2 g; w: R( R* ^ / d8 X+ L. s0 a9 \4 F7 Q9 {
; _/ {) w9 r: r8 J3 C: ~ B# c& C
如何降低延迟# H( E+ P: V) O" D, I7 G+ |
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
6 g! @& W8 W9 v+ B! Z那么,如果自己玩游戏确实延迟很高,该如何解决呢?% Q( }0 A) J$ b/ _) V8 ~
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。& t- V- @8 _- ~+ ^
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
* e; I: `' N* Z6 K1 x3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。; a n) M2 l. E' c/ T
. V/ Q6 A, e6 V" e) f; k4 r* Z

G5 f( o5 `+ X! J
, Y& ^6 c) v" _# a . ?! {% I1 L9 Y' I2 t. }; ]
【End】
- J1 o; Z/ |* \8 }: u7 i
% V( F9 Q) Q# _( w* D: \( D+ K* x 热 文 推 荐
: S& Y9 c2 ~5 m& E2 v3 k/ D' E) v& c6 l0 I3 l. y* o$ w% u+ ^
T- F5 C% O' I$ V9 TSystem.out.println("点个在看吧!");
I! t" G# [/ M( D4 Mconsole.log("点个在看吧!");% j) K; L3 o T+ Z1 h6 j
print("点个在看吧!");
% u H, E/ y8 ^4 |8 Z. ]printf("点个在看吧!\n");
4 p( e: s4 x; m# b' h9 ?cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|