|
|

% h( }% b* \* ~5 e* n/ c2 X本文经授权转载自漫话编程(ID:mhcoding)
0 x/ n1 L% l1 q. W* |周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
. `4 \7 Y# X- Z; C$ F& Q, [7 y7 M' ~; h
6 \6 W1 c& C$ |% X7 p
' D1 g6 _7 o1 ?: _. U : N5 u. T) C% s& O4 E" k) ^$ Y
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。
. i+ ~1 F _. C$ q% D0 m + j% W; ^& i6 B2 c( S$ L% j
4 Y2 ^0 i3 _% o3 J! v
- l2 i% y4 F4 \# X9 G8 m

9 T. M C, i9 l9 Q: ~1 D3 k' f" j% F7 B( `
网络带宽* c, `3 i/ U# r8 k4 _
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
8 {3 N( e0 l1 b: I+ L5 Q9 x数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
; Q+ n5 a0 t/ C% ? a % ]$ {' n. c3 @ ~
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
0 X# A# w0 r! N更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。+ X" ?' C8 [& }- V; Q, r9 e4 O
举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
4 Z# m8 ?6 h: ?% l6 O' Q3 S 5 v$ x# T3 p- K/ w/ d8 P
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
# \+ j) H7 @' E! G$ i通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。2 ^/ [; d7 E, H4 X0 F' ?# p
影响网络中带宽和吞吐量的主要因素有:& I: |) e: _" Y& v, h/ l
& c6 n) P& y% T4 _2 Z$ K3 P
- 网络设备(交换机、路由器、集线器);' K& r* @- v4 U V
- 拓扑结构(即网络构造形状,如星型、环状);/ M' W: q O+ s% v8 L
- 数据类型;
/ }2 n% ]0 J: E' {2 \( z4 k - 用户的数量;! C3 y$ W# T+ N6 F7 O/ M. j2 a" {
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);- W/ }& C5 k$ [* A, {5 ?
- 电力系统和自然灾害引起的故障率。- Y& Q! F4 U7 W
$ Q! S) H. x: I {

9 d6 v) n* u1 I/ Y2 C) d+ F1 F! U6 D: U8 }% c
网络速度
" P' u; T/ [4 t6 P网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。3 i5 f6 {4 W% A. Q1 j
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。7 x2 S" _3 c; ?
x5 p0 S- W" u. P ~* m8 N- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
. S8 U& i- t5 r2 o- A - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。 Y+ m7 o U/ l! W1 T- e) l
中国电信宽带上下行速率对照关系如下:
% L4 l8 `* n: I) [) T U) O; o 9 A# Z( J1 K* p) J
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。# O2 f" C O/ o' A2 k( v! V
4 y) W) w, l$ B2 e5 ~

. B+ O/ D& u. \- l- ~9 i% f速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。5 S0 X5 i* ^1 B" z _1 R3 X) S6 R
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。% z4 u! }) r+ M) |
下载速度计算方法2 z% M+ k. {, u6 R/ n
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。1 m+ ~0 ?# ]% e/ `6 s9 A- }4 R
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。0 |& U1 H' [ ?" n
上传速度的计算方法# Q( B! z7 \8 Q. H8 u: e0 b# C
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。& b+ X/ P) v9 o9 f$ ~3 o: [0 P
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。- ^0 m+ }0 c3 U0 o9 ?
( Q: N" {5 _9 q M# E+ W
上行速率比下行速率低的原因& N. b" y! S) [
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
/ b, v- j* P9 {7 c6 o所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。( f" C% Y6 O' w6 G: l h& m
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
3 {: {- \' x) a' l5 M! l % \3 H" \. P) s3 w Z
# A7 {+ W" w( {. Z( ?+ N0 z. k
: n# Q, V# Z; |

0 I5 Y0 B- N- u8 u J1 d
/ b0 j9 d7 ^5 h4 x网络延迟
/ X" o+ t5 A) y+ L5 Q O' t网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
, D9 {+ B; M) e0 Q" N8 t网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
; U4 a# w Z. j4 q& P ) m9 Y! w( H5 N0 `5 x
网络延迟一般分位以下几个级别:
. H2 Q- K( K& f, _; T5 I- t$ f( l7 X6 w0 ?! p3 n
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅; {3 s! u7 h ~) z
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况
: X; x! I# n$ \5 o - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿8 A" _ ?- `4 v+ z+ ]
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象- u: O/ s# [- `
: B4 i t6 C4 d( K& \& l

: D: j% T8 F# z" ]9 }4 M
5 x9 ^, X4 s$ p1 ]& e网络带宽、网络速度和网络延迟之间的关系5 f* \7 W9 z/ Z' E
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
( w2 {& Y: U1 ?& W+ F; U0 ~那么,是不是带宽越高,网速越快,延迟一定越低呢?
( V9 L/ N# Y1 f4 Y# N) s. n4 W其实不是的!" Z. {/ M# y P2 r. ~
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。( d+ d1 X6 B, f! ]; u' ~4 u4 l
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
1 n! H4 D% Y; L/ y$ M$ d比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。! q+ m4 a% `& ^- S' E# E" m) T
就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。$ O4 M5 j9 Z, x6 s1 {9 h! P
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。$ F' D# g0 Q4 ]* c; a1 X

. ~7 t! k. k; ^+ `6 ~0 D
3 W9 m1 B3 x# ~: W) C
; {9 d* |. h5 t, l/ z' Y: Y6 k' W. P9 Y3 |
如何降低延迟0 a6 a9 d& m8 d' h; Z! R" P* v
其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
/ h+ b. {9 B( y$ h& u那么,如果自己玩游戏确实延迟很高,该如何解决呢?
2 j. y9 v: L0 ]+ P/ W3 z1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
! W+ N e2 ^9 V2 u' p5 l' j2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。* e/ v8 z3 \5 k. A
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。
m3 g: j3 E( T/ f2 i1 Z0 w
4 P f: o5 n* ?1 O4 X : M- T5 d7 i8 H, P6 e, j$ d

* k9 k |9 ~, O r
* u- P2 H d2 Q0 s- U; `【End】2 w2 `+ V8 X) ?' \- U2 l: S3 `8 b
0 V' @0 _2 f; \( V3 z
热 文 推 荐 6 o. a, h- w1 Z! }3 \5 `
9 _! _6 ?$ ~4 Z h+ i4 L- R3 V- @# v
0 X& O! ]1 S. S' Y# F! }6 Y" y; R: _System.out.println("点个在看吧!");+ h* K4 n& U: m" T; M! y0 X; ]
console.log("点个在看吧!");
" B! f. s* e( E6 T% v) @print("点个在看吧!");
8 \7 @$ ?% O7 C8 J! J% g) Y1 eprintf("点个在看吧!\n");) Z Y$ p, c1 k. s3 ^
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|