DNS域名解析-阿里云开发者社区

开发者社区> 艾贺> 正文

DNS域名解析

简介: 这个知识点已经是老生常谈,快被写烂了,但是为了自己能理解的更清楚一点,还是选择整理出一篇自己的文章。 DNS( Domain Name System)是“域名系统”的英文缩写,主要作用就是将便于人类记忆的单词组合(如www.taobao.com),解析成不太容易记忆的数字组合(61.154.126.109)。
+关注继续查看

这个知识点已经是老生常谈,快被写烂了,但是为了自己能理解的更清楚一点,还是选择整理出一篇自己的文章。

DNS( Domain Name System)是“域名系统”的英文缩写,主要作用就是将便于人类记忆的单词组合(如www.taobao.com),解析成不太容易记忆的数字组合(61.154.126.109)。

我觉得这是互联网发展的必须结果,想一想如果没有DNS系统,平时我们想要访问百度,淘宝,腾讯的网站,都要在浏览器中输入一长串的数字,耗时又不方便,并且一旦想要访问的网站增多了,很多人也不愿意记这么多的数字在脑袋中。

然后好一点的办法就是把那些数字记录到一个清单里,对应是那个网站。仅供个人使用的时候还挺方便,但是一旦与网民互相交流的时候,每个人的清单列法不一样,讨论起来也不一致,所以规范很重要。

DNS就相当于整个网站映射的规范,适应与全球的网站,国内GFW即利用了DNS污染使得我们无法访问一些国外的网站。

过程

DNS解析过程可以分为有缓存的解析与无缓存的解析,一般都是有缓存的,虽然情况更复杂一些,但更贴近实际。

  1. 如果是在浏览器中输入域名, 检测浏览器是否有解析过的IP地址缓存,有的话直接使用上次解析的IP结果。

  2. 浏览器无缓存,则检查系统缓存。*nix下会检查/etc/hosts文件中是否有对应的缓存。Windows下会检查C:\Windows\System32\drivers\etc\hosts中内容。

    注意:黑客可以在解析的任一流程中修改解析对应的IP,将解析的IP指向黑客的服务器,导致域名被劫持。

  3. 本地缓存如果都没有的话,会将要解析的域名(www.taobao.com)发送到本地设置的 DNS服务器。即LDNS
    Linux下的NameServer配置信息在/etc/resolve.conf.

    这个专门的域名解析服务器性能都会很好,它们一般都会缓存域名解析结果,80%的域名解析到这里基本已经完成了,所以LDNS主要承担了域名的解析工作。

  4. 如果LDNS没有命中结果,就直接到Root Server域名服务器请求解析

  5. 根据域名服务器返回给本地域名服务器一个所查询域的主域名服务器,(gTLD Server)地址。gTLD是国际顶级域名服务,如.com, .cn, .org。

  6. 本地域名服务器LDNS再向上一步返回的gTLD服务器发送请求。

  7. 接受请求的gTLD服务器查找并返回对应Name Server域名服务器的地址。Name Server通常是注册的域名服务器。
    假如这是你再某个域名服务提供上申请的域名,那么这个域名的解析任务由这个域名提供商的服务器来完成。

  8. Name Server域名服务器会查询存储域名和IP的关系映射表,正常情况下都根据域名得到目标IP记录,连同一个TTL值返回给DNS Server域名服务器。

  9. 根据返回该域名对应的IP和TTL值,本地DNS服务器,LDNS会缓存这域名和IP的对应关系,缓存时间由TTL值来控制。

  10. 把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。

最后

DNS域名解析过程在面试中也是经常问到的问题,做个整理,希望能帮助到大家,以后自己也方便查看。

参考

  • 深入理解Java Web 技术内幕

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
单位内部DNS架设及域名解析服务
越来越多的企业将企业内部局域网通过光缆、交换机等高速互连设备连接起来,形成较大规模的中型网络,网络上的主机和用户也随之日渐增多。作为 Internet的缩影,企业内部网上的各类服务器(如WWW服务器、FTP 服务器、E-mail服务器及各种备份服务器)也会随着业务量的增加而迅速增多,有些企业甚至给其内部的用户提供WWW虚拟主机服务。
966 0
【新功能发布】阿里云云解析DNS“子域名管理”功能上线
大家期待已久的云解析“子域名管理”新功能已于8月7日成功上线。子域名管理是阿里云针对用户对主、子域名分别管理的需求场景下,推出的全新功能。 我们先来看看两个基本概念。 子域名:例如 http://www.aliyun.com 是 http://aliyun.com 的子域名。
939 0
DNS域名解析
DNS域名解析 互联网是通过url来发布和请求资源的,而url中的域名需要解析称为IP地址才能与远程主机建立连接,如何将域名解析成IP地址就属于DNS解析的工作范畴 DNS域名解析 从用户在浏览器输入一段url进行请求资源的时候开始,DNS...
1841 0
国外注册的域名dns服务器换回国内dns服务器的详细教程!
国外注册的域名dns服务器换回国内dns服务器的详细教程! 其他国外域名也类似:   今天据网友反映打不开网站,了解之后才知道是域名ping不通了,   在论坛里了解到Godaddy的域名容易出现国内ping不通的情况。
4891 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4519 0
域名dns的解析原理
DNS域名解析是互联网上非常重要的一项服务,上网冲浪(还有人在用这个词吗?)伴随着大量DNS服务来支撑,而对于网站运营来说,DNS域名解析的稳定可靠,意味着更多用户的喜欢,更好的SEO效果和更大的访问流量。
2082 0
域名DNS修改的操作步骤
在阿里云注册的域名,DNS一般默认为阿里云的DNS服务器地址。如果您有自己的DNS服务器,且需要将域名的DNS修改为您自己的DNS,或将域名的DNS修改为其他服务商的DNS,您可参考本文进行操作。
2620 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3278 0
+关注
艾贺
专注开发,架构知识
248
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载