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的功能。
而至于我们现在常用的五层模型,就是从上面将那五层抽取出来,大家比较学习即可。