基于DNS的校园网多出口流量调度的构建

2020-09-23 07:49严格知章勇
中国教育信息化·高教职教 2020年8期
关键词:校园网

严格知 章勇

摘   要:针对校园网多出口环境面临的流量分配问题,文章提出了一种基于DNS智能解析的多出口流量调度的构建方法——通过基于目的域名和基于源IP地址的DNS递歸解析策略实施流量调度,根据若干不同线路导向和流量规模子网的历史流量数据量化调度动作的流量引导效果,以选择合理的策略源地址实施稳健的流量调度。针对校园网的测试表明,在每日流量规律的情况下可有效预测调度动作的流量引导效果,预测曲线和实际曲线基本吻合,调度后的各出口线路流量符合预期。

关键词:DNS;智能解析;校园网;多出口;流量调度

中图分类号:TP393.18 文献标志码:A 文章编号:1673-8454(2020)15-0083-07

一、引言

目前高校校园网普遍具有多个出口,即除了中国教育和科研计算机网(以下简称教育网)外,还具有中国移动、中国电信等运营商的互联网线路。多出口架构具有提高校园网和公网之间访问速率、降低出口带宽成本等优势,但面临着流量分配问题,增加了管理难度。

传统的多出口流量调度通过在出口设备上设置策略路由实现。策略路由技术可根据源IP地址、目的IP地址、协议类型、报文大小等对报文进行转发,具有较强的控制能力和灵活的使用方式。[1][2]但单纯使用策略路由手段有一些缺陷:

(1)基于源IP地址的策略路由根据客户端IP配置特定的出口线路,但客户端流量都流向同一出口,无法区分不同运营商线路,造成大量的跨网访问。

(2)基于目的IP地址的策略路由将客户端访问的地址与各运营商的地址库比对,选择匹配的出口线路,极大地减少了跨网访问,网络速率可提升30%以上。[3]但如果缺少DNS服务器的配合,域名解析结果易集中在同一条线路,使单一线路负载过高,其他线路空闲。[4]

使用DNS智能解析技术配合基于目的IP地址的策略路由,可在减少跨网访问的同时调节多出口流量。DNS智能解析利用内容分发网络CDN的广泛应用,使用递归解析策略进行流量调度。

本文提出了一种基于DNS智能解析的多出口流量调度的构建方法,可量化调度动作对各出口流量的影响,在针对华中科技大学校园网的构建中,展现了良好的调度效果。

二、流量调度问题

华中科技大学校园网(以下简称校园网)近年来在教育网的基础上,陆续增加了中国移动(以下简称移动)、中国电信和中国联通等运营商出口线路。目前主要使用20Gbps的教育网线路和10Gbps的移动线路,总体来说,运营商线路带宽在校园网总出口带宽中占据相当的比例。

基于以上情况,校园网需要实行多出口流量调度,将价格不菲的带宽资源充分利用起来,并且当运营商种类或带宽配置发生变化时,能够灵活地调整。

由于内容分发网络CDN的广泛应用,大型网站尤其是视频类、游戏类等流量大,网络带宽资源要求高的网站往往具有多个运营商IP地址。[3]基于此,采用DNS智能解析技术进行多出口流量调度渐渐成为趋势。DNS智能解析配合出口设备目的地址策略路由,可在域名解析阶段得到期望的线路IP,使后续流量流向相应线路,实现流量的引导和调度。已有大量多出口流量调度工作使用DNS智能解析实现,而如何选择调度依据成为研究重点。[4-6]有研究者通过监测出口ICMP/TCP丢包率划分出口健康状态,[7]或依据历史流量数据预测各出口的未来流量,[8]或建立应用带宽模型[9]、流量传输信道模型[10]预测流量,作为划分各出口权重的依据以分配域名解析请求。以往的多出口流量调度工作往往注重实时调度以实现负载均衡,造成域名解析线路动态变化。实践中,频繁地改变域名解析线路,或将递归解析策略划分过细,将导致难以追踪用户使用的具体线路,造成问题追溯和管理困难。同时,由于网络流量数据呈现明显的周期性规律,一定程度上可量化流量调度动作对各出口流量的影响效果,以构建稳健的调度方案,避免频繁调整。

三、技术基础

基于DNS的多出口流量调度的基础是DNS智能解析技术,可通过开源DNS软件Bind(Berkeley Internet Name Domain)[11]实现,分为权威智能解析和递归智能解析。目前市面上有许多智能DNS产品对Bind进行封装,也使智能解析更易应用。

1.权威智能解析

校园网通过权威DNS服务器管理学校域名记录。对于权威DNS而言,智能解析可为相同域名配置不同运营商线路的IP资源,使不同线路的DNS客户端获取匹配的IP地址。在Bind9中,可通过配置named.conf的acl和view,以及相应的区域数据文件实现。[12][13]

以下为name.conf的acl、view配置和区域数据文件配置,这里仅展示关键配置(IP网段经过匿名化处理):

配置name.conf

// acl配置

//acl "hust"为校园网网段

acl "hust" {

192.168.254/24;

……

}

// acl "ctc"为中国电信网段

acl "ctc" {

1.0.1.0/24;

……

}

//view配置

view "hust" in{

// view "hust"匹配acl "hust"

match-clients { hust; };

// view "hust"对权威域"hust.edu.cn."使用区域数据文件"hust.hust"

zone "hust.edu.cn." in {

type master;

file "hust.hosts";

};

// view "ctc"对权威域"hust.edu.cn."使用区域数据文件"hust.ctc "

zone "hust.edu.cn." in {

type master;

file "hust_ctc.hosts";

};

};

配置区域数据文件

; hust.hust配置

$ORIGIN hust.edu.cn.

; 解析test.hust.edu.cn将返回校园网IP

test A 192.168.254.1

; hust.ctc配置

$ORIGIN hust.edu.cn.

; 解析test.hust.edu.cn将返回电信IP

test A 1.0.1.1

2.递归智能解析

校园网递归DNS服务器面向校内用户提供域名解析服务。对于递归DNS而言,智能解析可根据特定源地址,或请求特定域名的DNS客户端制定递归解析策略,返回特定运营商线路的IP资源。递归解析策略在逻辑上分为3部分,如图1所示,包含策略源地址、策略域名和策略线路。

在功能上,递归解析策略分为基于源IP地址的递归解析和基于目的域名的递归解析。在Bind9中,可通过配置named.conf的acl、view和forwarder实现。[14][15]

(1)基于源IP地址的递归解析

基于源IP地址的递归解析可将校园网不同用网区域(如教学区、办公区、宿舍区等)的网段作为策略源地址,将域名解析请求转发至不同运营商DNS,以使DNS客户端获取不同运营商IP,配合出口设备目的地址策略路由实现流量的引导和调度。图2为基于源IP地址的递归解析流程示例。

以下展示了在Bind9中通过配置named.conf的acl、view和forwarder实现基于源IP地址的递归解析的关键配置(IP网段经过匿名化处理):

配置name.conf

// acl配置

//acl "teaching"为校园网教学区网段

acl "teaching" {

192.168.254.1/25;

……

}

// acl "official"为校园网办公区网段

acl "official" {

192.168.254.2/25;

……

}

//view配置

view "teaching" in{

// view "teaching"匹配acl "teaching"

match-clients { teaching; };

// 配置该view仅做转发到教育网DNS

forward only;

forwarders {101.7.8.9;};

};

view "official" in{

// view "official"匹配acl "official"

match-clients { official; };

// 配置该view仅做转发到电信DNS

forward only;

forwarders {202.103.24.68;};

};

(2)基于目的域名的递归解析

基于目的域名的递归解析根据用户访问的域名将域名解析请求转发至不同运营商DNS,使DNS客户端获取不同运营商IP。图3展示了其流程示例。使用基于目的域名的遞归解析,可根据业务类型将域名分类,例如将教育资源类域名转发到教育网线路,将视频类域名转发到质量较好的线路等。其目的一般为提高一类域名的访问速率。

以下展示了在Bind9中通过配置named.conf的acl、view和forwarder实现基于目的域名的递归解析的关键配置(IP网段经过匿名化处理):

配置name.conf

// acl配置同基于源IP地址的递归解析中所述

//view配置

view "teaching" in{

// view "teaching"匹配acl "teaching"

match-clients { teaching; };

// 配置该view对权威域"sina.com.cn."仅做转发到教育网DNS

zone "sina.com.cn." {

type forward;

forward only;

forwarders { 101.7.8.9; };

};

// 配置该view对权威域"iqyi.com"仅做转发到电信DNS

zone "iqiyi.com." {

type forward;

forward only;

forwarders { 202.103.24.68; };

};

四、流量调度构建

1.构建基于目的域名的递归解析

基于目的域名的递归解析目的一般为提高一类域名的访问速率,如果不限制策略源地址,可对校园网用户全局生效。如以下几种应用场景可使用基于目的域名的递归解析:

(1)提高域名访问速率

如“*.edu.cn.”域名应转发教育网线路解析,有中国移动IP资源的域名可转发移动线路解析等。

(2)处理域名解析异常

各网站权威域的设置错综复杂,如果某域名有多个运营商IP资源,但存在部分线路的IP地址不可用时,应指定可用线路进行解析。

(3)域名劫持

对于广告、病毒、色情、暴力等恶意站点的域名,使用DNS实现域名劫持。

2.构建基于源IP地址的递归解析

基于源IP地址的递归解析目的一般为实现出口流量调度,如果不限制策略域名,那么策略源地址决定了调度的流量规模。

校园网管理单位为各用网区域分配IP地址池,用户终端通过动态主机设置协议DHCP获取IP,使IP地址和用网区域形成明显的对应关系。这些地址池天然地成为可选的策略源地址。不同源地址产生的流量规模不同,且不能直观地通过网段规模(即包含的IP数量)计算,实际分配到用户的IP才能产生流量。图4展示了工作日校园网6个子网的流量曲线,子网名称(8.1.0.0/16-8.6.0.0/16)经过匿名化处理。这些子网规模相同,但流量差距很大。流量最高的8.5.0.0/16最高/最低/平均流量分别达到2.93Gbps/0.19Gbps/1.61Gbps,流量最低的8.6.0.0/16分别为290Mbps/4Mbps/99Mbps。因此,无法直观地通过策略源地址的规模预测流量规模,必须进行测量。

(1)源地址流量规律

校园网出口设备可配置子网测量其流量数据。图5展示了某子网连续2周的流量曲线,其中黑色区域为移动线路流量,白色区域为教育网线路流量。2周内各出口线路的流量曲线呈现一定的波动规律。如果将观测时间区间拉长,除了特殊时间节点如考试周、寒暑假等,每日流量曲线也保持着一定规律。根据这一规律,如果某子网一直保持导向相同线路,那么根据历史数据,可在一定程度上预测其未来一段时间的流量数据和不同线路的流量分布比例。

(2)源地址的流量引导效果

在校园网有多条出口线路的情况下,将某个子网的域名解析转发到特定线路,可将流量尽可能地引导向该线路,但不会是所有流量,这是因为有相当多域名并没有多个运营商的IP资源。图6展示了将某子网的域名解析请求转发移动线路和教育网线路时产生的各出口流量分布,其中黑色区域为移动线路流量,白色区域为教育网线路流量。该子网在导向移动线路时其移动流量在总流量中占比平均为55.72%,最高达到71.55%;而导向教育网线路时其移动流量占比平均为19.35%,最高为27.26%。前者接近后者的3倍,可见递归智能解析有明显的流量引导效果。通过计算子网调度后产生的各线路流量数据,可量化其流量引导效果,有助于在递归解析策略构建中选择合理的策略源地址。

(3)源地址的区域性流量趋势

①不同用网区域的流量趋势有差别

不同用网区域用户习惯不同,流量趋势有明显差别。图7展示了工作日教学区、办公区和宿舍区3个同规模子网的流量曲线。其中教学区和办公区的曲线相似,都呈现“白天高,夜晚低”的状态:在8∶00-20∶00流量较高,与用户集中工作学习的时段相符。而宿舍区的流量“白天高,夜晚也高”:在12∶00-13∶00的午餐时段和22∶00-0∶00的睡前时段出现流量高峰,一般在接近凌晨时达到峰值。这是因为学生下课后返回宿舍继续用网,并且视频类、游戏类的大流量应用增多。教学区、办公区和宿舍区的流量曲线呈现一定的互补状态,将流量互补的子网共同调度可避免流量高峰叠加,引起线路拥塞。

②同一用网区域的流量趋势相似

同一用网区域的子网流量趋势则较为相似。图8展示了同属宿舍区的5个子网的流量曲线,子网名称(8.7.1.0/24-8.7.5.0/24)经过匿名化处理,5个子网流量规模不同,流量最大的8.7.5.0/24平均流量达到2.07Gbps,流量最小的8.7.2.0/24平均流量仅为236Mbps,但流量曲线相似,高峰和低谷的分布基本一致。

(4)策略源地址的選择

基于以上讨论,校园网子网的总流量和各线路流量在一段时间内保持一定的波动规律,同时同一用网区域的相同出口线路导向的子网有相似的各线路流量分布比例,可以将其中一个子网的比例数据应用到其它子网。如果该区域中设置有多个不同出口线路导向的子网,则可以用于预测每个子网线路导向改变后的流量分布比例,从而计算调度后的各线路流量数据,一定程度上量化了流量引导效果。

我们对宿舍区的若干子网进行测试,记录总流量和各线路流量。图9展示了工作日宿舍区5个子网(即图8中5子网)的流量分布曲线,子网名称经过匿名化处理。其中8.7.4.0/24导向移动线路,其它子网均导向教育网线路。黑色区域为移动线路流量,白色区域为教育网线路流量。最后一幅图为各子网移动流量的比例曲线。

8.7.4.0/24的移动流量比例明显较高,其它子网比例曲线相近。8.7.3.0/24和8.7.5.0/24曲线几乎重合,显示流量规模越大的子网(平均流量1Gbps以上)流量分布比例越趋近;而流量较小的子网(平均流量512Mbps以下)无论是流量曲线还是流量分布比例曲线均存在一定随机性。实践中应选择有一定流量规模的子网作为观测对象,如8.7.3.0/24,8.7.4.0/24等。

我们对表1中的5个子网进行长期观测,记录每日的总流量和各线路流量,并计算流量分布比例,如t时刻子网A的移动流量占其总流量的比例为α,那么教育网流量就是1-α。这些子网按照线路导向分为两组,每组中第一个子网的流量分布比例将作为其它组子网改变导向后的流量分布比例预测值。

假设子网A导向移动线路,在t时刻的总流量为T,移动流量比例为αC,C,教育网流量比例为αC,E; 在导向教育网线路时移动流量比例为αE,C,教育网流量比例为αE,E, 那么,当子网A导向教育网时,将给教育网线路带来流量增量为:

ΔE,E=T×(αE,E-αC,E)

移动线路流量增量为:

ΔE,C=T×(αE,C-αC,C)=-ΔE,E

实践中,使用子网A的历史流量T作为T的预测值、历史流量分布比例αC,E作为αC,E的预测值,导向教育网线路的子网B的历史流量分布比例αE,E作为αE,E的预测值,那么ΔE,E和ΔE,C的预测值为:

公式一:ΔE,E= T×(αE,E-αC,E)

公式二:ΔE,C=-ΔE,E

图10描述了基于源IP地址的递归解析构建流程,当需要流量调度时,通过子网流量历史数据计算调度后的各线路流量预测值,选择流量分配最佳的子网作为策略源地址实施调度。根据调度情况需对长期观测的子网进行调整和补充,以保持对不同线路导向和不同流量规模的子网都具有历史流量数据。

五、实验

校园网带宽配置为20Gbps的教育网线路和10Gbps的移动线路,出口设备路由策略为目的地址路由,默认线路为教育网。为保障网络运行,在DNS设备设置了一组递归解析策略进行流量调度。

1.基于目的域名的递归解析

(1)移动CDN

基于目的域名的递归解析是全局生效的,优先级最高。为提高网络访问速率,校园网DNS将15000余个拥有移动CDN资源的域名(及子域名)转发至移动线路。这部分域名约占总域名解析量的1/3,将大量流量导向移动线路。

(2)处理域名解析异常

校园网DNS设置了3条基于目的域名的解析策略,将指定域名分别转发到移动、教育网和电信线路解析,以解决目的域名只有特定线路IP地址可用的问题。

(3)域名劫持

对运维中发现的钓鱼网站等恶意域名设置域名劫持,返回不可用的地址。

2.基于源IP地址的遞归解析

基于源IP地址的递归解析用于调度流量。校园网DNS设置了2条流量调度策略,将校园网网段划分为2部分,分别导向教育网和移动线路。由于移动CDN策略已调度相当部分的移动流量,对移动调度策略仅设置8.2.0.0/16和8.9.0.0/16为源地址。

教育网调度策略排在所有策略之后,不限制源地址,即将余下流量全部导向教育网。

(1)流量调整

运行一段时间之后,校园网流量分布发生变化,教育网线路流量渐渐升高。图11展示了某个工作日的各线路流量曲线,教育网线路在23∶00左右出现流量高峰,最高达到19.88Gbps,逼近带宽上限,线路利用率达到99.39%,平均利用率约为58.38%;同时移动线路平均利用率约为48.60%,比教育网线路低出10个百分点,最高利用率为83.57%。从出口利用率曲线上看,教育网线路明显高于移动线路。

为了将流量适当向移动线路调度,我们对教育网分组的3个子网8.7.4.0/24、8.7.5.0/24和8.8.0.0/16分别计算实施调度后的流量预测值。

按照公式ΔE,C= T×(αC,C-αE,C),待调度子网的历史流量T选用该子网前一天的流量数据、子网的原移动流量比例αE,C选用该子网前一天的比例数据,调度后的预测移动流量比例αC,C选用导向移动的子网8.2.0.0/16前一天的移动流量比例数据,计算得到调度后的移动流量增量预测值ΔE,C,并将ΔE,C与校园网移动出口前一天的流量数据相加,得到调度后的移动出口流量预测值。图12展示了3子网的预测值曲线,为了展示清晰,图中将流量区间缩小为5Gbps至11Gbps以放大图像。8.8.0.0/16的流量过大,预测调度后的移动流量超出了10Gbps。8.7.4.0/24和8.7.5.0/24的流量较小,预测调度后的移动出口流量增幅可接受。我们选择预测流量峰值最小的8.7.4.0/24作为最佳子网,加入移动流量调度策略的源地址组中实施调度。

(2)实验结果

图13展示了调度实施后的各线路流量预测曲线和实际曲线,从图中可见两条线路的预测值和实际值曲线基本一致,重合度较高,说明预测效果比较理想。这也表明每日的网络流量变化不大,是规律性很强的时间序列,从历史数据中倾向于得到未来数据,有利于预测的实施。图13还展示了两条线路的出口利用率对比。从数据上看,教育网线路出口利用率平均为55.35%,最高为93.10%;移动线路出口利用率平均为48.68%,最高为89.55%。教育网线路平均利用率比移动线路高约6个百分点,但峰值流量降到18.62Gbps,两条线路流量波动都处在合理范围,从图像上看,两条曲线互有起伏,没有明显高低,说明流量调度达到了预期的效果。

由于网络流量在一段时间内一般保持相似的规律,调度效果可以维持较长的时间,如果出现流量整体升高,线路有网络拥塞风险时,需要再次调节。保持对不同线路导向和不同流量规模的子网观测和记录流量数据,有利于量化调度动作的效果,使每次调节稳健合理。

六、结语

(1)本文针对校园网多出口环境面临的流量分配问题,提出了一种基于DNS智能解析的多出口流量调度的构建方法,通过测量和记录若干不同线路导向和流量规模的子网的流量数据,预测调度动作的流量引导效果,有助于选择合理的策略源地址构建稳健的流量调度。

(2)针对校园网的测试表明,在每日流量规律相似的情况下可有效预测调度动作的流量引导效果,预测曲线和实际曲线基本吻合,流量调度达到预期目标。

(3)目前一般使用调度实施前一天的流量数据作为参考预测调度后数据,当流量规律出现明显变化时不利于预测的实施,未来可使用时间序列模型进行更准确的预测。

参考文献:

[1]罗伟雄,时东晓,刘岚.校园网多出口路由优化方案[J].计算机应用,2009(S1):41-43.

[2]黄敏,张卫东.基于策略路由的网络设计与实践[J].计算机应用,2002(5):72-73.

[3]Hadrien Hours,Ernst Biersack, Patrick Loiseau, Alessandro Finamore,Marco Mellia.A study of the impact of DNS resolvers on CDN performance using a causal approach[J].Computer Networks,2016(109):200-210.

[4]韩钰,侯晶晶.策略路由与动态DNS技术在校园网中的应用研究[J].中国教育信息化,2006(13):30-32.

[5]常伟鹏,许建真,袁泉.宿舍網多运营商共同接入模式对比分析[J].中国教育信息化,2018(17):91-93.

[6]单庆元,南峰.DNS多缓存策略在多出口流量优化中的应用[J].现代计算机(专业版),2017(29): 39-43.

[7]饶琰.基于智慧融合的校园网多出口链路负载均衡的构建[J].信息系统工程,2019(4):17-18.

[8]翁源,黄小红,李丹丹,赵泽华.基于DNS的网络多出口流量调度方法[J].东南大学学报(自然科学版),2017(S1):102-107.

[9]吴振宇.基于应用感知的多出口流量调度系统的设计与实现[D].北京:北京邮电大学,2019.

[10]李雨泰,来凤刚,尚智婕,董希杰.基于智能DNS的网络流量负载均衡控制研究[J].自动化与仪器仪表,2018(11):74-77.

[11]佚名.Bind[EB/OL]. https://www.isc.org/bind/.

[12]张新刚,程新党,王保平,孙飞显.智能域名解析技术在多出口校园网资源加速访问中的应用[J].实验室研究与探索,2011(8):85-88.

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

[14]蔡昭权.策略路由和动态DNS在校园网中的应用[J].计算机工程与设计,2005(5):1396-1398.

[15]李海明,苏开宇.智能DNS在校园网多链路控制的应用[J].中国计量学院学报,2011(1):59-63.

(编辑:王天鹏)

猜你喜欢
校园网
试论最大匹配算法在校园网信息提取中的应用
基于WinPcap的校园网ARP病毒检测防御系统设计与实现
基于VRRP和MSTP协议实现校园网高可靠性
NAT技术在校园网中的应用
校园网安全问题分析及防护探讨
基于安全漏洞扫描的校园网告警系统的开发与设计
网络行为管理在电视大学校园网中的应用
校园网贷有哪些违法隐患
中小学校园网应用调查研究
VPN在校园网中的集成应用