DNS
一、什么是DSN
DNS指域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。也就是说,DNS是一个存储网络上Ip地址与域名对应关系条目的超大型数据库。
目前国际域名的DNS必须在国际域名注册商处注册,国内域名的DNS必须在CNNIC注册,注册支持解析英文域名和中文域名的dns要分别注册,费用约75元/个(一次性)
二、DNS在哪里?
提供DNS的是计算机,是安装了DNS服务器端软件的计算机。服务器端软件即可以是基于类Unix操作系统,也可以是基于Windows操作系统的。装好DNS服务器软件后,您就可以在您指定的位置创建区域文件了,所谓区域文件就是包含了此域中名字到IP地址解析记录的一个文件。
三、怎样实现DNS?
无论是通过linux还是windows搭建dns服务器,原理都是一致的。
DNS服务器可以配置成以下3类之一:
1、主DNS服务器,负责域名到IP的解析;
2、辅DNS服务器,当主DNS瘫痪时由辅DNS提供服务。
3、缓存DNS服务器,存解析记录,这样用户下次请求相同的解析记录时直接从缓存中的名字到IP的对应关系返回给用户,而不需要再递归或者跌代查询了。
当您在浏览器中输入(www.seebod.com.),我们的电脑是如何得到IP地址的:
1、浏览器发现是一个名字,于是调用我们机器内部的DNS Client软件,这个软件会把我们的请求发送到网卡TCP/IP设置中的默认DNS服务器IP地址(上海电信提供DNS的服务器有3台,其中一台IP是202.96.209.5):“您可以告诉我www.seebod.com.的IP地址吗?我这是一个递归查询”
2、 202.96.209.5的DNS服务器会检查自己的DNS缓存,如果缓存里有,就直接返回给客户,如果没有,202.96.209.5就会向自己系统内部配置中负责.域的DNS服务器的IP地址(负责域的那台DNS服务器位于美国,共13台,系统会随机选一台,这里比如是61.1.1.1)发出请求: “您能告诉我www.seebod.com.的IP地址吗?我这是一个跌代查询”
3、域DNS服务器61.1.1.1中包含负责net.域解析的IP地址,把查询结果返回给202.96.209.5:“负责net域的DNS服务器地址是54.4.4.4”
4、202.96.209.5收到上面的查询结果后,于是询问负责net域的DNS服务器54.4.4.4 :“您能告诉我负责www.seebod.com.的IP地址吗?我这是一个跌代查询。”
5、负责net.域的DNS服务器54.4.4.4把查询后的结果返回给202.96.209.5:“负责seebod.com.域的dns服务器的ip地址是 211.152.17.58”
6、202.96.209.5收到上面的查询结果够,于是询问负责seebod.com.域的DNS服务器211.152.17.58:“您能告诉我www.seebod.com.所对应的IP地址吗?”
7、211.152.17.58把查询后的结果返回给202.96.209.5:“www.seebod.com.对应的IP地址是211.100.26.123”
8、202.96.209.5把最终结果放到自己的DNS缓存里,这样以后就不用再进行上面的跌代查询了。
9、202.96.209.5把最终结果返回给最初发起请求的客户机。
10、客户机的dns client软件把最终结果返回给浏览器。
11、浏览器把目的IP地址连同http数据传递给网络层。
12、网络层根据目标地址判断路由,发现目标IP地址211.152.17.58与本机不在同一个网段(判断是否是同一个网段使用子网掩码与目的IP地址做与运算),于是决定把次包发给网关。
13、检查本地arp缓存表获得本地网关的MAC地址。
.....
.....