一、域名系统是什么

域名系统其实就是一个把主机名解析为IP地址的名字系统。

因特网使用层次树状结构的命名方法,并使用分布式的域名系统DNS。因特网的域名系统DNS被设计成一个联机分布式数据库系统,并采用客户-服务器方式。

二、域名结构

因特网使用层次树状结构的命名方法,级别最低的域名写在最左边,级别最高的顶级域名写在最右边。DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。域名中的“点”和点分十进制IP地址中的“点”并无一一对应关系。

因特网树状域名空间的根是没有对应的名字的,根下面一级的节点就是最高一级的顶级域名。一旦一个单位拥有了一个域名,它就可以自己决定是否要进一步划分其下属的子域,而且不必由其上级机构批准。

因特网的名字空间是按照机构的组织来划分的,与物理的网络无关,与IP地址中的“子网”也没有关系。

三、域名服务器

域名系统的具体实现是使用分布在各地的域名服务器。

DNS并不是让每一级的域名都有一个相对应的域名服务器(这样会使域名服务器的数量太多,使域名系统的运行效率降低),而是使用划分区的办法,即DNS的服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区可能等于或者小于域,但一定不可能大于域。每一个区设置相应的权限域名服务器。

域名服务器的分类:

  1. 根域名服务器:最高层次、最重要的域名服务器。所有的根域名服务器都知道所有的顶

级域名服务器的域名和IP地址。在因特网上共有13个不同IP地址的根

域名服务器,他们的名字是一个英文字母,从a到m,如:a.rootservers

.net。这些根域名服务器并不是简单地由13个机器组成,而是13套装置。

本地域名服务器无法解析一个域名时首先要求助于根域名服务器。

2. 顶级域名服务器

3. 权限域名服务器:负责一个区

4. 本地域名服务器

为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保护,其中的一个是主域名服务器,其他的就是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中而更改数据只能在主域名服务器中进行,保证了数据的一致性。

四、域名解析

当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析进程,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发送给本地域名服务器(使用UDP是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。

主机向本地域名服务器的查询一般都是采用递归查询,而本地域名服务器向根域名服务器的查询通常是采用迭代查询。当然,本地服务器也可以使用递归查询,这取决于最初的查询请求报文的相关设置。

为了提高DNS查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文的数量,在域名服务器中广泛使用了高速缓存,存放最近查询过的域名以及从何处获得域名映射信息的记录(设置了过期时间)。在主机中也使用了高速缓存。

域名系统DNS的更多相关文章

  1. 关于域名系统DNS解析IP地址的一些总结

    关于域名系统DNS(Domain Name System) 从域名中解析出IP地址. DNS主要由3部分组成: ① 名称解析器(resolver) ② 域名空间(domain name space) ...

  2. 套接字和域名系统DNS

    套接字产生的原因: 当应用进程通过传输层进行通信时 ,TCP和 UDP将面临同时为多个应用进程提供并行通信的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据. 为了区别每 ...

  3. 域名系统DNS和FTP

    域名系统概述 域名系统DNS(Domain Name System)是英特网使用的命名系统,用于把便于人们使用机器名字转化为IP地址. 为什么机器在处理IP数据报时要使用IP地址而不使用域名呢?IP地 ...

  4. 计算机网络之域名系统DNS

    域名系统DNS 域名系统DNS(Domai NameSystem)是因特网使用的命名系统,用于把便于人们使用的机器名字转换为IP地址. 许多应用层软件经常直接使用域名系统,但计算机的用户只是间接而不是 ...

  5. 第9章 应用层(1)_域名系统DNS

    1. 域名系统DNS 1.1 主机名和域名的关系 (1)完全限定域名(Fully Qualified Domain Name, FQDN) = 主机名 + 域名 ①一个域名下可以有多个服务器/主机(如 ...

  6. 带你简单了解域名系统DNS

    带你简单了解域名系统DNS 一.域名简介 1.1.DNS服务的作用 负责解析域名,将域名解析成IP地址. 1.2.域名系统概述 由于32位的IP地址并不容易记忆,人们往往喜欢记忆网站的域名.所以当我们 ...

  7. 域名系统-DNS

    域名系统DNS 域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名转化为IP地址,域名系统就是名字系统. 很多应用层的软件经常直接使用DNS.DN ...

  8. 域名系统DNS简介

    域名系统(Domain Name System, DNS)是互联网的核心应用层协议之一, 它用于查询域名对应的IP地址.在使用域名访问任何网络资源时都需要先进行域名解析. www.cnblogs.co ...

  9. 域名系统DNS以及跨域问题

    域名到Ip地址解析是由分布在因特网上的许多域名服务器程序共同完成的.运行域名服务器程序的机器是域名服务器   域名到ip地址的解析过程: 当一个应用进程需要把主机名解析为ip地址时,该应用就调用解析程 ...

随机推荐

  1. 今天的第一个程序-南阳acm输入三个数排序

    #include<stdio.h>main(){    int a,b,c,t;    scanf("%d%d%d",&a,&b,&c);    ...

  2. 使用C#编写SqlHelper类

    无聊的周末,学习.编码无力.想找点事干但又不知道干点什么,猛然发现自己学过的SqlHelper快忘记了.于是乎虎躯一震心想怎能如此堕落下去,立马打开电脑,双手摸上键盘.写下此文作为学习过程中的复习,并 ...

  3. Hibernate第八篇【懒加载】

    前言 前面在使用Hibernate的时候就提及过了懒加载,但没有好好地说明具体的说明究竟是怎么回事-本博文主要讲解懒加载 什么是拦截器以及为什么要使用懒加载? 懒加载就是当使用数据的时候才去获取数据. ...

  4. 自己把jar包添加到maven仓库中

    定制库到Maven本地资源库 这里有2个案例,需要手动发出Maven命令包括一个 jar 到 Maven 的本地资源库. 要使用的 jar 不存在于 Maven 的中心储存库中. 您创建了一个自定义的 ...

  5. Download the Hibernate Tools

    首先去官网上下载最新版本的Hibernate Tools JBoss Tools 4.5.0.Final Requirements: Java 8 and Eclipse Oxygen 4.7 有 4 ...

  6. NavigationController的返回按钮自定义

    假设需求时这样: NavigationController下有2个视图,从A视图会Push到B视图,默认情况下,当显示视图B时,视图B的导航bar上会出现返回按钮,按钮标题文字默认为A视图的title ...

  7. Oculus关于Internal Error:OVR53225466报错解决方法

    安装Oculus过程中可能会出现Internal Error:OVR53225466报错提示,如附件所示: 解决方法:修改hosts文件 操作方法: (1)以管理员方式打开记事本: (2)打开C:\W ...

  8. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)

    http://codeforces.com/contest/831 A. Unimodal Array time limit per test 1 second memory limit per te ...

  9. OWLQN算法

    一.BFGS算法 算法思想如下: Step1   取初始点,初始正定矩阵,允许误差,令: Step2   计算: Step3   计算,使得 : Step4    令: Step5    如果,则取为 ...

  10. [Unity]Unity3D编辑器插件扩展和组件扩展

    1. 插件扩展 1.1. 命名空间 using UnityEditor; using UnityEngine; //非必需,常用到 1.2. 使用语法 [MenuItem("Assets/M ...