导读 网络知识博大精深,学了十几年,感觉也只学了个皮毛,加上年龄慢慢增长,各种新技术层出不穷,有点身心疲惫的感觉,没人的时候,总是想感慨一下:“一入网络岁月催, 不胜人生一场醉”。
概述

网络知识博大精深,学了十几年,感觉也只学了个皮毛,加上年龄慢慢增长,各种新技术层出不穷,有点身心疲惫的感觉,没人的时候,总是想感慨一下:“一入网络岁月催, 不胜人生一场醉”。还有比较坑爹的是之前知道的网络标准,等过几年以后就变了,让人感觉一下子变老:)。

最让我感慨的是TCP/IP协议栈,上大学的时候,教科书上明确的指出它有五个分层,我也一直坚信不疑,但是最近的一个事件,几乎颠覆了我对网络通信的认知:有人告诉我,TCP/IP协议栈是四层的!

当时技术部分组织培训,和一群年轻的同事聊天,说到TCP/IP分层, 当听我说TCP/IP协议栈是五层时,他们连忙给我纠错,说TCP/IP协议栈只有四层,没有五层。这让我很汗颜,第一反应是不相信,只能保持沉默,假装深沉。散会以后偷偷的查了一下资料,结果发现主流资料上说的都是四层,不是五层了:)。这让我很受伤,感觉被教科书欺骗了,不停的又查了好多资料,发现TCP/IP还不止有这二种分层,还有其它分层模型,今天就整理一下,给大家分享!

七层的OSI模型

对于OSI七层模型是没有人有疑问的,各个组织机构都承认这种模型,可以它说是整个网络的基石。相信各位刚开始学习网络时,肯定有老师给各位详细解释这部分内容的,所以我们今天就不多说了,看看下面的图片就行。


OSI七层模型

OSI模型唯一的缺点就是太复杂了,分层太多,设备厂商都没有能力完全来实现这些内容。所以它被束之高阁,高高挂起,成为被远观的美女(没人敢接近):)。而相对的,TCP/IP协议栈由于相对简单,并且容易实现,设备厂商都基于它来做开发,它成为了网络世界的真正标准,可谓是屌丝逆袭。不过由于历史原因和这些设备厂商的不同实现,TCP/IP协议栈有不同的分层结构。

TCP/IP 四层模型

这个网络分层是在RFC1122中定义的,也是今天大家公认的TCP/IP协议栈分层模型。如下图所示:


七层和四层比较

OSI七层参考模型中的最上面的三层应用层、表示层、会话层被合并为一个:应用层,协议可以直接面对用户了,例如telnet、FTP、SMTP都是这一层次的。

OSI七层参考模型中的最后两层数据链路层、物理层被合并为一个:链路层,它具有OSI模型的两层功能。

其它的两个层次不变,功能也相同,传输层对应传输层,网络层对应网络互连层。

TCP/IP 五层模型

我们来看看这种之前教科书上写的五层分层模型,如下图所示:

它和TCP/IP协议栈四层模型最大的不同就是最后的两层:数据链路层和物理层还是分开的,在四层模型中,这两个层次合并为一个链路层。

不知道是否是先入为主,我一直认为这种分层才是正确的,数据链路层处理ARP、STP、MAC地址等二层内容,明显与物理层处理的各种媒介(WIFI、蓝牙、光纤等)是不一样的。

从从业人员上来看,这两种也是不一样的,数据链路层是网络工程师的世界,而物理层主要的从业人员是硬件工程师,两个职业很少有交集很少。

关于五层结构被取消的原因,我到现在也没有找到好的说法,希望知道的小伙伴能在下面留个言,告诉我RFC1122把这两个层次合并的原因!

其它分层模型

事实上还有几个分层模型,在工作中大家都基本没见过,因为他们只存在于理论当中,今天让大家看看眼:

Arpanet 三层参考模型

不要小看这个模型哦,它可是互联网的前身,现在的一切都是在阿帕网(apanet)的基础上建立的。它在1982年发布的RFC871中定义,整个网络只有三个分层,如下图所示:

APANET参考模型

Cisco 四层模型

思科这个通信界的大佬也曾经定义过自己的网络模型:“Internet Model”。

不过思科今天也不推这个模型了,而是也使用在RFC1122种定义的4层标准模型。

其它模型

还有其它的模型,咱就不详细说了,也没有研究,各位看个热闹,都是些有名的人和机构提出的,不过太古老了,现在已经不使用了:

Stallings模型


Tanenbaum模型

总结

我整理完这些分层以后还有点失落,这些都是老外制定的标准,现代互联网的基础都是别人奠基的。中国啥时候在网络世界中能雄起,能定义这种基础的网络架构啊!

原文来自:

本文地址://q13zd.cn/tcp-ip-osi.html编辑:xiangping wu,审核员:张文祥

Linux大全:

Linux系统大全:

红帽认证RHCE考试心得: