|
) c5 C% L2 K2 D% R% }" J5 ?: o
本文经授权转载自漫话编程(ID:mhcoding)$ x& {) o, h) O! K- P: [
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。9 q3 U) I* ~9 G) I# H3 r) J4 i

F9 T/ Q9 G- P7 h+ u2 H5 N ; G; O+ \. n7 q \. j b- b
 
. W0 \! Q; ?! [% J8 e大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
c% T+ T: N' T6 ]4 T: H . P( S! |/ q( H' g

6 o7 Y' F4 {1 V* R" S) A# U6 F
7 Q# a+ {9 }& m+ C6 _) n & Y0 `8 d+ C: A* }
& @& r4 n& T' t' Y1 C1 n/ X( x0 v
网络带宽, w2 S8 G) s' c- k
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
& Q+ h3 F* G' M1 I数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
! } u: n) U/ n/ ?% t+ P
+ ?( K5 O! |" u. I我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
' v4 e$ e( k' U' G: ?4 w7 ]( B更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
$ W) j: n" Y/ O- V! Q6 c# }举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
! G* P' V4 }& V# C- F8 z
7 I; i5 A3 }* P现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
- g& n* Q5 u2 s* L3 z; R* m通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
0 C8 ]8 j9 U8 N+ M F" \8 ?& u影响网络中带宽和吞吐量的主要因素有:- E* Y6 q r1 K. x6 {
8 C0 T, ]: Y0 ]1 \- }
- 网络设备(交换机、路由器、集线器);
1 D$ s; ]. b6 O - 拓扑结构(即网络构造形状,如星型、环状);0 x/ G& Q) c, n) m$ C
- 数据类型;
9 U* ^) t( n! u0 C) t0 ^ - 用户的数量;
2 ] |( {, B+ m' L ?$ P; A - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);& Y; n1 ^$ h( w' Y& q, L' g
- 电力系统和自然灾害引起的故障率。
- ]" f9 O5 r& n* J2 i4 [ 
4 l! o, K9 v. ^! _5 M! X. ^
4 j$ J( M: a. J
$ z* ~" d9 i& @% A' Z# g网络速度& ~0 P; x [. R) a
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
: L. v3 @7 }0 N+ m+ l" q可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。2 V, ]4 Z/ H2 H. I
+ k: }2 c4 |' h- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。* y! w. n$ Q6 c% B. c' E
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。3 ^& U4 @5 N4 v- I3 y: [9 H+ M" S% l
中国电信宽带上下行速率对照关系如下:" m7 R5 b! c- }! Q
: z0 }$ w' ]1 _9 i& H5 u
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。. `+ v4 h- y: f' Q/ \* c1 q9 O: T
d! p1 a" U: a% g; ]) m
0 ]0 `$ w/ r" O ^4 H( O' t# h" I
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
3 T; z& v& a! |8 z' ^. P* _0 Q而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。% w5 f1 h$ c9 U% [$ M1 S
下载速度计算方法1 s& q1 U/ F8 m; B
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。% l- W8 R- D v
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。; w2 b: n0 s: v1 A2 m1 |
上传速度的计算方法
8 ?2 b* }8 K& H4 E上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
9 E) x. n$ e4 `例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
7 C8 W5 c6 ]) E) x& o : P0 Q! Z0 ?; v" k9 e% y& p' ^4 f
上行速率比下行速率低的原因# f* e0 F$ e z. z! b
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
& n. X0 G% h# u) K% u8 z, ]4 ~所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。8 i0 l3 E$ z6 {: `1 @
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
" i. U2 L) @( X& \" W! n7 b # u: l) \9 C; h* z
' u7 J Y7 D, Y0 y7 a: V
" z% z) |3 Q2 s% P4 w
, \; d& w t2 `
+ @- k0 S Q* X
网络延迟' _( h# G2 `1 g) ]: L8 M
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。- o0 r, k H/ P& U
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。) V/ Z7 W. K; b$ p5 N

2 a: c' Y2 j9 k网络延迟一般分位以下几个级别:
3 D; \$ [8 x/ t) i2 e4 w) L+ A9 |$ s7 y1 k1 W% m; K( z
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
& [2 y. |0 a2 q1 [2 p - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
f+ q, `) r# p1 l% b - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿# V5 t- m9 {7 `3 Z5 G
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
. ?' R c {/ a% | 
% Q5 n! D# ]# v1 A% ]9 X5 Z . S N; n: ?4 d$ l; u, k- q0 y
' j" L. P! j' U8 i: x& z7 ~网络带宽、网络速度和网络延迟之间的关系9 X3 g$ z5 f/ C. X
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
" ^8 D0 E7 A, l z+ N# `% t那么,是不是带宽越高,网速越快,延迟一定越低呢?
$ @4 T, E5 O; @3 t9 n! v8 ~其实不是的!
v) c. H, D9 ^就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。" [; v4 U h! Z1 k
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。7 n& _# L( S* w. u% U
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。: {$ r2 w& [ j9 ?" R( q
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
/ a' j, N0 R- j! h' Q3 X, x更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。3 _7 [: |( M. n- U0 r- N$ E5 J5 I- q

9 a" l ~! N7 X) @ 4 m4 n+ p+ U/ ], Y& `5 ]
8 B. N- G4 D5 L1 v4 s8 O x
8 Z& ]# }5 D; x% R x* S
如何降低延迟0 H5 V7 m' j2 x# ?/ ~& _2 o
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。+ o7 P& e* g) Q4 s! V' D* ~+ M
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
6 a* r' g! i- E4 a1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。1 d ]. B; ^6 k9 G5 z5 o( |
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
. _) L+ y+ V: y9 m8 W; _0 g3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。- y: z* j0 h8 F1 t& z; ^7 o

0 I6 H+ e }& t" u
1 O/ B" S/ z6 M% d# Q " P- n$ C* P2 G' D

; a4 P7 g7 f3 k4 a; {* x9 o【End】4 ]0 w! G% ?: ?% u
3 h! S# \3 E; ~$ k4 {8 A/ L; {+ C 热 文 推 荐
4 y7 R& L0 Z6 t' c( W9 n6 M
6 ~! P% s( d0 J( e$ |* X& @: |) g6 b: L9 \# L6 k. S' O7 Z' A
System.out.println("点个在看吧!");+ q+ a- h( k1 E- @
console.log("点个在看吧!");
1 A5 g& x, ?0 A9 {: Y- M Sprint("点个在看吧!");
6 I0 v; f7 t2 f/ tprintf("点个在看吧!\n");
8 a' w/ j! U+ i: l" k5 q" ]cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|