DNS : Domain Name Server 实现域名层次化

监听 UDP/53端口
     TCP/53端口
DNS:名称解析(主机名称,域名,IP)
 
DNS: FQDN解析成IP(正向)
     IP解析成FQDN(反向)
名词解释:FQDN:Full Qualified Domain Name(完全限定域名)
 
ANA组织:国际互联网地址管理机构,现在改名为ICANN
这个组织创建了DNS服务器,这个时候就不需要维护hosts文件了
可以吧DNS理解成为数据库
DNS:分布式的实现,是通过层级结构
.
com
net
org
mil
edu
gov
【其实真正的写法式xxx.com.在配置文件当中后边的.不能省略】
以上的是组织类的顶级域:TOP Level Domin 
cn 
jp
us
iq
以上的是国家类二级域名是为组织或个人使用
 
 
解析类型
正向解析
反向解析
查询类型
query:
迭代查询  发出多次请求  (这个要有client自己去×××器)
递归查询:只发出一次请求(就是由服务器帮助来找)
【全球的根域名服务器是只有13个,日本一个欧洲一个大多数在美国】
我们通常进行的互联网上的查询时两段式的
第一段是递归
第二段是迭代
 
服务器的角色:
主DNS服务器
从DNS服务器 (一般为主DNS服务器做两台冗余)
缓存服务器:不进行任何解析
转发器:仅仅是转发请求
 
DNS数据库文件的格式:宏定义(类似变量),解析条目(数据库条目)
每一个数据库提条目叫做资源记录(Resource Record, RR)
name [ttl] CLASS RTYPE RDATA
ttl缓存时常
CLASS通常都是IN(Internet)
RTYPE是资源类型,为了满足不同条目功能定义的
A(adress):FQDN-->IP (ipv4专有)
AAAA:FQDN-->IP (ipv6专有)
PTR(指针): IP-->FQDN
NS:用来指定当前DAS服务器是谁
CNAME:正式名称(就是别名记录)
MX:邮件交换器mail eXchanger
如果有很多MX那让谁工作呢?
MX是有级别的0-99,数字小级别高
每个MX记录
SOA:start of Authority 权威授权
对于任何趣味呢间来讲,SOA必须定义在第一条
它的RDATA必须包含:
FQDN(主NS的FQDN) contact【邮箱地址,不能用@符号要用“.”替代@】 (
serial number 序列号
refresh time 刷新时间
retry time 重试时间
expire time 过期时间
negative answer ttl)否定回答ttl值
RDTATA:
A;ip
AAA:IPV6
PTR:FQDN
NS:FQDN
MX:FQDN
CNAME:FQDN
name
A:FQDN
AAAA:FQDN
PTR:IP
NS:zone
MX:zone(不出现在反向区域当中)
CNAME:FQDN
 
定义资源记录
FQDN必须以“ .”结尾;
每一条记录必须在一行当中(除了SOA)
第一个记录只能是SOA它可以换行
宏:变量
常用的两个宏
$TTL 86400  这个事由默认的是全局的ttl 
$ORIGIN 定义区域的名称附加后缀的
名称解释:TTL是个缓存值,用于指定查询者可以缓存这个路径多长时间
当访问的页面时不存在的时候也是要定义TTL值的。
 
 
互联网上可以提供DNS服务的软件:例如:Bind、PowerDNS
Bind:Berkeley Information Name Domin 对数据库的支持不大,但是很多的DNS都是依照Bind制作的。Bind:目前是由ISC来维护的。
 
服务器端:
 主配置文件/etc/named.conf:(权限640 owner:root,group:named)