|
|
8 E' P: o8 ]- U$ R7 S! i7 t
本文经授权转载自漫话编程(ID:mhcoding)' x$ f) f* ]& I7 f7 a1 x9 _# J
周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。7 c- C9 a0 Y: R& W3 A- e

$ b/ |( o" Y* z8 I, M t 7 j$ x7 s& u8 d7 A
 
: ^2 m2 u" a* x大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。5 R, o# V& i# @0 P
$ M) D. z' v" S/ Y

$ K% ~" R# R' A
+ ^( v0 L& d1 v# ~0 F
7 v+ F( v3 c1 X( p% U+ X
7 t+ B6 U' [( B4 K" A: z( V9 N网络带宽
* g0 F7 h$ g# P带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
5 r4 p$ |, k/ `0 h" ?: ^1 F/ G4 b数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。6 o/ N) s; {, C/ b
4 j1 h) ]: Z3 `/ P
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
+ P1 O' U4 m5 k5 M( t5 O. E3 V更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
/ X7 D' o& @, P& }3 Z9 w3 K举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。$ Z; t) b' o' m" O+ T

" t0 f0 T# n$ \$ ?+ X3 V, _现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
& Y8 U( I0 d9 c6 e; ]% A% X通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。( M: l: ^9 \6 u! q" |7 G
影响网络中带宽和吞吐量的主要因素有:
( Y {) e6 F; g* g/ t& r$ Y) w; b1 j) N: o: `$ x |7 _
- 网络设备(交换机、路由器、集线器);$ k P2 T! x% y( _, P5 w6 s# C' S
- 拓扑结构(即网络构造形状,如星型、环状);% L6 c+ d& n" o) y5 I
- 数据类型;" W# o( u6 f' J; K3 C7 w
- 用户的数量;2 q, M) ?: ^; X+ u$ f; E/ l* S
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);
" ^9 x* v5 W- ~ I9 R7 l5 P - 电力系统和自然灾害引起的故障率。, T9 A9 `+ P6 j% {
+ j% ~* b/ A; i' `- |2 p0 X

& ?0 \' O0 e" M$ |8 P! }" |) n
9 n$ ?: O; p, j6 J% V网络速度# f @7 F& z$ D4 k& I3 M, I
网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。
" c( ~" _0 M# Q8 d" z9 V1 S' C0 |可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
0 }$ }7 H w# H3 _7 i q
, C f& h* T# ]- t8 n% r. G/ O( V- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。
2 }' N' j" w! j1 m' g$ T - 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。5 w4 Z1 F' Q* u/ U. | ?& Y y
中国电信宽带上下行速率对照关系如下:
7 {/ d2 [& S* |, o& A ! y; y+ g/ R0 o P! f N3 t
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。
& }1 |- e& F9 K3 x; P$ k0 m& c* a # J$ I8 e6 _: o) ~

" F' E2 x3 M; \- L# \& x" D- J速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。
! t/ a8 f" Z6 ?( q& d而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。" ^; E. k# K( g6 n
下载速度计算方法
+ T% o, T* w& \$ V1 l0 ~- m, R下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。. f7 L9 W& o9 V) W1 `
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。& W0 z6 R5 l; |1 D( k9 |# x, d9 \! Q
上传速度的计算方法
/ F9 T" N5 W0 {# h8 Y6 l* z上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。
, _& \' Y: x' g, E例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。 K5 l. E* U" n: m& e( c3 ^/ n' T

+ ]8 ^% K( L; N0 o上行速率比下行速率低的原因
5 v8 V. j0 x( E! ]8 _4 Q通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。. T# s* L4 k8 S1 L. }. L
所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。 |: {3 {) U% o" R# [
所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!" l) j$ B: p9 l" h* b
. f9 `6 P2 q0 B& r9 e c
" i% `9 u8 I, k* D; `- B% B; s# t

0 |0 q4 g1 r1 p( j" |5 e1 ^9 z ; O# k1 @7 t+ P. P+ t( M
/ h [1 M* H" J. U# g- I! u8 Y网络延迟 o5 J {2 D# {2 T c- `1 T; m
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
$ n8 a: S) o- a7 p) q# k& O: [6 m网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
" D* d4 I+ S L7 _. O2 m$ I , o- |0 W' X/ d
网络延迟一般分位以下几个级别:8 `0 ^/ t( i. x9 B3 O' A
# N1 }1 o2 Z: @! q; l5 x0 _" l
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅/ J/ ^" }2 b+ m: G
- 31~50ms:良好,可以正常游戏,没有明显的延迟情况
9 @+ d3 o: i# P6 f. G$ M - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿$ _/ |# ]" r9 Z0 X3 E
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象, f1 N4 I7 O4 b9 l# K
, S) l( u9 }% |% S

$ a% f Y" |( ~$ ~1 f& `' |$ @. W* a" X- D
网络带宽、网络速度和网络延迟之间的关系
, |& G1 M5 e8 ] R6 L9 _. v8 t前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。3 j% B0 [1 e$ x
那么,是不是带宽越高,网速越快,延迟一定越低呢?
) {- b! B6 X: Y/ Z4 Y其实不是的!
& B* D5 ]% O- D. {& T# _就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
0 l( [; ?+ u1 t7 q: ?: J影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。
# i4 V7 `( e" u6 P3 O+ e比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
% W+ y4 S# i' W, `就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。
( g0 o, K9 F0 x2 G更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
! ^! G. v9 h p
- r7 Y1 j% W0 X 4 p! ~0 K" J. H! S! g, K
7 t! Q+ ^4 i8 ~ p3 R) L
# d' ?3 K Q& m: q7 W# I
如何降低延迟
* m& x/ l4 L1 G& m% _( H其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。: M. g6 v0 t! l: G0 B
那么,如果自己玩游戏确实延迟很高,该如何解决呢?
7 {8 w/ e6 \% V1 _, y1 @/ S1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
* k/ f Q& s7 m$ z1 w2 s: t- T' i2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。
5 o8 n& Y( V* u% F3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。! S: B$ j# {! Y5 ], h1 f7 t0 @

/ i, A+ }$ g" Q) a5 Y' n* [
! G6 `) ?6 A1 i3 b p$ I , W3 i( r, P8 e6 i- ^

w, ~4 y6 t/ ]# q( f4 B/ [$ y【End】
3 k4 E7 J6 T& |; S; w( L! I' P
; _- |3 e3 y: v 热 文 推 荐
f) z4 A2 P: K" x& D& H. B, k5 J# b8 u y1 M* V5 P I
1 S j5 `+ x+ W3 o. d R @$ NSystem.out.println("点个在看吧!");
- ]# D3 J. ]7 c. |4 B, }console.log("点个在看吧!");; ~) R0 c" n5 N2 z; F2 Z7 l: k
print("点个在看吧!");
" R7 q; o' h: E& bprintf("点个在看吧!\n");
+ S! O" p. ], y1 Ocout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|