您的位置:首页 > 运维架构 > Linux

【Linux Socket 编程入门】02 - OSI七层模型与DoD四层模型

2017-01-17 04:32 465 查看
本文主要简单介绍OSI七层模型,TCP/IP协议族采用的DoD四层模型,以及数据在整个网络中如何进行传输。了解这些信息有助于理解socket编程。

(一)OSI七层网络模型

开放式系统互联通信参考模型(Open System Interconnection Reference Model),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织(ISO)提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。即OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。也因此,OSI模型更多的是作为理论指导,而不是具体的应用模型,事实上,目前广泛采用的标准是DoD四层模型。OSI七层模型可以简单的用下表表示



(二)DoD四层网络模型

DoD模型最早发源于美国国防部(缩写为DoD)的ARPA网项目,因此也被称作DoD模型。DoD模型其实指的就是我们目前广泛使用的TCP/IP协议族。这个协议家族的两个核心协议,包括TCP(传输控制协议)和IP(网际协议)。TCP/IP提供点对点的链接机制,将数据应该如何封装、定址、传输、路由以及在目的地如何接收,都加以标准化。它将软件通信过程抽象化为四个抽象层,采取协议堆栈的方式,分别实现出不同通信协议。协议套组下的各种协议,依其功能不同,被分别归属到这四个层次结构之中,常被视为是简化的七层OSI模型。TCP/IP协议可以看成是DoD模型的具体实现。



(三)OSI七层,DoD四层与TCP/IP的对应关系

注:我们常常讲的socket编程,就是应用层的编程。



(四)数据在网络中的传输

利用socket,我们可以与网络上的主机进行通信和数据交换。我们的数据会从应用层开始,一层一层的往下传,每一层都会将数据打包封装,并往下一层传递。当数据包到达远端主机时,数据会按照相反的顺序,每一层会对数据进行解包并往上一层传递。最终实现与远端主机的数据交换。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux socket 网络