1、系列文章引言
1.1 适合谁来阅读?
本系列文章尽量使用最浅显易懂的文字、图片来组织内容,力求通信技术零基础的人群也能看懂。但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获。如果您大学学习过《计算机网络》这门课,那么一定不要错过本系列文章。
特别推荐即时通讯开发者来阅读,因为针对移动弱网的问题,确实可以找到很多有价值的答案。
友情提示:本系列文章可能涉及以下通信技术范畴,如您有兴趣,也可自行系统地学习:
1.2 本系列文章的初衷
作为即时通讯(IM、消息推送等应用场景)相关技术的开发者人员来说,似乎了解跨专业的通信技术(这是大学通信工程专业类学生的学习内容),有点过于深入和底层了,因为一般来说熟练掌握逻辑层的TCPIP相关协议、网络编程相关的应用技术就差不多能胜任这方面的本职工作了。
没错,确实是这样。但在开发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 番外:通信技术女神镇楼
▲ 史上最高颜值科学杂志封面,人物为 “CDMA之母”——海蒂·拉玛(一个被演艺事业耽误的科学女神)
(本文同步发布于:http://www.52im.net/thread-2356-1-1.html)
2、本系列文章目录
《IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)》
《IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)》(* 本文)
《IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁》
《IM开发者的零基础通信技术入门(四):手机的演进,史上最全移动终端发展史》
《IM开发者的零基础通信技术入门(五):1G到5G,30年移动通信技术演进史》
《IM开发者的零基础通信技术入门(六):移动终端的接头人——“基站”技术》
《IM开发者的零基础通信技术入门(七):移动终端的千里马——“电磁波”》
《IM开发者的零基础通信技术入门(八):零基础,史上最强“天线”原理扫盲》
《IM开发者的零基础通信技术入门(九):无线通信网络的中枢——“核心网”》
《IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲》
《IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!》
《IM开发者的零基础通信技术入门(十二):上网卡顿?网络掉线?一文即懂!》
《IM开发者的零基础通信技术入门(十三):手机信号差?一文即懂!》
3、本文内容概述
本文(上下两篇)将带你了解当今通信交换技术最初的模样以及发展过程。学习技术更要了解技术的前世今生,技术本无聊,故事很有趣。
接上篇《IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)》,本篇里我们需要暂停一下,回过头来看看我们国家的交换机发展情况。
4、我国电话事业的起步
实际上,我国的电话事业起步并不算晚。早在清朝末年,我国就有了电话和电话交换网络。当然,那个时候还是人工交换机时代。
▲ 清朝的话务员和人工交换机
1882年,我国第一部磁石电话交换机在上海开通。1904年,北京的第一个官办电话局在东单二条胡同开通,当时是100门人工交换机。七七事变后,日本军队攻入北京。出于统治需要,日伪政府新建了大量的步进制自动电话交换机,替换了人工交换机。
▲ 日伪时期的步进制交换机
到1949年,当时我国的电话普及率不到0.05%,全国的电话总用户数只有26万。使用电话,只是少数人的特权。解放后,限于条件,我国电话交换机主要以人工交换机为主,步进制交换机为辅。不过,我们也开始研制自己的纵横制电话交换机。
▲ 建国初期邮电机房的工作人员
5、我国自研的自动电话交换机开始使用
1960年,我国自行研制的第一套1000门纵横制自动电话交换机在上海吴淞局开通使用。
6、我国通信技术曾一度陷入40年的停滞期
后来,因为众所周知的原因,我国的通信技术发展进入了长期的停滞阶段。纵横制交换机,也开始了长达40年的服役。
▲ 纵横制交换机
一直到改革开放初期,我们都还在使用纵横制、步进制交换机,甚至是人工交换机,完全看不到程控交换机的影子。
▲ 改革初期的人工交换机话务员
当时我国电话交换网络的发展水平,至少落后发达国家20年。从数据就能看出来,1978年,全国电话普及率仅仅为0.38%,中国拥有的话机总数,还不到世界话机总数的1%。直到进入80年代,我们的电话交换网络才算开始重新艰难起步。当时改革刚刚开始,经济和社会复苏,老百姓的通信需求非常迫切。而邮电相关部门一没技术(国际封锁),二没资金(自己穷),只能引进国外的“落后”技术,甚至是淘汰下来的产品,仓促应对。
▲ 邮电局的公共电话亭,人满为患
当时安装一部电话需要上万元,还要单位介绍信,就算这样,还要等好几个月,甚至一年半载1982年,福建福州引进并开通了日本富士通的F-150万门程控电话交换机,轰动全国。
▲ 1984年,上海贝尔电话设备有限公司成立——这是我国第一个研制程控电话交换机的合资企业
7、通信技术的“七国八制”混乱时期
当时冷战尚未结束,包括程控交换机在内的通信技术都受到“巴统”(输出管制统筹委员会,总部在巴黎)的封锁和限制,我们是买不到的。通过上海贝尔来制造,都属于曲线救国。1985年,闻风而动的AT&T、诺基亚、爱立信,纷纷跑来设立办事处。于是乎,在这些国外通信企业的“帮助”下,我们国家很快就进入了“七国八制”的混乱发展阶段。七国八制:当时中国通讯市场上,总共有8种制式的机型,分别来自7个国家。
▲ 七国八制
8、自主通信产业开始崛起
全国上下,都是用的国外进口设备。而这些不同制式的交换机互不相通,造成了中国通信网络的一片混乱。然而,在混乱之下,中国的自主通信产业开始崛起了。越来越多的中方技术人员通过引进的设备技术进行学习、成长,越来越多的国营和民营资本开始进入利润丰厚的通信产业。
▲ 机房正在学习的通信技术人员
80年代中后期,大量的中国通信设备制造企业如雨后春笋一般涌现。它们的主要研发目标,就是程控交换机,尤其是技术含量较低的小门数用户交换机。这里面,就有两家日后成长为世界级通信巨头的企业——华为和中兴。
▲ 创业早期的任正非(左一),他创办的华为,最开始就是代理香港一家公司的小型交换机起家。
▲ 中兴通讯创始人侯为贵(左四),中兴也是先代理,后研发
当时,虽然“七国八制”瓜分了中国通信市场,但是,有一块市场空白被这些巨头给“遗忘”了,那就是农村。由于农村线路条件差、利润薄,国外厂商都没有精力或者不屑去拓展。而中国交换机厂商抓住了这个宝贵的机会。1992年1月,中兴通讯ZX500A农话端局交换机的实验局顺利开通,由于性价比高,符合要求,获得了巨大的成功。
▲ 中兴的程控交换机研发
到1993年,中兴2000门局用数字交换机的装机量已占全国农话年新增容量的18%。
▲ ZX500生产鉴定会
无独有偶,C&C08A型机是华为公司1993年自主开发的第一代数字程控交换机,也在农话市场大赚特赚。
▲ 华为C&C08
仅靠农村市场是不够的,而且,小门数交换机也不可能有很好的未来。于是,两家中国企业迅速调整战略,很快推出了万门以上的程控交换机。1995年11月,中兴通讯自行研制的ZXJ10大容量局用数字程控交换机获原邮电部电信总局颁发的入网许可证,该机终局容量可达17万线。
▲ 中兴ZXJ10
同年,华为也推出了万门机的C&C08C型机。
▲ 华为C&C08
9、中国通信史上的重要人物:邬江兴
也是在1995年,由原电子工业部第五十四研究所和华中科技大学联合研制开发的EIM-601大容量局用数字交换机通过了部级鉴定。凭借EIM-601技术,金鹏电子诞生了。
与中兴和华为的小作坊起家相比,大唐电信的起点要高得多。虽然大唐电信于1993年成立,但是它背靠原邮电部电信科学研究,技术与人员均来源于后者。1986年邮电部一所就研制出了DS-2000程控数字交换机,而1991年10所又研发出了DS-30万门市话程控交换机,并于次年投入商用。1995年,新成立的大唐推出了SP30超级数字程控交换机,容量可达10万门以上。
这里还有一个人物不得不提,他就是在中国通信史上写下重要一笔的邬江兴。
▲ 邬江兴
1991年,年方38岁的解放军信息工程学院院长邬江兴主持研制出了HJD04(简称04机)万门数字程控交换机,从而一举打破了国外厂商的垄断。当时,中兴与华为仍处于千门交换机的水平。
▲ HJD04(04机)
▲ 04机鉴定会
10、中国通信技术企业逐渐形成了“巨大金中华”的局面
后来,在04机技术基础上,成立了巨龙通信设备有限公司。短短3年之内,其累计总销售额高达100多亿元,销量超过1300万线,成绩相当惊人。
就这样,巨龙、大唐、中兴、华为和金鹏五朵交换机领域的金花(也称为“巨大金中华”)突破了国外厂商的重围,凭借低廉的价格和政府支持,站住了脚跟,并一步一步改变了中国通信行业的格局。不过,后来因为种种原因,五朵金花有的早早凋谢,有的更加艳丽,完全走向了不同的命运。现在看来,实在令人唏嘘。
11、90年代,互联网开始兴起
到了90年代,信息技术的发展速度简直可以用“一跃千里”来形容。伴随计算机的普及,互联网开始兴起,并迅速发展壮大,逐渐影响我们的生活。
程控数字交换与数字传输相结合,构成了综合业务数字网(ISDN)。它通过普通的铜缆,以更高的速率和质量传输语音和数据,不仅实现电话交换,还能实现传真、数据、图像通信等的交换。多媒体时代,正式到来。在技术的不断进步下,我们的交换方式,从空分,逐渐变成了时分,频分(波分)。我们的通信介质,也从电缆逐渐变成光缆。最重要的一个变化,就是通信方式。以前只有电报、电话,现在,移动通信崛起,手机开始成为人们的新宠。
▲ 手机(大哥大)
12、新世纪,电路交换机退出历史舞台,分组交换机开始大显身手
这一切的背后,是交换技术的更新迭代。以语音为主的电路交换机,逐渐开始退居二线。以数据业务为主的分组交换机,开始占据主导地位。
进入21世纪后,传统电话交换机淘汰提速,程控交换机陆续开始退出历史舞台。
▲ 程控交换机下电退网
而NGN,可以说是固定电话网络最后的谢幕了。
说到NGN这个词,大家一定都听说过。但是实际上,很少有人能够准确说出NGN到底是什么。和NGN经常一起出现的概念名词,还有“软交换”,也经常让人迷糊,分不清它和NGN之间的关系。
NGN,就是Next Generation Network(下一代网络)。之所以大家对这个概念分不清,就是因为它的名字取得不好,非常有混淆性。
从广义上来说,NGN是在“这一代网络”的基础上,采用新技术,演进出来的“新一代网络”。“这一代网络”,就是指传统PSTN(公共交换电话网络)网络,可以简单理解为程控电话交换机网络 。从狭义上来说,NGN是一种网络模型,由很多设备组成。这些设备里面,就包括软交换设备。
▲ 传统电路交换和NGN的对应关系
坑爹的是,“软交换”也是一个带有广义和狭义多重理解的概念。从广义来说,“软交换”是相对“硬交换”而言的。什么是硬交换呢?就是传统程控交换机那种,所有的功能都做在一起,集合在一个设备里面。相当于一个黑盒(可以看上面的图,左边的黑框),对外不可见。软交换,就是把这个黑盒给打破了,拆分开,分为不同的功能实体。拆开的目的,就是各司其职,灵活调度,有利于功能和容量扩展。狭义的“软交换”,就是指的具体一种设备。例如华为的SoftX3000,中兴的SS1B,就是软交换设备,主要负责呼叫和会话控制。
▲ 华为SoftX3000
13、展望未来
如今,NGN也要退出历史舞台了。即将取代它的,就是大名鼎鼎、令人胆寒的IMS(IP多媒体子系统)。
总而言之,如今已经是分组交换的天下,传统语音交换早已成了昨日黄花,渐渐离我们远去。
交换技术,一路走过了140年的发展历程,不断更新换代,不得不让人感慨技术的日新月异,科技的飞速进步。当然,这离不开一辈又一辈通信人的执着追求和努力付出。没有传承和积累,何来今日之辉煌?
展望未来,交换技术将走向何方?会不会出现新的颠覆性的交换方式?何时出现?这一切问题,就只能让时间来告诉我们答案了。
附录:更多网络编程干货文章
《技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)》
《通俗易懂-深入理解TCP协议(下):RTT、滑动窗口、拥塞处理》
《理论联系实际:Wireshark抓包分析TCP 3次握手、4次挥手过程》
《P2P技术详解(一):NAT详解——详细原理、P2P简介》
《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解》
《P2P技术详解(三):P2P技术之STUN、TURN、ICE详解》
《高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少》
《高性能网络编程(二):上一个10年,著名的C10K并发连接问题》
《高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了》
《高性能网络编程(四):从C10K到C10M高性能网络应用的理论探索》
《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》
《高性能网络编程(六):一文读懂高性能网络编程中的线程模型》
《不为人知的网络编程(一):浅析TCP协议中的疑难杂症(上篇)》
《不为人知的网络编程(二):浅析TCP协议中的疑难杂症(下篇)》
《不为人知的网络编程(三):关闭TCP连接时为什么会TIME_WAIT、CLOSE_WAIT》
《不为人知的网络编程(七):如何让不可靠的UDP变的可靠?》
《网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势》
《网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门》
《网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接》
《网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?》
《技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解》
《现代移动端网络短连接的优化手段总结:请求速度、弱网适应、安全保障》
《移动端IM开发者必读(一):通俗易懂,理解移动网络的“弱”和“慢”》
《移动端IM开发者必读(二):史上最全移动弱网络优化方法总结》
《从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路》
《脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手》
《脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?》
《脑残式网络编程入门(三):HTTP协议必知必会的一些知识》
《脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)》
《脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?》
《脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?》
《以网游服务端的网络接入层设计为例,理解实时通信的技术挑战》
《全面了解移动端DNS域名劫持等杂症:技术原理、问题根源、解决方案等》
《美图App的移动端DNS优化实践:HTTPS请求耗时减小近半》
《Android程序员必知必会的网络通信传输层协议——UDP和TCP》
>> 更多同类文章 ……
(本文同步发布于:http://www.52im.net/thread-2356-1-1.html)