2.2 网络互联模型
在网络诞生之初,计算机通常只能与来自同一制造商的其他计算机进行通信。比如企业可以完全使用DECnet解决方案或完全使用IBM解决方案——不能同时使用两者。在20世纪70年代,国际标准化组织(ISO)创建了开放式系统互联(OSI)参考模型,打破了这一限制。
OSI模型创建的初衷是为了帮助厂商使用统一的协议,开发出可以相互协作的网络设备和软件,使不同厂商的网络能够相互通信。这就像世界和平,虽然不太可能完全实现,但仍是一个伟大的目标。
OSI模型是网络架构的第一个模型。它描述了数据和网络信息是如何通信的,即从计算机上的应用发出,通过网络媒介,到达另一台计算机上的应用。OSI参考模型将通信过程划分为多个层次。
在接下来的小节中,我将介绍分层模型,以及这种方法如何帮助我们在互联网络中进行排错。
2.2.1 分层模型
参考模型是网络中应该如何通信的概念蓝图。它解决了有效通信所需的所有过程,并将这些过程在逻辑上分类为层(Layer)。若一个通信系统是按照这种概念设计的,它就是一个分层结构。
这样想吧:假设你和几个朋友想要开公司。首先要做的是坐下来想想必须完成的任务有哪些,由哪些人完成,按什么顺序完成,这些任务之间的关系如何。最终,你会将这些任务分为不同部门。假设最终决定分为以下部门:订单部、库存部和货运部。每个部门都有不同的任务,要让员工的工作量饱和,并且让他们只专注自己的任务。
在上述场景中,我将通信系统中的层比喻为部门。为了顺利展开工作,每个部门的员工都必须完全信任并依赖其他部门的工作成果,并且要能够胜任自己的职能。在这种规划中,你很可能需要进行记录,记录下完整的处理过程,以便日后讨论标准化运作时作为参考,运作的标准将会成为你的商业蓝图或参考模型。
部门经理掌管着与部门相关的蓝图,一旦业务开始运营,部门经理需要形成一套实际的方法,来完成分配给部门的任务。这些实际的方法(或协议)需要编写入标准化操作规程手册中,并实时更新。手册中的每条流程将被归类到不同的事由中,并分为不同的重要级别和实施级别。如果你与另一家公司结成合作伙伴或收购另一家公司,那么它的商业协议——商业蓝图——必须与你的相匹配(或者至少是能够兼容的)。
类似地,软件开发商也可以使用参考模型来理解计算机的通信过程,并确定每层需要实现什么类型的功能。当他们为某一层开发协议时,他们所要关注的全部内容都集中于该层的功能,而不涉及其他层;另一层及协议会负责其他功能。这种概念的技术术语叫做捆绑(Binding)。通信的每个过程通过每层,相互捆绑或结合在一起。
2.2.2 参考模型的优点
OSI模型是层级式的,它所具有的优点和缺点适用于所有分层模型。所有这类模型(尤其是OSI模型)的首要任务是使不同厂商的网络能够相互操作。
OSI分层模型的优点有且并不局限于以下几点。
- 它将网络通信过程分为更小且更简单的几个部分,有助于各组成部分的开发、设计和排错。
- 允许多厂商使用网络构成的标准来开发产品。
- 它定义了模型中每一层实现的功能,推动了工业标准的发展。
- 允许多种类型的硬件和软件相互通信。
- 一层的更改不会影响其他层,因此不会妨碍开发。