CN103327129B - 针对多wan口网关设备的域名解析方法 - Google Patents
针对多wan口网关设备的域名解析方法 Download PDFInfo
- Publication number
- CN103327129B CN103327129B CN201210076265.0A CN201210076265A CN103327129B CN 103327129 B CN103327129 B CN 103327129B CN 201210076265 A CN201210076265 A CN 201210076265A CN 103327129 B CN103327129 B CN 103327129B
- Authority
- CN
- China
- Prior art keywords
- lan
- mouthfuls
- domain name
- wan
- mouths
- 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.)
- Active
Links
Abstract
本发明公开一种针对多WAN口网关设备的域名解析方法,包括:将LAN口分组,并使每一组LAN口与一个WAN口绑定;接收LAN口发送过来的域名解析请求报文并进行本地解析,若解析成功,则向发送该域名解析请求报文的LAN口返回解析结果,否则将该域名解析请求报文通过与发送该域名解析请求报文的LAN口绑定的WAN口发出,并监测接收解析结果。通过将LAN口和WAN口绑定,使其在解析域名时,LAN口的请求报文不会发送到多个WAN口,从而减少网络资源的消耗。
Description
【技术领域】
本发明涉及网络通信,尤其是涉及一种针对多WAN口网关设备的域名解析方法。
【背景技术】
随着通信及网络的普及,在宽带终端接入产品中,由于需要支持多种业务数据,如语音、视频等数据。不同的业务流来自不同的LAN(Local Area Net,局域网)口,在各项业务中涉及的域名解析,首先是在本地解析,若未解析成功,则还可能通过WAN(Wide Area Net,广域网)口向外部的服务器发送解析请求。
而在多WAN环境下,在需要向外部发送解析请求时,传统的域名解析采用LAN口向多个WAN口同时发送解析请求的方式。当业务数据过多时,会增加网络资源的消耗。
【发明内容】
基于此,有必要提供一种能够减小网络资源消耗的针对多WAN口网关设备的域名解析方法。
一种针对多WAN口网关设备的域名解析方法,包括:将LAN口分组,并使每一组LAN口与一个WAN口绑定;接收LAN口发送过来的域名解析请求报文并进行本地解析,若解析成功,则向发送该域名解析请求报文的LAN口返回解析结果,否则将该域名解析请求报文通过与发送该域名解析请求报文的LAN口绑定的WAN口发出,并监测接收解析结果。
优选地,所述将LAN口分组的步骤中,将LAN口按照业务类型分组。
优选地,所述将LAN口分组的步骤中,每一组LAN口包含2个以上的LAN口。
优选地,所述本地解析的步骤具体为:对应各个LAN口建立查询表,所述查询表中包含域名和与域名对应的IP地址;接收从LAN口发送的请求报文,并将该请求报文解析并处理后得到域名解析请求,将域名解析请求加入先进先出的请求队列;从请求队列中取出域名解析请求,并根据所述域名解析请求查询所述查询表。
优选地,所述将请求报文进行解析得到的信息包括:与所述LAN口连接的设备名称、LAN口绑定到的WAN口以及与LAN口对应的查询表。
优选地,若从WAN口返回域名解析结果,则将所述域名解析请求从请求队列中删除。
优选地,若从WAN口返回域名解析结果,则将所述域名解析结果存储到与发送相应请求报文的LAN口所对应的查询表中。
上述方法通过将LAN口和WAN口绑定,使其在解析域名时,LAN口的请求报文不会发送到多个WAN口,从而减少网络资源的消耗。
【附图说明】
图1为一实施例的针对多WAN口网关设备的域名解析方法流程图;
图2为实现图1实施例方法的模块原理图;
图3为域名解析的整体处理流程图;
图4为对请求报文进行处理的流程图;
图5为经过WAN口获得解析结果后的处理流程。
【具体实施方式】
图1为一实施例的针对多WAN口网关设备的域名解析方法。图2为能够实现本实施例方法的网关设备的模块原理图。该网关设备将LAN口分组,并使每一组LAN口与一个WAN口绑定。基于该网关设备,本实施的方法首先接收LAN口发送过来的域名解析请求报文并进行本地解析,若解析成功,则向发送该域名解析请求报文的LAN口返回解析结果,否则将该域名解析请求报文通过与发送该域名解析请求报文的LAN口绑定的WAN口发出,并监测接收解析结果。
上述的LAN口发送请求报文以及WAN口接收解析结果都是通过发送接收端口实现的。域名解析的整体流程如图3所示。该流程持续循环进行,用于不断检测发送域名解析请求的端口和接收域名解析报文的端口。
函数伪码如下:
本实施例的方法具体包括如下步骤。
S101:将LAN口分组,并使每一组LAN口与一个WAN口绑定。将LAN口分组的步骤中,可以将LAN口按照业务类型分组,例如将发送音频业务的LAN口分为一组、将发送视频业务的LAN口分为一组。也可以按照其他标准分组,例如单纯按照数量进行等分。优选地,每一组LAN口包含2个以上的LAN口。将LAN口与WAN口绑定是指从LAN口接收到的域名解析请求从指定的WAN口发出,而不是以类似广播的方式从多个WAN口发出。
本实施例的方法基于传统的Dproxy,并在其基础上对数据结构和函数进行改进实现。Dproxy并不支持对多WAN解析,首先要修改数据结构,以支持LAN-WAN绑定,主要的修改包括:
其中,结构体中各参数含义如下:
szName[INTERFACE_LEN] LAN设备名称
ST_LAN_INFO*pNext 下一个节点指针
szWanIf[INTERFACE_LEN] LAN绑定的WAN口
szDnsIp[NUM_OF_PROTO][NUM_OF_DNS][IP_LEN]使用哪个DNS服务器
szCacheFile[CONF_FILE_LEN]各个LAN口所对应的查询表
通过在结构体中定义LAN口和WAN口绑定的参数,使Dproxy支持多WAN解析。
此外,Dproxy中定义的域名解析请求函数dns_request_s也是预先定义好的,同时也在其中加入了支持LAN-WAN绑定的信息,说明如下:
S102:对应各个LAN口建立查询表。在步骤S101中,szCacheFile[]即与LAN口对应的查询表。查询表中包含域名和与域名对应的IP地址。根据历史数据或者其他数据来源,可预先建立该查询表。
S103:接收从LAN口发送的请求报文,并将该请求报文解析并处理后得到域名解析请求,将域名解析请求加入先进先出的请求队列。将请求报文进行解析得到的信息包括:与所述LAN口连接的设备名称、LAN口绑定到的WAN口以及与LAN口对应的查询表。即上述结构体中的szName[]、szWanIf[]以及szCacheFile[]。从LAN口发送的请求报文包含很多信息,而与域名解析相关的信息则比较少,对LAN口发送的请求报文进行解析并获得与域名解析相关的信息可以减少域名解析过程中的内存消耗,提高处理效率。
本实施例中,采用dns_read_packet函数实现本步骤的处理。该函数从检测到的发送接收端口读取报文,并将报文重组成请求队列指定的格式,最后将报文加入到请求队列中。处理流程如图4所示。
函数伪码如下:
当检测到LAN口有请求报文到达时,进行相应的处理,即对IPV4报文以IPV4协议进行解析并处理后得到域名解析请求并加入请求队列,对IPV6报文以IPV6协议进行解析并处理后得到域名解析请求并加入请求队列。
S104:从请求队列中取出域名解析请求,并根据所述域名解析请求查询所述查询表。
S105:判断是否获得解析结果,若是,则向发送该域名解析请求报文的LAN口返回解析结果,并返回执行步骤S104,否则执行步骤S106。
S106:将该域名解析请求报文通过与发送该域名解析请求报文的LAN口绑定的WAN口发出。
S107:判断是否从WAN口返回域名解析结果,若是,则执行步骤S108,否则返回执行步骤S103。
S108:将所述域名解析结果存储到与发送相应请求报文的LAN口所对应的查询表中。将解析成功的域名保存在相应的LAN口的查询表中,以备下次查询时使用。本实施例中采用dns_handle_request函数实现,dns_handle_request函数会处理域名解析请求报文和域名解析结果报文。
如果是域名解析请求报文,dns_handle_request函数会判断该域名解析请求是否已存在请求队列中,如果不存在,会将该域名解析请求添加进请求队列中。
如果是域名解析结果报文,dns_handle_request函数会将域名解析结果写入发送该域名解析请求的LAN口对应的查询表中,同时发送DNS响应。
具体实现流程如图5所示。
S109:将所述域名解析请求从请求队列中删除。将域名解析请求删除以释放其占用的资源。
上述方法通过将LAN口和WAN口绑定,使其在解析域名时,LAN口的请求报文不会发送到多个WAN口,从而减少网络资源的消耗。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种针对多WAN口网关设备的域名解析方法,包括:
将LAN口分组,并使每一组LAN口与一个WAN口绑定;将LAN口与WAN口绑定是指从LAN口接收到的域名解析请求从指定的WAN口发出;
接收LAN口发送过来的域名解析请求报文并进行本地解析,若解析成功,则向发送该域名解析请求报文的LAN口返回解析结果,否则将该域名解析请求报文通过与发送该域名解析请求报文的LAN口绑定的WAN口发出,并监测接收解析结果;
所述将LAN口分组的步骤中,将LAN口按照业务类型分组;
其中,LAN口和WAN口的绑定以及对多WAN口的解析均基于Dproxy修改得到,修改包括:
定义结构体ST_LAN_INFO,所述结构体ST_LAN_INFO包括:LAN设备名称、下一个结构体ST_LAN_INFO节点指针、LAN口绑定的WAN口、使用的DNS服务器、各个LAN口所对应的查询表;
以及
在Dproxy中定义的域名解析请求函数dns_request_s中加入支持LAN-WAN绑定的信息;
所述接收LAN口发送过来的域名解析请求报文并进行本地解析,若解析成功,则向发送该域名解析请求报文的LAN口返回解析结果,否则将该域名解析请求报文通过与发送该域名解析请求报文的LAN口绑定的WAN口发出,并监测接收解析结果的步骤,包括:
从检测到的文件端口中读取数据;
判断协议类型是否为IPV4,若是,则进行IPV4处理,否则进行IPV6处理;
判断是否创建LAN口相关信息,若是,则
获取LAN设备;及
当不是本地来的包时,分配新的ST_LAN_INFO结构,创建LAN信息,并初始化。
2.如权利要求1所述的针对多WAN口网关设备的域名解析方法,其特征在于,所述将LAN口分组的步骤中,每一组LAN口包含2个以上的LAN口。
3.如权利要求1所述的针对多WAN口网关设备的域名解析方法,其特征在于,所述本地解析的步骤具体为:
对应各个LAN口建立查询表,所述查询表中包含域名和与域名对应的IP地址;
接收从LAN口发送的请求报文,并将该请求报文解析并处理后得到域名解析请求,将域名解析请求加入先进先出的请求队列;
从请求队列中取出域名解析请求,并根据所述域名解析请求查询所述查询表。
4.如权利要求3所述的针对多WAN口网关设备的域名解析方法,其特征在于,所述将请求报文进行解析得到的信息包括:与所述LAN口连接的设备名称、LAN口绑定到的WAN口以及与LAN口对应的查询表。
5.如权利要求3所述的针对多WAN口网关设备的域名解析方法,其特征在于,若从WAN口返回域名解析结果,则将所述域名解析请求从请求队列中删除。
6.如权利要求3所述的针对多WAN口网关设备的域名解析方法,其特征在于,若从WAN口返回域名解析结果,则将所述域名解析结果存储到与发送相应请求报文的LAN口所对应的查询表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210076265.0A CN103327129B (zh) | 2012-03-21 | 2012-03-21 | 针对多wan口网关设备的域名解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210076265.0A CN103327129B (zh) | 2012-03-21 | 2012-03-21 | 针对多wan口网关设备的域名解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103327129A CN103327129A (zh) | 2013-09-25 |
CN103327129B true CN103327129B (zh) | 2018-10-26 |
Family
ID=49195650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210076265.0A Active CN103327129B (zh) | 2012-03-21 | 2012-03-21 | 针对多wan口网关设备的域名解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103327129B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716181A (zh) * | 2013-12-13 | 2014-04-09 | 上海斐讯数据通信技术有限公司 | 一种在网关设备路由模式下lan_wan虚拟通道的实现方法 |
CN103929508A (zh) * | 2014-05-04 | 2014-07-16 | 上海大亚科技有限公司 | 实现业务与域名解析服务器绑定的系统及方法 |
CN105491083B (zh) * | 2014-09-16 | 2018-07-27 | 上海艾泰科技有限公司 | 多wan口的网关、实现http下载的方法及系统 |
CN105763660A (zh) * | 2014-12-17 | 2016-07-13 | 中兴通讯股份有限公司 | 一种域名解析方法及装置 |
CN106789528A (zh) * | 2016-12-13 | 2017-05-31 | 上海市共进通信技术有限公司 | 通过内核实现多桥上网的方法和装置 |
CN112822305B (zh) * | 2021-02-03 | 2022-09-13 | 深圳市共进电子股份有限公司 | 处理dns查询请求的方法、装置、路由器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101022384A (zh) * | 2007-03-12 | 2007-08-22 | 杭州华为三康技术有限公司 | 一种确定出接口的方法及多接入宽带路由器 |
CN101895589A (zh) * | 2010-07-26 | 2010-11-24 | 杭州华三通信技术有限公司 | 广域网路由器和广域网路由器中路由表项建立的方法 |
CN102104512A (zh) * | 2011-01-07 | 2011-06-22 | 华为技术有限公司 | 确定接口信息的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429295B2 (en) * | 2007-02-02 | 2013-04-23 | Silver Spring Networks, Inc. | Method and system of providing IP-based packet communications in a utility network |
-
2012
- 2012-03-21 CN CN201210076265.0A patent/CN103327129B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101022384A (zh) * | 2007-03-12 | 2007-08-22 | 杭州华为三康技术有限公司 | 一种确定出接口的方法及多接入宽带路由器 |
CN101895589A (zh) * | 2010-07-26 | 2010-11-24 | 杭州华三通信技术有限公司 | 广域网路由器和广域网路由器中路由表项建立的方法 |
CN102104512A (zh) * | 2011-01-07 | 2011-06-22 | 华为技术有限公司 | 确定接口信息的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103327129A (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103327129B (zh) | 针对多wan口网关设备的域名解析方法 | |
CN103096435B (zh) | 连接保持方法、装置以及移动终端 | |
CN100544295C (zh) | 多点通信方法和装置 | |
CN1742473B (zh) | 用于在不同网络协议之间传输数据的通用协议层体系结构和方法、以及通用协议分组 | |
EP3422656B1 (en) | Udp protocol acceleration method and system | |
US20130191890A1 (en) | Method and system for user identity recognition based on specific information | |
WO2014082577A1 (zh) | 实现远程调试的方法及系统 | |
EP1770906B1 (en) | A method for realizing terminals management in the network device | |
US8774155B2 (en) | Transporting call data via a packet data network | |
CN102546407B (zh) | 报文发送方法及装置 | |
CN101141375B (zh) | 一种局域网内部的报文传输方法、传输装置及系统 | |
CN100473037C (zh) | 一种分布式dhcp中继的实现方法 | |
JP2002518885A5 (zh) | ||
EP2131532A1 (en) | Communication terminal, distribution device, error notification method, and error notification program | |
CN107368334A (zh) | 一种业务插件交互系统及方法 | |
CN114095388B (zh) | RTC / RTE设备与WiFi接入点间交换数据包分类标识符的方法以及无线接入点 | |
CN1666489B (zh) | 网络设备的会聚层与传输数据业务的方法 | |
CN102957755B (zh) | 一种地址解析方法、装置及信息传输方法 | |
CN104735073A (zh) | IPv4-IPv6过渡协议调度方法和装置 | |
CN105429880B (zh) | 网络设备及其进行路由转发的方法 | |
WO2014205660A1 (zh) | 一种转发数据包的方法、装置和路由设备 | |
JP2009503972A (ja) | 端末装置のトラフィックを傍受及び分析する装置 | |
CN107094113B (zh) | 一种无线多跳拓扑网络下的标准移动终端数据转发系统及方法 | |
CN102238164A (zh) | 面向ip电信网的多协议报文适配方法 | |
KR100491640B1 (ko) | 이동통신망에서의 패킷 데이터 분석에 기초한 데이터서비스별 과금 정보 생성 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |