|

0 I6 u3 M3 C2 I I2 |本文经授权转载自漫话编程(ID:mhcoding); A; x1 Z; ]/ P! A
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
. {1 F `$ A) U
( h, L( @3 \' Z: C5 c! a
+ `5 ^3 K6 L- R' f6 \" o 
* `4 a8 R4 I0 j+ |& b w大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。/ z8 i1 J* y8 X0 C2 @- Z5 }5 v6 {
; X' Q- R5 E3 h# t2 C1 b$ u5 s
( @2 o2 G7 v$ U' v. U
; i# S$ f# ~) e g I. `( G

& J; k T3 y' V+ T9 N6 k- y- ?( d2 o& `. O3 T4 f* G2 E* w5 M
网络带宽7 d# Y) v, R9 I
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
" W5 O' D4 |7 Y* x, x数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。' V2 Y+ } h$ b- Q
) ^; Z# y& d$ O" _
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
0 ~8 N/ p' |7 l' m( T& s( E更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。2 a4 V* ^" Z% ~, `! p
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
: M. H6 n. r; h7 v3 P
$ i8 u3 C$ f$ C8 k! J" L2 ?+ {现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。: o! D$ \2 g: W/ u
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。8 `$ u$ J0 H* E/ ~
影响网络中带宽和吞吐量的主要因素有:
& V4 a2 f3 E! m1 n" T; M3 B( Z& n/ ~- q5 p# e: m4 i
- 网络设备(交换机、路由器、集线器);! j4 B2 G0 f( r6 B* H: T2 E' b
- 拓扑结构(即网络构造形状,如星型、环状);+ p% `$ \( j7 C3 P) o
- 数据类型;
0 C: ^, k& D. Q0 w+ b- ^: |3 } - 用户的数量;
1 G9 O( B1 z$ v6 ^; a7 W - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);; R2 w- _3 J" L- H) N
- 电力系统和自然灾害引起的故障率。
5 \. E( u1 d# ?3 r0 f' q6 u 4 D1 b6 y3 B6 E' }& V2 p
1 ^% r1 S4 j7 y7 {
3 m) c) h- b$ o1 m5 I+ l网络速度 t0 S' t, {& [# h; W
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。 f& M' ]* x. H: q! e
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。% k. `7 y; N4 R0 p" s& o
9 I6 p- n z* u! t V- s X% K8 O- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
3 f9 H4 S2 }0 F2 i8 Y; a - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。' f& L5 _+ v4 \0 G; G: ~
中国电信宽带上下行速率对照关系如下:9 V" y6 ^: v# u& O I/ f" v

3 }/ [; q% D: B* l4 \' P. c200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
; T4 S% K5 P. u: G ' i4 V+ ]7 J& N

& X9 |" l4 Z. c/ h" \4 R速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
7 l2 R/ H+ ]. _8 w8 h3 ?" Z而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
/ A! ^9 L$ P- e! ~ I2 x' S下载速度计算方法. i8 ]# s3 S$ W. ^9 [6 P
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
4 ^ m+ P6 [# z& p例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
2 F0 g, f4 {- x) |& o( ~上传速度的计算方法 O: C7 U; ^9 o4 _/ M
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
/ ]9 w' u# S# u9 E例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
P. U2 N0 x' p, H' B2 _ " J" j7 J, F8 n8 e- t/ }" U4 k2 }
上行速率比下行速率低的原因1 I L1 T% `( x0 c% H5 `- s0 m
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。, R. U1 A5 `' M2 ?4 b/ k: R
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。! K1 D: r4 D1 p% q, w
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!. L4 R% K5 Z6 H; i' ?2 X& e, {
- j8 m6 x! o; A$ t7 z2 W

9 ?) i) R7 z/ n4 ? p9 E% h7 j
" B5 H' W4 @+ J- W# k5 `! G
, |- H) U0 V; Q! J9 p7 |, v9 b& e: i7 M
网络延迟7 O7 H v9 I$ h
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。: k0 F8 a, V1 L3 g
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
- }6 c) _7 A `$ h# [
, }. W# m" S8 ^5 ~# w网络延迟一般分位以下几个级别:5 ?3 i3 ~4 E$ S6 C4 b! j8 S
- I+ _: ?+ ^4 U4 A: ?- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
; g9 o; F5 V' p3 T" m1 d - 31~50ms:良好,可以正常游戏,没有明显的延迟情况! ]+ R5 V8 q% R5 ^# p4 @
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿, L5 D# S9 S& l& w, a6 A
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象, l4 z( d; d1 h c- P* q5 }2 ~

4 g- E$ `/ f+ w " t; z: M j2 @3 _3 b! u
1 e$ G. V1 u! L5 c& ]
网络带宽、网络速度和网络延迟之间的关系
% a7 k" a _9 j. K前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
7 G# v( {/ o! [2 {那么,是不是带宽越高,网速越快,延迟一定越低呢?
3 o; b) @6 q7 p. O6 }其实不是的!9 X0 X6 B' {1 R/ K/ }& w
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
3 |6 l E& U# M影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
5 f" ?8 a% B& t- S0 D( w比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
: b! L2 z' T: S9 L- G4 A; R就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。3 r, H: i7 {" P
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。2 _! i2 x: L' x( p/ ?" l

2 ` o$ k% }- j1 P/ r2 N
! F- n( _$ K$ K; A- O: u % ~# z: J0 _* z3 [2 q% c
# B2 n6 {. I% g& G) y7 X0 z如何降低延迟, F4 o- }: I$ F) t& m
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
# R) W; ]* x5 P( y' S$ u( F那么,如果自己玩游戏确实延迟很高,该如何解决呢?: q$ c4 M4 Q# C( ^: _
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。5 B: D; s- d, x& \, s8 Q( T
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。5 C1 h2 u0 M# |: M' l
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。3 g+ C( ~+ _: d) N9 l( q; x7 i
9 C5 Y6 Q/ _; h: n* H5 `

G* }; V1 u( v5 i, V( t4 c' f
& [6 F" H( p: o5 A
0 V2 R: D" W- q' r# Y【End】
3 C+ x7 e5 j% _1 G& p% z+ K5 \% a+ a4 \0 i L* }' ^' p5 Z" x
热 文 推 荐 ! r8 h S/ ^! G& E4 e5 b
8 N& v$ L& P9 f6 A
/ j2 U; \* {- I4 T
System.out.println("点个在看吧!");
8 C4 y1 S- ~) P1 z4 bconsole.log("点个在看吧!");
+ w' z, w. M& mprint("点个在看吧!");
9 d% \5 D- V% O" H. R) ~) N1 C/ mprintf("点个在看吧!\n");5 t9 g" o/ O; T9 r8 n7 {
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|