计算机网络是一个非常复杂的系统,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。
如何将庞大并且复杂的问题,转换为若干个较小的局部问题呢,分层就是一个不错的方法,我们可以专注于较小的局部问题进行展开研究和处理。
1974 年,美国 IBM 公司宣布了系统网络体系结构 SNA(System Network Architecture).这个著名 的网络标准就是按照分层的方法制定的。不久之后,其他一些公司就也相继推出自己公司的具有不同名称的体系结构。
由于网络体系结构的不同,不同公司的设备很难互相连通。
后来,终于有人看不下去了,我们必须制定一个标准来统一六国,国际标准化组织 ISO 在 1977 年成立专门研究机构研究这个棘手的难题。他们提出了试图使各种计算机在世界范围内互连成网的标准框架,也就是注明的开放系统互连基本参考模型 OSI/RM(Open Systems Interconnection Reference Model),简称 OSI。(文中有一个字眼很到位,试图)
只要遵循 OSI 标准,一个系统就可以和位于世界上任何地点的也遵循这同一标准的其他任何系统进行系统通信。
可惜了,OSI 只获得了一些理论研究的成果,市场上根本行不通。
也对,ISO 专家是搞学术的不是搞市场的,商人可不吃学者们那一套,按照 OSI 标准来成本太高了,而且 OSI 模型制定花了很长时间,时间就是金钱,商人有自己的一套法子能用还能赚钱,而且不少人还吐槽 OSI 的层次划分不合理,有些功能在多个层次中重复出现。
最后呢,市场上 TCP/IP 获得了最广泛的应用,是名副其实的国际标准。OSI 作为法律上的国际标准并没有推广成功。
虽然 OSI 不用在市场上,但是理论上 你还得学!就是学习人家的长处。
计算机网络中的数据必须遵守实现约定好的规则。
这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)
网络协议(network protocol),简称协议,是为了进行网络中的数据交换而建立的规则、标准或者约定。
计算机网络中有协议,我们生活中也有协议。
看那个电视剧 精英律师 什么离婚协议呀,庭外和解协议等等。
那种协议是文字描述方便人们进行阅读和理解的。
而计算机网络的协议就是给计算机看的程序代码。
既然是代码肯定也都是人编写的嘛,肯定先有文字协议 然后再有程序代码形式的协议,也就是说这两种协议都可以对网络上信息交换过程做出精确的解释。
对于非常复杂的计算机网络协议呢,ARPANET 的研制经验就说了,计算机网络协议的结构应该是层次式的。
可以将要做的工作进行如下划分:
确信对方已经做好接收和存储文件的准备
双方已协调好一致的文件格式
2.两个主机将文件传送模块作为最高一层,剩下的工作由下面的模块负责。
这图可以看出来,主机 1 给主机 2 发送文件也是需要交给下层模块进行发送的,但我们直观感觉就好像这两个文件传送模块是按照水平沿着虚线传送的一样。噢!这是魔法么?
我们来看下一张图
这张图比上一张图多了一个通信服务模块,就是主机接受到文件后可以告诉发送文件的主机,hi,我收到你的快递了,快递没问题放心吧。
别慌还有下一层呢
这张图多了一个网络接入模块,网络接入模块主要负责做与网络接口细节有关的工作,例如:规定传输帧的格式,帧的最大长度等。每逢毕业季,都有大批学生往家里寄包裹行李,快递员呢就帮你打包行李,贵重物品和棉被之类的分开放,有的行李可以空运有的陆运,具体细节你都不用管啦。
这样分层也是有利有弊的。
好处呢:
缺点:
好处咱不多说,一些人疑惑这缺点。
你直接一股脑打包行李到一起,家里开私家车过来接你带回家。这就是不分层了,整个过程只需要装车一次卸车一次。效率贼高还快。
而你家人要忙,没空接你你选择寄快递,那么对你行李来来说,他要装车卸车好多次,两点之间直线最短,快递公司要先送到分拣中心分拣再安排发送到下一个分拣中心或者直接配送。通常都是我人先到家,行李隔一天才到。这就是分层 的缺点啦,降低了效率增加了额外开销。
体系结构是抽象的,实现则是具体的,是真正在运行计算机硬件和软件
OSI 的七层协议体系结构概念清晰明了,理论成熟,但是过于复杂,不实用。
TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层,但是这个最下面的网络接口层并没有具体内容
因此采用折中方法,综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构。
相邻两层之间的关系
在设计协议的时候必须要考虑到所有的不利条件,而不能假定一切都是正常的和非常理想的。看一个计算机网络协议是否正确,不能只看在正常情况下 是否正确,还必须仔细检查这个协议能否应对各种异常情况。
实际上,现在互联网使用的 TC/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。
沙漏计时器形状的 TCP/IP 协议族
大纲生成思维导图敬上