|
|
! v" j# ~5 `2 O5 \9 b$ @
本文经授权转载自漫话编程(ID:mhcoding)
7 @2 |4 r5 d: P* ~# F" E- i, Q: F周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
1 {7 x& X1 B4 e& o; f7 V: G & p2 a) c' s! A) D# s

, f3 }% a# L$ \- ], f9 b5 Z, `/ B 
) H' r0 n6 Q8 ~" A: b6 ]大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
/ _# j4 i+ K8 c7 r% W: E
/ Q _$ R5 c2 e* c+ d/ Z$ L
3 q7 a. L% h- }3 N' k 9 E% Q m7 A: O
$ g9 N2 j/ u, ^, o; M# O
! A5 _ b; a0 ^
网络带宽
( J% h8 a0 @/ J) S1 _" F z( H带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。3 q0 k* M. ?# D9 Z
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。$ r" m/ N4 u+ x8 t: r3 ]: o

# a3 w O' {4 ^我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。8 W( f5 \7 s& r
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
" X7 m& J. p8 \- M* D! e9 ^( J& S举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
. ^2 y( [- {4 t, l1 w! g
7 q" L+ L% Z& {. |+ w/ q" Y8 D现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。8 ]" O; ]6 C& G2 l3 M3 F( z
通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。 @. H2 V9 z$ k, D$ ^3 [; c" Y
影响网络中带宽和吞吐量的主要因素有:& G& Q# y8 j" U# D. ^$ z9 x' \3 k
4 g& U* [$ i' h* h
- 网络设备(交换机、路由器、集线器);! @; C2 L2 w+ Z4 C) x; H# k) Q
- 拓扑结构(即网络构造形状,如星型、环状);
4 U8 K7 j- y y: J: ~* d) C$ m: A- o - 数据类型;
6 R; M- Y: k# {8 z - 用户的数量;% F9 f4 G+ h2 m
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
% K6 r& z* F: q' h- m - 电力系统和自然灾害引起的故障率。
: W7 r8 _1 W5 R1 A7 s/ x% Z5 F8 z" j& l 8 J; u# U. D( h

: v$ m D& D5 o8 o% P' h5 I2 `& g) v4 K7 b
网络速度
- I% I. Z$ B2 C! J5 a: E网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。8 o0 e5 X8 a$ J$ }
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
, Q- a: N) G) H& v5 E% ? U$ e" b4 k! e6 j
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。2 H# z3 X7 |5 n3 M* L$ r! ]
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
1 ^ q$ \2 t! P: L4 B S 中国电信宽带上下行速率对照关系如下:
' r( g7 o2 Z) V ] B3 U, c; Y0 n
- w& I L1 v4 N200M的宽带,下行速率是204800kbps,上行速率是10240kbps。 l3 B5 k/ y- e3 A) e5 \

6 v7 r) `/ U% R/ U) I! G t0 a" N * v4 L5 M" S$ X2 c6 Y, |% @
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
- e1 k: [8 H2 q1 R s" @ j3 w而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。2 @6 d! o/ `2 K: D
下载速度计算方法
- ^; l: ^! K: J! P; a下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
7 l5 o; ^+ v( o6 ]1 `8 u例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
6 B( U, r$ e8 v6 Y' Q上传速度的计算方法
6 ]0 b( ~$ F' z* {" |. X# @' O上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。+ w+ z3 k R# j5 S \! g6 l
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。 i4 B" L# Z/ W" z! T( [

0 K: f+ c3 E, p" @- ^上行速率比下行速率低的原因
, w; o2 d# V) P* P2 k4 \/ z通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。# M$ c' } V/ Z" x
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。
# x: l# [5 t# o# k1 T6 R$ |/ |所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!( _7 E8 D5 j7 u* q5 b2 R* V
3 f3 c6 A/ L( _( G4 Y9 w( j5 N
) O2 t/ Q. l, [; C- M7 Z

" H1 b3 D+ G' n( B& r1 t: A8 l
* b( _: ^) E3 b- Z' _+ @4 c3 Y) A3 \0 `, \) q7 c- m0 _/ z+ t* {& x9 v& K$ b
网络延迟% Q m a' |4 \1 U7 f/ N
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。4 h4 i+ s/ q7 {0 F+ l" D8 h+ w
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
. Y t. Z) K" [1 q" w. X- u $ x) X- v3 |) H7 W" n; I0 I* u
网络延迟一般分位以下几个级别:
8 x4 S% W3 ?1 x7 @! z( s1 J6 J; G# H2 o g1 g1 X
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
) o8 A' P% O# E7 \( \) \ - 31~50ms:良好,可以正常游戏,没有明显的延迟情况7 c; F& F* N5 h0 I5 N
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿! l5 t: D, H6 W) l* j" S
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象) X) g. f& e: w
/ F7 f1 w* F6 t# G ~) c

0 j+ g, f: j& Z5 |- x. k4 N
# Q0 c5 x: m- G+ y- a, G网络带宽、网络速度和网络延迟之间的关系" D+ g& c: C, }8 o9 K: h
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
) V- F/ J x/ @那么,是不是带宽越高,网速越快,延迟一定越低呢? d6 ~- u9 ^# V! @( Q
其实不是的!( u- I- i1 k4 L J+ B' o; @
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。% c$ @' b* _4 U4 C, H% \
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。* a% P( L" y& M @6 P
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。+ D% ]" }, g! V- a; B! @8 ?% m
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
9 y3 S- r8 W9 E* O4 Y更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
( f2 M, k; x$ Y. x: b " O$ q/ q5 ~7 D" _/ R/ A3 s
l( I5 J6 c7 k! E8 J
# A0 V S! C: l
) E; `; ~' i; F" e' ]3 j( @; X* e如何降低延迟
H. u- p, }( g6 {$ s其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。% W ?" Y4 n0 F9 H9 a7 }
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
2 {# _+ Q- g& G1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。$ Z$ b( b8 X; r3 I) ]
2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
, e: R7 Z9 |# U% j3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
3 N3 ]6 r3 }0 D, S ! H, t* m2 @/ z9 b6 l" p

+ T, l2 _; Z/ a& i0 O* U 9 q6 b) Q1 x) r" n/ w: K- H8 e
w% m, `$ F: Y$ P* U; o [
【End】/ ]: \5 X# R+ V: r5 G% D H5 o
: J8 O8 O+ r/ }! u* ]' q: s 热 文 推 荐
! W! n. y3 K ^+ ]
1 P$ T+ z% A" w, R% ?9 R: l! e/ s+ V5 g( L0 y8 R {
System.out.println("点个在看吧!");
' s$ T4 r0 I- G' R( a, s: p! i; m0 ?console.log("点个在看吧!");7 O! q; _, k3 Q- s2 M
print("点个在看吧!");* B4 t% v; q S: n$ I
printf("点个在看吧!\n");
! E5 I- m9 ^0 u2 l4 zcout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|