凌霄的博客
朝花夕拾之OSI七层参考模型和TCP/IP五层模型
朝花夕拾之OSI七层参考模型和TCP/IP五层模型

简述OSI七层模型和TCP/IP五层模型

复习这块知识的时候,总是让我回想起大学的时光,大学没有好好学习网络相关的基础知识,觉得这些知识在当时看来没有什么实际的意义,现在工作之后,又回顾这些知识,有一种豁然开朗的感觉。

不知道你们接触网络分层模型的时候,有没有这种疑惑:互联网实现为什么需要分层?

在我读书的时候,老师总是开头就把各个分层的概念给我说了,让我记住就行,考试要考这些。我是个乖宝宝,老师交代的我当然要听啊,所以就死记硬背,考试过后查完成绩,立马就给忘了。

OSI七层模型:

  1. OSI七层网络模型称为开发式系统互联网参考模型,是一个逻辑上的定义和规范;
  2. 把网络从逻辑上分为七层,每一层都有相应的物理设备
  3. OSI七层网络模型是一种框架式的设计方法,最主要的功能就是帮助不同类型的主机实现数据传输;
  4. 最大的优点就是将服务、接口和协议三个概念明确的区分起来,随之而来的问题就是复杂且不实用;
  5. 经常使用的是TCP/IP五层模型。

TCP/IP五层模型

每一层都呼叫它的下一层提供的网络来完成自己的需求。就像建筑物一样,一层一层堆积,开发者只关注上层应用层,而不用关心下层具体的实现。

  1. 物理层:负责光电信号传递方式。集线器工作在物理层。以太网协议。通俗的讲,它就是把电脑连接起来的物理手段,可以用光缆、电缆等方式,主要负责传送0和1的电信号。

  2. 数据链路层:单纯的0和1的电信号是没有任何意义的,我们需要给它们分组,多少个为一组,这一组的数据是什么类型的数据,数据的发送者、接受者是谁。链路层就是解决这个问题的,它是负责设备之间的数据帧的传输和识别。

    1. 以太网协议:不同的公司实现自己的数据分组,显然不太现实,这个时候就需要一个大家共同遵守的电信号分组协议,以太网协议就是这样的协议
    2. MAC地址:,发送者和接受者是如何标识呢?以太网规定,连入网络的所有设备,都必须具有”网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。 而数据的发送方,必须提前知道接收方的mac地址,它会向本网络内所有计算机发送数据,让每台计算机自己判断,是否为接收方。这种方式叫做广播。
  3. 网络层:负责地址管理和路由选择。路由器工作在网络层。 单单依靠mac地址发送数据,规定只能在同一个局域网下实现,虽然在不同的局域网下,技术上也可以实现,但是缺点是效率低下,而且每台计算机都会收到所有消息,这样的设计是不合理到的。所以网络层由此而生,它引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做”网络地址”,简称”网址”,即ip地址。

  4. 传输层:负责两台主机之间的数据传输。 有了MAC地址和IP地址,我们已经可以在互联网上任意两台主机上建立通信。但是一台主机上有不同的应用程序,我们怎么判断收到的数据是需要哪个应用程序来处理的呢。

    也就是说,我们还需要一个参数,表示这个数据包到底供哪个程序(进程)使用。这个参数就叫做端口传输层的功能,就是建立端口到端口的通信。相比之下,网络层的功能是建立主机到主机的通信。

  5. 应用层:负责应用程序之间的沟通。网络编程主要针对的就是应用层。不同的应用程序有不同的功能,要处理的数据也就不同,所以必须要事先规定好格式,否则会无法解读这些数据,比如email,http,ftp等。这些协议构成了应用层。

关于OSI七层模型和TCP/IP五层模型的区别,可以用下面这张图概括:

https://blog-1252348761.cos.ap-chengdu.myqcloud.com/http/osi.png

TCP/IP五层模型其实就是将OSI七层模型的应用层、表示层、会话层统一成了应用层 。看上去是这样的,实际上OSI和TCP/IP是两个不同的东西。只是TCP/IP参考了OSI的思想而已。

为什么要使用TCP/IP协议而不是OSI呢,其实在最开始的时候,OSI这个国际标准被提出来了,就要软件/硬件厂商去实现了,但是厂商发现OSI协议栈追求全能,追求完善,导致它太过复杂,实现起来太难。而这个时候,民间的大神们借鉴了OSI的思想,又提出了另一套通信协议,就是TCP/IP协议。它能完成网络通信工作,实现的难度比OSI要小多了。

嗯。。。虽然使用的是TCP/IP协议,但是OSI网络分类思想是很有参考价值的,毕竟OSI的中文翻译叫:开放系统互联参考模型 嘛。我们在学习网络知识的时候,都是参照OSI模型的,但在使用的时候,都是使用TCP/IP模型 。

发表评论

textsms
account_circle
email

朝花夕拾之OSI七层参考模型和TCP/IP五层模型
简述OSI七层模型和TCP/IP五层模型 复习这块知识的时候,总是让我回想起大学的时光,大学没有好好学习网络相关的基础知识,觉得这些知识在当时看来没有什么实际的意义,现在工作之后,又…
扫描二维码继续阅读
2019-04-10