|
|

$ o( C& A3 C6 G- {, K本文经授权转载自漫话编程(ID:mhcoding)- ?$ T& Z" w5 B2 C6 `7 M
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
% x9 x9 u* r* b% m) X1 q; }6 S
! t. G% i9 c5 U" Y9 p
3 @$ O4 n+ C F' d# A. f + ]4 ?5 A. k- E1 x3 u, v% h
大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。3 v+ ]) T/ W: j: n
6 [5 N# M/ A+ b3 ?1 `2 |

: Z! c, M) F; F9 G) ? ^- ?: D/ u6 H# f$ c4 b
1 @ l! E7 n/ E
$ b# A) Z5 z4 A* |/ w( X网络带宽
8 V) l6 V5 o/ j3 P带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。* k" e1 z% E& {5 m
数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
3 d3 w# {2 ]/ G& R+ u3 B. d5 s! p; c
| z9 a/ t! H6 Q d8 S9 x0 g我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。( R. C( {2 S: [5 [: |3 i
更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
/ b& P1 A, F$ n- K: n举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。/ Y1 `) o) h5 P' s0 [/ f6 @' }( Z

; e/ i( y- |3 Y& g4 L. }$ \. Y现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
& g$ G# K1 r7 s- N) E9 }4 m通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。
* [, g# G) V; L8 x! {: [( D影响网络中带宽和吞吐量的主要因素有:
: Q& V! s2 A& g& \
" w. T- p$ g# K5 a+ h) y' Z- 网络设备(交换机、路由器、集线器);( W5 n. s ?# W$ C, {( C$ z
- 拓扑结构(即网络构造形状,如星型、环状);
' e4 f. j! S! ]2 m2 g2 @8 z - 数据类型;
) ]7 L! ~! u3 ~0 ^# N. y4 R* g - 用户的数量;' k. x6 x: m! M# n1 i8 I' d
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);* k" B: P1 D4 X' ]( ^
- 电力系统和自然灾害引起的故障率。
h9 a6 T1 f2 B0 _" @7 c

4 S, ~6 y& S+ r% f9 |" c" D, r
7 }4 Q/ d+ y+ \- C8 C7 h; y( D: l/ T) a0 ~
网络速度
& o! v1 ^2 o9 ~* F+ Y! Z' X, s网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
4 w$ [9 ^0 A1 m2 G可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。( l0 I7 y2 l' `; }
. g" i. {7 k$ T
- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
$ o# H; X! _% P; P - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
; w1 G/ B# x" ]9 ]: u 中国电信宽带上下行速率对照关系如下:
+ U o5 g1 h0 y; W . @- A: u) f) g( u) i8 k$ H5 @
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
0 O2 ?/ d3 O7 W$ ^' G
# n8 e1 c, w U# j- } # U1 w! Y2 |( ?) H( b" e6 u5 n
速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。$ ^5 D6 Q& R& G0 j
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。
& `- F7 N$ l* o# m下载速度计算方法
" T1 F: w F) s& R9 u6 @5 F下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。
0 y" r. V1 t5 ?( z% S) b7 ]例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
; {8 L) H P, \* C' K% s) [上传速度的计算方法
. f5 o3 {. L2 W# c: T上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
! a! ~0 H8 T; a+ `例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
0 o+ ?# f% F9 j( H
+ ~% ~3 L o; d上行速率比下行速率低的原因- ]( ~4 _. A& H, P# t
通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。- j+ {3 m6 K `2 e$ x+ t1 y
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。& t- c! E# F2 ]6 n# X& t [6 I: f4 g/ g& T
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!
( X' D1 G! j+ Z! S8 q% _1 Y$ f0 w 9 _% m' I1 n* l+ u, H" _
% X9 Y, _# R0 u( s1 w

/ e/ w, e+ g7 g; D( x7 J 7 |. E0 f" M( b0 z* B
' J% B8 q: z9 a9 l* f
网络延迟 c' T- ~4 H. F0 _" T" b+ n; S
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
! F0 B9 O3 a# w: T6 }8 ^网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。& b% ^9 z3 R! C7 ]9 t% g

; R3 |. K3 c- V' M0 t5 a8 ^* C网络延迟一般分位以下几个级别:
. D8 Q: G' n3 d. K' C
/ J' b- V5 x3 G( I# u" ]2 Q! E; N. p* L- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
# @, f$ _% o' V' L - 31~50ms:良好,可以正常游戏,没有明显的延迟情况+ s/ `2 o# ?" b% [) N
- 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
" G5 }% ~: F a - 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象2 x7 \# |6 \" X; M

n% O' ?. h9 w$ k. s
2 }2 P) Z$ E+ j* B' N
% n# X* A! \+ ~7 x网络带宽、网络速度和网络延迟之间的关系
: f+ F0 U8 F3 |, E( w4 P$ |前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。
# _5 b2 a6 w+ J# w7 n( {那么,是不是带宽越高,网速越快,延迟一定越低呢?
) x# ?; \& k: X9 ]7 g其实不是的!, ^) Z5 I; n! P a& j
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。" i% w! T8 O) P
影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
' Y5 g+ o: D# F- z% [- t% Z比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
" s' M m7 {3 P0 C( q/ _就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
( o/ a ]) o; y7 H7 V) q: W9 y% d更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
* d, D+ _7 V T& Z9 m* |: b- i
; J8 S; o9 L( i% {) i& P 4 k' g7 Q0 v( [; l+ |4 K

1 G1 D% M- W8 e) q/ N% D8 z( q3 [0 y- V2 Q5 Z9 [) i6 k
如何降低延迟
1 T+ |8 j' `- ?! g. b7 ?0 T其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
0 J1 \ c3 [" J" E* q! o那么,如果自己玩游戏确实延迟很高,该如何解决呢?- X. ^9 B1 D! ?+ P/ Q& A$ i% `+ a4 n
1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
7 b1 U, E+ ^% o* ^2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
/ k7 R" L' r K- `0 _3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。+ V: ~* X# b& u, j* h
$ R4 q o4 |2 m6 S

$ n4 ` P5 c' k
$ d5 ]8 r% b5 L5 \4 }* O % N X0 [7 H+ y2 \8 p; i0 m5 z
【End】2 q3 c3 K0 `& D
4 S* E, B& U" c 热 文 推 荐 & S9 ~8 U0 p0 e8 K: `+ C
$ q( U7 ]# g/ ] p7 w
4 ^; ^2 q: ]4 Q, E% Q/ xSystem.out.println("点个在看吧!");
% ?4 j, N6 [+ T. r) Sconsole.log("点个在看吧!");
- E* T7 K! u$ p- ?0 `) |print("点个在看吧!");
( P5 x8 x d# rprintf("点个在看吧!\n");
. ~- u0 g+ u8 l2 Y: E" }+ c3 e7 Y, Scout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|