|
|

+ q; V9 J c6 [+ h本文经授权转载自漫话编程(ID:mhcoding)) E( O/ F# |; R( D) @0 Q" R& Q9 w- y
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。, w* M5 D" W3 E. w) D
- Z6 ~( [& {7 R' \! I" ?& Q
& ^9 s$ B+ w0 B
 
! P, E3 B4 t) C6 c0 S大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
) t5 c/ S6 G2 d$ _0 M8 _3 f" F
' j' A* x# e# k- ~% Z, j' \
$ Y/ z( D/ r9 C2 i/ K 2 z" p" H; k4 Y! C+ w, D

9 l( e* E/ F" |+ ]: {# r6 J& p
) A) d# Y5 l# P# ?; \2 |+ q网络带宽/ j% ]8 w! {! t6 @
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。3 ^4 t" h- [) {- `; U* X
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
2 O5 b7 Z* A, X4 s , [7 D; `5 s7 n4 h: w
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
8 N' }; ~ `- t9 A* _4 ^更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。- f: { Q. J5 B. p
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。) U2 O- D: D+ G! D* W- }
. ^* O4 X- u' k0 A. t7 ?$ [
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
6 g2 b6 p; L, ~7 x2 U& n+ z3 q" ]通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
& e* X& V# ?/ g9 J# n影响网络中带宽和吞吐量的主要因素有:
6 j+ L: f1 v* z+ d! S( q' K. w) ~3 u4 r$ a. g2 {, g
- 网络设备(交换机、路由器、集线器);3 h0 j; q) P, }0 y% V9 H
- 拓扑结构(即网络构造形状,如星型、环状);6 ~2 f3 \; ~6 ]- o% C; B
- 数据类型;, [. D3 R! i# a& o0 b# D
- 用户的数量;
6 J- z8 r, Z7 {* j( _ - 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
$ f1 j2 j+ S, ]1 |. m - 电力系统和自然灾害引起的故障率。& u" p+ i8 T f# ]. l& ^" [
, x1 M3 z N# z: Q- R) l9 |) a, k
) ~# J/ T# Y0 \8 G# \: M% k8 K, G
- M& R+ x+ T1 F0 p
网络速度
' _5 U% \1 L, W1 d5 `* S2 t网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
! y' U" L2 T! W! W6 m- K# \可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
2 \' C1 s4 ?: O+ S& f9 q' q" W# R5 h' ~5 w" f
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。4 I5 o% @) H- ?
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。/ g( J0 f/ q* u# s$ i! _. g) ]
中国电信宽带上下行速率对照关系如下:
# V& f. n5 ]! R8 D- U& y) J
9 j6 H. ]0 S" {( V7 q200M的宽带,下行速率是204800kbps,上行速率是10240kbps。; u/ H* Q* K/ B; S, ^
9 t: Z6 z7 H# z9 P0 ^% G

z ~+ }. ~; F8 s r速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
3 w$ }& S: t0 O7 W! A. p1 v4 L而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
/ H$ z: g7 |. w下载速度计算方法8 {# @) ?/ A* H3 ~# i
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
. D2 T( i5 Q) P! G( v5 ^. Y/ j! `# e例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
8 A" U$ N& T I+ z上传速度的计算方法9 H1 `4 X: M9 t2 i0 ?
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
; E5 h' M ~" e) G% ]( m例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。8 S! _ z9 A7 W- y9 B
1 Y- L+ U' }( o! g8 f
上行速率比下行速率低的原因9 v' I' {. M0 T$ Z# H3 I8 n
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。6 q- I3 o" {" D2 Q) ~9 t* }
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。# T8 ^: x% @# F% h' G
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
: W7 L, u8 y: P5 i/ ]2 i5 v/ E/ | : h6 m+ v' g- C
& U q. w+ Q. T( D8 W
( A g `0 {" w$ j4 |$ Q& ^) z- O
6 F6 {/ x N* Y4 |5 v! c% Q# Y' g
9 c2 U4 ^8 N8 R# K2 |3 W
网络延迟- n5 S& J! K- D* y) U* ^( W; D( e
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。 @8 v6 P S B& H9 r( Q* m3 u
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。, j% f' k0 S5 f
7 J" b0 E7 f/ y) s& j k
网络延迟一般分位以下几个级别:
; @: U. h/ C* H$ {
[! f, h& k8 n+ Z6 s- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅& S) E5 k. ~9 R% N' b6 }6 E
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况/ P# L7 L0 O* D- M* b7 _
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿/ k; O" [9 R' H2 l. N
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
( r$ t9 ^- _0 w# b) Z5 T' Y0 K$ _

! t3 {1 R% X$ V2 _5 ? 8 L3 Q) }8 G+ U% G$ P4 _
, F& x) v6 }7 ]4 W; H: f2 m网络带宽、网络速度和网络延迟之间的关系
0 ^0 s# q( g. M6 d' w: v" g前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
% s, j8 V# }# ^% L$ j+ H那么,是不是带宽越高,网速越快,延迟一定越低呢?* P* s8 w2 e% r3 K$ ~$ R0 H
其实不是的!
$ X5 E0 X9 t4 Q" R就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。5 U/ m' G/ x: p( A
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。" W5 g& y- b. A" m0 I
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
+ {6 H# n, a& G1 k& m就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。# B) n6 B& q+ H# G. x) {' l4 [( X
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
4 d% V9 Z" v. k7 ^ ' [5 I4 k* K) `4 y
+ D' y- G4 v# _* W9 D, J
; B: |4 l5 U3 v
8 q# e& B0 @/ X( g0 V如何降低延迟
, ]' Q2 C" e- L2 W5 t y n+ h其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
( f" M, I7 q! K; I8 j* N那么,如果自己玩游戏确实延迟很高,该如何解决呢?
" m* }1 E( D: B& k' f1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。$ T$ G$ Y5 z% ?+ C
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。+ h4 {. C1 F9 X5 E
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。/ v% t% j" v2 y) U/ H* i

# J( A1 o2 i3 b. R! v5 V4 A " a1 {+ d2 ]3 I, G5 Q: b- u
5 J' D5 P9 {) T) ]: Y9 N U
0 c9 B% V- v& h- F. a$ N$ h1 z$ y
【End】
+ Z, w. `5 \( r7 ]9 A
# o n" j7 R3 ?& X3 U/ x; a, X 热 文 推 荐
2 l4 f' k1 K8 p) z x& g0 F) w0 [3 T) z% |
- f1 R- q- d) b7 fSystem.out.println("点个在看吧!");/ N4 v( O W4 h3 }2 V
console.log("点个在看吧!");3 [1 e# f/ L- @4 |/ Z
print("点个在看吧!");7 t+ k% ~' S! H* f
printf("点个在看吧!\n");2 Y2 t% E8 Y( o; d$ q1 Q2 a
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|