TCP/IP的加冕之路


学习任何一项技术,最好先问自己一个问题:

这个技术出现的背景、初衷和要表达什么样的目标或是要解决什么样的问题?

这个问题非常关键,因为这个技术的成因和目标是这个技术的灵魂。如果不知道这些的话,那么你会看不懂这个技术的一些设计理念。

 但是对TCP/IP来讲,回答这个问题谈何容易。本篇文章不会涉及技术细节,只涉及背景和初衷相关的东西。希望能给读者朋友一些新的角度,去更好的理解和学习TCP/IP。

产生背景:

 TCP/IP协议套件,作为世界上使用范围最广的网络协议,它们诞生于1970年,由美国国防部高级研究计划局(DARPA)中的两个科学家设计。他们是 文顿-瑟夫(Vint Cerf) 和鲍勃-卡恩(Bob Kahn),他们也被誉为Internet之父。

 瑟夫1943年出生在美国康涅狄格州港市,22岁在斯坦福获得计算机科学学士学位,随后进入IBM工作,他在该公司工作了两年,担任系统工程师,为QUIKTRAN提供支持。QUIKTRAN是一种使分时计算更经济并且可以为科学家,工程师和商人广泛使用的系统。

 1967年,他离开IBM进入位于加利福尼亚大学洛杉矶分校(UCLA)的研究生院,在那里他获得了计算机科学的硕士学位(1970年)和博士学位(1972年)。 在研究生期间,他在Gerald Estrin教授的指导下学习,曾在Leonard Kleinrock的数据分组网络小组工作,该小组将ARPANet(互联网的前身)的前两个节点连接在一起。 他曾担任首席程序员,参与了许多项目,包括ARPANet网络测量中心,视频图形项目(包括由计算机控制的16毫米摄像机)以及ARPANet主机协议规范的开发。

 在UCLA期间,他还遇到了鲍勃·卡恩(Bob Kahn),后者正在Bolt Beranek和Newman从事ARPANet硬件体系结构的研究。

罗伯特-艾洛特-卡恩(Robert Elliot Kahn)(生于1938年12月23日)1960年获得纽约市立大学的学士学位。之后又分别于1962年和1964年获得普林斯顿大学的硕士学位和博士学位。

 毕业后,他获得了贝尔实验室技术人员的职位,然后成为麻省理工学院电气工程的助理教授。 他从麻省理工学院请假,加入Bolt Beranek和Newman,在那里他负责第一个分组交换网络Arpanet的系统设计,并参与了接口消息处理器的构建。

 1972年,卡恩(Kahn)被IPTO的拉里·罗伯茨(Larry Roberts)聘用,从事网络技术的研究。10月,他在国际计算机通信会议上演示了连接40台不同计算机的ARPANet网络,这使该网络首次广为人知。 来自世界各地的人们和通信工程师意识到,分组交换是一项真正的技术。

 Bob出生在1938年,22岁在纽约大学获得电器工程学学位,随后分别获得普林斯顿大学文学硕士学位哲学博士学位。毕业之后,在贝尔实验室工作,随后去麻省理工担任教授,期间离开一段时间参与ARPANet的设计工作。在1972年世界通信大会上,Bob展示了如何将40个不同计算机连接起来进行通信,这也是第一次使网络这个概念让世人所知。来自全世界的工程师都意识到,分组交换是一项真正的技术。

 Kahn致力于建立卫星分组网络的现有项目,并发起了建立基于地面的无线电分组网络的项目。 这些经验使他确信需要开发一种开放式体系结构的网络模型,其中任何网络都可以与任何其他独立于单独的硬件和软件配置的网络进行通信。1973年Vint Cer加入了Bob的项目,很快他们设计出了下一代传输控制协议,也就是我们今天还在使用的标准TCP协议。

 在IPTO上,Kahn致力于建立卫星分组网络的现有项目,并发起了建立基于地面的无线电分组网络的项目。 这些经验使他确信需要开发一种开放式体系结构的网络模型,其中任何网络都可以与任何其他独立于单独的硬件和软件配置的网络进行通信**。 因此,卡恩为传输控制协议(TCP)的设计设定了四个目标:

  • 网络连接。 任何网络都可以通过网关连接到另一个网络。
  • 分发。 不会有中央网络的管理或控制。
  • 错误恢复。 丢失的数据包将被重新传输。
  • 黑匣子设计。 无需对网络进行内部更改即可将其连接到其他网络。

 1973年春季,Vinton Cerf加入了Kahn的项目。 他们从对分组无线网络中可靠的数据通信进行研究开始,并从网络控制协议中汲取了教训,然后创建了下一代传输控制协议(TCP),这是当今Internet上使用的标准协议。

 在该技术的早期版本中,只有一个核心协议,称为TCP。 实际上,这些字母在当时代表的是Transmission Control Program而非今天我们熟知的Transmission Control Protocol。 第一版现代意义上的TCP写于1973年,然后在1974年12月修订并正式记录在RFC 675(Internet传输控制程序规范)中。

 在TCP的开发过程中,Cerf和Kahn使用了CYCLADES的概念,这是法国的分组交换网络,由Louis Pouzin于1973年设计和指导。 它的开发旨在探索ARPANET设计的替代方案,并总体上支持网络研究。 CYCLADES是第一个使用不可靠的数据报(Pouzin通过组合数据和电报来创造术语“数据报”)和相关端到端协议机制的主机,而不是网络本身,从而使主机负责数据的可靠传递 。

今天我们熟知的TCP/IP是什么?

Protocol Suite国内的教科书常译作协议簇,我习惯称为协议套件

 实际上,TCP / IP由数十种不同的协议组成,但是只有少数几个“主要”协议定义了套件的核心操作。在这些关键协议中,通常认为其中两个最重要。互联网协议(IP)是主要的OSI网络层(第三层)协议,可在互联网中提供寻址,数据报路由和其他功能。传输控制协议(TCP)是主要的传输层(第四层)协议,负责连接的建立和管理以及设备上软件过程之间的可靠数据传输。

 由于这两个协议的重要性,它们的缩写代表了整个套件:“ TCP / IP”。 IP和TCP非常重要,因为许多TCP / IP的最关键功能是在第三层和第四层实现的。但是,TCP / IP的功能远不止TCP和IP。整个协议套件需要许多不同的协议和技术来工作,以使功能网络能够正确地为用户提供所需的应用程序。

 像许多协议套件一样,Internet协议套件也可以视为一组层。 每一层解决了涉及数据传输的一系列问题,并基于使用来自某些较低层的服务为较高层协议提供了定义明确的服务。 上层在逻辑上更接近用户,并处理更多的抽象数据,这依赖于下层协议将数据转换为最终可以物理传输的形式。

 如RFC 1122中所述,TCP / IP模型包括四个层。从最低到最高,这些层是-链路层,Internet层,传输层和应用程序层。 应当指出,该模型并非旨在成为刚性参考模型,必须将新协议纳入该参考模型才能被接受为标准。

当今使用的几乎所有操作系统,包括所有以消费者为目标的系统,都包括TCP / IP实现。

再看一遍

【科普】什么是TCP/IP协议?(个人/科技/it领域)+无字幕

高清体验,去我的专栏

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值