基于策略DNS和HTTPProxy的多宿主网络服务部署的研究*

2014-09-14 01:24王子荣尹绍锋王宇科
计算机工程与科学 2014年2期
关键词:IP地址校园网宿主

王子荣,胡 浩,尹绍锋,王宇科

(湖南大学校园信息化建设与管理办公室,湖南 长沙 410082)

基于策略DNS和HTTPProxy的多宿主网络服务部署的研究*

王子荣,胡 浩,尹绍锋,王宇科

(湖南大学校园信息化建设与管理办公室,湖南 长沙 410082)

针对目前常用的多宿主网络服务部署方法中存在的由于ISP网络地址集的变化或DNS配置等因素会造成服务访问路由不可达的不足,提出了一种基于策略DNS与HTTP Proxy在多宿主网络中服务的部署策略,在各ISP出口安装HTTP Proxy服务器,配合策略DNS服务进行联合部署。从理论上对该策略进行了分析,并对部署方法进行了详细阐述。通过实例分析及效果测量,证实了在不改变网络拓扑、基本不增加投入的情况下,通过该策略可大幅度提高校园网或企业网信息资源服务的互联网用户访问速度和访问质量,并解决了传统方式中路由不可达的问题。

策略DNS;HTTP Proxy;多宿主网络

1 引言

随着Internet技术的飞速发展,中国的几大主流网络均得到了快速发展,用户规模增长很快,加上近年来用户网络应用对带宽需求的日益膨胀,几大运营商之间的竞争日益激烈,互联状况则日益恶化,几大网络之间一直存在互通瓶颈,直接导致用户的资源访问体验因所属运营商的不同而出现明显差异,作为信息化部门,面向Internet用户提供资源服务时经常陷入访问质量投诉困境。为此,大部分高校和企事业单位通过采取将校园网或企业网接入不同运营商的方式,尽力为来自不同运营商的用户提供相同网络质量的资源访问服务。例如,将校园网接入到CERNET的同时,也接入到中国电信、中国联通等。这样虽然很好地提高了网内用户对分布在不同运营商的资源访问质量,但是由于多出口的存在,对外提供网内资源时在出口路由设计上陷入困境。

2 多宿主网络服务的常用部署方法

多宿主网络(Multi-Homed Network)[1]是指一个局部网络通过多个ISP(Internet Service Provider)连接到Internet。这种情况常见于高校校园网,校园网为网内师生提供由内向外的快速资源访问;同时,校园网内有大量的网络信息资源,需要为网外用户提供快速访问,校园网通常以多个出口的方式连入不同的ISP,形成了多宿主网络的校园网。具体采用以下方法:

由于运营商存在互联互通的瓶颈,高校校园网多采用多出口运行模式[2]。如图1所示,某校园网到CERNET的出口链路为P1,增加到CHINANET的出口链路P3,变成多宿主网络,服务器S1分配一个CERNET的IP地址,再分配一个CHINANET的互联网地址,直接或者以网络地址转换NAT(Network Address Translate)方式连接到CHINANET,S1成为了一台多宿主主机,边界路由器R采用策略路由或者静态路由[3]负责IP包的交换。当校园网内用户访问Internet时,路由器R按照路由信息,根据目标IP地址为访问对象选择相应的出口链路,属于CERNET的目标IP则路由走P1,属于CHINANET及其他ISP的目标IP走P3;当Internet用户访问校园网内服务器S1时,采用策略域名系统DNS(Domain Named System)为不同源地址返回相应的解析结果[4],即属于CHINANET及其他ISP的源地址用户将得到服务器S1属于P3链路上的IP地址解析结果,属于CERNET的源地址用户则得到S1属于P1链路上的IP地址解析结果。在图1的例子中,用户H2通过链路P3访问S1,而用户H1则通过链路P1访问S1,此情景的理想状况下,可大幅度提高H2用户对S1访问的速度,达到用户H1、H2都可快速访问到S1的目的。这就是目前常用的服务部署方法。

Figure 1 Routing in traditional multi-homed network图1 传统的多宿主网络的服务访问路由

实际上这种方法存在一定的不足,它将会因ISP地址集合变化和DNS配置信息的影响而出现路由不可达[5]。上述方法需要在S1上为每个ISP出口配置一个网络端口,分配一个属于该ISP的IP地址,并按当时各ISP的IP地址集合聚合形成静态访问路由列表,将静态路由列表的下一跳指向属于该ISP的网络端口IP。一般为减少服务器S1路由表的长度,会将项数最多的路由下一跳指向默认缺省路由网络端口IP。但是ISP的IP地址集合会经常更新,用户DNS配置信息与用户IP归属不同,或者因策略DNS服务配置中地址集划分的差异等因素,很容易出现目标IP路由不可达的情况。例如,H1为CERNET地址用户,其使用属于CHINANET的DNS服务器,H1到S1的原定路由是走链路P1,但由于H1使用的DNS服务器属于CHINANET,按照策略DNS的配置,其获得S1的IP地址属于CHINANET,结果H1到S1的请求包的路由链路P3,而应答包的路由在P1,H1将无法正确接收到来自S1的应答,表现为路由不可达。

随着高校校园网或者企业网对外提供的资源和应用服务越来越多,传统的多宿主网络服务部署模式面临的问题日益明显:

(1)有限的公网IP地址与日益增长的应用和服务器的数量之间的供需矛盾;

(2)多出口的不同网络地址归属,路由信息的相互独立性,增加了路由配置的复杂度;

(3)多宿主网络的连接方式对低端校园网或企业网而言,大幅增加了网络拓扑结构的复杂性,尤其加大了出口管理的难度;

(4)传统路由中的策略路由或静态路由的枚举特性,在多宿主网络环境下,增加了路由表的人工构建和维护难度,路由信息表的即时性、完整性和准确性也难以保证;

(5)多出口的存在,网内对外提供服务途径的增多,增加了服务器IP地址的分配与管理复杂度。

如何让网内对外提供服务的主机很好地依托多宿主的多链路获得最佳的访问路由,是多宿主网络必须解决的关键问题。

3 基于策略DNS与HTTP Proxy的多宿主网络服务部署策略分析

HTTP Proxy[6]的主要功能是针对Web客户端提出的浏览请求,访问指定的Web服务器,并将取得的相应内容返回给Web客户端。其工作过程为:(1)在HTTP Proxy的某个固定端口,监听客户端的连接,接收客户端的HTTP请求。(2)解析和处理客户请求的HTTP包,产生新的请求包;建立与Web服务器的连接,将新的请求发送给Web服务器。(3)等待并接收Web服务器返回的HTTP响应。(4)将HTTP响应转发给客户端Web浏览器[7]。

目前的各类网络信息资源服务主要采用B/S结构建设,并通过HTTP协议对外发布。针对此特点,在投入成本有限的前提下,本文提出了基于策略DNS与HTTP Proxy相结合的多宿主网络服务部署策略,有效解决了上述常见部署模式中的问题,提高了信息资源服务的访问速度。

假设在某高校已知以下条件:

条件1所有Internet互联网IP全集为A,所有网络运营商所分配的IP段集为a1,…,an(n为所有网络运营商个数),则有:

条件2假设某网络有m(2≤m≤n)个运营商出口;

条件3此网内有k(k>0)台服务器S1,…,Sk对外提供服务。

在以上条件下基于策略DNS与HTTP Proxy的部署步骤如下:

步骤1部署一台被授权的对外域名解析服务器D1,为其设置m段请求来源IP地址集对应m个运营商,准确识别DNS请求的用户所属运营商,并针对m个IP地址集配置对应的DNS解析数据文件,准确返回与用户同属一运营商的DNS解析结果IP地址。

步骤2对每个出口部署一台双以太网网卡的 HTTP Proxy服务器P1,…,Pm,分别为Pi配置一个属于运营商i的互联网IP地址和一个内网IP地址,Pi通过Intranet与k台服务器相连,配置一条缺省路由指向Pi的互联网IP地址端口,配置k条到k台服务器主机的单主机静态路由指向Pi的内网IP地址端口。这样就避免了“多出口运行模式”中Internet用户访问时可能出现的路由不对等情况的发生。即使出现IP地址误判或漏判,只会造成策略DNS的解析结果地址与来访者地址不属同一ISP而给出一条访问速度相对慢的访问路由,而不会因路由不可达而无法访问。

步骤3在Intarnet中部署一台内网域名解析服务器D2,HTTP Proxy的DNS服务器配置使用D2,以确保HTTP Proxy服务器在接收到Internet用户的HTTP请求时,能准确地将请求转发到实际的服务器。

步骤4网内对外提供服务的服务器S1,…,Sk的网络IP配置与HTTP Proxy服务器同网可达的IP地址,路由仅需配置一条默认路由,指向服务器所在子网的网关。

通过以上步骤完成部署后,多宿主网络环境下的服务部署拓扑示意图如图2所示,当Internet用户Hi(i=1,2,3)访问内网服务器Sj(j=1,…,k)时,此部署策略的运作机制如下:

(1)Internet用户Hi首先发出DNS请求,D1收到来自Hi的DNS请求后,根据用户的来源地址识别其所属网络运营商,返回对应该运营商出口的HTTP Proxy服务器的互联网地址;

(2)Internet用户Hi向这台HTTP Proxy服务器发出HTTP请求;

(3)HTTP Proxy服务器接收到请求后,通过D2查询到内网服务器Sj的内网IP地址,并将HTTP请求转发给内网服务器Sj;

(4)内网服务器Sj收到访问请求,先将应答内容返回给HTTP Proxy,HTTP Proxy再将来自Sj的应答内容返回给用户Hi。

Figure 2 Topological graph of multi-homed network based on strategy DNS and HTTP proxy图2 基于策略DNS与HTTP Proxy 的多宿主网络服务部署拓扑

4 实例分析

某高校具有电信、联通、教育网三个网络出口,按照基于策略DNS与HTTP Proxy的多宿主网络服务部署策略,为每个出口提供了一台独立的HTTP Proxy服务器;提供内网DNS服务器、外网DNS服务器各一台;同时,此高校对互联网开放了三个应用服务。具体相关信息如表1所示。

Table 1 Detailed information of multi-homednetwork applications in the university表1 某高校多宿主网络特性下服务部署信息表

按照上文提出的部署步骤对策略DNS与HTTP Proxy进行如下部署:

步骤1使用Linux的bind9配置一台test.edu.cn对外的域名服务器,针对三个不同出口,在DNS的named.conf文件中配置教育网IP集、联通网IP集和其他所有IP集共三段访问控制地址列表acl,并对应配置视图view和对应的域名解析的数据文件。配置示例如下:

(1)named.conf配置文件内容及说明如下:

acl edu-nets {//所有教育网的IP段

58.154.0.0/15;

……

};

acl cnc-nets{//所有联通网的IP段

110.16.0.0/14;

……

};

view "CncNet"{

match-clients {cnc-nets;};

/*匹配请求IP属联通,从test.edu.cn.cnc数据文件查询域名*/

zone "test.edu.cn" IN {

type master;

file "test.edu.cn.cnc";

};

};

view "CerNet"{

match-clients {edu-nets;};

/*匹配请求IP属教育网,从test.edu.cn.cernet数据文件查询域名*/

zone "test.edu.cn" IN {

type master;

file "test.edu.cn.cernet";

};

};

view "ChinaNet"{

match-clients {any;};

/*上述均未匹配,从test.edu.cn.chinanet数据文件查询域名*/

zone "hnu.edu.cn" IN {

type master;

file "test.edu.cn.chinanet";

};

};

(2)联通用户对应的数据文件test.edu.cn.cnc配置:

@ IN SOA DNS.TEST.EDU.CN..(20100708; serial number…3600); minimum TTL

@ NS dns

www IN A 58.20.46.196

jxgl IN A 58.20.46.196

jyzd IN A 58.20.46.196

……

(3)教育网用户对应的数据文件test.edu.cn.cernet配置:

@IN SOA DNS.TEST.EDU.CN..(20100709; serial number…3600); minimum TTL

@ NS dns

www IN A 210.43.96.249

jxgl IN A 210.43.96.249

jyzd IN A 210.43.96.249

……

(4)其他运营商(包括电信)用户对应的数据文件test.edu.cn.chinanet配置:

@IN SOA DNS.TEST.EDU.CN..(20100710; serial number…3600); minimum TTL

@ NS dns

www IN A 61.187.64.7

jxgl IN A 61.187.64.7

jyzd IN A 61.187.64.7

……

将所有应用服务的域名均解析为HTTP Proxy服务器的出口互联地址。

步骤2采用Linux的Squid进程提供HTTP Proxy服务,HTTP Proxy服务器的DNS设置内网DNS服务器192.168.1.1。以联通出口HTTP Proxy服务器为例,squid.conf的配置如下:

http_port 58.20.46.196:80 transparent/*开通联通IP的80端口代理*/

……

acl alldst dst 0.0.0.0/0.0.0.0

acl dst001 dst 192.168.0.100/32

……

http_access allow dst001

……

http_access deny alldst

步骤3部署1台test.edu.cn的内网DNS服务器,同样采用Linux的bind9作为DNS服务软件,但仅提供给内网使用,如所有的HTTP Proxy服务器等。内网DNS服务器进行标准配置以完成域名test.edu.cn的内网解析,其正向解析文件配置示例如下:

@IN SOA DNS.TEST.EDU.CN..(20100711; serial number……3600); minimum TTL

@ NS dns

www IN A 192.168.0.100

jxgl IN A 192.168.0.101

jyzd IN A 192.168.0.102

……

以上基于策略DNS与HTTP Proxy的多宿主网络环境下的服务部署实例,只需额外为每个出口增添一台HTTP Proxy服务器,而Linux下的Squid进程对服务器的性能要求很低,系统资源开销很小,一般普通配置的PC服务器即可满足要求,成本投入不多。与常用的多宿主网络服务部署中需为每一台服务器分别分配一个隶属于各ISP的互联网IP地址相比,新部署策略则只需为每一台HTTP Proxy服务器分配一个其所在的ISP的互联网IP地址,所有对外提供信息资源服务的服务器均只需分配一个内网IP,甚至可以是私有IP,解决了当应用增多而从ISP分配到的地址不够的互联IP资源紧缺问题。在上述实例中,三台服务器按传统方式部署,需要九个互联网IP地址,按新策略部署,则只需三个互联网IP地址,即使资源服务器不断增加也不会增加互联网IP地址。

按照图2的模型,从教育网用户H1、中国联通用户H2、中国电信用户H3,连续一周,每天8点~22点,按1小时的时间间隔进行定时测量,测量访问单教育科研网出口提供的学校门户主页www.test.edu.cn服务、新的策略DNS+HTTP Proxy部署方式下学校门户主页www.test.edu.cn服务,记录下各测量时间点的服务响应时间,对比结果如图3所示。

Figure 3 Effect of multi-homed network based on strategy DNS and HTTP Proxy图3 基于策略DNS与HTTP Proxy的 多宿主网络服务部署策略效果图

从图3中可以看出,中国电信用户、中国联通用户在策略DNS+HTTP Proxy部署模式下访问获取学校门户网站www.test.edu.cn服务的速度有明显改善。

5 结束语

针对多出口的校园网或企业网普遍存在的现状,本文提出了基于策略DNS与HTTP Proxy的多宿主网络服务部署策略,理论研究和实践表明,与传统的多宿主网络服务部署方式相比较,此策略

的部署实施具有成本低、可操作性强、效果明显的优点,可以适用于任何基于HTTP协议的应用及资源服务。通过该部署策略不仅提高了Internet用户访问这些网内服务的速度,而且可避免出现因用户IP、DNS、路由等因素可能导致的路由不可达,因此该策略在高校乃至其他企事业单位都具有良好的推广性。

[1] Bates T, Rekhter Y. Scalable support for multi-homed multi-provider connection[S]. RFC 2260, 1998.

[2] Wang Zi-rong, Yang Guan-zhong, Ma Yi-wu, et al. Algorithms design of application-oriented border routing[J]. Journal of Hunan University(Natural Sciences), 2006,33(2):114-117.(in Chinese)

[3] Chen Song, Zhan Xue-gang. Policy of safety and fast access to inner network server based on DNAT, SNAT and intelligent DNS[J]. Computer Engineering and Design,2009,30(12):2941-2944.(in Chinese)

[4] Wang Zi-rong, Yang Guan-zhong,Wang Yu-ke,et al. Analysis and design of a border route service gateway[J]. Computer Engineering & Science, 2007, 29(1):19-21.(in Chinese)

[5] Xu Dong-min, Ren Yu. Implementation of intelligent DNS-based policy routing in campus[J].Journal of Chendu University of Information Technology,2007,22(6):716-718.(in Chinese)

[6] Chen G T,Zhang G,Burkard R E. The Web proxy location

problem in general tree of rings networks[J].Journal of Combinatorial Optimization,2006,12(4):327-336.

[7] Shi Cheng-yi.Design and implementation of integrating HTTP proxy into website based on J2EE[J]. Journal of Computer Applications,2011,31(suppl.1):27-29.(in Chinese)

附中文参考文献:

[2] 王子荣,杨贯中,马亿旿,等. 面向应用的边界路由算法设计[J]. 湖南大学学报(自然科学版),2006,33(2):114-117.

[3] 陈松,战学刚. 基于双向NAT和智能DNS内网服务器安全快速访问策略[J]. 计算机工程与设计,2009,30(12):2941-2944.

[4] 王子荣,杨贯中,王宇科,等.边界路由服务网关的分析与设计[J].计算机工程与科学, 2007, 29(1):19-21.

[5] 许东民,任宇.基于智能DNS的策略路由在校园网中的实现[J].成都信息工程学院学报, 2007, 22(6):716-718.

[7] 史承毅.在基于J2EE架构的网站中集成HTTP代理的设计与实现[J]. 计算机应用,2011,31(增1):27-29.

WANGZi-rong,born in 1971,MS,senior engineer,his research interest includes computer networks.

Researchofmulti-homednetworkservicedeploymentbasedonstrategyDNSandHTTPProxy

WANG Zi-rong,HU hao,YIN Shao-feng,WANG Yu-ke

(Informatization Construction and Management Office,Hunan University,Changsha 410082,China)

In current multi-homed network service deployment methods, the service access route is unreachable due to the changed ISP network addresses, DNS configuration, or other factors. Aiming at this drawback, the paper proposes a strategy of multi-homed network service deployment based on strategy DNS and HTTP Proxy. The proposed strategy installs HTTP Proxy server on each ISP output and works with DNS server to perform joint deployment. The strategy is analyzed theoretically and the deployment method is described in detail. Case analysis and effect evaluation demonstrate that the proposed strategy can greatly improve the speed and quality of internet user access of the campus network and enterprise network information resource services, without changing the network topology and increasing no more investment basically. It is concluded that the strategy solve the problem that the route is unreachable in the traditional way.

strategy DNS;HTTP Proxy;multi-homed network

2012-11-26;

:2013-05-08

1007-130X(2014)02-0238-06

TP393.07

:A

10.3969/j.issn.1007-130X.2014.02.009

王子荣(1971-),男,湖南永州人,硕士,高级工程师,研究方向为计算机网络。E-mail:zrwang@hnu.edu.cn

通信地址:410082 湖南省长沙市湖南大学校园信息化建设与管理办公室Address:Informatization Construction and Management Office,Hunan University,Changsha 410082,Hunan,P.R.China

猜你喜欢
IP地址校园网宿主
病原体与自然宿主和人的生态关系
数字化校园网建设及运行的几点思考
龟鳖类不可能是新冠病毒的中间宿主
铁路远动系统几种组网方式IP地址的申请和设置
试论最大匹配算法在校园网信息提取中的应用
IP地址切换器(IPCFG)
NAT技术在校园网中的应用
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
表现为扁平苔藓样的慢性移植物抗宿主病一例