DNS协议详解

如题所述

第1个回答  2022-07-15

ip是八分二进制的很难记,但是域名xx.com容易记住,可是网络又是根据ip进行寻址的;于是就有了用域名访问返回ip的操作;DNS协议便是实现了将域名解析成IP的这一过程。

(1)容易记住
(2)监管方便,网站辨识度高,可作为一个网站的身份象征
(3)不依赖单个IP,用户只需要访问你的域名,不需要知道你的ip地址,因此你的ip地址可以有多个甚至经常更换都可以。
(4)DNS引流:很多高防抗DDOS和云saas的WAF都是利用DNS别名(cname)进行引流清洗的,CDN也是通过cname进行分配的。
(5)DNS负载均衡:可以利用相同A记录不同IP地址对用户的访问进行负载均衡的分配,甚至可以按照ip附属地进行地区上的分配

A记录: 主机名,比如www、news、sports、map等;还可以向下延伸分出更多级的主机名,一般申请到的都是 xx.com 为二级域名;也可以添加@*等全部概括的A记录。
cname别名: 解析到该别名上(通常会支持负载均衡,按比例分配给别名)
PTR指针: 用于IP反查域名的(腾讯云不支持填写PTR)
MX邮件交换: 配置给邮件使用
NS: 指定给该NS服务器解析

ping域名查ip(有局限性,大公司一般都会牵引专门的服务器处理icmp包或者直接由CDN处理,所以得到的ip往往不是真实地址)

配置了PTR才能查询到,通常很多有查不到的(因为域名肯定有ip,ip很大概率没绑定域名的)
nslookup -qt=ptr dst_ip

据说DNS的正向查询用的是53端口udp协议,反向查询用的是53端口tcp;实际验证一下吧!
正向查询:

反向查询:

dig www.jianshu.com (返回提供web服务的ip地址)

(1)先在本地host查询,接着去本地配置的dns服务器查询,如果没有的话继续往下
(2)再到根DNS服务器xxx.root-servers.net查询,发现域名记录在gtld-servers.net上或者说是由这个ns来注册提交的(一般.com域名都在gtld这类ns上)
(3)然后到xxx.gtld-servers.net上查询,得知是由dnsv3.com这个服务商签发的
(4)到服务商 dnsv3.com 上查询记录,得知 jianshu.com 在 ns3.dnsv3.com 和 ns4.dnsv3.com 有记录,并且配置了cname为 www.jianshu.com.w.cdngslb.com (八成是使用cdn的,所以上面查找ns的时候并不是注册的那个,而是dns服务商注册的这个)

域名不仅仅服务于http协议和80端口,只是浏览器默认http为80端口,所以在 www.xx.com 后面没有显示端口而已;可以把域名理解成与IP对应,相对的域名也有65535个端口。

相似回答