DNS,或者说域名系统,通常是学习如何配置网站和服务器的一个非常困难的部分。了解 DNS 的工作原理将有助于诊断网络访问的问题,也有助于理解 DNS 系统背后的工作原理。

这篇文章中,我们会讨论一些基本的 DNS 概念,这些概念将有助于你配置并使用 DNS。

在我们开始配置你自己的服务器域名解析之前,让我们先来看一些关于这些是如何实现的的基本概念。

我们应该先从术语定义开始。虽然有一些术语在谈论计算领域中其它内容时经常出现,但是有许多术语不常使用。

先从简单的开始:

域名系统(Domain Name System)

域名系统(通常被称为“DNS”)是一个网络系统,允许我们把对人类友好的名称解析为唯一的地址。

域名(Domain Name)

域名是我们习惯于与互联网资源关联的人性化名称。例如,”google.com” 是一个域名。有些人会说 “google” 部分是域名部分,但我们通常可以将组合形式称为域名。

网址 “google.com” 与 Google Inc. 拥有的服务器相关联。当我们在浏览器中键入 “google.com” 时,域名系统允许我们访问其相关联的 Google 服务器。

IP 地址(IP Address)

IP 地址是我们所说的网络可寻址位置。每个 IP 地址在其网络中必须是唯一的。我们这里谈论的网络就是指整个互联网。

IPv4,目前最常见的地址形式,由四组数字组成,每组最多有三位数字,每一组用一个点分隔。例如,111.222.111.222 是有效的 IPv4 IP 地址。使用 DNS,我们可以将名称映射到该地址,这样,你就不必记住一组复杂的数字,来访问你需要的网站。

顶级域名(Top Level Domain)

顶级域名,或者说 TLD,是域名的最基本部分。顶级域名是右侧的最远部分(由点分隔)。常见的顶级域名是 com、net、org、gov、edu 和 io。

顶级域名在域名术语层次结构的最上层。由 ICANN(互联网名称和号码分配公司)对顶级域名进行管理控制。然后,通过域名注册商来分发 TLD 下面的域名。

主机(Host)

域名所有者可以定义多个单独的主机,指向可以通过该域名访问的不同的计算机或者服务。例如,大多数域名所有者会让他们的 web 服务器可以通过裸域(example.com)以及 www 主机(www.example.com)访问。

你可以在一个域名下面定义其它主机。比如说,通过 api 主机(api.example.com) 允许 API 访问,通过 ftp 主机或者 files 主机(ftp.example.com 或者 files.example.com)允许 ftp 访问。主机名可以任意指定,只要它们在该域名下是唯一的。

子域名(Sub Domain Name)

一个和主机相关的主题就是子域名。

DNS 有层次结构,TLD 下面可以有多个域名。例如,com 下面有 google.com 和 ubuntu.com。”子域名” 是指作为较高层级域名的一部分。所以说,ubuntu.com 可以说是 com 的子域名,但是通常这被称为域名,或者 “ubuntu” 部分是 SLD(Second Level Domain),所以这是一个二级域名。

同样,每个域名可以控制它下面的子域名。这通常就是我们所指的子域名。例如,你可以把 “www.history.school.edu” 作为你学校的历史部门的域名。 “history” 部分是一个子域名。

主机名和子域名之间的区别是主机定义计算机或资源,而子域名扩展父域。它是一种把域名本身细分的方法。

无论谈论子域名还是主机,你都可以开始看到域名的最左边部分是最具体的。这也是 DNS 的工作原理:从左到右阅读时,从最具体到最不具体。

完全限定域名(Fully Qualified Domain Name)

完全限定的域名,通常称为 FQDN,也就是我们所说的绝对域名。DNS 系统中的域名可以是相对的,所以可能是模糊的。FQDN 是一个绝对名称,表示了它相对于域名系统中绝对根目录的位置。

这表明它表示的每个域名都包括 TLD 部分。正确的 FQDN 以点结束,表示 DNS 层次结构的根。“mail.google.com.” 就是一个标准的 FQDN 的例子。有时候,一些软件使用的 FQDN 不需要末尾的点,但是要符合 ICANN 标准的话一定要加上末尾的点。

名称服务器(Name Server)

名称服务器(NS)是一种将域名翻译成 IP 地址的计算机。这些服务器完成了 DNS 系统中的大部分工作。由于域名翻译的数量对于任何一台服务器来说都太多了,因此每台服务器可以将请求转发给其他名称服务器或把它们负责的子域名的子集委派给其他名称服务器。

名称服务器可以是 “权威的”,表示它们自己可以提供所负责的域名的查询结果。否则,它们可能会转发到其他服务器,或者提供其他名称服务器数据的缓存副本。

区域文件(Zone Files)

区域文件是一个简单的文本文件,包含域名和 IP 地址之间的映射。这是当用户请求某个域名时,DNS 系统最终找出 IP 关联记录的地方。

区域文件放置在名称服务器中,通常定义了特定域名下可用的资源,或者可以去获取该信息的位置。

记录(Record)

在区域文件中,保存着记录。其中最简单的记录形式是,是资源和名称之间的单独映射。它们可以将域名映射到 IP 地址,定义域名的名称服务器,定义域名的邮件服务器等。

总结

现在你已经了解了 DNS 所涉及到的一些术语,接下来你可以想了解 DNS如何工作

什么是DNS的更多相关文章

  1. 6.DNS公司PC访问外网的设置 + 主DNS服务器和辅助DNS服务器的配置

    网站部署之~Windows Server | 本地部署 http://www.cnblogs.com/dunitian/p/4822808.html#iis DNS服务器部署不清楚的可以看上一篇:ht ...

  2. Liunx下配置DNS服务

    当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...

  3. ★Kali信息收集~4.DNS系列

    ★.1host:DNS信息 参数: 一般情况下,host查找的是A,AAAA,和MX的记录 案例: DNS服务器查询  host -t ns 域名 A记录和MX记录查询  host 域名(host - ...

  4. Node.js:DNS模块的使用

    Nodejs的DNS模块包涵有关DNS查询和操作的方法,下面介绍该模块的基本用法以及实现一个DNS查询小工具. 1.获取DNS服务器地址 使用getServers方法,该方法返回一个IP地址组成的数组 ...

  5. Java DNS查询内部实现

    源码分析 在Java中,DNS相关的操作都是通过通过InetAddress提供的API实现的.比如查询域名对应的IP地址: String dottedQuadIpAddress = InetAddre ...

  6. DNS报文格式(RFC1035)

    一.域名和资源记录的定义 1.Name space definitions 2.资源记录定义(RR definitions)      2.1 格式          后面分析报文的时候详细解释.   ...

  7. DNS原理及其解析过程 精彩剖析

    本文章转自下面:http://369369.blog.51cto.com/319630/812889 DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址 ...

  8. CentOS7 查看IP、Gateway、DNS、Hostname

    1.查看IP# ip addr 2.查看路由# ip route 3.查看DNS# cat /etc/resolv.conf 4.查看主机名# hostname

  9. linux查看本机IP、gateway、DNS

    IP:     ifconfig gateway:[root@localhost ~]# netstat -rnKernel IP routing tableDestination     Gatew ...

  10. Centos6.2设置静态ip和dns

    参考了如下文章:https://gist.github.com/fernandoaleman/2172388http://www.lifelinux.com/how-to-configure-stat ...

随机推荐

  1. 2019牛客暑期多校训练营(第六场)-D Move

    题目链接:https://ac.nowcoder.com/acm/contest/886/D 题意:给n个物品,每个物品有一个体积值,K个箱子,问箱子的最小体积为多少可将物品全部装下. 思路:比赛时一 ...

  2. windows ping命令

    ping -a 192.168.xxx.xxx  解析计算机NetBios名 ping -n 数字 192.168.xxx.xxx  发送指定数量的echo数据包数,默认是四个 ping -l 192 ...

  3. web应用安全

    一.三种坏人与servlet安全 网络攻击者 对应的servlet安全规范 假冒者 认证 非法升级者 授权 窃听者 机密性   数据完整性 认证可以防止“假冒者”攻击,授权可以防止“非法升级者”攻击, ...

  4. 记一次Sqoop抽数据异常

    1. 环境 Hadoop Sqoop awsEMR 2.8.5 1.4.7 5.26.0 2.错误描述 在使用Sqoop抽取MySQL数据时,使用hdfs作为缓存,s3作为hive的存储地址,命令如下 ...

  5. hashmap 为什么初始化容量是2的幂次方

    个人理解 做下记录,不正确的地方望不吝赐教 这是hashmap初始化容量时候 对容量大小做的处理,保证初始化容量为最近的2的幂次方(JDK1.8) static final int tableSize ...

  6. Typora的使用-规整笔记 让我以后的笔记内容更加整齐

    以后我用typora写笔记使用这种排版方式, 且可以方便的看到大纲. 大标题二级标题 内容分类 三级标题 内容讲解 四级标题 内容分块 五级标题

  7. docker入门到放弃

    1.容器简介 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程, ...

  8. 从入门到自闭之Python--Django Rest_Framework

    核心思想: 缩减编写api接口的代码 Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用.在REST framew ...

  9. python 小数精度控制

    可以用:round(数值,保留小数位数) 详情参考 https://www.cnblogs.com/herbert/p/3402245.html

  10. 获取url传来的参数

    //根据传递过来的参数name获取对应的值 function getParameter(name) { var reg = new RegExp("(^|&)" + nam ...