技术往事:改变世界的TCP/IP协议!

2023-10-14 12:30

本文主要是介绍技术往事:改变世界的TCP/IP协议!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

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

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

二、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协议族的关系情况:

640?wxfrom=5&wx_lazy=1

三、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公司技术战略高级副总裁。

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

640

1997年12月,布什总统为表彰罗伯特·卡恩和文特·瑟夫为互联网的建立和发展所做的贡献而给他俩都颁发的美国国家技术勋章。

罗伯特·卡恩(左者)与文特·瑟夫(右者)一起接受访谈:

640

四、见证互联网诞生

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

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

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

BBN程序员团队合影:

640

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

640

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

640

五、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协议发明人文顿·瑟夫:

640

“申请专利从实际的角度是行不通的,如果新技术不是无偿和免费的话,人们就会远离我们而去。” 文特·瑟夫坚持将今天互联网成功的原因之一归结于他和罗伯特·卡恩没有申请专利,把TCP/IP视为私有财产。

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

六、如今的互联网

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

看起来是下面这个样子的(由Opte工程组绘制的互联网地图),原图及说明请点此查看。

1、2003年的“互联网”

6402、2010年的“互联网”

640

3、2015年的“互联网”

640

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

640

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

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

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

640


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

640

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

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

640

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

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

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

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

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

640

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

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

640

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

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

640

原文作者:JackJiang

原文地址:http://www.52im.net/thread-520-1-1.html

点击图片查看更多推荐内容

↓↓↓

640

一文带你详解了解Tomcat的Server配置!

640

【面试题】2018年最全Java面试通关秘籍第五套!

640?

一步步带你了解ID发号器是什么、为什么、如何做!

640?

怎样参与到全世界优秀的开源项目中?

640?

这篇关于技术往事:改变世界的TCP/IP协议!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210532

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ