发明名称 一种基于linux操作系统的DNS服务系统和方法
摘要 本发明涉及计算机技术,特别涉及一种基于linux操作系统的DNS服务系统和方法。本发明实施例中,将DNS服务处理模块放在内核的数据链路层,数据帧处理模块在收到网卡驱动模块转发的DNS请求报文时存入内存,并调用内核的DNS服务处理模块处理,DNS服务处理模块生成DNS响应报文并将保存到另一个内存中,然后调用数据帧处理模块从另一个内存中读取DNS响应报文放入网卡驱动模块的发送队列中发送给客户端。由于数据帧处理模块和DNS服务处理模块都位于内核的数据链路层中,省去了其他内核模块的处理,同时避免了数据从内核到应用层和从应用层到内核的两次内存拷贝,从而提高了DNS服务的处理效率。
申请公布号 CN102185936A 申请公布日期 2011.09.14
申请号 CN201110172449.2 申请日期 2011.06.23
申请人 上海牙木通讯技术有限公司 发明人 张大顺
分类号 H04L29/12(2006.01)I;H04L29/08(2006.01)I;H04L12/56(2006.01)I 主分类号 H04L29/12(2006.01)I
代理机构 北京同达信恒知识产权代理有限公司 11291 代理人 李娟
主权项 一种基于linux操作系统的DNS服务系统,其特征在于,包括:网卡驱动模块,用于在物理层中将网卡从客户端接收的DNS请求报文转发给数据链路层;以及从发送队列中读取DNS响应报文并发送给客户端;数据帧处理模块,用于在数据链路层接收所述网卡驱动模块转发的DNS请求报文,将DNS请求报文保存到第一内存中,并输出第一内存地址信息;以及根据获得的第二内存的地址信息,将保存在第二内存中的DNS响应报文放入网卡驱动模块的发送队列中;DNS服务处理模块,用于根据数据帧处理模块转发的第一内存地址信息,对第一内存中保存的DNS请求报文进行DNS业务处理,生成DNS响应报文,并将DNS响应报文保存至第二内存中,以及将第二内存对应的第二内存地址信息发送给数据帧处理模块。
地址 200030 上海市徐汇区乐山路33号慧谷创业1号楼600室