# 序言

对于网络通信有些人只知道三次握手、四次挥手。有些人知道 TCP 协议、知道 IP 协议,却不知道为什么会有这些协议,也不知道这些协议服务于什么。OSI 和 TCP/IP 的每层作用又是什么?很多人只知道该这么做,却不知道为何这么做。对于网上不仅零零碎碎并且晦涩难懂的知识点,想要真正的理解是很困难的。

如果遇到晦涩难懂的知识点,不妨将这些知识结合到生活中。如果不明白其中的原理,比如:“为什么要这么做?”,不妨从起源、发展开始了解。

接下来会从 TCP/IP 的由来、发展、以及一根网线的数据传递开始介绍。

WARNING

该系列的内容主要是为了帮助读者更好的了解 TCP/IP,而不是每个知识点、协议都很详细的说明。作者只是帮你拿到通往 TCP/IP 的门票,TCP/IP 的世界只能你自己去深入了解了。

# 起源

20 世纪 50 年代末,正处于冷战时期。当时美国军方为了自己的计算机网络在受到袭击时,即使部分网络被摧毁,其余部分仍能保持通信联系,便由美国国防部的高级研究计划局(ARPA)建设了一个军用网,叫做“阿帕网”(ARPAnet)。阿帕网于 1969 年正式启用,当时仅连接了 4 台计算机,供科学家们进行计算机联网实验用,这就是因特网的前身。

到 70 年代,ARPAnet 已经有了好几十个计算机网络,但是每个网络只能在网络内部的计算机之间互联通信,不同计算机网络之间仍然不能互通。为此, ARPA 又设立了新的研究项目,支持学术界和工业界进行有关的研究,研究的主要内容就是想用一种新的方法将不同的计算机局域网互联,形成“互联网”。研究人员称之为“internetwork”,简称“Internet”,这个名词就一直沿用到。

在研究实现互联的过程中,计算机软件起了主要的作用。1974 年,出现了连接分组网络的协议,其中就包括了 TCP/IP——著名的网际互联协议 IP 和传输控制协议 TCP。这两个协议相互配合,其中,IP 是基本的通信协议,TCP 是帮助 IP 实现可靠传输的协议。

1986 年,美国国家科学基金组织(NSF)将分布在美国各地的 5 个为科研教育服务的超级计算机中心互联,并支持地区网络,形成 NSFnet。1988 年,NSFnet 替代 ARPAnet 成为 Internet 的主干网。NSFnet 主干网利用了在 ARPAnet 中已证明是非常成功的 TCP/IP 技术,准许各大学、政府或私人科研机构的网络加入。1989 年,ARPAnet 解散,Internet 从军用转向民用。

# TCP/IP 与 OSI

模型关系

Internet 网络的前身 ARPAnet 当时使用的并不是 TCP/IP 协议,而是 NCP 协议。不过发现有很多缺点以至于不能充分支持 ARPAnet 网络。后面就出现了 TCP/IP 协议。OSI 模型是后来好多大佬(国际标准组织)坐在一起开会,研究讨论出理论中最规范的模型,以后网络通讯协议都可以按照这个模型来实现。不过理论终究是理论,现在 TCP/IP 还是运用最多的网络通讯协议。

TCP/IP 协议其实是四层模型,其实也能对应 OSI 模型的。(有些地方也有说 TCP/IP 是五层模型,因为网络接口层其实就是数据链路层、物理层)

  1. TCP/IP 的应用层对应 OSI 的应用层、表示层、会话层
  2. TCP/IP 的传输层对应 OSI 的传输层
  3. TCP/IP 的网络层对应 OSI 的网络层
  4. TCP/IP 的网络接口层对应 OSI 的数据链路层、物理层