java网络编程:3、ISO/OSI七层参考模型

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

文章目录

ISO/OSI七层参考模型

七层参考模型,通信的注意点

对等通信示例


ISO/OSI七层参考模型

OSI(Open System Interconnection)参考模型,将网络的不同功能划分为7

java网络编程:3、ISO/OSI七层参考模型

国际化标准组织提出了ISO/OSI七层参考模型,从下往上看

第一层是物理层:提供二进制传输,确定如何在通信信道上传输比特流。

第二层是数据链路层:提供介质访问(接入),加强物理层的传输功能,建立一条无差错的传输线路。

第三层网络层:提供ip寻址和路由。因为在网络上数据到达一个目的地,可以有多条线路,网络层就负责找出最佳的传输线路。

第四层是传输层:为原端主机到目的端主机,提供可靠的数据传输服务,隔离网络的上下层协议,使得网络应用与下层协议无关。

第五层是会话层:会话层在两个相互通信的,应用进程之间建立组织和协调,其相互之间的通信。

第六层是表示层:处理被传送数据的表示问题,即信息的用法和语义,如有必要使用一种通用的数据表示格式,在多种数据格式表示之间进行转换。例如在日期、货币、数值等本地数据表示格式与标准数据表示格式之间进行转换,还有数据的加解密、压缩解压缩等。

第七层是应用层:为用户的应用程序提供网络通信服务,我们要注意的是OSI七层参考模型,并不是物理实体上存在这七层,这只是一个功能的划分,是一个抽象的参考模型。在我们进行一次网络通信的时候,每一层负责为我们这一次通信,提供本层的功能。

 

七层参考模型,通信的注意点

通信实体的对等层之间不允许直接通信。

我们一个通信实体跟另一个通信实体进行通信,那么在他们的对等层之间不允许直接进行通信。

比如说在我们通信实体之间的传输层 和 另一个通信实体的传输层之间 不允许直接通信。

各层之间是严格单向依赖。

上层使用下层提供的服务— Service user

那么传输层要使用网络层的服务,传输层就作为一个服务的使用者。

下层向上层提供服务— Service provider

下层向上层提供服务,作为服务的提供者

 

对等通信示例

java网络编程:3、ISO/OSI七层参考模型

在中国的一个教师要向在德国的一个教师问好,他说了一个你好,然后这个数据呢,就要由这个翻译,翻译将它翻译成英文,然后将这个数据交给秘书,秘书通过传真,然后使用电话线路,将这个数据,发送给了在德国的秘书,在德国的秘书将这个数据拿到之后,讲给了翻译,那么德国这边的翻译将这个英文,翻译成了德文的海螺(Hallo),交给德国教师。那么这个德国的教师就知道,中国教师向他问好,那么这个信息传递的过程,就是在网络上我们两个通信实体,进行通信的一个过程。

 

作为上层来说它要使用下层给它提供的服务,那么中国教师要使用翻译提供的翻译服务,翻译要使用秘书提供的传真服务。那么这个数据是在我们最底层,通过我们的物理通信线路传输出去的,但是对于中国教师和德国教师来说,他们有一个虚拟的连接,中国教师所说的你好,最终是到了德国教师这里,那么他认为我是在和这个德国教师直接进行通信,实际上这个通信是通过下层所提供的服务来完成的。

 

那么对于我们的翻译来说,他也认为他们之间也是在直接进行通信,那么最终的通信是通过最底层的一个物理的通信线路来完成的,那么传真与传真之间是用传真进行通信。

那么一个实体跟另外一个实体进行通信的时候,一个应用层发送的数据通过表示层、会话层、传输层、网络层、数据链路层,最后达到我们的物理层,物理层将数据传送到另外一个实体的物理层,然后这个数据依次从物理层、数据链路层等,依次向上传递,最终达到我们的应用层。那么这就是两个通信实体,他们在进行通信的时候,数据输出的一个过程。

 

对等层通信的实质:

1、对等层实体之间虚拟通信

即对等层实体之间,他们是一个虚拟的通信。

2、下层向上层提供服务,实际通信是在最底层完成。