前面说过,OSI模型没有定义每一层的服务和协议。更重要的是,OSI模型在业内几乎就只是一个“大帽子”。除了人们在讨论理论问题时,谈到“第X层”中的“X”是参考的OSI模型外,OSI模型几乎没有什么其他的实用价值。而 TCP/IP参考模型则不同,这个模型是对已有TCP/IP协议栈所进行的描述 ,而且这个模型广泛应用于全球互联网网络中。所以,OSI模型就像一张设计不甚合理又缺乏核心参数的建筑设计图,因此基本没人尝试用它盖过楼;而TCP/IP协议栈就像一栋没有了设计图纸的实际建筑,人们会根据自己的需要对这栋楼进行测绘,以还原图纸的设计。
那么TCP/IP模型这张图纸还原之后长什么样子呢?这个模型只包含了四层,具体如图1-6所示。
图1-6 TCP/IP参考模型
这四层体现在示意图中有宽有窄,宽窄间体现的是它与OSI模型之间的对应关系。前面我们已经用大量的篇幅介绍了OSI模型的功能, 对于TCP/IP参考模型而言,它的网络接口层就相当于OSI模型中物理层与数据链路层的结合;而TCP/IP模型的应用层则融合了OSI模型上三层的功能 。因此,如果我们在这里再像介绍OSI模型那样逐层介绍TCP/IP模型,行文难免累赘。为简化起见,这里用表1-1对TCP/IP模型中各层的功能进行了总结。
表1-1 TCP/IP模型的功能
在了解了TCP/IP模型的分层方式之后,读者完全可以对这两个模型之间的异同进行一下总结。总的来说,这两个模型的相同之处体现在分层的理念上,其中包括:
● 两者都以协议栈的概念为基础;
● 协议栈中的协议彼此相互独立;
● 下层对上层提供服务。
它们的区别则包括:
● OSI先有模型,而TCP/IP则是先有协议,后有模型;
● OSI模型适用于各种协议栈,而TCP/IP只适用于TCP/IP网络;
● 层次数量不同。
如果把这两个模型放在一起进行对比,任何人都会轻松地得出一个结论,那就是OSI七层模型的分层过“碎”,它对很多可以进行融合的功能进行了过细也过于理论化的区分;而TCP/IP四层模型却又稍“糙”,下层一些本该进行区分的功能没有通过这个模型体现出来。因此,最好能有一种折中的分层方式为人们所用,这是我们下一节将要介绍的重点。