|
|
9 f- x( j( `: j) _8 @
本文经授权转载自漫话编程(ID:mhcoding)
$ R2 @; ]& F% K1 G' g周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
+ o( n9 N' t& u/ D ; `' Z" U# k( n, B1 J

* v6 U7 X: D5 T9 ?' E 
4 V; {, E( t- K- I( h& _8 Z; z大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。8 @1 P0 z& U' d
* P8 s: K/ B" |/ V$ b7 F: C+ j* x: A

1 Y: K7 l% S2 g# O* H0 j% H
* _% {3 ~- {! e& D& Z" l + \& x7 `9 e% _# y- D0 L
" v ?2 V, C" \2 h& o网络带宽" z" Y$ M4 F! L5 Q( y( a6 k
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。* o# M4 |& e( d d$ i7 l _3 R
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。7 ]( E. I$ [: `& A; a- T

5 K$ {) B1 a* p1 G1 {我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
9 l/ ?9 |% W. [" L6 X更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
& ~4 P7 a& }2 T举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。' b0 a) B) r7 i" H: z4 J" s
2 C/ e# s- I$ o' J
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。$ T& P' _2 t: P4 O/ K: Q
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
$ T# A0 I9 `) j0 y1 S: Z, b: j影响网络中带宽和吞吐量的主要因素有:
! Y" {, m/ o0 U7 d: U7 ^
; K: `- S. q0 M7 x8 e. K8 P- 网络设备(交换机、路由器、集线器);
7 j$ h6 L. s* Y; [$ }% |8 {* d2 N - 拓扑结构(即网络构造形状,如星型、环状);* T& U3 }. ?: _1 L# f
- 数据类型;
8 Q5 E# l* c1 t1 G - 用户的数量;. \0 {- ] ] N$ _4 ~& ?+ x# k& X
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
$ s/ n' l2 f6 J# ^+ b+ M - 电力系统和自然灾害引起的故障率。
; w% k) U5 F, X% |) O
; I7 ]6 A" ^; a2 d4 b1 D* D
$ d1 Z. r+ e/ l7 G! f. C) f$ E
1 _* B$ r4 a9 m: m, z) F
网络速度' F: O) X+ |$ d- C. L% ~
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
: c& m, d' x+ g- a9 H% R. r1 L可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。1 t. O" q: h& _( U) b" { b4 q8 B
3 ]5 L9 m3 E& s# A2 |: j( W
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。) z3 F7 H2 z6 g3 q3 R9 k, L
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。' m! h, M% d h# Q' `$ I( J2 K1 c
中国电信宽带上下行速率对照关系如下:
3 x9 {6 I# n& I6 j- h8 W* B
; q3 z1 @, Y D9 K: L/ B& o200M的宽带,下行速率是204800kbps,上行速率是10240kbps。6 w# A3 R* W5 m% e w

& c2 I* O& J' ?! j9 G ( O3 z4 b* L+ e# W
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
g/ n' f- t6 O \ t而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
. W/ g7 I5 I+ k下载速度计算方法
7 A, _: n* t0 F下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。$ C. P7 X+ j9 }2 k1 h9 }
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。! c& V0 a @- t5 ~3 q
上传速度的计算方法
( M4 R3 ?; C3 } B! [* ?; Z) y0 G上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
; t6 H0 w* g! W例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
" v3 d: X. b/ K) S$ t
) }7 S0 U" i6 R. x4 y' l+ s上行速率比下行速率低的原因" Z* s5 S5 {8 A2 Q7 G. Y! q
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。, z) S7 V( [' ]
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。( Y9 Z+ F2 A% E- S K7 {$ J
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!" S7 n8 W7 D% C9 y

1 U0 k1 J& Z6 F$ Z& z1 K
" {/ A& R0 Y( v" H/ y) `
/ c7 {- {' \/ d; C% X! r, m# F! S ; P' M' M3 i1 I/ H, O9 w" d
. t3 r; `/ g3 l$ z) Y
网络延迟3 \7 d5 j! U1 O
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。" Y6 {- ?" e4 v/ ~
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
7 f: D2 V, Z. I- T8 x, p 7 p- r* d' e* e
网络延迟一般分位以下几个级别:* R$ {. {7 p$ y
. c2 J6 |: W. h0 b7 T: M- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
. w5 U9 Y! H2 V; j, R* @& ?& e - 31~50ms:良好,可以正常游戏,没有明显的延迟情况% B) e0 J O7 ]( ?0 z
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿/ \. O4 r2 n0 n* ]- y
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
* a+ W( B$ r! k, F% R5 P. w
( j. s/ \2 w$ g7 y$ n
/ d$ l p5 o l" o+ h
5 B0 ?. v; h) L4 N' A. m" Z3 r网络带宽、网络速度和网络延迟之间的关系/ h% {& F" t% h) w$ z/ t4 p
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
* o, J+ F/ { S( u那么,是不是带宽越高,网速越快,延迟一定越低呢?2 H4 I' n( F- c6 W7 N0 V$ ]. f, {, M' `+ B
其实不是的!
. N% I. |- l" E/ B; O就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
I4 ]8 v" {- s2 n" [- [0 Q: Q影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。+ P+ P# _, T& e* {* L1 y4 }
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。4 A0 O% T/ q9 b8 X( @5 c* J
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
5 R% q6 Y; ?+ p) y5 ^更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。: C" {3 m0 ]: a/ G h
0 S: z( K$ R7 E0 p2 G. j

; W( {+ B2 y3 U & j3 C% n) E, B$ r& i
" M$ V3 Z7 y6 W* o6 W! {& g# {( s. N如何降低延迟
& l, B2 w% b# U& X其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。' |8 x2 J" B6 C) Y
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
! V7 `, f: y- _8 W3 \: M/ e3 v1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
" S2 R: i5 H9 {) U0 g1 R6 }2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。% j8 i4 X" S4 L% e
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。, G/ i/ }" W: D( f$ Z4 ]8 G

! }1 |3 I& n. D8 x
9 p& V3 d% w7 X% a2 }% j# v* r ! l& n' M5 N7 u9 ?

0 c$ U7 _5 X3 i" h; V" t3 }【End】0 l1 l) _ l* ]: u/ S" D1 N' R
6 F% d- Q/ w K- c4 W 热 文 推 荐 + Y) n! Y/ U+ q9 s( l
0 v, F* J( z1 h( Q. o# E5 }3 d7 F6 m0 @7 Z1 a1 z
System.out.println("点个在看吧!");" ?# f& b2 ]7 k
console.log("点个在看吧!");
6 T* w6 s/ N4 B* {+ Z& [& [; Jprint("点个在看吧!");
0 b& M4 E! O5 Y* {printf("点个在看吧!\n");
& E" \) }! b( fcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|