Internet协议套件是美国国防高级研究计划局(DARPA)在年代后期进行的研究和开发的产物。在年开创了ARPANET之后,DARPA开始研究其他一些数据传输技术。年,RobertE.Kahn加入DARPA信息处理技术办公室,在那里他从事卫星分组网络和地面无线电分组网络的工作,并认识到能够在两者之间进行通信的价值。年春天,帮助开发现有ARPANET网络控制协议(NCP)协议的VintonCerf加入了Kahn,致力于开放架构互连模型,目标是为ARPANET设计下一代协议。他们借鉴了Cerf主持的ARPANET研究社区和国际网络工作组的经验。
到年夏天,Kahn和Cerf制定了一个基本的重新制定,其中通过使用通用的网际网络协议隐藏了本地网络协议之间的差异,而不是像现有的ARPANET协议那样由网络负责可靠性,此功能已委托给主机。Cerf认为CYCLADES网络的设计者HubertZimmermann和LouisPouzin对该设计产生了重要影响。新协议于年作为传输控制程序实施。
最初,传输控制程序(互联网协议当时没有作为单独的协议存在)仅向其用户提供可靠的字节流服务,而不是datagram。随着协议经验的增长,合作者建议将功能划分为不同的协议层,允许用户直接访问数据报服务。倡导者包括丹尼科恩,他需要它来进行分组语音工作;南加州大学信息科学研究所的JonathanPostel编辑了征求意见稿(RFC),记录并促进互联网发展的技术和战略文档系列;和施乐PARC的RobertMetcalfe研究小组。Postel表示,“我们正在通过违反分层原则来搞砸我们的Internet协议设计。”不同机制的封装旨在创建一个环境,在该环境中,上层只能访问下层所需的内容。单片设计将不灵活并导致可扩展性问题。在年编写的TCP版本3中,传输控制程序被分成两个不同的协议,Internet协议作为无连接层和传输控制协议作为可靠的面向连接的服务。
网络的设计包括认识到它应该只提供在终端节点之间有效传输和路由流量的功能,并且所有其他智能都应该位于网络边缘,终端节点中。这种设计被称为端到端原则。使用这种设计,可以将其他网络连接到使用相同原理的ARPANET,而无需考虑其他本地特性,从而解决了卡恩最初的互联问题。一个流行的说法是,Cerf和Kahn工作的最终产品TCP/IP可以运行在“两个锡罐和一根绳子”上。多年后,作为一个笑话,IPoverAvianCarriers正式的协议规范已创建并成功测试。
DARPA与BBNTechnologies、斯坦福大学和伦敦大学学院签订合同,在多个硬件平台上开发该协议的操作版本。[14]在协议的开发过程中,分组路由层的版本号从版本1发展到版本4,后者于年安装在ARPANET中。它被称为Internet协议版本4(IPv4)作为协议它与当前的继任者Internet协议版本6(IPv6)一起仍在Internet中使用。