一种基于域名系统dns的链路均衡方法

文档序号:10515725阅读:444来源:国知局
一种基于域名系统dns的链路均衡方法
【专利摘要】一种基于域名系统DNS的链路均衡方法,当网络设有两条或两条以上出口链路,准备以包括链路、网络服务的负载或可用性状态为依据作为链路的均衡因素时,将用户查询请求按照权重、优先级、剩余可用带宽比例、或剩余可用带宽绝对值的多种方法,实时、动态地划分到不同的视图view中,用于实现链路的负载均衡。本发明有效解决了现有技术采用固定IP地址范围划分用户view导致的链路带宽使用不均衡问题,同时提供容错机制,避免在链路故障或者服务器故障时,继续引导后续流量至故障链路或者服务器。而且,本发明只在DNS服务器更改view划分方式而不增加硬件,对网络用户是透明的:客户端不做任何改动,对现有用户的正常操作和行为不造成任何干扰。故推广前景看好。
【专利说明】
-种基于域名系统DNS的链路均衡方法
技术领域
[0001] 本发明设及一种基于域名系统DNS的链路均衡方法,属于计算机网络通信的技术 领域。
【背景技术】
[0002] 域名系统DNS(Domain Name System)是通过将用户划分到不同的视图view中,W 便经由不同的出口链路解析用户请求而实现负载均衡。现行的划分规则是采用基于访问控 制列表ACL(Access Control List)的形式,通过限定IP范围来进行划分view的。例如,在递 归服务器的模式下,view的划分就是通过IP地址进行的:IP地址在10.0.0.0-10.0.0.255 范围内的用户都被划分到一个view中,然后从该view设置的出口链路去查询;IP地址在 10.0. 1.0-10.0.1.255范围内的用户则被划分到另一个view中,再从该view的出口链路去 查询。在权威解析服务器的模式下,view的划分同样也是通过IP地址进行的:IP地址在 220.18.0. 0-220.18.0.255范围的用户的DNS请求被划分到一个view中,权威解析服务器 返回该view设置的链路地址给用户;IP地址在211.68.0.0-211.68.0.255范围内的用户的 DNS请求被划分到另一个view中,权威解析服务器将该view设置的链路地址返回给用户。
[0003] 运种依靠固定IP地址范围划分view的方式存在的问题是:尽管每个view包含的地 址范围是固定不变的,但是,每个地址范围内的实际用户数量却不是固定不变、而是随时随 地都在发生变化的。运就导致在递归服务器模式下,每个view内的用户请求数量会随着时 间的变化而发生改变,因此会出现某个时间段内、某个view的地址范围中的请求太多,导致 对应链路的带宽不够;而其他的view中请求数量少,对应链路的带宽有富余的情况。而在权 威解析服务器模式下,view的地址范围中的实际用户的请求数量同样也不是固定不变的, 也会导致某一个时间段内、某条链路上的请求太多而其他链路的请求却很少的情况。在运 种情况下,就造成外部链路的流量使用不能得到均衡,从而影响网络访问速度,降低用户体 验。此外,运样的固定IP地址范围划分view的方式没有设置故障感知功能,不能感知链路或 服务器是否已经发生或存在故障,所W就不能够及时地将原来计划划分到view内的用户请 求转移发送到未发生故障的链路或服务器、仍然坚持按照原定计划划分,导致用户无法访 问网络或者访问速度过慢。
[0004] 因此,如何克服现有技术存在的问题就成为业内科技人员关注的新课题。

【发明内容】

[0005] 有鉴于此,本发明的目的是提供一种基于DNS的链路均衡方法,该方法动态地对用 户进行划分,可W解决现有技术下view通过固定IP地址范围进行用户划分导致的链路带宽 使用不均衡的问题,同时提供容错机制,避免在链路故障或者服务器故障时,继续引导后续 流量至故障链路或者服务器。
[0006] 为了达到上述目的,本发明提供了一种基于域名系统DNS(Domain Name System) 的链路均衡方法,其特征在于:当网络配设有两条或两条W上的出口链路,准备W包括链 路、网络服务的负载或者可用性状态为依据作为链路的均衡因素时,将用户查询请求按照 权重、优先级、剩余可用带宽比例、或剩余可用带宽绝对值的多种方法,实时、动态地划分到 不同的视图view中,用于实现链路的负载均衡;该方法包括下列操作步骤:
[0007]步骤1,根据网络链路的实际情况,从包括按照权重、优先级、剩余可用带宽比例、 或剩余可用带宽绝对值的多种方法中,任意选择其中之一,将用户查询请求动态划分到不 同的view;其中:
[000引按照权重划分view方法是:先在DNS服务器设置与出口链路数量相等的view,并根 据网络中的运些链路实际状况分别计算每条出口链路的出口带宽,再分别为每条链路设置 与其出口带宽相对应的权重值;然后,DNS服务器按照运些链路带宽值的比重、即权重值比 例作为负载均衡配置依据,为用户查询请求动态分配链路,将运些用户查询请求划分到不 同的view中,使负载按照权重比例实现均衡配置;
[0009]按照优先级划分view的方法是:为每条链路设置不同的优先级,按照优先级从高 到低的递减次序将用户查询请求划分到不同的view中;
[0010]按照剩余可用带宽比例划分view的方法是;根据每条链路的剩余可用带宽占据整 条链路全部带宽的比例,用作用户查询请求划分的比例依据,W便按照该占比的比例,将用 户查询请求分别配置到不同的view中;
[0011] 按照剩余可用带宽绝对值划分view的方法是:根据每条链路的剩余可用带宽的绝 对值作为依据来配置用户查询请求,优先将用户查询请求划分配置到剩余可用带宽更多的 链路所链接的view中;
[0012] 步骤2,DNS服务器检查链路和服务器是否处于可用状态,排除发生故障的链路和 服务器后,获取可用链路的负载、总带宽和可用带宽;
[0013] 步骤3,DNS服务器接收到用户查询请求,采用步骤1选择确认的方法进行处理;并 在完成处理后,将应答消息返回给用户终端;
[0014] 步骤4,DNS服务器接收到新的DNS请求,返回执行步骤2。
[0015] 本发明基于DNS的链路均衡方法的创新之处是:确实解决了现有技术的DNS的view 划分方式带来的链路负载使用不均衡的问题;本发明方法设置有多达四种实现负载均衡的 方式,适用范围广,网管人员可W灵活、机动地根据网络实际情况任选其中一种方式实现负 载均衡。而且,本发明方法中,增加了 view的故障及时发现与倒换机制的操作步骤:一旦发 现链路、服务器发生故障时,可停止对其进行流量调度,避免用户解析结果不能访问的情 况。另外,本发明方法不需要增加额外硬件,只需对DNS的view划分方式进行改进。而且,只 需在DNS服务器端进行修改,客户端无需进行任何改动,不会对现有用户的正常操作及行为 造成干扰。因此,本发明方法对网络用户是透明的。
【附图说明】
[0016] 图1是本发明基于域名系统DNS的链路均衡方法操作步骤流程图。
【具体实施方式】
[0017] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0018] 本发明基于域名系统DNS的链路均衡方法,是在当网络配设有两条或两条W上的 出口链路,准备W包括链路、网络服务的负载或者可用性状态为依据作为链路的均衡因素 时,将用户查询请求按照权重、优先级、剩余可用带宽比例、或剩余可用带宽绝对值的多种 方法中任意选择其中之一,实时、动态地划分到不同的视图view中,用于实现链路的负载均 衡。
[0019] 参见图1,介绍本发明基于DNS的链路均衡方法的具体操作步骤:
[0020] 步骤1,根据网络链路的实际情况,从包括按照权重、优先级、剩余可用带宽比例、 或剩余可用带宽绝对值的多种方法中,任意选择其中之一,将用户查询请求动态划分到不 同的view。其中:
[0021] (A)按照权重划分view方法是:先在DNS服务器设置与出口链路数量相等的view, 并根据网络中的运些链路实际状况分别计算每条出口链路的出口带宽,再分别为每条链路 设置与其出口带宽相对应的权重值;然后,DNS服务器按照运些链路带宽值的比重、即权重 值比例作为负载均衡配置依据,为用户查询请求动态分配链路,将运些用户查询请求划分 到不同的view中,使负载按照权重比例实现均衡配置。按照权重划分view的方法的操作步 骤包括下列操作内容:
[0022] (la)当网络配设有两条或两条W上的多条链路Ai,且每条链路Ai的出口带宽分别 为曰1时,DNS服务器应相应设置与该多条链路Ai数量相等的多个view, W使每条链路Ai分别 对应有各自的Viewi,式中,自然数i为View及其出口链路的序号,其最大值η是网络配设的 出口链路总数。
[0023] ab)DNS服务器接收到客户端查询请求时,按照公式
计算每条链路Ai的出口 带宽曰1占所有链路的总带竞
的比例,并根据该占比在每个view之间分配相应的负载; 也就是鸦
1 勺用户查询请求划分到viewi,从而实现对每条链路Ai所对应的出口带宽ai 配置相应权重比例的负载。
[0024] 例如,用户出口链路有两条:一条为cernet、一条为default,两条出口链路cernet 出口带宽与default出口带宽的比为2:1,在DNS服务器中设置两个view: viewl出口链路为 cernet,view2出口链路为default。运样当DNS服务器接收到客户端的查询请求时,按照 viewl: view2 = 2:1的比例在两个view之间进行分配:将2/3的用户查询请求划分到viewl, 走cernet链路查询;1/3的用户查询请求划分到view2,走default链路查询,从而实现对 cernet和de化ult分别对应的出口线路负载按照2:1的方式进行负载均衡切分。
[0025] (B)按照优先级划分view的方法是:为每条链路设置不同的优先级,按照优先级从 高到低的递减次序将用户查询请求划分到不同的view中。
[00%]按照优先级划分view的方法包括下列操作内容:
[0027] (la)当网络配设有两条或两条W上的多条链路Ai,DNS服务器应设置与该多条链 路Ai数量相等的多个view, W使每条链路分别对应各自的viewi,式中,自然数i为view及其 出口链路的序号,其最大值η是网络配设的链路总数。
[002引(化)DNS服务器给每个view设置其出口链路带宽占用率阔值di及其优先级序号bi, 其中,阔值di是一个数值在区间(0,100)之间的百分数,优先级序号bi是位于区间[l,n]之间 的自然数,且优先级序号1的优先等级最高,随着序号的渐次增加,其优先级等级逐渐降低。
[0029] (lc)DNS服务器根据优先级高低从高到低顺序分配用户的查询请求:DNS服务器接 收到客户端查询请求时,根据view的优先级高低顺序,从最高优先级序号为1的view开始, 检查当前已经划分给该view的出口链路带宽占用率是否达到该view的阔值di;若未达到, 则将后续的查询请求继续分配给该view;若已经达到阔值山,则检查次高优先级序号为2的 view是否达到其阔值,W便将后续查询请求分配给该view, W此类推,实现根据优先级调整 线路负载。
[0030] (Id)当所有可用链路的带宽占用率均达到阔值di时,后续的查询请求则按照轮询 方式依次分配给各个view。
[0031 ]例如,将viewl的优先级设置为最高,其带宽占用率阔值设置为80%,出口链路设 置为cernet;view2的优先级设置为次高,其带宽占用率也设置为80%,出口链路设置为 defaulteDNS服务器会将用户的查询请求根据优先级从高到低降序进行分配:当cernet的 带宽占用率未达到80%时,优先将后续查询请求分配到viewl;若cernet的带宽占用率达到 80 %时,则将后续查询请求分配到view2。且若de化ult的带宽占用率也达到了80 %时,就会 再按照此规则,将后续查询请求分配到优先级更低的其他view中,实现根据优先级调整线 路负载。
[0032] (C)按照剩余可用带宽比例划分view的方法是;根据每条链路的剩余可用带宽占 据整条链路全部带宽的比例,用作用户查询请求划分的比例依据,W便按照该占比的比例, 将用户查询请求分别配置到不同的view中;
[003引例如,网络中配设有立条出口链路,当viewl中链路的剩余可用带宽占该链路全部 带宽的40%,view2中链路的剩余可用带宽占比为70%,view3中链路的剩余可用带宽占比 为30%时,DNS服务器就将用户的查询请求按照4:7:3的比例进行划分,从而均衡每条链路 的出口带宽,使各链路使用比率均衡。
[0034] (D)按照剩余可用带宽绝对值划分view的方法是:根据每条链路的剩余可用带宽 的绝对值作为依据来配置用户查询请求,优先将用户查询请求划分配置到剩余可用带宽更 多的链路所链接的view中;
[0035] 例如,网络中配设有两条出口链路,V i ew 1中链路的剩余带宽为10M,V i ew2中链路 的剩余带宽为100M,那么DNS服务器就将用户的查询请求按照10M: 100M、即1:10的比例进行 划分,将更多的用户查询请求划分到view2,从而保证链路带宽的合理有效利用。
[0036] 步骤2,DNS服务器检查链路和服务器是否处于可用状态,排除发生故障的链路和 服务器后,获取可用链路的负载、总带宽和可用带宽;
[0037] 该步骤2中,DNS服务器检查链路和服务器是否处于可用状态,W便在链路或服务 器发生故障时,及时停止对其对应的view进行流量调度,只获取可用链路的负载、总带宽和 可用带宽,避免造成用户不能访问解析结果的情况。
[0038] 步骤3,DNS服务器接收到用户查询请求,采用步骤1选择确认的方法进行处理;并 在完成处理后,将应答消息返回给用户终端;
[0039] 步骤4,DNS服务器接收到新的DNS请求,返回执行步骤2。
[0040] 本发明方法只是在DNS服务器更改view划分方式而不增加硬件,且对网络用户是 透明的:客户端不做任何改动,对现有用户的正常操作和行为不造成任何干扰。
[0041] 本发明已经进行了实施试验,在北京邮电大学校园网的四期优化中,部署实施本 发明基于DNS的链路均衡方法。实施过程中,北京邮电大学的校园网络中,DNS服务器采用按 照权重划分的方式对view进行划分,实现了出口链路的带宽均衡,有效提升了用户的上网 体验。经过数月的试验验证,本发明的实施例是成功的,实现了发明目的。
[0042] W上所述仅是本发明的优选实现方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可W做出若干改进和润饰,运些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种基于域名系统DNS(Domain Name System)的链路均衡方法,其特征在于:当网络 配设有两条或两条以上的出口链路,准备以包括链路、网络服务的负载或者可用性状态为 依据作为链路的均衡因素时,将用户查询请求按照权重、优先级、剩余可用带宽比例、或剩 余可用带宽绝对值的多种方法,实时、动态地划分到不同的视图view中,用于实现链路的负 载均衡;该方法包括下列操作步骤: 步骤1,根据网络链路的实际情况,从包括按照权重、优先级、剩余可用带宽比例、或剩 余可用带宽绝对值的多种方法中,任意选择其中之一,将用户查询请求动态划分到不同的 view;其中: 按照权重划分view方法是:先在DNS服务器设置与出口链路数量相等的view,并根据网 络中的这些链路实际状况分别计算每条出口链路的出口带宽,再分别为每条链路设置与其 出口带宽相对应的权重值;然后,DNS服务器按照这些链路带宽值的比重、即权重值比例作 为负载均衡配置依据,为用户查询请求动态分配链路,将这些用户查询请求划分到不同的 view中,使负载按照权重比例实现均衡配置; 按照优先级划分view的方法是:为每条链路设置不同的优先级,按照优先级从高到低 的递减次序将用户查询请求划分到不同的v i ew中; 按照剩余可用带宽比例划分view的方法是;根据每条链路的剩余可用带宽占据整条链 路全部带宽的比例,用作用户查询请求划分的比例依据,以便按照该占比的比例,将用户查 询请求分别配置到不同的view中; 按照剩余可用带宽绝对值划分view的方法是:根据每条链路的剩余可用带宽的绝对值 作为依据来配置用户查询请求,优先将用户查询请求划分配置到剩余可用带宽更多的链路 所链接的view中; 步骤2,DNS服务器检查链路和服务器是否处于可用状态,排除发生故障的链路和服务 器后,获取可用链路的负载、总带宽和可用带宽; 步骤3,DNS服务器接收到用户查询请求,采用步骤1选择确认的方法进行处理;并在完 成处理后,将应答消息返回给用户终端; 步骤4,DNS服务器接收到新的DNS请求,返回执行步骤2。2. 根据权利要求1所述的方法,其特征在于:所述步骤1中,按照权重划分view的方法包 括下列操作内容: (la) 当网络配设有两条或两条以上的多条链路Ai,且每条链路Ai的出口带宽分别为ai 时,DNS服务器应相应设置与该多条链路Ai数量相等的多个view,以使每条链路Ai分别对应 有各自的vieWi,式中,自然数i为view及其出口链路的序号,其最大值η是网络配设的出口 链路总数; ai (lb) DNS服务器接收到客户端查询请求时,按照公式fa计算每条链路Ai的出口带宽 ai占所有链路的总带宽£ A的比例,并根据该占比在每个view之间分配相应的负载;也就 是将的用户查询请求划分到view,从而实现对每条链路心所对应的出口带宽ai配置相 1 应权重比例的负载。3. 根据权利要求1所述的方法,其特征在于:所述步骤1中,按照优先级划分view的方法 包括下列操作内容: (la) 当网络配设有两条或两条以上的多条链路AnDNS服务器应设置与该多条链路仏数 量相等的多个view,以使每条链路分别对应各自的viewi,式中,自然数i为view及其出口链 路的序号,其最大值η是网络配设的链路总数; (lb) DNS服务器给每个view设置其出口链路带宽占用率阈值cU及其优先级序号1^,其 中,阈值cU是一个数值在区间(0,100)之间的百分数,优先级序号h是位于区间[l,n]之间的 自然数,且优先级序号1的优先等级最高,随着序号的渐次增加,其优先级等级逐渐降低; (lc) DNS服务器根据优先级高低从高到低顺序分配用户的查询请求:DNS服务器接收到 客户端查询请求时,根据view的优先级高低顺序,从最高优先级序号为1的view开始,检查 当前已经划分给该v i e w的出口链路带宽占用率是否达到该v i e w的阈值d i;若未达到,则将 后续的查询请求继续分配给该view;若已经达到阈值di,则检查次高优先级序号为2的view 是否达到其阈值,以便将后续查询请求分配给该view,以此类推,实现根据优先级调整线路 负载; (ld) 当所有可用链路的带宽占用率均达到阈值cU时,后续的查询请求则按照轮询方式 依次分配给各个view。4. 根据权利要求1所述的方法,其特征在于:所述步骤2中,DNS服务器检查链路和服务 器是否处于可用状态,以便在链路或服务器发生故障时,及时停止对其对应的view进行流 量调度,只获取可用链路的负载、总带宽和可用带宽,避免造成用户不能访问解析结果的情 况。5. 根据权利要求1所述的方法,其特征在于:所述方法只是在DNS服务器更改view划分 方式而不增加硬件,且对网络用户是透明的:客户端不做任何改动,对现有用户的正常操作 和行为不造成任何干扰。
【文档编号】H04L12/24GK105872079SQ201610313031
【公开日】2016年8月17日
【申请日】2016年5月12日
【发明人】翁源, 王道佳, 杨呈飞, 周杰
【申请人】北京网瑞达科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1