OSI模型与TCP/IP模型介绍
OSI模型
OSI模型即开放式通信系统互联参考模型(Open System Interconnection Reference Model),它是国际标准化组织(ISO)提出的一个世界范围内网络通信标准的参考框架。
- OSI参考模型并不是一个标准,而是在网络协议具体实现时可供参考的概念性框架,也没有提供一个可以实现的方法;
- OSI参考模型只是描述了一些概念,定义了网络通信协议的层次结构、层次之间的相互关系以及各层可能包括的任务。
- OSI模型一共分为7个层次,如下图所示,从上到下依次为:应用层(第7层)、表示层(第6层)、会话层、传输层、网络层、数据链路层及物理层(第1层)。
TCP/IP协议
Internet,因特网,起源于上世纪美国国防部发起的ARPANET项目。当时该项目使用的网络通信标准叫TCP/IP协议,目前该协议已经成为当前所有计算机网络的标准。TCP/IP协议完整包含了一系列构成互联网基础的网络协议。
TCP/IP协议完整并没有按照OSI模型中描述的各种结构来实现,而是有着自己的协议层次划分特点。
- TCP/IP协议模型可以分为4个层次,从下到上依次为:网络接口层(network interface layer)、网络层(internet layer)、传输层(transport layer)和应用层(application layer)。
- 在所有层次结构中,每一层建立在低一层提供的服务上,最终完成数据在两台联网主机间的传递,如下图所示。
- 在每层实现的协议个不同,即每层的服务也不同,如下图所示:
网络接口层
- 上图所示的数据链路层和物理层就属于网络接口层;
- 是TCP/IP协议模型的最底层,主要负责网络上数据帧的发送和接收,数据帧是底层网络传输的基本单元;
- 网络接口层一方面将上层的数据组装成自己特定的数据帧并发送;
- 另一方面接收网络中的发给自己的数据帧,并解析出帧中的数据后递交给上层。
网络层
- 网络层负责在主机之间的通信中选择数据报的传输路径,即路由;
- 当网络层接收到来自于上层(传输层)的数据分组后,它会将分组封装在IP数据报中,填入数据报的首部,使用路由算法来确定是直接交付数据报还是传递给路由器,然后把数据报交给适当的网络接口进行传输;
- 网络层还要负责处理传入的数据报,并校验其数据的准确性,判断该数据报是否是给主机的,如果不是,则使用路由算法将数据报转发出去,如果是则需取出数据报的首部并递交给上层(传输层);
传输层
- 传输层主要提供应用程序之间的通信服务,这种通信又称为端到端通信;
- 传输层协议把上层要传输的数据流划分为分组,把每个分组连同目的地址交给网络层去发送;
- 传输层要系统地管理两端数据的准确交互,提供可靠的传输服务,可以采用协商、确认、重发等机制。
应用层
- 应用层是分层模型的最高层,利用传输层提供了数据传输功能发送自己的数据到对方;
- 传输层协议类型有多种,不同的类型意味着不同的传输速度和可靠性,两者不可兼得,需要选择合适的传输服务类型。
参考文献
- OSI七层模型与TCP/IP五层模型
- 嵌入式网络那些事LwIP协议深度剖析与实战演练