DNS:域名服务器:Domain Name Server
IANA:互联网号码管理局:Internet Assigned Numbers Authority
ICANN:互联网名称与数字地址分配机构:Internet Corporation for Assigned Names and Numbers
FQDN:完全合格域名/全称域名:Fully Qualified Domain Name
TLD:顶级域:Top Level Domain
包含:组织域:.com,.org,.net,.cc
国家域:.cn, .tw,.hk,.iq,.ir,.jp
反向域:反向:IP-->FQDN,(正向:FQDN-->IP)
NS记录:名称服务器记录:Name Server Record
A记录:地址记录,用来指定主机名(或域名)对应的IP地址记录:Address Record
TTL值:生存时间值,Time To Live
Stub Resolver:存根解析器
Recursive Resolver:递归解析器,也能迭代
什么是DNS,DNS的作用是什么,hosts文件是什么,它用来干嘛?
在计算机刚出现的时候,个人电脑还没有出现的时候,在美国的几个有名的大学和军队里面的计算机相互之间需要通信,而人脑又记住不数字的ip地址,相对而言,人脑能够记住更多的字符串,所以就出现了用域名代替ip地址的办法,每个域名都代表一个ip地址,那么这些域名和ip地址的对应关系放在哪里呢?hosts文件出现了,它里面存放的就是一些能够把ip地址和域名对应起来的文本,所以说早期的DNS就是通过hosts文件来实现的,现在也可以通过hosts文件来实现所谓的“翻”墙,比方说laod博客,这个博客上面会不定时更新一些hosts文件来把访问的域名和对应的ip对应起来,实现访问国外站点。那有了hosts了,还要DNS做什么呢?想没想过一个问题,早期的计算机就那么几台,如果新加了个计算机,可以手动把对应的主机ip添加进来,但是,在现在来看,你还能手动添加每一个站点吗?所以说DNS的作用就是解决自动查找网络上的主机的作用的。那么问题又来了:DNS怎么实现动态更新网络上的主机信息的呢?这时候就需要了解DNS的工作方式了,我们每次上网的时候,都需要配置一个DNS地址,这个地址是用来干什么的呢?当我们访问百度的地址:www.baidu.com的时候,计算机会先查询本地的hosts文件看是否能够找到对应的ip信息,如果有的话,就把请求发送到对应的主机上,如果没有,请求会发送到DNS上,DNS实际就是充当的一个动态的hosts文件,当主机过多的时候,一个DNS处理不过来了,因为每个请求都需要查询,查询是需要消耗计算机的资源的,这时候,就需要搭建DNS集群来实现对应的功能了。问题又来了,所有的站点信息都放在同一个地方,那查询起来也太不方便了,而且为了保证安全,怎么可以放在一个地方呢,试想一下:把所有的网站信息都放在美国,那么如果美国把提供解析的服务器给关了,那么世界的网络不就瘫了?那该怎么班呢?这时候就需要把DNS做成分布式的,大概的样子就和Linux文件系统一样,做成树状的,分级管理,那么对应的域名也就有了一级域名,二级域名,三级域名等等,查询的时候先查询顶级域名,然后查询二级域名,逐级查询。按道理每个国家维护一台自己的DNS服务器,这样就可以保证安全了,而且分布式的方式部署DNS也可以保证一个节点被破坏,其他节点可以正常工作,保证了网络的可靠性。实际上并不是每个国家都有自己的根服务器的,根服务器多了也不好,难于管理,有可能发生DNS污染,有些国家只有镜像。这时候google一下DNS,DNS根服务器,ICANN和IANA是最好不过的了。
DNS服务器:是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。开始时,域名的字符仅限于ASCII字符的一个子集。2008年,ICANN通过一项决议,允许使用其它语言作为互联网顶级域名的字符。使用基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集。因此,诸如“x.中国”、“x.台湾”等这样的域名可以在地址栏直接输入,而不需要安装插件。但是,由于英语的广泛使用,使用其他语言字符作为域名会产生多种问题,例如难以输入,难以在国际推广等。
DNS根服务器:是互联网域名解析系统(DNS)中最高级别的域名服务器,负责返回顶级域的权威域名服务器地址。它们是互联网基础设施中的重要部分,因为所有域名解析操作均离不开它们。由于DNS和某些协议(未分片的用户数据报协议(UDP)数据包在IPv4内的最大有效大小为512字节)的共同限制,根域名服务器地址的数量被限制为13个。幸运的是,采用任播技术架设镜像服务器可解决该问题,并使得实际运行的根域名服务器数量大大增加。截至2017年11月,全球共有800台根域名服务器在运行。
IANA:互联网号码分配局(英语:Internet Assigned Numbers Authority,缩写IANA),是一家互联网地址指派机构,管理国际互联网中使用的IP地址、域名和许多其它参数的机构。IP地址、自治系统成员以及许多顶级和二级域名分配的日常职责由国际互联网注册中心(IR)和地区注册中心承担。IANA是由ICANN管理的。
ICANN:是一个非营利性组织,负责协调维护和相关的命名空间的几个数据库的程序,互联网,保证了网络的稳定和安全运行。互联网名称与数字地址分配机构(ICANN)根据互联网号码分配机构(ICANN)执行中央互联网地址池和DNS根域注册机构的实际技术维护工作(IANA)职能合同。ICANN与美国商务部国家电信和信息管理局(NTIA)之间的IANA管理职能合同于2016年10月1日终止,正式向全球多利益相关方社群过渡。其大部分工作涉及互联网的全球域名系统(DNS),包括DNS系统国际化的政策制定,引入新的通用顶级域名(TLD)以及运行根名称服务器。ICANN管理的号码设施包括IPv4和IPv6的互联网协议地址空间,以及将地址块分配给区域互联网注册管理机构。ICANN还维护互联网协议标识符的注册管理机构。联网名称与数字地址分配机构(ICANN)的主要运营原则被描述为帮助维护互联网的运营稳定性 促进竞争; 实现全球互联网社群的广泛代表性; 并通过自下而上,基于共识的流程制定适合其使命的政策。ICANN成立于1998年9月18日创建,并纳入1998年9月30日,在美国各州的加利福尼亚州。总部设在洛杉矶的Playa Vista街区。
根节点服务器:
{a,m} root-server_net
dns的结构:主、从结构
主DNS服务器:数据修改
辅助DNS服务器:请求数据同步
serial number:辅助DNS的序列号(版本号),如果版本号比主的小,就发出同步请求
refresh:刷新周期,定义每隔多少时间去查看主DNS的版本号
retry:重试时间,应该小于refresh的时间
expire:过期时间
nagative answer TTL:否定答案的缓存时长,比如我的网站不在线,你就不用一直发送请求过来了
缓存DNS服务器:用来缓存本地请求的DNS记录
转发器:不缓存请求过的记录,只负责帮忙把请求转发到其他DNS
在DNS的数据库中,每一个条目,都被称为一个资源记录(Resource Record)
资源记录类型:
SOA:Start Of Authority:起始授权记录
NS:Name Server:DOMAIN --> FQDN,正向和反向都能定义
MX:Mail eXchange:ZONE NAME --> FQDN ,只能定义在正向区域文件中,不能定义在反向区域文件中
A:address:从FQDN --> IPv4(最常用的),只能定义在正向区域文件中,不能定义在反向区域文件中
AAAA:FQDN --> IPv6
PTR:pointer:IP --> FQDN,只能定义在反向区域文件中,不能定义在正向区域文件中
CNAME:FQDN --> FQDN
TXT
CHAOS
SRV
资源记录的格式:
NAME(名称) TTL(TTL值) IN(Internet) RRT(资源记录类型) VALUE(值)
www.hengshare.top. IN A 1.1.1.1 (ns记录)
1.1.1.1 IN PTR www.hengshare.top. (ptr记录)
hengshare.top. 600 IN NS ns.hengshare.top. (ns记录,成对出现)
ns.hengshare.top. 600 IN A 1.1.1.2
www1.hengshare.top. IN CNAME www.hengshare.top. (CNAME记录)
ZONE NAME TTL IN MX pri(优先级,1最高) VALUE (MX记录)
hengshare.com. 600 IN MX 10 mail.hengshare.top
mail.hengshare.top. 600 IN A 1.1.1.3
ZONE NAME TTL IN SOA FQDN ( (SOA记录)
serial number
refresh
retry
expire
na ttl )
时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒
邮箱格式:[email protected] 写为:admin.gmail.com
hengshare.top. 600 IN SOA y_jiaheng.foxmail.com. (
2013040101
1H
5M
1W
1D )
域:Domain(逻辑概念)
区域:Zone (物理概念)
例子:
我在 .top下买了个域名:hengshare.top.,所以在.top下有我的资源记录:
hengshare.top. IN NS ns.hengshare.top.
ns.hengshare.top. IN A 192.168.0.10
所以,我现在有域名:hengshare.top. 还有我的主机域:192.168.0.0/24,我的规划是这样:
www 192.168.0.1
mail 192.168.0.2 , MX
接下来我需要建立两个区域文件:
正向区域文件:
hengshare.top. IN SOA
如果在配置文件中定义了,可以简写为:
@ IN SOA
www.hengshare.top. IN A 192.168.0.1
可以简写为:
www IN A 192.192.0.1
反向区域文件:
0.168.192.in-addr.arpa. IN SOA
1.0.168.192.in-addr.arpa. IN PTR www.hengshare.top.
可以简写为:
1 IN PTR www.hengshare.top.
区域传送:
完全区域传送:axfr
增量区域传送:ixfr
区域类型:
主区域:master
从区域:slave
提示区域:hint
转发区域:forward