DNS(域名解析服务):
端口 tcp/udp 53   工作于应用层

dns解析过程:

本地hosts文件
本地dns缓存
指定dns服务器中的缓存
dns查询(递归查询)

递归过程:
http://www.example.com.
用户所主dns服务器先从.根域名服务器询问,根域名服务器会转寄找到.com一级域名服务器,.com以同样方式得到example服务器地址 ,最终.example找到www.example.com对应的ip地址
将结果发送个用户的主dns服务器,主dns服务器将回答转发给用户,递归查询过程结束

利用bind软件简单的实现域名解析过程(只启用主dns服务器)
配置文件/etc/named.conf
  

vim /etc/named.conf
options {
directory "/var/named"
}; 
zone "." IN {                //根区域定义
type hint;
file "named.ca"
};
zone "localhost" IN{       //本地回还正向解析
type master;
file "localhost.zone"
};
zone "0.0.127.in-addr.arpa" IN {  //本地回还反向解析
type master;
file "named.local";
};
zone "example.com" IN {        //定义了example区域的正向解析
type master;
file "example.com.zone"
};

dig -t -NS . >/var/named.ca      //将根域的NS中的×××导入named.ca

区域文件/var/named/ 

vim named.local 
$TTl 600
@ IN SOA localhost. admin.localhost.(
2012020401     //区域文件版本
1H            //从服务器每个一小时检查一次主服务器文件是否改变
10M      //重试时间间隔
1W          //失效时间
1D)        //否定回答
IN NS localhost.
1 IN PTR localhost.

vim localhost.zone
$TTL 600
localhost.      IN SOA localhost. admin.localhost.(
                2012030501
                1H
                10M
                1W
                1D)
localhost. IN NS localhost.
localhost. IN A 127.0.0.1

vim magedu.com.zone
$TTL 600
@ IN SOA ns.magedu.com. admin.localhost.(
                2012030501
                1H
                10M
                1W
                1D)

magedu.com. IN NS ns.magedu.com.
ns.magedu.com. IN A  1.1.1.1
www.magedu.com IN A 2.2.2.2
mail.magedu.com IN MX 10 2.2.2.2
pop CNAME mail.magedu.com.
ftp.magedu.com IN 10 2.2.2.2
      
service named configuer   //检查语法错误
开启服务
service named start 
netstat -tunl    //查看端口是否开启
测试
dig -t NS  www.example.com

dig -t A www.example.com

hostname -A  www.example.com