OSI七层模型与TCP/IP模型的比较

OSI七层模型与TCP/IP模型的背景故事就略过吧,直接进入正题。

首先,OSI有七层模型,而TCP/IP模型只有四层,不过一般书上为了方便讲解则将这两者的优点合在一起分为了五层。

注:以下顺序均为从低到高
OSI七层分别是:物理层,数据链路层,网络层,运输层,会话层,表示层,应用层
TCP/IP四层分别是:网络接口层,网际层,传输层,应用层
我们一般的五层分别是:物理层,数据链路层,网络层,传输层,应用层

下面对上述模型进行详细叙述


OSI模型:

层次 简介
物理层 传输单位:比特
硬件:集线器、中继器
任务:透明地传输比特流
功能:定义了电路接口的一些参数(如机械尺寸、形状,交换电路的数量和排列等)
            也规定了通信链路上传输的信号的意义和电气特性(即什么信号代表0,什么信号代表1)
注意:传输信息所用的物理媒介,比如双绞线、光纤等不属于物理层协议,而在物理层协议之下
数据链路层 传输单位:帧
硬件:交换机,网桥
任务:将网络层传下来的IP数据报封装成帧
功能:成帧、差错控制、流量控制、传输管理
作用:实现数据在链路上的点对点的正确传输
网络层 传输单位:数据报
硬件:路由器
任务:将传输层传下来的报文段封装分组,选择合适的路由使分组能够正确交付到目的主机
功能:流量控制,拥塞控制,差错控制,网际互联,路由选择
作用:就是实现信息在各个网络之间的正确传输
运输层 传输单位:报文段(TCP),用户数据报(UDP)
任务:负责两个进程间的通信
功能:流量控制,差错控制,服务质量,数据传输管理
作用:实现端到端之间的通信,链路层是点到点
注:运输层还具有复用和分用的功能
会话层 向表示层实体或用户进程提供建立连接并在连接上有序地传输数据,也成为建立同步(SYN)
会话层负责管理主机间的会话进程,包括建立、管理以及终止进程间的会话
表示层 转变数据格式,包括加密、解密、压缩等功能
应用层 为特定类型的网络应用提供访问OSI的手段

TCP/IP模型的网络接口层可近似看为物理层+链路层
网际层可近似看作网络层
传输层可近似看作运输层

但是TCP/IP模型和OSI模型的一个很大的区别就是:
OSI模型中,网络层可以选择面向连接和无连接,而运输层中必定是面向连接的
TCP/IP模型中,网络层不面向连接,而传输层中是可以选择面向连接的TCP,和无连接的UDP

此外,他们之间还有些差别.

  • OSI参考模型精确地定义了三个主要概念:服务、协议、接口;而TCP/IP模型并没有,这不符合软件工程的思想。
  • OSI模型诞生于协议产生之前,因此是通用的,不偏向于任何协议,但也由于没有协议方面的经验,不知道将哪些功能放到哪一层更好;TCP/IP模型诞生于协议产生后,因此不会出现协议不能匹配模型的情况,但是不适合于任何非TCP/IP的协议栈。
  • TCP/IP充分认识到了异构网络的互联问题,因此将网络协议IP作为单独的重要层次;而OSI则在此后才在网络层中划分出一个子层来完成类似与TCP/IP模型中的IP的功能。

而至于我们现在常用的五层模型,就是从上面将那五层抽取出来,大家比较学习即可。

posted @ 2019-02-28 16:10  _吟游诗人  阅读(1245)  评论(0编辑  收藏  举报