【来源申明】本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:《通信交换的百年沧桑(上)》,本文引用时已征得原作者同意。为了更好的内容呈现,即时通讯网在收录时内容有稍许调整,转载时请注明原文来源信息,请尊重原作者的劳动。

1、本系列文章目录

IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)》(* 本文)

IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)

IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁

IM开发者的零基础通信技术入门(四):手机的演进,史上最全移动终端发展史

IM开发者的零基础通信技术入门(五):1G到5G,30年移动通信技术演进史

IM开发者的零基础通信技术入门(六):移动终端的接头人——“基站”技术

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

IM开发者的零基础通信技术入门(八):零基础,史上最强“天线”原理扫盲

IM开发者的零基础通信技术入门(九):无线通信网络的中枢——“核心网”

IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲

IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!

IM开发者的零基础通信技术入门(十二):上网卡顿?网络掉线?一文即懂!

IM开发者的零基础通信技术入门(十三):手机信号差?一文即懂!

IM开发者的零基础通信技术入门(十四):高铁上无线上网有多难?一文即懂!

《IM开发者的零基础通信技术入门(十五):彻底读懂移动端的定位技术》

(本文同步发布于:http://www.52im.net/thread-2354-1-1.html

2、本文内容概述

本文(上下两篇)将带你了解当今通信交换技术最初的模样以及发展过程。学习技术更要了解技术的前世今生,技术本无聊,故事很有趣。

3、“电话”的出现

1876年2月,一位名叫亚历山大·贝尔的29岁年轻人,向美国专利局提交了一项发明专利申请并获得批准。这项专利,就是日后影响了整个人类社会进程的通信神器——电话。

 

▲ 亚历山大·格拉汉姆·贝尔(Alexander Graham Bell)

在这之后的第二年,贝尔创办了贝尔电话公司(也就是美国AT&T公司和朗讯公司的前身,贝尔实验室的发起者),开始了电话的商业化运营。到了年底,用户数很快就达到了3000户。没过多久,贝尔又完成了波士顿和纽约之间的首次长途电话实验(相距300多公里),进一步刺激了电话的快速普及。

 

▲ 当时的宣传海报

4、“交换机”的出现

随着电话数量和通话距离的迅速增加,人们发现,传统的电话连线方式存在很大的问题。当时的连线方式,是直连模式,也就是1对1模式。

 

▲ 直连模式

这种模式,适用于最早期用户数量很少的情况。随着用户数增加,就会带来很高的成本。

 

▲ 直连模式需要大量的电话线连接

如上图所示,当采用直连方式,连接N个电话,需要N*(N-1)/2条电话线例如,10000个电话,就需要49,995,000条电话线。

于是,人们开始引入了“交换(switch)”的概念。所谓“交换”,就是“进和出”。交换机,就是控制消息从哪里来,到哪里去。有了交换机之后,将大幅减少线缆和线杆成本,并且有利于管理和维护。

 

▲ N个电话,只需要N条线

1878年,也就是电话发明两年后,世界上最早的电话交换机出现了。这种交换机,是由话务员进行人工操作的,所以称为“人工交换机”。

 

▲ 话务员和人工交换机

人工交换机由用户线、用户塞孔、绳路(塞绳和插塞)和信号灯等设备组成。

 
 

用户要打电话,先与话务员通话,告诉话务员要找谁,然后由话务员帮你接续。人工交换机,根据当时电话的分类,也分为两种:磁石式和共电式。最初的电话机,电能由自身提供,主要由送话器、受话器、手摇发电机、电铃、干电池等部件构成。因为手摇发电机上有两块永久磁铁,所以得名“磁石电话机”。

 

▲ 早期的磁石电话机

1880年,出现了“共电式电话机”,通话双方可以共同使用电话局的电源。这项改进,使电话机的结构大大简化了,而且使用方便,拿起电话便可呼叫。

 

▲ 共电电话机(摇把没了)

5、“步进制电话交换机”的出现

人工交换机的缺点是显而易见的:容量很小,需要占用大量人力,工作繁重,效率低下,而且容易出错。1891年,有一个名叫史端乔的殡仪馆老板,就吃了人工交换机的大亏。

 

▲ A.B.史端乔(Almon Brown Strowger)

他发现,打到自己店里的生意电话,总会被话务员转接到另一家殡仪馆。后来才知道,原来当地话务员是那家殡仪馆老板的堂弟。于是,他很生气,发誓一定要发明一个不需要人工操作的交换机。结果,他还真的做到了。他在自己的车库里,制作了世界上第一台步进制电话交换机。

 

▲ 为了纪念他,这种交换机也被称为“史端乔交换机”

这种交换机,由预选器、选组器和终接器等部件组成,以机械动作代替话务员的人工动作。当用户拨号时,选择器随着拨号发出的脉冲电流,一步一步地改变接续位置,从而将主叫和被叫用户间的电话线路自动接通。

 

▲ 步进制交换机工作原理图

话说,史端乔确实是一个发明天才,除了步进制交换机之外,大家经常在电视上看到的旋转式拨号盘,也是他发明的。有人还专门给他建了一个网站,以示纪念(网址就是他的名字:www.almonbrownstrowger.com)。

 

▲ 旋转式拨号盘

1892年,第一个“史端乔步进制电话局”在美国投入使用。后来,在史端乔步进制交换机的基础上,又出现了旋转式和升降式的交换机。

 

1909年,德国西门子公司对史端乔步进制电话交换机进行了改进,主要是将三磁铁上升旋转型选择器改为二磁铁的选择器,制成西门子步进制电话交换机。

 

▲ 1929年在澳门安装使用的西门子F1步进制电话交换机

6、“机电制自动电话交换机”的出现

步进制交换机虽然实现了替代人工,但是仍然存在很多缺点,例如接点是滑动式的,可靠性差,易损坏,动作慢,结构复杂,体积大等。

 

▲ 日本富士通信机制造株式会社生产的A29步进制交换机(1940年)

于是,工程师们继续寻求更好的解决方案。1919年,瑞典工程师贝塔兰德和帕尔姆格伦共同发明了一种“纵横接线器”的新型选择器,并为之申请了专利。

 

▲ 纵横制接线器

这种接线器,将过去的滑动式改成了点触式,从而减少了磨损,提高了使用寿命。

 

▲ 纵横连接器交叉点示意图

在“纵横连接器”的基础上,1926年,世界上第一个大型纵横制自动电话交换机在瑞典松兹瓦尔市投入使用。到了1938年,美国开通了1号纵横制自动电话交换系统。紧接着,法国、日本等国家也相继生产和使用该类系统。从此,人类正式进入纵横制交换机的时代。到20世纪50年代,纵横制交换系统已经非常成熟和完善。

 

▲ 纵横制交换机

“纵横制”和“步进制”,都是利用电磁机械动作接线的,所以它们同属于“机电制自动电话交换机”。

7、“程控交换机”的出现

就在纵横制不断完善的同时,随着晶体管的发明,半导体技术和电子技术飞速发展,人们开始考虑,在电话交换机中引入电子技术。

 

▲ 世界上第一个晶体管

由于当时电子元件的性能还无法满足要求,所以出现了电子和传统机械结合的交换机技术,被称为“半电子交换机”、“准电子交换机”。后来,微电子技术和数字电路技术进一步发展成熟,终于有了“全电子交换机”。1965年,美国贝尔成功生产了世界上第一台商用存储程式控制交换机(也就是“程控交换机”),型号为No.1 ESS(Electronic Switching System)。

 

▲ No.1 ESS程控交换机

1970年,法国在拉尼翁开通了世界上第一个程控数字交换系统E10,标志着人类开始了数字交换的新时期。程控交换机的实质,就是电子计算机控制的交换机。

 

▲ NEC程控交换机

它以预先编好的程序来控制交换机的接续动作,优点非常明显:接续速度快、功能多、效率高、声音清晰、质量可靠,其容量可大至万门。

注:这里所说的“门”,是交换机容量的一种单位,可以简单理解为最大支持的接续电话数量。如此巨大的容量,意味着占地面积更小。程控交换机的机架数仅为纵横制的1/10,而且每个机架的重量减轻一半多,非常有利于安装和维护。

(——本篇未完,下篇《IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)》再续——)

附录:更多网络编程知识干货

计算机网络通讯协议关系图(中文珍藏版)[附件下载]

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

>> 更多同类文章 ……

(本文同步发布于:http://www.52im.net/thread-2354-1-1.html

IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)的更多相关文章

  1. IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁

    [来源申明]本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:<中国通信的百年沉浮>,本文引用时已征得原作者同意.为了更好的内容呈现,即时通讯网在收录时内容有 ...

  2. IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)

    1.系列文章引言 1.1 适合谁来阅读? 本系列文章尽量使用最浅显易懂的文字.图片来组织内容,力求通信技术零基础的人群也能看懂.但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获.如果您大 ...

  3. 【转载】salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载

    salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载   目前国内已经有很多公司做salesforce,但是国内相关的资料确是少之又少.上个月末跳槽去了新 ...

  4. 序言 - PHP零基础快速入门

    我为什么要写<PHP零基础快速入门>? 原因: PHP 真心简单,适合零基础的人快速入门掌握,身边的人学习一两周上手开发的比比皆是: 市面上的文章或书籍对初学者并不友好,多半枯燥乏味,我相 ...

  5. 零基础快速入门web学习路线(含视频教程)

    下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利 ...

  6. C#消息队列(RabbitMQ)零基础从入门到实战演练

    一.课程介绍 如果您从工作中之听过但未有接触过消息对队列(MQ),如果你接触过一点关于MQ的知识,如果没有这么的多如果的话......,那么阿笨将通过本次<C#消息队列零基础从入门到实战演练&g ...

  7. 零基础快速入门SpringBoot2.0 (一)

    零基础快速入门SpringBoot2.0 (一) 一.SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 1.依赖版本jdk8以上, Spr ...

  8. C++零基础到入门

    (1)C语言概述 (2)编写.运行一个简单的C语言程序 (3)数据类型 (4)运算符和表达式 如果你对C语言一窍不通,那你就好好看这篇文章,我会力争让你真正的做到从零基础到入门,同时这篇文章会让你基本 ...

  9. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1、SpringBoot2.x课程介绍和高手系列知识点

    1 ======================1.零基础快速入门SpringBoot2.0 5节课 =========================== 1.SpringBoot2.x课程全套介绍 ...

随机推荐

  1. Windows上使用Thunderbird与GPG发送和解密公钥加密的电子邮件

    作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=552 非对称加密的原理: 最先出现的加密方法是对称加密.在对称加密算法中是不区分公钥和私钥的,加密与解密使用的都是同一个 ...

  2. Spring Security OAuth2 Demo -- good

    1. 添加依赖授权服务是基于Spring Security的,因此需要在项目中引入两个依赖: <dependency> <groupId>org.springframework ...

  3. genymotion中app打开后屏幕是倒的问题

    屏幕是倒的是因为你使用了虚拟机的默认分辨率. 解决办法: 选择需要的设置的虚拟机,点击后面的设置按钮 弹窗中选择其他的分辨率 如果之前是1024x600,前面的数值大于后面的.则换成前面的数值小于后面 ...

  4. javascript 原型机制

    prototype,__proto__,constructor 在 JavaScript 原型继承结构里面,规范中用 [[Prototype]] 表示对象隐式的原型,在 JavaScript 中用 _ ...

  5. 再谈DOMContentLoaded与渲染阻塞—分析html页面事件与资源加载

    浏览器的多线程中,有的线程负责加载资源,有的线程负责执行脚本,有的线程负责渲染界面,有的线程负责轮询.监听用户事件. 这些线程,根据浏览器自身特点以及web标准等等,有的会被浏览器特意的阻塞.两个很明 ...

  6. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

  7. 关于Kafka监控方案的讨论

    之前在知乎上尝试过回答这个问题,后来问的人挺多,干脆在博客里面保存一下. 目前Kafka监控方案看似很多,然而并没有一个"大而全"的通用解决方案.各家框架也是各有千秋,以下是我了解 ...

  8. java泛型基础、子类泛型不能转换成父类泛型

    参考http://how2j.cn/k/generic/generic-generic/373.html 1.使用泛型的好处:泛型的用法是在容器后面添加<Type>Type可以是类,抽象类 ...

  9. Asp.Net WebAPI中Filter过滤器的使用以及执行顺序

    转发自:http://www.cnblogs.com/UliiAn/p/5402146.html 在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行 ...

  10. 【BZOJ 4016】 [FJOI2014]最短路径树问题

    题目链接: TP 题解:  我就是个智障.明明是道大水题,硬是拖了6h. 关于这道题我唯一想说的就是,记得更新拆分后的子树大小!!!我就是ZZ恒(QwQ. 代码: #define Troy 10/26 ...