一、DNS是什么
DNS(Domain Name System——域名系统)的作用非常简单,就是根据提供的域名,来查询相应的IP地址。这个系统的目的也很简单,避免人们去记忆数字形式的IP地址,因为字母比数字要容易记些。就好像你的电话簿,你不可能记住里面所有的电话号码,但你可以很容易的知道一个人的名字。
二、查询过程
DNS的作用虽然简单,但是它的查询过程却比看起来的要复杂得多,分为好几个步骤。在linux下,你可以通过命令dig来显示DNS的查询过程。
$ dig baidu.com
命令的执行结果如下:
查询的结果包括了五段内容,第一段为查询的参数和统计
; <<>> DiG 9.10.3-P4-Ubuntu <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21572
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
第三段为查询内容
;; QUESTION SECTION:
;baidu.com. IN A
上面的内容意思是,查询域名baidu.com的A记录,其中A表示地址,即address的缩写
第四段为DNS服务器的回应内容
;; ANSWER SECTION:
baidu.com. 556 IN A 111.13.101.208
baidu.com. 556 IN A 180.149.132.47
baidu.com. 556 IN A 220.181.57.217
baidu.com. 556 IN A 123.125.114.144
上面的内容意思是,baidu.com有四个A记录,即四个IP地址。数字556是TTL(生存时间)值,表示缓存时间,即556秒之内不用重新查询,DNS服务器会把之前查询的结果直接返回给你。
第五段是DNS服务器的传输信息
;; Query time: 2 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sat Apr 08 20:06:11 CST 2017
;; MSG SIZE rcvd: 102
它的内容显示,本地DNS服务器的地址是127.0.1.1,DNS服务器的端口是53,以及回应内容的大小是102个字节。你可以通过”+short”参数来简化查询结果。
$ dig +short baidu.com
111.13.101.208
123.125.114.144
180.149.132.47
220.181.57.217</