浅谈DNS域名解析

DNS的作用:

将人易于记忆的Domain Name与人不容易记忆的IP Address作转换。


DNS域名解析基于UDP协议,原因在于:

UDP比起TCP效率更高 但不能保证数据的完整性解析。DNS基于UDP主要是考虑到降低服务器的负载,降低网络流量,也考虑到DNS服务器的网络通常很稳定,万一失败,重试的损失也不大。

 

DNS域名解析的过程如下:

1、搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的DNS缓存中是否有www.myApp.com对应的条目,而且没有过期,如果有且没有过期,则解析到此结束。

 

2、如果在浏览器自身的DNS缓存里没有找到,则搜索操作系统自身的DNS缓存,如果找到且没有过期,则解析到此结束。

 

3、如果在操作系统自身的DNS缓存里也没有找到,则尝试读取hosts文件(位于C:\Windows\System32\drivers\etc),如果找到,则解析到此结束。

 

4、 如果在hosts文件里也没有找到,则会发起一个DNS的系统调用,根据本地配置网络时填写的DNS地址向首选DNS服务器(一般是电信运营商提供的,也可以使用像Google提供的DNS服务器)发起域名解析请求(通过UDP协议向DNS的53端口发起请求,这个请求是递归的请求)。

4.1) 首选DNS服务器首先查找自身的缓存,如果找到且没有过期,则解析到此结束。

4.2) 如果没有找到,则由首选DNS服务器代浏览器发起迭代的DNS解析请求,首先会找根域的DNS服务器的IP地址,找到根域的DNS服务器后,就会向其发起请求(请问www.myApp.com这个域名的IP地址是多少啊?)

4.3) 根域的DNS服务器发现这是一个顶级域com域的一个域名,于是就告诉首选DNS服务器我不知道这个域名的IP地址,但是我知道com域的DNS服务器的IP地址,于是首选DNS服务器就得到了com域的DNS服务器的IP地址,又向com域的DNS服务器发起了请求(请问www.myApp.com这个域名的IP地址是多少?)

4.4)com域的DNS服务器告诉首选DNS服务器我不知道这个域名的IP地址,但是我知道myApp.com这个域的DNS服务器的IP地址,于是首选DNS服务器又向myApp.com这个域的DNS服务器发起请求(请问www.myApp.com这个域名的IP地址是多少啊?),这时linux178.com域的DNS服务器一查,找到了www.myApp.com这个域名对应的IP地址,于是把找到的结果发送给首选DNS服务器,这时首选DNS服务器就拿到了www.myApp.com这个域名对应的IP地址,并返回给Windows系统内核,内核又把结果返回给浏览器,终于浏览器拿到了www.myApp.com对应的IP地址。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值