智能DNS管理系统

 2021-11-25 02:11

论文总字数:21917字

摘 要

随着互联网技术的日益发展,DNS,即域名系统,作为在互联网上的一个数据库,用于IP地址和域名相互映射,能够使得用户更加方便快捷的访问互联网,而不用去记得一连串毫无规律的数字。但是随着域名一天天的增多,用户量一步步的扩大,用户的需求用当今的域名解析系统已经没有办法满足,这时智能DNS解析便出现了。智能DNS系统就是自动且智能化的判断应该返回给用户的ip地址,其中,判断的依据就是用户的网络来源。由于普通的DNS服务器并不会去判断用户的网络来源是什么,它只负责为用户解析出所要访问的域名对应的IP记录。这样就会造成所有访问该域名的用户都只会解析到一个固定的IP地址上。智能DNS则解决了这一问题。智能DNS会判断用户的网络来源,从而做出一些智能化的处理,然后返回给用户经过智能化判断后的IP地址。智能DNS策略解析最基本的功能是可以对访问网站的用户进行智能的判断,然后根据访问者不同的网络来源,把所访问的域名分别解析成不同的IP地址。比如说,如果访问者是电信用户,DNS解析服务器就会把被访问的域名对应的电信IP地址解析给该访问者。如果用户是移动用户,DNS策略解析服务器会把被访问的域名对应的移动IP地址解析给这个访问者。

本篇文章就是分析基于智能DNS管理系统的网站的基本架构,详细分析了其网站的各项功能及代码组织,并且利用bootstrap工具重新进行网站布局和组件优化。同时在网站现有功能的基础上添加了新功能,使得用户可以更加方便快捷的使用该网站,并利用SSH工具和pgadmin进行测试和最终的代码移植。

关键词:DNS解析 智能DNS 代码组织 网站优化 测试

The design and implementation of the management website of intelligent DNS

Abstract

As is well-known, DNS, which is the domain name system, as a database which maps IP address and domain name on the Internet, can make the user be access to the Internet more convenient instead of remembering a series of random numbers. And intelligent DNS system is based on the user's route to analyze route and give the result back to the users intellectually and automatically instead of choosing by users. Common DNS server is only responsible for the user to resolve the IP record, and not to judge where the user comes from, this will cause all users only parsing from a fixed IP address. But intelligent DNS overturned this concept. Intelligent DNS can determine the user's route, and make some intelligent processing, then after the intelligent judgment IP is back to the user. The most basic function of intelligent DNS strategy is judging intelligently to identify the users who visit the web site, then according to different visitors different IP addresses will be gave back. As the visitor is a China Netcom user, DNS strategy will be asked to return China Netcom IP address resolution to the visitors to resolve the domain name server. If a user is a telecom user, DNS strategy will be asked to return telecom IP address resolution to the visitors to resolve the domain name server.

This paper is to analyze a website which is based on the intelligent DNS management system, and analyzes of its functions and code organization in detail, and using the bootstrap to optimize the layout and component of the website. At the same time on the site I added new features on the basis of existing functions so that users can use the site more conveniently. And I use ssh tool and pgadmin to do the test and the final code transplant.

Keywords: DNS analysis, intelligent DNS, code organization, website optimization, test

目录

摘要 2

Abstract 3

目录 4

第一章 绪论 5

1.1研究背景和意义 5

1.2研究目的和内容 5

1.3测试环境 6

1.4本文组织结构 6

1.5 本章小结 7

第二章 网站基本组织结构与功能分析 8

2.1预备知识 8

2.1.1 DNS相关知识: 8

2.2网站基本组织结构 9

2.3数据库设计 11

2.4本章小结 13

第三章 网站前端界面优化 14

3.1Bootstrap简介 14

3.2网站布局优化 14

3.4 本章小结 15

第四章 网站功能增添 16

4.1 用户需求分析 16

4.2主要实现思路: 16

4.3 本章小结 19

第五章 测试调试 20

5.1 具体测试实现 20

5.2本章小结: 26

第六章 全文总结 27

6.1网站优缺点 27

6.2本文总结 27

致谢 29

参考文献 30

第一章 绪论

1.1研究背景和意义

在理论上,所有程序通过使用它们存储的计算机网络地址就可以访问web主页等资源,但是这些地址很难让人记住,并且如果某公司将自己的主页移动到了另一台机器上,拥有了不同的IP地址码,那么必须将该IP地址通知到所有人,这是非常复杂繁琐的,所以我们有了DNS系统,引入可读性较好的高层名字,来将机器名字与机器地址分开。DNS的主要用途是将主机名映射成IP地址,来方便管理和查找。随着互联网技术的发展,几乎所有的网络程序和协议在网络通信中都要使用到dns.。这就使得稳定快速并且正确安全的进行DNS解析变的尤其重要。

现如今,互联网并不是所有的域名都处于同一个网络中。互联网被分为了许多不同的网络。因此,我们就会发现,有些经常访问的网站速度在不同的网络访问下速度有时会变慢了,甚至还会有访问不到的情况出现。这种现象会造成很大的影响。它不仅影响了一部分网站的访问量,更为严重的是它会直接影响一些经营性网站的经济效益。出现这些问题的根本原因是因为各种网络之间的互连存在问题。为了解决这个个问题,出现了智能DNS解析。DNS策略解析的一个最基本的功能是可以智能的去判断访问网站的用户,然后根据访问者不同的网络来源把用户所访问的域名分别解析成不同的IP地址。这样,就可以解决之前提到的用户访问非自己网络内域名的问题,同时也很好的解决了客户跨网访问不畅的问题。智能DNS的出现,颠覆了传统的每个域名对应一个镜像的做法,让用户可以不用自己选择要什么类型的ip地址,而完全交由智能DNS解析来进行相应的操作。

于是本次课题基于这样的背景下,准备开发一个智能DNS 管理系统,高效便捷的管理智能DNS系统中各用户的域名配置信息和记录增添信息,准确地定位请求用户所在运营商,并根据数据库的配置信息回复响应的IP地址。

1.2研究目的和内容

DNS由解析器和域名服务器这两个部分组成。域名服务器可以将域名转化成相应的IP地址,并且能保存该网络中所有的主机的域名以及与其相对应的IP地址。域名服务器就是客户机/服务器这一模式中的服务器方。它有两种主要的形式:主服务器和转发服务器。域名解析就是一个将域名映射为IP地址的过程。

Powerdns则是一个开源的跨平台的DNS服务组件。本次实验中利用postgreSQL来存储网站中的域名与IP信息。在powerdns中,有一个名叫pdns-recursor 的组件,这是一个 dns 解析器。是 debian 从 powerdns 里面单独编译出来的软件,该软件只做 dns 解析器应用。

本次的研究目的在于:

通过对DNS、DNS解析、智能DNS解析的了解,明白dns解析的发展过程,同时熟悉网站的开发过程,学会自己搭建环境并且使用一些开源软件来进行网站的开发,同时了解一些网站前端的开发工具以及后台数据库连接的相关知识。最后在测试阶段对与DNS相关的一些命令有一些了解,并且学会使用。

本次研究的内容主要在于以下几点

  1. 深入了解Linux系统的各部分命令,熟悉HTML,JAVASCRIPT,php编程,能够快速精确的定位到要修改功能的源代码,并且理解各部分代码的意义。
  2. 通过运用powedns,熟悉智能dns解析的处理流程。
  3. 通过运用bootstrap工具,对网站前端的设计有一些了解,并且能够美化网站的布局配色等界面信息。
  4. 在熟悉网站基本结构以及基础功能的基础上,考虑一些能够增添的功能,优化网站的性能并进行创新。
  5. 在测试没问题的基础上,进行代码移植。

1.3测试环境

由于此网站是基于powerdns的,并且初步建立好的网站已经在导师实验室的服务器上开始运行,所以我并没有办法直接在该网站的源代码上进行修改和测试。因此我首先是在自己电脑的DEBIAN虚拟机上装了Apache,powerdns和mysql进行网站的环境配置,修改当前的初始代码并进行界面的优化,同时进行网站的基本代码组织的阅读和梳理。后来要进行功能的增添优化的时候,我自己电脑上搭建的简单的测试环境已经不能够满足设计的要求,所以我利用SecureCRT远程登录导师那边的服务器[2001:da8:1001:2::22]进行代码修改和移植。并且在Web首页上登录http://2001:da8:1001:2::22/进行页面效果的查看,并且在服务器终端通过dig命令进行最终的功能调试的测试。详细的环境搭建过程会在下一章具体描述。

1.4本文组织结构

第一章绪论介绍了课题的研究背景和意义,阐述了本文的研究目的和内容,最后列出了本文所提供网站的测试环境。

第二章网站的基本组织结构和功能分析介绍了一些有关网站功能的预备知识,以及通过阅读基础代码所了解的网站的基本功能和网站数据库设计的详细信息。

第三章网站界面优化介绍了bootstrap工具的一些组件特点和它的响应式设计的特点。同时展示了网站布局的修改以及一些关键代码。

第四章网站功能增加首先对使用网站的客户进行了需求分析,接着展示了网站增添功能的详细设计思路以及关键代码,接着详细介绍了测试方法和测试过程。最后总结了增添功能的创新之处。

第五章总结对本文所完成的工作做了一个详细的总结,并提出了改进意见。

1.5 本章小结

本章详细介绍了本次课题的研究背景和意义,并且经过分析当前研究背景,总结此次研究的意义,提出了本次课题的研究目的和内容。同时介绍了本次课题的测试环境和实验环境的搭建过程,并且详细介绍了整篇文章的组织结构。下一章将详细介绍网站的详细功能及分析。

第二章 网站基本组织结构与功能分析

2.1预备知识

2.1.1 DNS相关知识

迭代查询和递归查询

迭代查询:

一般来说DNS服务器之间的查询属迭代查询,比如说:若DNS2不能响应DNS1的请求,则它会将一个新的DNS3的IP返回给DNS2,以便其再一次向DNS3发出请求。也就是说,当客户机发出请求之后,若当前DNS服务器并不能进行解析,那么他会返回给客户机一个最佳的查询点,然后客户机再向这个查询点发出请求。

递归查询:

一般客户机和服务器之间的查询属递归查询,也就是说当客户机向DNS服务器发出一个请求后,DNS服务器必须要返回给客户机一个IP地址,如果说DNS服务器它自己本身不能解析,则会代替相应发出请求的客户机向另外的DNS服务器发出一个查询请求,得到结果后再转交给客户机;在整个的查询的过程中,客户机始终都是处于等待状态之中。

DNS解析流程

  1. 如果用户要访问互联网,首先需要获得一个DNS服务器,用于将待访问的域名转化成对应的ip地址。为了保证DNS服务的稳定性,DNS服务器一般不止一个,其中包括一个权威服务器和多个代理服务器。权威服务器是负责管理该域的主DNS服务器,它在自己的配置文件中直接写清楚域名与主机对应关系。当代理服务器收到DNS请求,它会帮助用户进行相应的迭代查询,从权威服务器处获取到域名对应的IP地址,然后再把结果返回给用户。
  2. 当用户需要访问一个网址的时候,浏览器首先会发出一个请求,该请求表示当前要进行域名查找,这时计算机会将这个域名查询的请求发给本地DNS服务器,当本地DNS服务器接到该查询请求之后,会在该服务器管理的区域的记录中查找。如果在管理区域的记录中找到该记录,本地DNS服务器就会将该记录作为DNS解析结果返回给用户。如果没有满足查询要求的区域信息,服务器则会在本地的缓存中查找。
  3. 如果缓存中仍然没有用户需要解析的域名记录,那么本地DNS服务器将会从自己的配置文件里面读取13个根域名服务器的地址,这些地址是不变的且存在本地DNS服务器的配置文件中,然后向其中的一台发起查询的请求。
  4. 根域名服务器接收到DNS请求后,首先获取到该域名对应的根域部分,并查找到管理该根域的下一级DNS服务器地址,并将该DNS服务器地址返回给用户的本地DNS服务器。
  5. 本地DNS服务器收到根域名服务器返回的下一级的DNS服务器后,会向下一级DNS服务器再次发起DNS查询请求。
  6. 重复上述迭代过程,DNS解析会逐级一步一步接近查询目标,最终到达管理该域名的DNS服务器。该服务器会从本地的DNS记录中查询到与该域名对应的IP地址,并且返回给用户的本地DNS服务器。
  7. 用户的本地DNS服务器最终会将递归查询的结果返回给用户。
  8. 最终,用户可以使用本地DNS服务器返回的IP去访问目标主机,这样就完成了一个解析过程。

2.2网站基本组织结构

本文章中的网站是提供了四个网络的域名注册和解析服务,分别是教育网、移动、联通和电信网络。本域名管理系统为入网单位提供管理本单位权威域名服务的功能,域名服务支持智能域名解析功能,根据域名查询用户来源返回优化应答。

剩余内容已隐藏,请支付后下载全文,论文总字数:21917字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;