CN101616079B - Dns请求报文的nat出口链路负载均衡方法及装置 - Google Patents

Dns请求报文的nat出口链路负载均衡方法及装置 Download PDF

Info

Publication number
CN101616079B
CN101616079B CN2009100891344A CN200910089134A CN101616079B CN 101616079 B CN101616079 B CN 101616079B CN 2009100891344 A CN2009100891344 A CN 2009100891344A CN 200910089134 A CN200910089134 A CN 200910089134A CN 101616079 B CN101616079 B CN 101616079B
Authority
CN
China
Prior art keywords
dns
address
request message
intranet
outer net
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009100891344A
Other languages
English (en)
Other versions
CN101616079A (zh
Inventor
卢胜文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009100891344A priority Critical patent/CN101616079B/zh
Publication of CN101616079A publication Critical patent/CN101616079A/zh
Application granted granted Critical
Publication of CN101616079B publication Critical patent/CN101616079B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种DNS请求报文的NAT出口链路负载均衡方法及装置,该方法包括:预先建立包含内网用户地址和内网DNS地址与分属不同链路的外网DNS地址之间的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系的DNS配置表;接收内网用户向内网DNS发出的DNS请求报文;根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址;将所述替换目的地址后的DNS请求报文进行NAT转换后从与所述外网DNS地址相应的NAT出口链路发出。该方法和装置能够实现DNS请求报文的负载均衡。

Description

DNS请求报文的NAT出口链路负载均衡方法及装置
技术领域
本发明涉及网络通信技术领域,特别涉及域名转换(DNS)请求报文的NAT出口链路负载均衡方法及装置。
背景技术
网络地址转换(NAT,Network Address Translation)提供了一种解决私网(内网)地址访问因特网(公网)的技术,私有网络的用户可以通过NAT将内网地址转换为互联网服务提供商(ISP)分配的公网地址,通过该ISP的链路访问因特网中的资源。
内网用户访问外网网站时,由于用户访问的是网站的网络域名而不是网站服务器的实际IP地址,因此,用户首先需要向DNS服务器发送DNS请求报文以获取需要访问的网站服务器的实际IP地址,DNS服务器解析得到网站服务器的实际IP地址并返回用户后,用户才能进行后续的访问,且后续的访问都是指向网站服务器的实际IP地址。
如何保证从内网发出的DNS请求报文在经过NAT设备的时候,能充分利用网络的带宽实现负责均衡是本发明亟待解决的一个问题。
发明内容
本发明实施例提供一种NAT出口链路负载均衡方法,能够实现DNS请求报文的负载均衡。
本发明实施例提供一种NAT出口链路负载均衡装置,能够实现DNS请求报文的负载均衡。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种DNS请求报文的NAT出口链路负载均衡方法,该方法包括:
预先建立包含内网用户地址和内网DNS地址与分属不同链路的外网DNS地址之间的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系的DNS配置表;其中,所述分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述不同NAT出口链路带宽的比例关系相同;
接收内网用户向内网DNS发出的DNS请求报文;
根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址;
将所述替换目的地址后的DNS请求报文进行NAT转换后从与所述外网DNS地址相应的NAT出口链路发出。
一种DNS请求报文的NAT出口链路负载均衡装置,该装置包括:
DNS表建立模块,用于预先建立包含内网用户地址和内网DNS地址与分属不同链路的外网DNS地址之间的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系的DNS配置表;其中,所述分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述不同NAT出口链路带宽的比例关系相同;
报文接收模块,用于接收内网用户向内网DNS发出的DNS请求报文;
报文修改模块,与所述报文接收模块和DNS表建立模块分别相连,用于根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址;
报文发送模块,与所述报文修改模块和DNS表建立模块分别相连,用于将所述报文修改模块修改后的DNS请求报文进行NAT转换后从与所述外网DNS地址相应的NAT出口链路发出。
由上述的技术方案可见,本发明的这种NAT出口链路负载均衡方法和装置,通过预先建立的DNS配置表中网用户地址、内网DNS地址、外网DNS地址以及NAT出口链路带宽之间的对应关系,可以实现对用户DNS请求的外网DNS地址和NAT出口链路的控制。在接收到用户发出的DNS请求报文时,按照DNS配置表的设置主动修改用户DNS请求报文的目的DNS地址,将用户发出的DNS请求报文按照DNS表中不同出口链路带宽比例关系将用户DNS请求分配给不同ISP链路中的外网DNS服务器,从而实现负载均衡。另外,外网DNS服务器返回实际外网网站IP地址后,无需再对后续用户发出的实际访问报文按照流量进行负载均衡处理,只需使用户报文从与目的地址相对应的NAT出口链路发出,进而在实现负载均衡的同时,避免了用户访问某ISP链路中的外网网站服务器的报文从其他ISP链路出口发出,即跨ISP访问的情况发生。
附图说明
图1为NAT出口链路负载均衡方法流程图;
图2为本发明实施例的NAT出口链路负载均衡装置结构示意图;
图3为本发明实施例一的报文修改模块结构示意图;
图4为本发明实施例二的报文修改模块结构示意图;
图5为本发明较佳实施例的NAT出口链路负载均衡装置结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明主要是利用了一些大型的主流网站都在多个ISP中有服务器,并且其DNS能够根据DNS请求报文的源地址所属ISP确定在DNS回应报文中返回对应ISP的服务器地址的功能,通过预先建立包含内网用户访问的目的地址和NAT出口链路对应关系及不同出口链路带宽比例关系的DNS配置表对用户发出的DNS报文进行控制。按照DNS配置表中设置的不同出口链路带宽比例关系实现负载均衡,同时根据DNS配置表修改用户DNS请求报文的目的地址,使用户发出的DNS报文可以按照DNS配置表中的设置从NAT出口链路发出,进而实现用户报文的出口链路与访问的DNS相匹配,避免跨ISP访问的情况发生。
图1为本发明实施例的NAT出口链路负载均衡方法流程图,如图1所示,该流程包括如下步骤:
步骤101,预先建立包含内网用户地址和内网DNS地址与分属不同链路的外网DNS地址之间的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系的DNS配置表。
DNS配置表是对用户发出的DNS请求报文进行控制的依据,因此在进行负载均衡前,需要按照网络情况和网站负载均衡的情况建立DNS配置表;该表应能反映内网用户地址和内网DNS地址与分属不同链路的外网DNS地址的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系。
步骤102,接收内网用户向内网DNS发出的DNS请求报文。
如果内网中配置有实体DNS服务器,则DNS请求报文将发送到该实体DNS服务器,如果没有实体DNS服务器,而是配置了虚拟DNS服务器,DNS请求报文将发送至该虚拟DNS服务器的虚拟地址,该虚拟地址可以指向任意网络设备,例如NAT服务器。
步骤103,根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址。
根据DNS配置表中设置的对应关系,将从内网用户接收到的DNS请求报文的目的地址,也就是内网配置的实体DNS地址或虚拟DNS地址替换为与该DNS请求报文的源地址,即发送该报文的内网用户地址,及目的地址,即内网DNS地址所对应的外网DNS地址。
步骤104,将所述替换目的地址后的DNS请求报文进行NAT转换后从与所述外网DNS地址相应的NAT出口链路发出。
本步骤与现有技术相同,即用户报文的目的地址属于哪个ISP,则将该报文的源地址转换为哪个ISP的出口地址,从而将该报文从与用户报文的目的地址对应的ISP的出口链路发出。外网DNS地址相应的NAT出口链路是指与该外网DNS地址所属ISP链路相同的NAT出口链路。在DNS请求报文发出后,该请求后续的用户访问该外网网站的报文也都将按照相同的链路发出,因此后续的报文也将实现负载均衡,且不会出现跨ISP访问的情况。
在步骤201中的DNS配置表中,内网用户地址可以通过IP地址来体现,但如果针对每一个内网用户地址都要建立对应的表项,则所需建立的表项的数目将会很多,因此内网用户地址具体可以表现为根据内网用户地址或根据内网用户地址和特征信息计算的特征值,一个特征值可以对应多个内网用户地址,这样就可以将大量的内网用户地址通过少量的特征值来体现。其中,特征信息可以包括内网DNS地址、协议类型和端口号中任一个或多个的任意组合;特征值可以是根据内网用户地址利用哈希(HASH)计算得到的哈希值。
另外,对于负载均衡来说,只要知道不同链路带宽之间的比例关系,即可将报文按照该比例关系分配到不同的链路,而不必知道带宽的具体数值,因此分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系,除了通过数值直接记录在DNS配置表中之外,还可以通过分属不同链路的外网DNS地址在DNS配置表中出现的次数的比例关系间接隐含的表示,即使分属不同链路的外网DNS地址在DNS配置表中出现次数的比例关系与不同的NAT出口链路的带宽比例关系相同即可。例如NAT出口链路为两个,带宽比例为1∶2那么在DNS配置表中,与这两出口链路相对应的外网DNS地址出现的次数比例也应该为1∶2。当然,两个比例也不一定要严格一致,如果负载均衡的精度要求不高,只需近似一致即可。
由于通常外网每个ISP中的DNS服务器都有一主一备两台,因此除了针对外网主DNS服务器配置对应的内网DNS和特征值外,还可以为外网备用DNS服务器配置对应的内网DNS和特征值,并通过外网主、备DNS服务器在DNS配置表中出现的次数比例关系,进一步实现报文在同一ISP链路中,主备DNS服务器之间的负载均衡,或在外网主DNS服务器故障时,将报文发送到外网备用DNS服务器。如果外网DNS服务器只有一台,也可以按照主备两台DNS服务器来处理,只不过主备两台DNS服务器地址相同。
另外,根据内网中是否具有实体DNS服务器,即内网DNS是实体DNS还是虚拟DNS,步骤103可以有两类实现方法:
如果内网中没有实体DNS服务器,则可以根据DNS请求报文中的内网用户地址或内网用户地址和特征信息计算DNS请求报文的特征值,具体采用什么信息计算特征值以及具体计算方法,与建立DNS配置表时计算特征值的方法相同,这里不再赘述。计算出特征值后,即可根据特征值和内网DNS地址查找DNS配置表,确定与内网DNS地址和特征值对应的外网DNS地址,将DNS请求报文中的目的地址替换为确定的外网DNS地址。
如果内网中有实体DNS服务器,这时用户直接向该内网DNS服务器进行DNS查询,对于DNS服务器没有的域名,其会向上级DNS服务器发起递归查询,直到得到查询域名对应的IP地址,这种情况下,内网DNS将DNS请求报文向外网DNS转发,此时NAT收到的DNS请求的发起者是内部DNS服务器,内网用户发出的所有DNS请求报文都通过内网DNS转发,所以其源IP是唯一的,所有根据报文源地址计算的特征值都相同,因此无法通过查询DNS配置表中配置的特征值来区分不同用户的报文,也就无法进行负载均衡;此时可以使用其他数据来替代内网用户发出的DNS请求报文的特征值,用以区分不同内网用户发出的DNS请求,例如使用计数器统计NAT服务器收到的所有DNS请求报文的个数,每收到一个DNS请求报文,则计数器加1,此时,可以根据收到DNS报文时,计数器的读数作为该DNS请求报文的特征值来查询DNS配置表。当然,DNS配置表中预先配置的特征值是有一定范围的,与预先配置的特征值对应,可以取计数器中,计数范围与DNS配置表中配置的特征值范围对应的低位数值作为特征值,例如DNS配置表中预先配置的特征值范围是0~15,则取计数器中后4bit位的数值作为特征值即可,其余步骤与前面一致。
除此之外,为了更好的进行负载均衡,上述步骤中还可以根据NAT出口链路带宽情况动态调整DNS配置表,例如定期检测NAT出口链路的空闲带宽大小,并动态调整DNS配置表,使分属不同链路的外网DNS地址在DNS配置表中出现次数的比例关系与检测到的NAT出口链路的空闲带宽的比例关系相同,该步骤可以更加准确地进行负载均衡,但并不是必须的。
对于可能发生的外网DNS故障问题,为了保证负载均衡能够在外网DNS发生故障时依然有效,则上述步骤中还可以进一步通过定期检测DNS配置表中配置的外网DNS地址是否可达,来动态维护DNS配置表,如果某外网DNS地址不可达,则可以认为该DNS服务器故障,删除不可达的外网DNS地址,用其他外网DNS地址代替,并保持分属不同链路的外网DNS地址在DNS配置表中出现次数的比例关系与NAT出口链路的带宽比例关系相同。同样,该步骤并不是必须的。
举个具体的例子:以访问www.abc.com网站为例,假设该网站在ISP1的网站服务器地址为IP1,在ISP2的网站服务器地址为IP2,其配置了全局负载均衡,ISP1用户进行DNS请求时返回IP1,ISP2用户进行DNS请求时返回IP2,用户私网没有配置实体DNS服务器,配置的虚拟DNS为VDNS,指向NAT服务器,NAT服务器接入ISP1和ISP2两条链路,带宽分别为100M和200M,2条链路按1∶2权值配置。我们假设外网ISP1的DNS服务器地址为DNS1,ISP2的DNS服务器地址为DNS2,则首先须建立如表一所示的DNS配置表。
  内网DNS   HASH值   外网DNS
  VDNS   0   DNS1
  VDNS   1   DNS2
  VDNS   2   DNS2
  VDNS   3   DNS1
  VDNS   4   DNS2
  VDNS   5   DNS2
  VDNS   6   DNS1
  VDNS   7   DNS2
  VDNS   8   DNS2
  VDNS   9   DNS1
  VDNS   10   DNS2
  VDNS   11   DNS2
  VDNS   12   DNS1
  VDNS   13   DNS2
  VDNS   14   DNS2
  VDNS   15   DNS1
表一、DNS配置表
在表一中,DNS1出现6次,DNS2出现12次,其比例与带宽比例1∶2相同,内网用户地址以哈希值体现。
内网用户A访问www.abc.com时,发起DNS请求,目的地址是VDNS,NAT服务器收到A的DNS请求后,以A的IP地址进行HASH运算,假设得到的HASH值为0,则查询DNS配置表,得到对应的外网DNS为DNS1,则将报文从ISP1的链路发出,到达ISP1中的DNS1,DNS1中如果查询到www.abc.com在ISP1中的IP地址,则直接返回响应,其中包含地址IP1,如果查询不到,则需进一步向上级DNS服务器查询,迭代得到www.abc.com的宿主DNS,由于DNS请求来自ISP1,返回的网站IP地址为IP1。后续A访问www.abc.com的报文都将从ISP1的链路发出。
内网用户B访问www.abc.com时,发起DNS请求,目的地址是VDNS,NAT服务器收到A的DNS请求后,以B的IP地址进行HASH运算,假设得到的HASH值为1,则查询DNS配置表,得到对应的外网DNS为DNS2,则将报文从ISP2的链路发出,到达ISP2中的DNS2,DNS2或www.abc.com的宿主DNS返回地址IP2。后续B访问www.abc.com的报文都将从ISP2的链路发出。
内网用户C访问www.abc.com时,发起DNS请求,目的地址是VDNS,NAT服务器收到C的DNS请求后,以C的IP地址进行HASH运算,假设得到的HASH值为2,则查询DNS配置表,得到对应的外网DNS为DNS2,则将报文从ISP2的链路发出,到达ISP2中的DNS2,DNS2或www.abc.com的宿主DNS返回地址IP2。后续B访问www.abc.com的报文都将从ISP2的链路发出。
若还起用DNS配置表动态调整,则定时获取每个ISP链路的流量统计,然后计算出空闲带宽,以上面的例子为例,假设以1秒钟为周期查询流量统计,假设当前统计ISP1的流量50Mbps,ISP2的流量为150Mbps,则ISP1空闲带宽为50Mbps,ISP2的空闲带宽也是50Mbps,ISP1与ISP2的空闲带宽比是1∶1,则动态调整DNS配置表,使DNS配置表中,DNS1和DNS2出现的次数比例变为1∶1,以表一为例,即调整DNS1和DNS2的出现次数均为8次。
图2为本发明实施例的NAT出口链路负载均衡装置结构示意图,如图2所示,该装置包括:
DNS表建立模块201,用于预先建立包含内网用户地址和内网DNS地址与分属不同链路的外网DNS地址之间的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系的DNS配置表;其中,所述分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述不同NAT出口链路带宽的比例关系相同。
报文接收模块202,用于接收内网用户向内网DNS发出的DNS请求报文。
报文修改模块203,与所述报文接收模块202和DNS表建立模块201分别相连,用于根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址。
报文发送模块204,与所述报文修改模块203和DNS表建立模块201分别相连,用于将所述报文修改模块修改后的DNS请求报文进行NAT转换后从与所述外网DNS地址相应的NAT出口链路发出。
图3为本发明实施例一的报文修改模块结构示意图,如图3所示,报文修改模块包括:
特征值计算单元301,与所述报文接收模块203相连,用于根据所述DNS请求报文中的用户地址或内网用户地址和特征信息计算特征值。
地址确定单元302,与所述特征值计算单元301和DNS表建立模块201分别相连,用于根据计算出的特征值和用户地址查找所述DNS配置表,确定与所述内网DNS地址和所述特征值对应的分属不同链路的外网DNS地址。
地址替代单元303,与所述地址确定单元302相连,用于将所述DNS请求报文中的目的地址替换为所述确定的外网DNS地址,并发送给所述报文发送模块204。
图4为本发明实施例二的报文修改模块结构示意图,如图4所示,报文修改模块包括:
报文统计单元401,与所述报文接收模块202相连,用于统计所述报文接收模块接收到的DNS报文个数。
特征值选取单元402,与所述报文统计单元401相连,用于根据收到DNS报文时,所述报文统计单元401统计的DNS报文数值中,与DNS配置表中配置的特征值范围对应的低位数值作为该DNS请求报文的特征值。
地址确定单元403,与所述特征值选取单元402和DNS表建立模块201分别相连,用于根据计算出的特征值和内网DNS地址查找所述DNS配置表,确定与所述内网DNS地址和所述特征值对应的分属不同链路的外网DNS地址。
地址替代单元404,与所述地址确定单元403相连,用于将所述DNS请求报文中的目的地址替换为所述确定的外网DNS地址,并发送给所述报文发送模块204。
图5为本发明较佳实施例的NAT出口链路负载均衡装置结构示意图,如图5所示,该装置除包括与图2中所示相同的DNS表建立模块501,报文接收模块502,报文修改模块503,和报文发送模块504之外,还进一步包括:
DNS表动态维护模块505,与所述DNS表建立模块501相连,用于定期检测NAT出口链路的空闲带宽大小,并动态调整DNS配置表,使分属不同链路的外网DNS地址在DNS配置表中出现次数的比例关系与检测到的NAT出口链路的空闲带宽的比例关系相同。
DNS表动态调整模块506,与所述DNS表建立模块501相连,用于定期检测所述DNS配置表中配置的外网DNS地址是否可达,删除不可达的外网DNS地址,用其他外网DNS地址代替,并保持分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述NAT出口链路的带宽比例关系相同。
上述NAT出口链路负载均衡装置可以集成在NAT服务器或集成NAT功能的路由器等设备中。
由上述的实施例可见,本发明的这种NAT出口链路负载均衡方法和装置,通过按照预先设置的规则改变用户报文的目的DNS地址,除能够实现DNS请求报文的负载均衡外,还能够实现用户报文的出口链路与访问的DNS相匹配,从而在实现负载均衡的同时,避免跨ISP访问的情况发生。
所应理解的是,以上所述仅为本发明的较佳实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种DNS请求报文的NAT出口链路负载均衡方法,其特征在于,该方法包括:
预先建立包含内网用户地址和内网DNS地址与分属不同链路的外网DNS地址之间的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系的DNS配置表;其中,所述分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述不同NAT出口链路带宽的比例关系相同;
接收内网用户向内网DNS发出的DNS请求报文;
根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址;
将所述替换目的地址后的DNS请求报文进行NAT转换后从与所述外网DNS地址相应的NAT出口链路发出。
2.如权利要求1所述的DNS请求报文的NAT出口链路负载均衡方法,其特征在于,所述内网用户地址以一特征值替代,该特征值根据内网用户地址计算,或者,根据内网用户地址和特征信息计算,或者,以收到的DNS请求报文的个数表示;
其中,所述特征信息包括:内网DNS地址、协议类型和DNS请求报文的端口号中任一个或多个的任意组合。
3.如权利要求2所述的DNS请求报文的NAT出口链路负载均衡方法,其特征在于,当内网中没有实体DNS服务器,根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址,包括:根据所述DNS请求报文中的用户地址或内网用户地址和特征信息计算所述DNS请求报文的特征值,根据所述特征值和内网DNS地址查找所述DNS配置表,确定与所述内网DNS地址和所述特征值对应的外网DNS地址,将所述DNS请求报文中的目的地址替换为所述确定的外网DNS地址。
4.如权利要求2所述的DNS请求报文的NAT出口链路负载均衡方法,其特征在于,当内网中有实体DNS服务器,根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址,包括:统计收到的所有DNS请求报文的个数,根据收到DNS报文时,DNS请求报文的统计数值中,与DNS配置表中配置的特征值范围对应的低位数值作为该DNS请求报文的特征值,根据所述特征值和内网DNS地址查找所述DNS配置表,确定与所述内网DNS地址和所述特征值对应的外网DNS地址,将所述DNS请求报文中的目的地址替换为所述确定的外网DNS地址。
5.如权利要求1~4中任一项权利要求所述的DNS请求报文的NAT出口链路负载均衡方法,其特征在于,该方法进一步包括:定期检测NAT出口链路的空闲带宽大小,并动态调整DNS配置表,使分属不同链路的外网DNS地址在DNS配置表中出现次数的比例关系与检测到的NAT出口链路的空闲带宽的比例关系相同。
6.如权利要求1~4中任一项权利要求所述的DNS请求报文的NAT出口链路负载均衡方法,其特征在于,该方法进一步包括:定期检测所述DNS配置表中配置的外网DNS地址是否可达,删除不可达的外网DNS地址,用其他外网DNS地址代替,并保持分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述NAT出口链路的带宽比例关系相同。
7.一种DNS请求报文的NAT出口链路负载均衡装置,其特征在于,该装置包括:
DNS表建立模块,用于预先建立包含内网用户地址和内网DNS地址与分属不同链路的外网DNS地址之间的对应关系,以及分属不同链路的外网DNS地址与不同NAT出口链路带宽的对应关系的DNS配置表;其中,所述分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述不同NAT出口链路带宽的比例关系相同;
报文接收模块,用于接收内网用户向内网DNS发出的DNS请求报文;
报文修改模块,与所述报文接收模块和DNS表建立模块分别相连,用于根据所述DNS配置表将所述DNS请求报文中的目的地址替换为与所述内网用户地址和内网DNS地址对应的外网DNS地址;
报文发送模块,与所述报文修改模块和DNS表建立模块分别相连,用于将所述报文修改模块修改后的DNS请求报文进行NAT转换后从与所述外网DNS地址相应的NAT出口链路发出。
8.如权利要求7所述的DNS请求报文的NAT出口链路负载均衡装置,其特征在于,所述报文修改模块包括:
特征值计算单元,与所述报文接收模块相连,用于根据所述DNS请求报文中的用户地址或内网用户地址和特征信息计算特征值;
地址确定单元,与所述特征值计算单元和DNS表建立模块分别相连,用于根据计算出的特征值和内网DNS地址查找所述DNS配置表,确定与所述内网DNS地址和所述特征值对应的分属不同链路的外网DNS地址;
地址替代单元,与所述地址确定单元相连,用于将所述DNS请求报文中的目的地址替换为所述确定的外网DNS地址,并发送给所述报文发送模块。
9.如权利要求7所述的DNS请求报文的NAT出口链路负载均衡装置,其特征在于,所述报文修改模块包括:
报文统计单元,与所述报文接收模块相连,用于统计所述报文接收模块接收到的DNS报文个数;
特征值选取单元,与所述报文统计单元相连,用于根据收到DNS报文时,所述报文统计单元统计的DNS报文数值中,与DNS配置表中配置的特征值范围对应的低位数值作为该DNS请求报文的特征值;
地址确定单元,与所述特征值选取单元和DNS表建立模块分别相连,用于根据计算出的特征值和内网DNS地址查找所述DNS配置表,确定与所述内网DNS地址和所述特征值对应的分属不同链路的外网DNS地址;
地址替代单元,与所述地址确定单元相连,用于将所述DNS请求报文中的目的地址替换为所述确定的外网DNS地址,并发送给所述报文发送模块。
10.如权利要求8或9所述的DNS请求报文的NAT出口链路负载均衡装置,其特征在于,该装置进一步包括:DNS表动态维护模块,与所述DNS表建立模块相连,用于定期检测NAT出口链路的空闲带宽大小,并动态调整DNS配置表,使分属不同链路的外网DNS地址在DNS配置表中出现次数的比例关系与检测到的NAT出口链路的空闲带宽的比例关系相同。
11.如权利要求8或9所述的DNS请求报文的NAT出口链路负载均衡装置,其特征在于,该装置进一步包括:DNS表动态调整模块,与所述DNS表建立模块相连,用于定期检测所述DNS配置表中配置的外网DNS地址是否可达,删除不可达的外网DNS地址,用其他外网DNS地址代替,并保持分属不同链路的外网DNS地址在所述DNS配置表中出现次数的比例关系与所述NAT出口链路的带宽比例关系相同。
CN2009100891344A 2009-07-30 2009-07-30 Dns请求报文的nat出口链路负载均衡方法及装置 Expired - Fee Related CN101616079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100891344A CN101616079B (zh) 2009-07-30 2009-07-30 Dns请求报文的nat出口链路负载均衡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100891344A CN101616079B (zh) 2009-07-30 2009-07-30 Dns请求报文的nat出口链路负载均衡方法及装置

Publications (2)

Publication Number Publication Date
CN101616079A CN101616079A (zh) 2009-12-30
CN101616079B true CN101616079B (zh) 2011-07-27

Family

ID=41495498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100891344A Expired - Fee Related CN101616079B (zh) 2009-07-30 2009-07-30 Dns请求报文的nat出口链路负载均衡方法及装置

Country Status (1)

Country Link
CN (1) CN101616079B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873358B (zh) * 2010-06-11 2014-09-10 杭州华三通信技术有限公司 一种基于域名解析的链路负载均衡方法和设备
CN102685259B (zh) * 2011-03-09 2015-08-19 中国移动通信集团公司 对dns解析请求进行解析的方法、系统和智能dns
CN102244613A (zh) * 2011-08-11 2011-11-16 深信服网络科技(深圳)有限公司 基于dns进行多链路流量均衡的方法、网关和网络
CN104767690B (zh) * 2014-01-08 2018-11-27 杭州迪普科技股份有限公司 一种流量调度装置及方法
CN105306622B (zh) * 2015-11-30 2018-08-10 南京优速网络科技有限公司 一种云网融合域名解析系统及其dns服务方法
CN106572009A (zh) * 2016-11-11 2017-04-19 锐捷网络股份有限公司 一种多运营商链路环境下报文转发方法和装置
CN108632173B (zh) * 2017-03-16 2020-09-08 南方银谷科技有限公司 一种资源访问系统及基于局域网的资源访问方法
CN109428937A (zh) * 2017-09-04 2019-03-05 上海仪电(集团)有限公司中央研究院 一种高可用的混合云连通系统
CN107623756A (zh) * 2017-10-13 2018-01-23 四川长虹电器股份有限公司 提升终端设备网络访问性能的系统及方法
CN107743098A (zh) * 2017-11-23 2018-02-27 新华三技术有限公司 Cgn板间负载分担的方法、装置和实现装置
CN107911498A (zh) * 2017-11-24 2018-04-13 杭州迪普科技股份有限公司 一种基于dns代理实现dns解析的方法及装置
CN108063835B (zh) * 2017-12-04 2019-05-14 达闼科技(北京)有限公司 外网域名解析方法、服务器和系统
CN108040134A (zh) * 2017-12-06 2018-05-15 杭州迪普科技股份有限公司 一种dns透明代理的方法及装置
CN108366136B (zh) * 2017-12-29 2021-04-06 北京世纪互联宽带数据中心有限公司 一种域名的解析方法及装置
CN108418884A (zh) * 2018-03-09 2018-08-17 北京奇艺世纪科技有限公司 一种传输业务数据的方法、装置及电子设备
CN109450808A (zh) * 2018-11-07 2019-03-08 盛科网络(苏州)有限公司 使ecmp组中ecmp成员链路分布均衡的方法
CN109327561B (zh) * 2018-11-21 2021-01-12 Oppo广东移动通信有限公司 电子设备、域名查询方法及相关产品
CN111131539B (zh) * 2019-12-23 2022-06-28 杭州迪普科技股份有限公司 报文转发方法及装置
CN111885221A (zh) * 2020-07-31 2020-11-03 北京微步在线科技有限公司 互联网出口ip的获取方法、服务器及系统
CN112019620B (zh) * 2020-08-28 2021-12-28 中南大学 基于Nginx动态加权的Web集群负载均衡方法及系统
CN114827078A (zh) * 2022-04-01 2022-07-29 阿里云计算有限公司 节点访问方法以及数据传输系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499998B2 (en) * 2004-12-01 2009-03-03 Cisco Technology, Inc. Arrangement in a server for providing dynamic domain name system services for each received request
CN101383778A (zh) * 2008-10-27 2009-03-11 杭州华三通信技术有限公司 基于网络双出口的报文传输方法和出口路由器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499998B2 (en) * 2004-12-01 2009-03-03 Cisco Technology, Inc. Arrangement in a server for providing dynamic domain name system services for each received request
CN101383778A (zh) * 2008-10-27 2009-03-11 杭州华三通信技术有限公司 基于网络双出口的报文传输方法和出口路由器

Also Published As

Publication number Publication date
CN101616079A (zh) 2009-12-30

Similar Documents

Publication Publication Date Title
CN101616079B (zh) Dns请求报文的nat出口链路负载均衡方法及装置
CN111345012B (zh) 使用目的地系统的链路级容量的dns解析的系统和方法
CN111541796B (zh) Cdn访问流量调度方法、设备、通信系统及存储介质
US9900402B1 (en) Capacity-independent demand assessment
CN101873358B (zh) 一种基于域名解析的链路负载均衡方法和设备
US8667176B2 (en) Network service access method and access gateway equipment
CN104272708B (zh) 带有到服务器群组的无状态第一级分组分布和到群组内某个服务器的有状态第二级分组分布的二级分组分布
WO2018152919A1 (zh) 一种路径选取方法及系统、网络加速节点及网络加速系统
US9172632B2 (en) Optimized content distribution based on metrics derived from the end user
CN101764855A (zh) 一种提供域名解析服务的方法、装置及系统
US20120054266A1 (en) Optimized Content Distribution Based on Metrics Derived from the End User
CN103220354A (zh) 一种实现服务器集群负载均衡的方法
CN107395683A (zh) 一种回源路径的选择方法及服务器
CN109040243B (zh) 一种报文处理方法及装置
EP2187576A1 (en) A message route method, system, device and a selecting backup resource method, system
CN103825975A (zh) Cdn节点分配服务器及系统
CN104767690B (zh) 一种流量调度装置及方法
CN102244613A (zh) 基于dns进行多链路流量均衡的方法、网关和网络
JP2013168139A (ja) 負荷均衡装置、負荷均衡方法及び階層化データセンターシステム
CN101820451A (zh) 一种动态域名服务优化系统
US20200412686A1 (en) MAPPING INTERNET ROUTING WITH ANYCAST AND UTILIZING SUCH MAPS FOR DEPLOYING AND OPERATING ANYCAST POINTS OF PRESENCE (PoPs)
CN101355521B (zh) 负载均衡控制方法、通信装置与通信系统
CN103685056A (zh) 负载均衡方法及其系统
CN108259372A (zh) 一种多链路负载均衡系统和方法
CN103825834A (zh) 一种evi中调整流量负载分担的方法及网络交换装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110727

Termination date: 20200730

CF01 Termination of patent right due to non-payment of annual fee