上一篇我们介绍了七层OSI开放式系统互联通信参考模型,当时为了使不同体系结构的计算机网络都能互连,国际标准化组织ISO于1977年成立了专门机构研究该问题。但是由于OSI标准制订的时间周期太长,最后大家并没有采用,所以说OSI模型只能出现在在大学教科书上了,当今实际应用的网络模型是诞生于美国国防部(DOD)的TCP/IP网络参考模型,因为TCP/IP体系结构参考模型构经过了实际应用的锤炼,当OSI参考模型标准出来之后难以再动摇TCP/IP网络参考模型的地位,在我看来其实就是生态环境已经形成。
一 TCP/IP参考模型 与 OSI参考模型对比
TCP/IP参考模型分为四层,网络访问层、网际互联层、传输层、应用层,虽然只有4层但是它包含了OSI参考模型中全部七层的功能。
OSI参考模型中的“物理性”、“数据链路层”在TCP/IP参考模型中被合并为一层即“网络访问层”。
OSI参考模型中的最高三层“会话层、表示层”、“应用层”合并为TCP/IP参考模型中的应用层。
“传输层”、“网络层”OSI参考模型与TCP/IP参考模型功能划分是一样的,只不过以TCP/IP参考模型中将“网络层”成为“网际互联层”,重新起了个名字。
OSI参考模型是一个标准,他适用于所有类型网络参考设计,而TCP/IP参考模型是针对TCP/IP类型网络的。OSI参考模型好比是概念定义,而TCP/IP参考模型好比是具体的实现。前面也说过其实TCP/IP协议体系结构的诞生要早于OSI参考模型,之所以两者能够映射对应上个人觉得是一种客观必然,做过开发的同学应该深有体会,不管是前端还是后端的很多框架、起初大家是有差异的,但是随着技术的发展,时间推移最后大家在设计思想上会越来越相似,因为它符合实际的客观规律。
二 四层TCP/IP参考模型与五层TCP/IP参考模型
标准的TCP/IP模型是四层模型,但是四层模型中的网络访问层还是拆分成“数据链路层”、“物理层”更为合理,所以实际的使用中五层TCP/IP参考模型使用的更为广泛。
三 TCP/IP参考模型数据单元
在TCP/IP参考模型中每层数据单元都有了针对本层特定的名称
- 物理层数据单元成为“比特(bit)”。
- 数据链路层数据单元称为“帧 frame”。
- 网络层中的数据段元称为“分组或包(packet)”。
- 传输层的数据单元称为“段(segment)” 如 Tcp Segment。
- 应用层的数据段元称为“报文(Datagram)”如Http Datagram。
题外话:我参考的教材大部分是在讲OSI参考模型时就说到每层的特定名称,我经过考察并未发现OSI规范中提及相应概念。