什么是DNS
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的更多相关文章
- 6.DNS公司PC访问外网的设置 + 主DNS服务器和辅助DNS服务器的配置
网站部署之~Windows Server | 本地部署 http://www.cnblogs.com/dunitian/p/4822808.html#iis DNS服务器部署不清楚的可以看上一篇:ht ...
- Liunx下配置DNS服务
当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...
- ★Kali信息收集~4.DNS系列
★.1host:DNS信息 参数: 一般情况下,host查找的是A,AAAA,和MX的记录 案例: DNS服务器查询 host -t ns 域名 A记录和MX记录查询 host 域名(host - ...
- Node.js:DNS模块的使用
Nodejs的DNS模块包涵有关DNS查询和操作的方法,下面介绍该模块的基本用法以及实现一个DNS查询小工具. 1.获取DNS服务器地址 使用getServers方法,该方法返回一个IP地址组成的数组 ...
- Java DNS查询内部实现
源码分析 在Java中,DNS相关的操作都是通过通过InetAddress提供的API实现的.比如查询域名对应的IP地址: String dottedQuadIpAddress = InetAddre ...
- DNS报文格式(RFC1035)
一.域名和资源记录的定义 1.Name space definitions 2.资源记录定义(RR definitions) 2.1 格式 后面分析报文的时候详细解释. ...
- DNS原理及其解析过程 精彩剖析
本文章转自下面:http://369369.blog.51cto.com/319630/812889 DNS原理及其解析过程 精彩剖析 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址 ...
- CentOS7 查看IP、Gateway、DNS、Hostname
1.查看IP# ip addr 2.查看路由# ip route 3.查看DNS# cat /etc/resolv.conf 4.查看主机名# hostname
- linux查看本机IP、gateway、DNS
IP: ifconfig gateway:[root@localhost ~]# netstat -rnKernel IP routing tableDestination Gatew ...
- Centos6.2设置静态ip和dns
参考了如下文章:https://gist.github.com/fernandoaleman/2172388http://www.lifelinux.com/how-to-configure-stat ...
随机推荐
- Vue.js 使用 $refs 定位 DOM 出现 undefined
找到这篇文章,写得不错,记录一下.https://www.jianshu.com/p/090937a480b5
- 关于MYSQL使用过程中的一些错误总结
一,java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 导致这个问题有很多种情况,我暂时遇到的是:未在lib下导入jar包. 这个链接是各个 ...
- 手把手教你用vue-clic3搭建vue-element-admin项目
下载element-admin框架 点击该地址:https://github.com/PanJiaChen/vue-element-admin 用git clone https://github.co ...
- [Comet OJ - Contest #6 D][48D 2280]另一道树题_并查集
另一道树题 题目大意: 数据范围: 题解: 这个题第一眼能发现的是,我们的答案分成两种情况. 第一种是在非根节点汇合,第二种是在根节点汇合. 尝试枚举在第几回合结束,假设在第$i$回合结束的方案数为$ ...
- 【Python】【demo实验25】【练习实例】
原题: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. 我的源码: #!/usr/bin/python # encoding=utf-8 # -* ...
- 【Python】【基础知识】【内置函数】【print的使用方法】
原英文帮助文档: print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) Print objects to the text ...
- 【Python】【demo实验7】【练习实例】【完全平方数相关】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...
- selenium登录豆瓣网
登录流程: 实例化一个driver,然后driver.get()发送请求 最重要的:切换iframe子框架,因为豆瓣的网页中的登录那部分是一个ifrme,必须切换才能寻找到对应元素 利用seleniu ...
- jwt认证规则
目录 认证规则图 django不分离 drf分类 认证规则演变图 数据库session认证:低效 缓存认证:高效 jwt认证:高效 缓存认证:不易并发 jwt认证:易并发 JWT认证规则 优点 格式 ...
- Scala学习九——文件和正则表达式
一.本章要点 Source.fromFile(...).getLines.toArray输出文件的所有行; Source.fromFile(...).mkString以字符串形式输出文件内容; 将字符 ...