OSI参考模型中数据的传输过程,OSI参考模型中数据的传输过程如图1所示,设备A向设备B发送数据,该数据是一个应用层程序产生的,如IE或者电子邮件的客户端等。
这些程序在应用层需要有不同的接口,IE是使用HTTP浏览网页的浏览器,HTTP应用层为浏览网页的软件留下了网络接口;电子邮件客户端使用SMTP和POP3来收发电子邮件,SMTP和POP3是应用层为电子邮件软件留下的接口。假设设备A向设备B发送了一封电子邮件,设备A会使用SMTP来处理该数据,即在数据前加上SMTP的标记,以便使设备B在收到电子邮件后知道使用什么软件来处理该数据。
图1 OSI参考模型的传输过程
应用层将数据处理完成后会交给下面的表示层,表示层会进行必要的格式转换,使用一种通信双方都能识别的编码来处理该数据,同时将处理数据的方法添加到数据中,以便接收端知道怎样处理数据。
表示层处理完成后,将数据交给下面的会话层,会话层会在设备A和设备B之间建立一条只用于传输该数据的会话通道,并监视它的连接状态,直到数据同步完成后才断开该会话。
注意:设备A和设备B之间可以同时有多条会话通道,但每一条都和其他的不同,会话层的作用就是区别不同的会话通道。
会话通道建立后,为了保证数据传输中的可靠性,需要在数据传输的构成中对数据进行必要的处理,如分段、编号、差错校验、确认、重传等。这些方法的实现必须依赖通信双方的控制,传输层的作用就是在通信双方利用通道传输控制信息,完成数据的可靠传输。
网络层是实际传输数据的层次,在网络层中必须将传输层中处理完成的数据再次封装,添加上自己的地址信息和接收端的地址信息,并且要在网络中找到一条由自己到接收端的最佳路径,然后按照最佳路径发送到网络中。
数据链路层将网络层的数据再次封装,该层会添加能唯一标识每台设备的地址(MAC地址)信息,使这个数据在相邻的两个设备之间一段一段地传输,最终到达目的地。
物理层是将数据链路层的数据转换成电信号传输的物理线路。设备A通过物理线路传递数据到设备B后,设备B会将电信号转换成数据链路层的数据,数据链路层再去掉本层的MAC地址信息和发送端添加的内容上交给网络层,网络层同样去掉发送端网络层添加的内容并上交给自己的上层,最终数据到达设备B的应用层,应用层看到数据使用了SMTP封装,就会应用电子邮件的软件来处理。
两个OSI参考模型之间的通信看似是水平的,但实际上数据的流动过程是由最高层垂直地向下交给相邻下层的过程,只有最下面的物理层进行了实际的通信,而其他层次只是一种相同层次使用相同协议的虚通信。其数据的传输过程如图2所示。
图2 OSI参考模型数据的传输过程