中网网闸在OSI模型的物理层、数据链路层、网络层(IP)和传输层(TCP/UDP),都已经实现了断开。最后一关应用协议是如何断开处理的?本文以HTTP协议为例,说明中网网闸中应用协议的剥离和重建原理。
HTTP协议的工作原理简介
用户访问某个网站,首先要打开浏览器。浏览器工作在应用层,用户的数据输入是从应用层开始的。用户访问的目的服务器也是应用系统。因此,目的服务器的应用是最终的数据出入口。HTTP访问的详细OSI模型见图1。
图1 HTTP访问的详细OSI模型
用户访问一个网站,浏览器根据HTTP协议规范,建立对HTTP的连接请求。请求数据先交给TCP协议,TCP/IP协议同对方的服务器进行三次握手,确定传送任务序列号,构造完整的TCP包保证传输的可靠性。TCP协议发送数据流,然后交给IP协议。IP协议负责把上述数据进行分包,保证符合IP协议,再发送给数据链路层。数据链路层按照通信协议的格式进行封装,交给物理层发送出去。
服务器在完成一个类似的逆向过程后,得到用户浏览器的请求,决定提供服务,把网站首页的内容发送给用户。WWW服务器根据HTTP协议规范,重复上述HTTP协议、TCP协议、IP协议、通信协议的封装,把规定的内容以包的形式送回给浏览器。
中网网闸对HTTP协议的剥离和重建机制
中网网闸在HTTP访问的应用中,位于内网与外网要断开的地方。中网网闸的OSI模型见图2。
图2 中网网闸的OSI模型
中网网闸使内网与外网完全断开。用户访问的目的地不能直接到达,而是到达中网网闸的内部主机上。HTTP协议的隔离机制如下:首先,中断通信链路—因为物理层和数据链路层是断开的,中网网闸的外部主机将以太帧格式剥离,还原IP数据包给IP层; 其次,中网网闸的外部主机剥离IP协议,转发TCP/UDP包给传输层; 再次,中网网闸的外部主机剥离TCP/UDP协议,将应用数据转发给第五层; 最后,应用层的代理进行应用协议的剥离,还原为原始数据。
由于中网网闸的隔离功能,中网网闸的内部主机已经还原出用户的原始数据。通过模拟拷盘的方式,在网络隔离的条件下,把数据交换给中网网闸的外部主机,外部主机再进行协议重建,发送给网站。请求回来的数据,外部主机进行协议剥离,还原网站的数据,通过模拟拷盘方式发给内部主机,内部主机进行协议重建,发送给内部用户。中网网闸的内部主机和外部主机的处理过程是一个相反和补充的关系。一个是协议剥离还原原始数据,另一个则是对原始数据进行协议的重建。
保证HTTP协议的应用的其他措施
首先,要确定用户请求与返回数据的对应关系。传统的Web访问是基于连接的,因此中断连接后,必须加载状态信息。
其次,上述的状态信息,是不能跨越中网网闸的。内外部两种状态信息存在某种联系,但不能交换。为了解决中网网闸数据交换过程中的保密性和完整性,对这些状态信息生成一个序列号。这个序列号主要有两个作用,一是建立两边的状态信息的对应关系,二是确保任务是惟一的。两边的状态信息不交换,但序列号可以交换。
到目前为止,中网网闸已经实现了OSI模型的全部断开。中网网闸在断开的情况下交换的是原始数据,不是包,没有协议。最重要的是,中网网闸保证了需要的应用可以正常运行。
联系电话:010-87494812
邮件:white.lu@email.netchina.com.cn
|