默认
打赏 发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”
阅读(77357) | 评论(3 收藏3 淘帖1 2
微信扫一扫关注!

【来源申明】本文原文来自:微信公众号“无线深海”,原题为“电磁波看不见摸不着,这个年轻人的奇思妙想改变了世界”。为了更好的内容呈现,即时通讯网在收录时内容有稍许调整,转载时请注明原文来源信息,请尊重原作者的劳动。


1、系列文章引言


1.1适合谁来阅读?


本系列文章尽量使用最浅显易懂的文字、图片来组织内容,力求通信技术零基础的人群也能看懂。但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获。如果您大学学习过《计算机网络》这门课,那么一定不要错过本系列文章。

特别推荐即时通讯开发者来阅读,因为针对移动弱网的问题,确实可以找到很多有价值的答案

友情提示:本系列文章可能涉及以下通信技术范畴,如您有兴趣,也可自行系统地学习:
IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_1.gif

1.2本系列文章的初衷


作为即时通讯(IM、消息推送等应用场景)相关技术的开发者人员来说,似乎了解跨专业的通信技术(这是大学通信工程专业类学生的学习内容),有点过于深入和底层了,因为一般来说熟练掌握逻辑层的TCP\IP相关协议、网络编程相关的应用技术就差不多能胜任这方面的本职工作了。

没错,确实是这样。但在开发IM、推送这类应用系统时,尤其在移动网络下,各种弱网问题,让人非常痛苦。

典型的弱网问题,比如:

  • 1)频繁掉线;
  • 2)丢包严重;
  • 3)网络抖动;
  • 4)网络延迟;
  • ........

那么,针对以上现象,怎么才能有底气的跟老板、客户、产品经理地解释以下问题?

  • 1)导致这些现象的根本原因到底是什么?
  • 2)怎么跟老板解释,要搞定在高铁上用好音视频聊天功能很困难?
  • 3)怎么跟客户解释P2P在3G、4G甚至5G网络下的成功率问题?
  • 4)怎么向客户说明,商场或人多场合下,明明信号很好,但你的APP确用不了?
  • .......

你说这些都是网络问题,APP代码无能为力。那么,你倒是讲讲到底是什么样的网络问题?能把人讲信服了,就可以甩锅给网络,不然只能是APP代码背锅了。现实吧!

所以,我们还是老老实实花点功夫来研究研究通信技术吧(通信技术直面的是网络通信物理层),至少遇到问题,不说给别人,至少给自已找到一个说的过去的解释。这才是一个优秀程序员的修养!

1.3本系列文章的价值


网上能找到的通信技术资料都太过专业或太不专业,要么都是搞网络工程方面的内行人编写的(内容专业但很枯燥难懂),要么就是外行的IT开发人员写的(很少见,且价值不大,因为不够专业,所以内容并不准确,参考价值很有限)。

既能让外行的普通程序员看懂,还能准确地讲明白通信技术知识,这样的资料简直比找金矿还难。因为普通程序员能接触到的网络编程、网络通信方面的资料多针对数据通信的逻辑层(比如:tcpip、socket等知识范畴),而通信技术涉及的是数据通信的物理层(交换机、路由器、天线、网络制式等),某种意义上来说,这是完全不同的技术方向。

好消息是,经过长时间的资料搜集,终于有了本系列文章,希望能给你带来帮助。

1.4拓展阅读


即时通讯网之前已经整理过《移动端IM开发者必读(一):通俗易懂,理解移动网络的“弱”和“慢”》、《移动端IM开发者必读(二):史上最全移动弱网络优化方法总结》、《现代移动端网络短连接的优化手段总结:请求速度、弱网适应、安全保障》这几篇初涉通信层的文章,但都因技术广度和深度有限,能带给读者的帮助比较局限。如果您看过这几篇文章,那么一定不要错过本次的《IM开发者的零基础通信技术入门》系列文章

另外,如果您对最基本的程序员本该掌握的网络编程知识都还不怎么了解的话,建议首先阅读网络编程懒人入门系列文章》、《脑残式网络编程入门系列》,以及更高深一点的《不为人知的网络编程系列文章》。

1.5番外:通信技术女神镇楼


IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_htlm.jpg
▲ 史上最高颜值科学杂志封面,人物为 “CDMA之母”——海蒂·拉玛(一个被演艺事业耽误的科学女神)

2、本系列文章目录


IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)
IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)
IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁
IM开发者的零基础通信技术入门(四):手机的演进,史上最全移动终端发展史
IM开发者的零基础通信技术入门(五):1G到5G,30年移动通信技术演进史
IM开发者的零基础通信技术入门(六):移动终端的接头人——“基站”技术
IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”》(* 本文
IM开发者的零基础通信技术入门(八):零基础,史上最强“天线”原理扫盲
IM开发者的零基础通信技术入门(九):无线通信网络的中枢——“核心网”
IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!
IM开发者的零基础通信技术入门(十二):上网卡顿?网络掉线?一文即懂!
IM开发者的零基础通信技术入门(十三):手机信号差?一文即懂!
IM开发者的零基础通信技术入门(十四):高铁上无线上网有多难?一文即懂!
IM开发者的零基础通信技术入门(十五):理解定位技术,一篇就够

3、本文内容概述


对于移动端开发者来说,开发的APP基本都将用于智能手机这种移动终端中,所以对智能手机肯定是很熟悉的,但是你如果要问“APP里的数据是怎么从智能手机里被传输到目的地的呢?”,怕是没多人能答出个所以然来。

所以本文将回归到无线通信的技术之魂——“电磁波”,尽量用通俗易懂的文字讲述这个稍显枯燥的通信技术基础知识。

4、电磁波的发现


“成功了,这就是电磁波!”

滋......滋......滋.....,一束微弱而美丽的蓝色电火花在两个铜球间之间穿梭跃动,伴随着一个年轻人兴奋地喊声。

这个年轻人就是赫兹,彼时的他正在为发现了电磁波而兴奋不已。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_1.jpg
▲ 赫兹

这看似平常的一瞬,却奠定了他在电磁学的地位。多年以后,频率的单位 (Hz )也以他为名,他的实验成果甚至为人类的通信方式打开了一扇新的大门。

在此之前,英国人麦克斯韦曾经提出了大名鼎鼎的麦克斯韦方程组,并预言了电磁波的存在。可是,电磁波这东西毕竟是看不见摸不着,当时是没有多少人相信的。

赫兹对此兴趣浓厚,详细研究了麦克斯韦的理论,并立志通过实验的方式来证明电磁波的存在。

依照麦克斯韦理论:“变化的电流能辐射电磁波”。于是赫兹根据电容器经由电火花会产生电流振荡的原理,设计了一套电磁波发生器。

赫兹将两个大的铜球作为电容,并通过铜棒连接在相隔很近的两个小铜球上。两个小铜球连出两根导线,接到一个感应线圈和一个电源之上。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_2.jpg
▲ 赫兹的实验装备

通电之后,两个小铜球之间就会产生电火花,电荷便经由电火花在两个大铜球之间来回穿梭,每秒能达到数百万次。这样就形成了变化的电流,会如麦克斯韦的预言的那样,会源源不断地往外辐射电磁波吗?

为了接收可能存在的电磁波,赫兹设计了一个圆形导线,开了个缺口,同样焊上了两个离的很近的小铜球。这就相当于一个原始的天线了。

赫兹把这个接收器放在了离电磁波生成器10米远的地方,如果真有电磁波的话,导线接收之后将会产生电流,并在这两个小铜球之间也产生电火花。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_3.jpg
▲ 赫兹实验的原理

他关掉灯,并拉上了所有的窗帘,形成了一个暗室,目不转睛地观察着接收器上的两个小铜球。结果本文开头的一幕发生了,他发现检波器上确实有小火花产生。

电磁波就这样被发现了!

赫兹后来又通过多次试验,并测出了电磁波的波长,再把波长乘以电流变化的频率,得出了电磁波传播的速度,数值恰好是30万公里/秒,也就是光速

至此,麦克斯韦那惊人的预言得到了证实:电磁波不仅存在,而且无处不在,我们司空见惯的可见光就是电磁波的一种

5、电磁波的秘密


5.1原子的秘密


其实,赫兹也是站在巨人的肩膀上。

早在古希腊时代,就有学者提出,组成物质的最小单位是不可再细分的原子。虽然这个说法不是那么准确,但这样的思想却是现代科学的启蒙。

原子是由原子核和绕原子核高速运转的电子组成的,其中原子核带正电,电子带等量的负电。我们把带正电或者负电的粒子称为电荷。

电荷异性相吸,原子核能带多份正电,而每个电子只能带一份负电,这样每个原子都是由一个原子核加上在各自轨道上围绕着原子核高速运转多个电子组成的。

原子核的正电荷电子带的负电中和起来,就像正数和负数加起来等于零一样,原子核跟电子结合在一起形成了对外不表现电性的原子。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_4.jpg
▲ 原子模型图

这个系统像极了我们熟知的太阳系,太阳相当于原子核,绕着太阳转的八大行星就相当于是绕着原子核转的8个电子。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_5.jpg
▲ 太阳系

5.2电流的磁效应


电是自然中最基础的现象之一,其蕴含的巨大能量就这样沉默地被囚禁在原子之内。

然而事情总有例外。有一类叫做金属的物质,最外层轨道上的电子数很少,因为离原子核太远,受到的引力也小,这些电子就能够从原子钟脱离出来,成为自由电子,能在整条金属线钟自由穿梭。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_6.jpg
▲ 导体中的自由电子

如果给金属线的一段端的加上一个强大的带正电的物体,这些带负电的自由电子就会因为被正电吸引,齐刷刷地奔向正电物体,像抢女朋友一样争先恐后地样向运动,于是这些流动的电子就形成了电流。

电荷之所以能在没有接触的情况下同性相斥,异性相吸,是因为它们的周边散布着一种被称为“电场”的神秘物质。这种物质看不见摸不着,没有气味也没有重量,却像一双无形的手一样,沿着电力线的轨迹发力,把正电荷负电拖拽到一起,把同样性质的电荷推地远远的。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_7.jpg
▲ 电场

当电流产生时,这些散步在电荷周围的电场也开始了定向运动。根据相对论效应,运动的物质会导致时空的扭曲,于是科学家就检测到了另外一种看不见摸不着,并且没有重量和气味的物质:磁场。

这种电生磁的现象叫做电流的磁效应。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_8.jpg
▲ 电流的磁效应

上图展示了电流的磁效应,导线通电之后,周围产生的磁场使磁针发生了偏转。

5.3磁场也能产生电场


磁场这种物质我们从小就已经很熟悉了,拆卸喇叭里的磁铁玩也曾经是作者小时候最大的乐趣。磁铁似乎有种神奇的力量可以隔空发力把铁吸引过去,现在这种力量的来源已经呼之欲出:这就是磁场的作用。磁场沿着磁力线发力,对磁场中的铁或者另一块磁铁施加力的作用。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_9.jpg
▲ 磁场

刚才说到变化的电场产生磁场,实验证明,变化的磁场也能产生电场。

磁生电是法拉第发现的。

其原理是:闭合电路的一部分导体做切割磁力线运动时,在导体上就会产生电场和电流。这个现象被叫作电磁感应现象。

电场和磁场这一对好基友就这样电生磁,磁生电,你生我,我生你,循环往复,相互依存,互为因果,不分彼此,于是统称为电磁场。

5.4电磁波的产生


电磁场是物质存在的一种特殊形式。电荷在其周围产生电场,这个电场又以力作用于其他电荷。磁体和电流在其周围产生磁场,而这个磁场又以力作用于其他磁体和内部有电流的物体。

电磁场也具有能量和动量,是传递电磁力的媒介,它弥漫于整个空间。

根据麦克斯韦的预言:电磁场就这样在电生磁,磁生电的过程中以光速在空间上不断传播开来,像潮水一样一波一波地向前涌动,形成了电磁波。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_10.gif
▲ 电磁波

上图中红色的线表示电场,蓝色的线表示磁场,横轴表示电磁波的传播方向。可以看出,电磁波在电池和磁场不断变化中向前传播,方向同时跟电场和磁场的方向垂直。

6、无线通信的奇迹


赫兹发现了电磁波,但他还没有来得及思考这种神秘力量传播背后的价值,一场突如其来的疾病,让这位才华横溢的科学巨星黯然陨落,年仅37岁。

接下来,一个来自意大利的年轻人接过了从赫兹点燃的烽火。

这个年轻人仅20岁就造出了世界上第一台无线电发报机,随后还发明了定向天线和雷达等设备。而且他从来没有受过正统的教育,几乎完全靠的是自学。

后来,他还成为了第一个以工程奖贡献获得诺贝尔物理奖的发明家。

他,被誉为“无线通信之父”。

他,就是马可尼。

看下面这照片,一脸深情地摆弄着他的发明,简直是英气逼人。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_11.jpg
▲ 马可尼

1874年,马可尼出生在意大利的一个贵族家庭里,是个名副其实的“富二代”。

一次偶然,马可尼接触到了赫兹著名的电火花实验。

那一刻,他的头脑就完全被这奇妙事物完全占据了,并敏锐地感觉到了这里面蕴藏着巨大商业的价值。

他想到:赫兹既然能在几米外测出电磁波,那么只要有足够灵敏的检波器,也一定能在更远的地方测出电磁波。那是否能用这个电磁波传递有用的信息,并在远处复现这些信息呢?

自此,他进行了一次次的实验,电磁波传输的距离也越来越远:从0.3、1.2扩充到3.7公里。

后来,马可尼跨海实验成功,将无线电通信距离扩大到了15公里。

在1897年7月,他开始着手将自己的这些无线电研究商业化,并且在英国伦敦成立了无线电报通信公司。

此时的电报采用摩尔斯电码。这是一种早期的数字通信形式,但是它不同于现代只使用0和1两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个词之间中等的停顿以及句子之间长的停顿。

这是最早的对字母的编码表。

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_12.jpg
▲ 莫尔斯电码

在20世纪初,仅27岁的马可尼再次创造新的奇迹。电磁波携带的莫尔斯电码顺利越过大西洋,从英国到达美国,足足穿越了近3千公里!

IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”_13.jpg
▲ 马可尼的无线电报机

马可尼的一生,见证了无线通信的发展史。在他20岁发明无线电报的时候,无线通信事业还处在摇篮之中;而当他满载荣誉离开的时候,无线通信已经让我们的生活方式发生了翻天覆地的变化。

1968年,为纪念马可尼对广播事业的贡献,并且感谢马可尼无线电报公司于1962年协助香港发展超短波广播, 香港政府把一条路命名为“马可尼道” 以作纪念。

今天,我们继续沿着马可尼开拓的道路,正在向5G飞奔而去。对于活跃于即时通讯网的即时通讯技术开发者来说,载着用户社交信息飞奔向前的,正是这匹看不见的“千里马”——电磁波。

附录:更多网络编程干货文章


计算机网络通讯协议关系图(中文珍藏版)[附件下载]
TCP/IP详解 - 第11章·UDP:用户数据报协议
TCP/IP详解 - 第17章·TCP:传输控制协议
TCP/IP详解 - 第18章·TCP连接的建立与终止
TCP/IP详解 - 第21章·TCP的超时与重传
技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
通俗易懂-深入理解TCP协议(上):理论基础
通俗易懂-深入理解TCP协议(下):RTT、滑动窗口、拥塞处理
理论经典:TCP协议的3次握手与4次挥手过程详解
理论联系实际:Wireshark抓包分析TCP 3次握手、4次挥手过程
计算机网络通讯协议关系图(中文珍藏版)
UDP中一个包的大小最大能多大?
P2P技术详解(一):NAT详解——详细原理、P2P简介
P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解
P2P技术详解(三):P2P技术之STUN、TURN、ICE详解
通俗易懂:快速理解P2P技术中的NAT穿透原理
高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少
高性能网络编程(二):上一个10年,著名的C10K并发连接问题
高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了
高性能网络编程(四):从C10K到C10M高性能网络应用的理论探索
高性能网络编程(五):一文读懂高性能网络编程中的I/O模型
高性能网络编程(六):一文读懂高性能网络编程中的线程模型
不为人知的网络编程(一):浅析TCP协议中的疑难杂症(上篇)
不为人知的网络编程(二):浅析TCP协议中的疑难杂症(下篇)
不为人知的网络编程(三):关闭TCP连接时为什么会TIME_WAIT、CLOSE_WAIT
不为人知的网络编程(四):深入研究分析TCP的异常关闭
不为人知的网络编程(五):UDP的连接性和负载均衡
不为人知的网络编程(六):深入地理解UDP协议并用好它
不为人知的网络编程(七):如何让不可靠的UDP变的可靠?
网络编程懒人入门(一):快速理解网络通信协议(上篇)
网络编程懒人入门(二):快速理解网络通信协议(下篇)
网络编程懒人入门(三):快速理解TCP协议一篇就够
网络编程懒人入门(四):快速理解TCP和UDP的差异
网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势
网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门
网络编程懒人入门(七):深入浅出,全面理解HTTP协议
网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接
网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?
技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解
让互联网更快:新一代QUIC协议在腾讯的技术实践分享
现代移动端网络短连接的优化手段总结:请求速度、弱网适应、安全保障
聊聊iOS中网络编程长连接的那些事
移动端IM开发者必读(一):通俗易懂,理解移动网络的“弱”和“慢”
移动端IM开发者必读(二):史上最全移动弱网络优化方法总结
IPv6技术详解:基本概念、应用现状、技术实践(上篇)
IPv6技术详解:基本概念、应用现状、技术实践(下篇)
从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路
脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手
脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
脑残式网络编程入门(三):HTTP协议必知必会的一些知识
脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)
脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?
脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
以网游服务端的网络接入层设计为例,理解实时通信的技术挑战
迈向高阶:优秀Android程序员必知必会的网络基础
全面了解移动端DNS域名劫持等杂症:技术原理、问题根源、解决方案等
美图App的移动端DNS优化实践:HTTPS请求耗时减小近半
Android程序员必知必会的网络通信传输层协议——UDP和TCP
>> 更多同类文章 ……

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:鹅厂7年终有离开之日,记离职鹅厂最后30天的真实心路历程下一篇:IM开发者的零基础通信技术入门(八):零基础,史上最强“天线”原理扫盲

本帖已收录至以下技术专辑

推荐方案
评论 3
感谢群友勘误。

原:“5.1原子的秘密”节中,“其实,赫兹也是站在居然的肩膀上。”修订为“其实,赫兹也是站在巨人的肩膀上。

了解了
签名: read the fucking source code
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部