手册下载
HTTP proxy技术白皮书-6W100-整本手册.pdf (248.11 KB)
HTTP proxy技术白皮书
Copyright © 2021 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
IPv4地址资源匮乏严重影响了物联网等新技术的发展和应用,全球对于下一代互联网协议IPv6的需求日益强烈。在IPv4网络向IPv6网络过渡的过程中,IPv6用户无法访问仍使用IPv4协议栈的Web服务器。HTTP proxy(HTTP代理)功能通过代理IPv6用户的HTTP/HTTPS请求报文,实现IPv6用户访问IPv4网络Web服务器。
HTTP proxy功能具有以下优点:
· 支持IPv6与IPv4无缝对接,降低了IPv6网络化的难度,可避免对现有IPv4业务造成影响,而且不需要对网络架构、现有设备进行调整,实现了向纯IPv6网络的平滑过渡。
· 解决了跨协议栈无法访问Web页面的问题,具有良好的兼容性,提高了网络的可扩展性。
· 支持负载分担功能,提升了网络的运行效率和稳定性,增强了用户体验。
HTTP proxy支持以下功能:
· 反向代理功能:用来代理IPv6客户端访问IPv4 Web服务器上的本地资源。
· 非本网站链接代理功能:用来代理IPv6客户端访问IPv4 Web服务器上的非本网站资源,如Web服务器上Web页面中的非本网站媒体资源(图片、视频等)或非本网站的超级链接。
反向代理功能是指HTTP proxy服务器(开启HTTP proxy功能的设备)代理IPv6客户端访问IPv4 Web服务器上的资源。
如图1所示,HTTP proxy服务器接收到IPv6客户端的HTTP/HTTPS连接请求后,根据请求内容进行负载均衡,将请求转发给网络中实际处理业务的IPv4 Web服务器,并将IPv4 Web服务器回应的处理结果返回给网络上发起连接请求的IPv6客户端。
如图2所示,反向代理功能的工作原理为:
(1) IPv6客户端(IPv6 client)通过DNS服务器,获取到待访问域名对应的IPv6地址为HTTP proxy服务器的IPv6地址,并发送IPv6的HTTP/HTTPS请求报文给HTTP proxy服务器。
(2) HTTP proxy服务器收到IPv6的HTTP/HTTPS请求报文后,检测报文的URL中是否携带HTTP proxy服务的域名信息。若URL中携带HTTP proxy服务的域名信息,剥离报文的URL中添加的域名信息,将报文的URL还原为原始的URL。
(3) HTTP proxy服务器重新封装HTTP/HTTPS请求报文,并发送给Web服务器(IPv4 server)。若访问外部Web服务器时,需通过配置DNS服务器解析出URL对应的IPv4地址。
(4) Web服务器将HTTP/HTTPS应答报文发送到HTTP proxy服务器。HTTP proxy服务器收到HTTP/HTTPS应答报文后,检测访问的资源内容是否为非本网站的媒体资源(图片、视频等)或非本网站的超级链接,若是则对HTTP/HTTPS应答报文的URL添加HTTP proxy服务的域名信息。保证用户再次访问时,可以将HTTP/HTTPS请求报文发送给HTTP proxy服务器。
(5) HTTP proxy服务器将HTTP/HTTPS应答报文重新封装后发送给IPv6客户端。
非本网站链接代理功能是指HTTP proxy服务器可以对Web服务器上Web页面中的非本网站媒体资源(图片、视频等)或非本网站的超级链接进行代理,使IPv6客户端可以访问这些Web页面,获取到非本网站的资源。
如图3所示,IPv6客户端发起HTTP/HTTPS连接请求,Web服务器对HTTP proxy服务器转发的请求进行回应时,页面中携带外部链接地址,HTTP proxy服务器将外部链接地址修改为本地地址,将其返回给IPv6客户端。当IPv6客户端发起外部链接请求时,该请求先发送到HTTP proxy服务器,HTTP proxy服务器先对外部链接域名进行DNS解析,然后根据解析到的IP地址向第三方服务器发起访问,并将结果返回给IPv6客户端,最终实现IPv6客户端通过HTTP proxy服务器访问非本网站的资源。
如图4所示,非本网站链接代理功能的工作原理为:
(1) HTTP proxy服务器收到IPv4 Web服务器返回的HTTP/HTTPS应答报文后,为这类外部链接添加HTTP proxy服务的域名信息。
(2) IPv6网络用户再次访问时,DNS服务器解析出添加的域名信息对应的IPv6地址为HTTP proxy的IPv6地址。用户发送访问外部链接的HTTP/HTTPS请求报文给HTTP proxy服务器。
(3) HTTP proxy服务器收到IPv6网络用户访问外部链接的HTTP/HTTPS请求报文,剥离报文的URL中添加的域名信息。
(4) HTTP proxy服务器通过DNS服务器解析出HTTP/HTTPS请求报文的IPv4地址。
(5) HTTP proxy服务器根据解析出的IPv4地址,将HTTP/HTTPS请求报文重新封装后,发送给需要访问的外部的Web服务器。
(6) 外部的Web服务器将HTTP/HTTPS应答报文发送给HTTP proxy服务器。
(7) HTTP proxy服务器将HTTP/HTTPS响应报文重新封装后发送给主机。
在IPv4网络中,可能同时存在多台Web服务器提供相同的服务,HTTP proxy将提供相同服务的多台Web服务器添加到同一个Web服务器组。设备收到HTTP/HTTPS请求报文后,根据一定的算法将流量分配到不同的Web服务器上进行流量的负载分担。HTTP proxy的负载分担功能可以增加网络带宽、提高网络的可用性和灵活性。
HTTP proxy功能基于业界领先的Comware平台,可以按照功能特点实现灵活部署。如图5所示,在支持HTTP proxy的设备上,基于不同的硬件配置灵活适配,以尽可能地提升性能,发挥功用。
· 多进程架构
为了充分发挥设备的硬件能力,采用多进程架构实现并行处理,工作进程的数量与设备上的CPU核心数相当。多个工作进程处理互联网请求不但可以提高服务的稳定性,而且可以充分利用设备的多核架构,从而实现微观上真正的多核并行处理。
· 转发分离架构
为了充分利用资源,采用不同进程运行在不同CPU的处理方式,既发挥出CPU的最大能力,极大降低进程间切换成本,又不会影响设备其他进程的正常运行。同时,根据CPU的能力,合理规划进程连接数量,使资源利用率最大化。
图5 HTTP proxy技术特色示意图
如图6所示,客户在访问政府网站时,首先接入到HTTP proxy服务器,通过负载分担策略实现来自某一个用户的请求始终发送到指定的上游服务器上,这样可以保证上游服务器基于用户的缓存信息合理地管理,避免浪费。同时,对于政府网站上指定的外部链接进行转换代理访问,解决IPv6用户访问网站时出现的响应缓慢、部分内容无法显示、部分功能无法使用等问题。
图6 代理HTTP/HTTPS协议访问政府网站示意图