深入理解DNS(域名系统)
来源:互联网 发布:数据服从正态分布 编辑:程序博客网 时间:2024/06/07 01:24
何为DNS
DNS,全称Domain Name System,即域名系统。
干啥的?实现主机名和IP地址的转换,将容易记忆的主机名转换成主机IP地址。DNS的历史
起初,在早期的ARPANET时代,使用一个简单的文本文件来记录所有的计算机名和他们的IP地址,这个文件就是我们熟知的hosts.txt。并且,每天晚上所有主机都要从一个维护文件的站点获取新版本的文件。后来,这个文件变得越来越大,且频繁出现主机名冲突。在1983年,人们发明了域名系统。DNS的名字空间
- 命名层次的顶级有一个专门的组织负责管理,这个组织就是ICANN(Internet 名字与数字地址分配机构)。
- Internet被划分超过250个顶级域名,顶级域名又可以进一步划分,即出现多级域名。
- 顶级域名分为两类:通用的 和 国家或地区的
- 域名不区分大小写,edu、EDU、eDu的解析结果是一样的。
- 各部分域名不超过63个字符,总的域名不超过255个字符。域名服务器
- 提供名字的解析
- 域名解析是分布式的数据库系统,由区域管理员来划分边界,每个区域有自己的DNS服务器。
一台域名服务器必须管理所有以他为后缀的域名。并且要知道如何找到根服务器和下一层的服务器。
这里每个圆圈是一个区域,每个区域有一个域名服务器。.yale.edu的域名服务器,管理着所有以.yale.edu结尾的域名。即.yale.edu的域名服务器必须知道,.cs.yale.edu的域名服务器的地址。而且,他必须知道根服务器地址(这个在域名解析过程详细介绍)。*
域名资源记录
- 资源记录的组成
domain_name time_to_live class type value - time_to_live指明该记录的保存时间。
- class,对于Internet信息,总是IN。
- type指出记录字段的类型
SOA:提供管理者的Email地址等A记录: 将域名指向一个IPv4地址(例如:8.8.8.8)CNAME:将域名指向另一个域名(例如www.qcloud.com)MX: 将域名指向邮件服务器地址TXT: 可任意填写,长度限制255,通常做SPF记录(反垃圾邮件)NS: 域名服务器记录,将子域名指定其他DNS服务器解析AAAA:将域名指向一个iPv6地址(例如:ff06:0:0:0:0:0:0:c3)SRV:记录提供特定服务的服务器(例如_xmpp-server._tcp)显性URL:将域名301重定向到另一个地址 隐性URL:类似显性URL,但是会隐藏真实目标地址
- 资源记录的组成
域名的解析过程
通过UDP来进行请求和应答。
第一步,找根服务器查询cs.sjtu.edu.cn,根服务器返回cn服务器的地址(为啥子?因为在根服务器中只记录了顶级域名的记录,看到地址中的顶级域名为cn,根服务器只能说“我只知道cn服务器在哪里,你再去找cn的服务器吧“)。
第二步,本地服务器找cn服务器查询cs.sjtu.edu.cn,cn服务器返回edu.cn的地址。
第三步,第四步……最终,从管理cs.sjtu.edu.cn的sjtu.edu.cn处获得cs.sjtu.edu.cn的地址。- 权威记录和缓存记录:权威记录,查询top.cs.vu.nl时,若是从cs.vu.nl服务器上取得,那么他就是权威记录。若是从本机缓存中取得,那么他就是缓存记录。
两项重要的技术
复制:每个根服务器复制成许多份,存于世界各地,实际使用时,找物理上最近的服务器。
缓存:每个服务器都保存一个域名缓存,当查找一个新的服务器时,DNS会将它放到存缓中。
- 深入理解DNS(域名系统)
- DNS:域名系统原理理解
- DNS(域名系统)
- dns (域名系统)
- DNS(域名系统)
- DNS (域名系统)
- (14)DNS:域名系统
- DNS(Domain Name System,域名系统)
- DNS(Domain Name System,域名系统)
- 域名系统DNS(一)基本概念
- 域名系统DNS(四)转发/解析
- 域名系统【DNS】
- DNS 域名系统
- DNS域名系统
- DNS域名系统
- DNS域名系统
- DNS域名系统
- DNS:域名系统
- fzu2113 Jason的特殊爱好(数位DP)
- Linux 环境变量总结
- Linux-centos同时存在Python2-Python3
- RabbitMQ 官方NET教程(四)【路由选择】
- Sqlserver处于正在还原状态
- 深入理解DNS(域名系统)
- oracle linux配置yum源
- Java中JDK和JRE的区别是什么?
- 使用idea开发storm
- Zookeeper教程(三):ZooKeeper源码阅读之Worker机制及集群状态监控
- 欢迎使用CSDN-markdown编辑器
- JS:数组降维の三种方法
- 用java创建RESTful服务的常用框架介绍
- 推荐一篇springBoot+Dubbo+Zookerper搭建好文章