原文链接 :
http://www.52im.net/thread-520-1-1.html

1、前言

作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难说的清楚。

本文将简要回故TCP/IP协议的过去、简单介绍TCP/IP协议族的关系,并与大家一起直观地分享由TCP/IP协议族所构建的虚拟网络与真实世界的“连接”情况。

2、TCP/IP协议简介

互联网协议族(英语:Internet Protocol Suite,缩写为IPS),是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP协议。因为这个协议家族的两个核心协议,包括TCP(传输控制协议)和IP(网际协议),为这个家族中最早通过的标准。

对于应用层开发人员,接触最多的网络协议通常都是传输层的TCP,为什么这么说,因为再往上的应用层协议,如:HTTP、HTTPS、POP3、SMTP、RPC、FTP、TELNET等等都是基于TCP传输层协议。但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,实际上IP协议是位于TCP协议之下的网络层,对于应用层程序员来说很难直接接触。

下面这张图,直接的反映了TCP/IP协议族的关系情况:

3、TCP/IP协议之父

维基百科对于罗伯特·卡恩的介绍:

常称鲍勃·卡恩(Bob Kahn),生于美国纽约州纽约市布鲁克林区,发明了TCP协议,并与文特·瑟夫一起发明了IP协议;这两个协议成为互联网存在基石。

维基百科对于文顿·瑟夫的介绍:

文顿·格雷·瑟夫(英语:Vinton Gray Cerf,1943年6月23日-),昵称为文特·瑟夫(Vint Cerf ),生于美国康涅狄格州纽黑文,计算机科学家,因与罗伯特·卡恩设计了TCP/IP协议和互联网基础架构而被共同称为“互联网之父”。

文顿·瑟夫的履历:

  • 生于1943年,童年时酷爱算术和科学,1965年在斯坦福大学获得了数学学士学位。
  • 曾就职于IBM公司,1967年,考取了美国加州大学研究生院,取得计算机科学博士学位。
  • 1972年-1976年,任教斯坦福大学,其间与罗伯特·卡恩一道领导TCP/IP协议的研发小组。
  • 1997年12月,获得美国国家技术勋章 。
  • 现任ICANN(互联网名字和号码分配机构)主席,兼任美国MCI公司技术战略高级副总裁。

布什总统为罗伯特·卡恩(中者)和文特·瑟夫(左者)颁发勋章:

4、见证互联网诞生

1969年8月30日,由BBN公司制造的第一台“接口信息处理机”IMP1,在预定日期前2天运抵UCLA。美国加州大学洛杉矶分校(UCLA)计算机系教授、著名的网络先驱人物克兰罗克带着40多名工程技术人员和研究生进行安装和调试。10月初,第二台IMP2运到阿帕网试验的第二节点斯坦福研究院(SRI)。

经过数百人一年多时间的紧张研究,阿帕网远程联网试验即将正式实施。

不久后,1969年11月,第三台IMP3抵达阿帕网第三节点——加州大学圣巴巴拉分校(UCSB);1969年12月,最后一台供试验的IMP4在阿帕网第四节点——犹他大学(Utah)安装成功,基本实现了罗伯茨规划的设计蓝图。于是,具有4个节点阿帕网(ARPANet)正式启用,人类社会从此跨进了网络时代。

BBN程序员团队合影:

见证首次互联网连接实验的工作日志:

当时IMP1与主机Sigma-7的连接现场:

5、TCP/IP让网络变成真正的“互联网”

  1. 早期的网络并不实用

    把两台计算机连在一起,只是迈出了建立互联网的一小步。人们很快发现,如果要把更多的不同型号的计算机,通过不同规格的网络连接在一起,还要让它们能共享内容,就非得发明一套更先进的技术不可。

    假如看到互联网发明之初的那股子混乱劲儿,熟练操作着智能手机、利用无线信号进行视频对话的现代人可能会觉得难以置信。阿帕网问世之后,美国军方很快采纳了这一技术,但是,接入网络的电脑越来越多,造成发送信息的计算机很难在庞杂的网络中定位目标计算机。并且,最初的网络缺少纠错功能,数据在传输过程中一旦出现错误,网络就可能停止运行。出错电脑增多,使得网络运行效率大打折扣。

  2. TCP/IP协议诞生

    如今大名鼎鼎的两位科学家、TCP/IP协议的发明者——罗伯特·卡恩和文顿·瑟夫就是在这时开始了他们的重要工作。他们恐怕也是这一群拥有“互联网之父”头衔的科学家中知名度最高的。他们都获得过“计算机科学界的诺贝尔奖”——图灵奖,瑟夫还曾任谷歌公司的全球副总裁和首席互联网专家。

    两位科学家首先着眼于给每台电脑都分配一个唯一的确定的地址,就像住宅的门牌号一样,有了它快递员才能把包裹准确投递到位——这就是IP。而TCP则负责监督传输过程,一出现问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。这套思想直接导致了一种新设备——路由器的出现。

    在1973年问世并被持续不断改进的TCP/IP协议至今仍然是全球互联网得以稳定运作的保证。通过这项技术,两位科学家使信息传输的可靠性完全由主机设备保障,而与连接这些主机的网络硬件的材质与形态无关。人们评价说,TCP/IP技术将最终可以运行在“两个罐子和一根弦”上,甚至可以用信鸽来代替网络。

    1974年,人们亲眼见证了TCP/IP协议的成功。在这场实验中,科学家将数据包在卫星网络和陆地电缆之间反复传输,贯穿欧洲和美国的电脑系统,全程9.4万公里,没有丢失一个数据位。同年,美国政府无条件公布了TCP/IP协议的核心技术,世界范围内的互联网浪潮随之兴起。

  3. 假设:如果将TCP/IP申请专利,世界首富还会是盖茨吗?

“全世界已经有超过10亿人在使用互联网。” 文顿·瑟夫说,“坦率说,三十多年前研究TCP/IP的时候,我们没有想到这项技术会得到如此广泛的运用。”
“申请专利从实际的角度是行不通的,如果新技术不是无偿和免费的话,人们就会远离我们而去。” 文特·瑟夫坚持将今天互联网成功的原因之一归结于他和罗伯特·卡恩没有申请专利,把TCP/IP视为私有财产。

1973年,文特·瑟夫和罗伯特·卡恩在设计互联网的时候,做出一项重要决定,一定要让电脑和电脑之间的沟通敞开和透明;1975年,开始布设互联网的时候,两人一致决定要把这个礼物贡献给人们,让大家自由的分享。

TCP/IP协议发明人文顿·瑟夫:

6、如今的互联网

如今,TCP/IP协议让互联网越来越远,毫不夸张的说,没有这张“网”的世界将不能成为21世纪。“网”一直处于虑拟世界,看不见、摸不着,连接世界的互联网你有没有想过到底是什么样子的?一起来看看。

看起来是下面这个样子的(由Opte工程组绘制的互联网地图):

  1. 2003年的“互联网”

  2. 2010年的“互联网”

  3. 2015年的“互联网”

  4. 以上图是根据什么绘制出来的?
    是基于真实的世界互联网真实路由节点绘制出来的,具体流程如下图所示:

7、通过TCP/IP是如何缩短地球上人与人的距离?

答案是通过各国铺设在海地的通讯光缆实现的。下面一起来看看截至2015年国与国之间通过海底光缆的“连接”情况。

2015年全球互联网跨国通信光缆的连接情况图:

2015年全球互联网跨国通信光缆的连接情况图(中国部分放大显示):

补充:这张图里可以看到,中国的跨国海底光缆并不多,连接国外的网站延迟这么大也就是情理之中的事了。

一张更吊炸天的全球互联网跨国通信光缆的连接情况图(2015年版):

好吧,我要是麻花腾,也做一张类似的QQ、微信的连接情况,估计会有拿破仑征服欧洲那样的成就感。。。

8、TCP/IP重新定义了国与国、人与人之间的距离单位

对于互联网世界来说,网络之间的距离可以用“网络延迟”来衡量(单位通常是毫秒),从真实世界的角度讲,正是TCP/IP协议的威力,重新定义了国与国、人与人之间的距离单位,让“连接”变的没有距离感。

你可能会好奇,我们与世界各主要国家的通信延迟到底是多少呢?我们一起来看看下面几个图。

从香港发起的通信,与世界主要节点的延迟示意图:

说明:香港到美国的延迟大约是150ms、到英国超过200ms。

从英国发起的通信,与世界主要节点的延迟示意图:

说明:从英国到中国的延迟大约是200ms。

从美国发起的通信,与世界主要节点的延迟示意图:

说明:从美国到中国的延迟大约是120ms、到日本约80ms(果然是盟(er)友(zi))。

[转]技术往事:改变世界的TCP/IP协议的更多相关文章

  1. 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

    1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...

  2. 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

    1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...

  3. Ripple 20:Treck TCP/IP协议漏洞技术分析

    本文由“合天智汇”公众号首发,作者:b1ngo Ripple 20:Treck TCP/IP协议漏洞技术分析 Ripple20是一系列影响数亿台设备的0day(19个),是JSOF研究实验室在Trec ...

  4. 读书笔记——网络编程与开发技术(3)基于TCP/IP协议的网络编程相关知识

    TCP/IP协议:数据链路层,网络层,传输层,应用层. IP地址分为5类:A类.B类.C类.D类.E类. (A类.B类.C类是基本类,D类多用于多播传送,E类为保留类.) "*"表 ...

  5. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  6. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

  7. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  8. Http TCP/IP 协议的关系

    转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...

  9. iOS的TCP/IP协议族剖析&&Socket

    原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP.HTTP:还有S ...

随机推荐

  1. 重新整理 .net core 周边阅读篇————AspNetCoreRateLimit[一]

    前言 整理了一下.net core 一些常见的库的源码阅读,共32个库,记100余篇. 以下只是个人的源码阅读,如有错误或者思路不正确,望请指点. 正文 github 地址为: https://git ...

  2. Jmeter系列(20)- 录制控制器

    作用:相当于对录制的脚本进行分组存放,放在同一个线程组里面:录制脚本的时候,选择线程组下面想要存放的录制控制器中

  3. jenkins+requests+pytest+allure持续集成

    环境搭建参考:https://www.jianshu.com/p/fc39030d057f 总体流程:

  4. SpringSecurity系列学习(一):初识SpringSecurity

    SpringSecurity Spring Security是spring采用AOP思想,基于servlet过滤器实现的安全框架.它提供了完善的认证机制和方法级的 授权功能.是一款非常优秀的权限管理框 ...

  5. 深入浅出WPF-08.Event( 事件)01

    事件(Event) 首先我们来继续说一下UI组件树,因为WPF事件 的路由环境就是组件树.WPF中的树有两种,一种是逻辑树(Logical Tree),一种是可视元素树(Visual Tree).逻辑 ...

  6. 深入浅出WPF-06.Binding(绑定)02

    Binding对数据的校验和转换 1)数据校验,通过Binding的ValidationRules属性(Collection类型)进行校验.可以设置多个数据校验条件. <Slider Margi ...

  7. 【C++ Primer Plus】编程练习答案——第8章

    1 void ch8_1_print(const std::string & str, int n = 0 ) { 2 using namespace std; 3 static int fl ...

  8. Mac里存储空间不足,该怎么删垃圾数据?

    说明:在mac设备运行一段时间后,电脑空间很小了,对于开发者来说,清清Xcode缓存,腾出几十G的空间还是有可能的.在升级Xcode适配新系统.新手机也是得给电脑减减压. 一.Xcode缓存文件(co ...

  9. The type name or alias SqlServer could not be resolved.Please check your configuration

    The type name or alias SqlServer could not be resolved.Please check your configuration file.... 检查一下 ...

  10. Polya 定理 学习笔记

    群 群的定义 我们定义,对于一个集合 \(G\) 以及二元运算 \(\times\),如果满足以下四种性质,那我们就称 \((G,\times)\) 为一个群. 1. 封闭性 对于 \(a\in G, ...