|
|

; Y: `. ~ H/ R/ p! k5 m本文经授权转载自漫话编程(ID:mhcoding)
6 U7 w; j! i" n+ {7 d% g; O/ y2 g周末,我正在准备年度述职的PPT,女朋友在一旁打王者荣耀,突然她好像是越塔送了个人头,很不高兴的问我。
# ^! i" f1 Y' W5 z
+ L2 L9 B$ L. f4 P, D0 F; @1 U ! G h3 O+ A& Q" R j1 x, L% D
 
' ?7 ~& Q. x* L7 c大概过了10分钟左右,我听到了一声:"Defeat",我知道,今天这件事可能又要怪我了。# q. f4 ^( [; J2 e% o( o* {) h

! F( s' M# ]7 N5 A9 }2 x" `
T! R( v: w: P7 H% k
$ ~8 j+ S1 X0 Q # ?4 i/ Z9 W# l: A/ o9 Q" m. ~
1 z( ], h0 m7 ] }% Y, ]9 E
网络带宽9 M& v! X( y4 T2 n+ W/ S
带宽,英文名bandwidth,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
U" U; x" r! i3 T1 \数字信息流的基本单位是bit(比特),时间的基本单位是s(秒),因此bit/s(比特/秒)是描述带宽的单位,更长见的是使用 bps(Bit Per Second),称之为比特率表示带宽的单位。比特率越高,每秒传送数据就越多。
# y2 F9 n7 k4 h2 m3 y " N3 N0 y/ D! W9 Q1 K3 ~
我们在电信运营商那里办理宽带时,他们定义的100M、200M等指的就是网络带宽,其单位就是bps。如100Mbps,这的就是100M比特率的带宽。
0 P. N8 n& T4 K8 Y- B; A更严格的说,电信卖给我们的带宽叫做用户接入带宽,是指用户宽带接入能支持的最高信息传送比特率。假如用户购买的是100M宽带,即电信保证的是从用户光猫到电信交换机之间的带宽是100M,但是网络请求还可能需要通过很多其他的交换机节点,这些交换机之间的带宽也同样影响着终端用户。所以实际用户所使用到的带宽是小于等于100M的。
1 k: l8 R* i. h }举一个简单的例子,如果把宽带比做道路,那么带宽表示的就是单位时间内可以通过道路某一个点的数据量,这其实指的就是道路的宽度。带宽越大,就类似高速公路的车道越多,其通行能力越强。
! _% p+ t h* P # a: K; ~* z* J3 w3 m3 j
现在,政府在你家门前修了一段公路,是双排四车道的。但是,这并不表示你从家到公司经过的所有道路都是双排四车道。即,你在从家道公司这段路上,能享受的最宽的道路是双排四车道。
" V0 b" D3 g& I/ K通常,我们称这个用户可享受的真实带宽为吞吐量。一般情况下,吞吐量都会比自己购买的带宽要低。8 f$ I8 D" U: }& S/ w
影响网络中带宽和吞吐量的主要因素有:. b& B9 T2 }' c" ^3 ~& S% L9 e$ k
, \3 _2 T7 L" l# z# E; L3 T. S& _- 网络设备(交换机、路由器、集线器);
6 Q6 h: g+ g( J8 _5 J* ]& e - 拓扑结构(即网络构造形状,如星型、环状);
8 f5 e2 g! @2 G - 数据类型;
% `. M' o. Z0 ]0 s- Z - 用户的数量;; V$ R, X$ J* k9 i4 ]- C5 K D
- 客户机与服务器(如系统总线、磁盘性能、网络适配器、硬件防火墙);# X) }4 [" N+ ~( T: E) s
- 电力系统和自然灾害引起的故障率。
, m a, I- j, x+ v* r( o( X

$ q0 O1 t, {6 [0 Q A3 p. P) {
6 S. f0 {7 f$ ?; | w; h0 Y5 l
- W0 W. ]" r% {. o$ U网络速度
A4 F% k5 V9 g {网络速度一般是指电脑或手机上网时,上传和下载数据时,请求和返回数据所用的时间长短。1 p& Z0 k0 m1 Q% ^# X) r- `
可想而知,网络速度肯定是和带宽有关系的。不同的带宽所具有的宽带速率肯定是不同的,这里说的宽带速率我们一般分位上行速率和下行速率。
) s4 A5 f$ Q& H }' k
8 @4 |/ R' C/ [- L/ T- {9 T, K- 上行速率,是指用户向互联网发送信息时的数据传输速率。比如:你向QQ空间传送图片、向百度云服务器传送图片或视频等。“上行速率”决定上传信息的速度。( S8 v6 S) u1 B# ~1 @) g
- 下行速率,是指互联网向用户发送信息时的数据传输速率,比如打开浏览器,从网上下载文件等。“下行速率”决定下载信息的速度。
5 {$ m7 I S( a: d _; l0 g1 a 中国电信宽带上下行速率对照关系如下:+ `# V0 K2 Z$ T9 {( F1 r$ R: L
, y7 m9 R) J# d/ q! d
200M的宽带,下行速率是204800kbps,上行速率是10240kbps。; r9 y: Y2 S; g" ~
. ?1 j( Y; L; U5 A$ q

/ @, k5 `( {& K% n速率的单位是:比特/秒(bit/s)或者叫做:比特率(bps),而速度的单位:字节/秒(Byte/s)。( L5 u/ E! g* m2 q( }+ }8 Z
而根据换算关系:1Byte=8bits(1字节为8比特),所以速率和速度之间的关系是:速率/8 = 速度。0 `! h8 ? m* F1 I
下载速度计算方法1 ]5 W! e9 k$ N: \% ^
下载速度与下行速率的数值对应关系为:极限下载速度=下行速率/8。6 }. {3 r7 x* F" b; \, w0 ]
例如200M宽带,其极限下载速度为 204800k/8=25600k字节/秒(Mbps) =25M/s 。当然,这只是理论值。
' C$ Z+ L/ R* ~, G上传速度的计算方法; ~( E/ Y) ^$ J- ~
上传速度与上行速率的数值对应关系为:上传速度=极限上行速率/8。2 N& T) X- y5 C' @
例如200M宽带,对应的上行为10240kbps,那么理论的上传速度=10240k/8=1280k字节/秒 = 1.25M/s。当然,这也是理论值。
/ h+ T' c; m/ I T) @) x6 L! k # t1 t2 l( O+ l( b5 _
上行速率比下行速率低的原因
9 B) S N& I5 [0 g通常情况下,上行速率要比下行速率低,主要是受网络技术及线路质量的约束,同时也是为了防止上行速率过高,对整个网络形成冲击,造成网络阻塞,影响网络安全。
) o9 H& u; S. Y! H, n所以,对于200M的宽带,用户可以享受的最高下载速度是25M/s,最高上传速度是1.25M/s,这只是最理想情况下,具体情况还要受很多因素的影响。这个数据不同地区不同运营商可能也会有所不同。
% c* p) q" J# H% v. B0 i$ }% V& i所以,千万不要认为,办了200M的宽带,网速就能达到200M了!!!% G& _) a2 T3 z4 V
1 f! a, v- ~8 h0 }. v
?3 P. ]" e4 n( p* J, o
9 u3 N, z' C1 V! x. w, i* E! D
1 a8 c; i/ ^6 n
/ x& M8 B9 g( ^( x网络延迟+ V( W% R* Y0 A. @* U4 m+ }
网络延迟,表示在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。/ S" T' s( B5 V* \% z& B" o
网络延迟,最明显的表现就是玩游戏卡顿。因为在玩游戏的过程中,用户操作手机,手机需要将用户的操作传到服务器,服务器再将操作后的画面回传给用户,如果这个数据传递时间过长,表示出来就是页面卡顿,即网络延迟高。
8 q) `4 n# l$ R& h1 N3 e- M& w
/ d J9 v0 k# R网络延迟一般分位以下几个级别:
0 i! L: P, r/ r, ~# |0 g0 N! I! o7 w" J
- 1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
q+ ~8 j, Q$ H - 31~50ms:良好,可以正常游戏,没有明显的延迟情况
' ?* ?; C' w h0 A+ l - 51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿/ Z; t: v c5 w
- 100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
# `- U1 ^3 V8 @- I# z7 s* Z* k9 h/ Q 
4 I1 t, ?- t' o+ f* H 9 D' a. P- O1 z& ~8 W. Q9 z
: J; w& @6 ?' l( r6 `网络带宽、网络速度和网络延迟之间的关系$ _( w. `8 L- |( e% J' G8 s
前面我们说过网络速度和网络带宽之间的关系,理想情况下,带宽越高网速越快。$ m$ \# x0 K' g O* v# U
那么,是不是带宽越高,网速越快,延迟一定越低呢?
; ^ h, P* E! a6 w; L5 A: x+ {& o其实不是的!/ T4 C1 F# _$ b/ s% X! L7 U5 M1 p& h
就像我们玩游戏一样,其实对于很多游戏来说,对网速的要求并没有那么高,因为每秒钟需要的流量并不多,其实一般的游戏,512KB都够用的。游戏延迟和网速的关系并不大。
; s. [4 P# B6 R5 B影响网络延迟的主要因素是目标服务器之间的节点数、节点性能和各节点之间的距离。( K9 I z7 e. ?7 N, E7 d
比如我们要驾车从A点到B点去,我们选择道路的时候,首先考虑的肯定是路线长短、红绿灯多少、事故发生率灯。虽然道理的宽窄可能从某些程度上影响了我们的选择,但是并不是决定性的。
4 Z7 q, [- }8 `) }% |就像同样是玩王者荣耀的游戏,如果王者荣耀的服务器部署在深圳,那么深圳的用户和哈尔滨的用户相比,肯定是深圳的用户玩游戏要更加流畅一些。: E6 t3 g: ~% {; U
更加明显的就是玩那种境外的游戏的朋友肯定更加有体会。
6 I9 Q' ^' ]/ R0 e0 G8 p
% m9 ~# l- g! s4 m: O8 Y W
2 t. Y+ I$ c/ z* s2 G% T' D 6 e& ?2 a. ^. }6 T% r5 \
: ?: x- o5 |8 w- H" m
如何降低延迟
& |$ }' {4 v- _3 `其实,如果我们玩的是国内的游戏的话,地域的影响目前对于广大游戏玩家来说并不算很大,因为很多游戏公司都会在全国多个地方架设机房。这样可以就近连接服务器。这也是很多服务器分为东北1区、浙江区、北京区等的原因了。
( P& g/ _7 \- ~* X那么,如果自己玩游戏确实延迟很高,该如何解决呢?
+ L& m) D; [* J, e# n" L6 T1、如果自己的宽带很低的话,第一步肯定是提升宽带。100M和200M的用户来说,区别不大。但是,如果是5M和50M之间可能还是有区别的。
6 [. b) F( L: N" e2、换运营商或者换区。有些游戏有电信区、联通区,那么尽量选择和自己的网络供应商相同的区来玩,这样可以大大减少网络延迟。% U: y$ o4 f8 D2 r7 Z
3、使用加速器。游戏加速器的原理是通过选择新的网络节点,绕过原来的延迟较高的节点,以此达到游戏延迟降低的效果。2 w! l! `3 v! X8 ~1 _' J

/ j$ r- D7 N* I! l2 r6 y 7 u3 C6 Q1 u& [. @- J' ^' D

+ q( B5 t$ l3 Q( j ! @* M2 P$ G! I k6 B
【End】# F0 ], b2 s* u2 |& I) M
: h8 F. B- z% q' `
热 文 推 荐
5 u6 H# b* X, ?* l. x* A; i% {" r) R$ ]! p- B5 Z4 q$ q
/ C' v7 d- Y. H% j8 ?
System.out.println("点个在看吧!");4 e: n4 p" g1 u0 m
console.log("点个在看吧!");
/ Y+ ^! ?, z' U5 w+ G3 b mprint("点个在看吧!");
6 ~- ^2 U: A7 |4 q4 S" nprintf("点个在看吧!\n");2 E @6 O [! j! Y; w. [0 q5 u" ]
cout |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|