域名和IP的对应关系查询
通过任何一个域名可以得到其IP地址,通过任何一个IP地址也能找到它所属的域名。我们可以通过该网站实现互查:https://site.ip138.com
比如我们通过此网站查询到www.baiud.com
对应的ip有:
那么你使用任意一个IP地址都是可以访问到百度首页的:
DNS 域名解析服务
DNS英文全称:Domain Name System(域名系统)。是因特网上作为域名和IP地址相互映射的一个分布式数据库。它的作用是我们仅需通过主机名即可获得该主机名对应的ip地址进而完成访问。
DNS服务器
DNS服务器也叫域名服务器。域名服务器是提供域名解析的服务器,在有基本的知识下,任何人都可以搭建域名服务器,甚至是根域名服务器,有名的软件有:BIND。
DNS服务器包括路由缓存和互联网DNS服务器(比如阿里云提供的、百度提供的等等),以及13台根服务器。它对于一个域名的基本解析过程如下:
- 电脑通过路由器(或交换机)连入互联网, 为了加快访问的时间,短期内缓存使用的域名对应的ip
- 互联网DNS服务器,是路由缓存的上一级。一般为宽带运营商或者云服务提供商(如阿里云、腾讯云、AWS等)
- 一直到最后,最全的就是根服务器, 一共13台,通过物理文件的冗余,分摊全球的域名查询任务(一般为超级计算机,计算速度贼快)
域名根服务器(共计13个)
域名服务器就像许多国际组织一样,是需要被承认的,当你的根域名服务器被全世界承认,你的服务器也可以成为这其中的一员。因为互联网起源于美国,域名体系也是诞生于美国,在互联网不断扩张和发展的过程中,逐渐形成了13台服务器为全球根服务器。这13台根服务器由ICANN管理,由12个机构具体运营。13台根服务器如下图所示。
13台根域名服务器从a至m编号,分属12个运营机构运营。另外需要注意的是:13台根域名服务器不是一个物理概念,它是一个逻辑概念。根域名服务器可以由分布在全球的多个服务器组成,形成一个集群,对外统一为1台逻辑的根域名服务器。在https://root-servers.org网站上,我们能查到所有的真实服务器分布(中国境内有大几十个实例)。
全世界只有13台逻辑根域名服务器(这13台根域名服务器名字分别为“A”至“M”),由12个运营者运营,其中8个在美国,欧洲2个,位于荷兰和瑞典,亚洲1个位于日本,而真正的主根服务器并未公开。
DNS域名解析过程(web)
以浏览器上键入一个www.baidu.com地址为例:
1.首先,浏览器会检查自己的DNS缓存
1.谷歌浏览器可这么查看chrome: chrome://net-internals/#dns
2.浏览器会查找操作系统缓存(本地hosts文件)
- 本地hosts文件
3.浏览器会把域名发送给LDNS(本地DNS服务器,承担了主要的域名解析工作,通过ipconfig可以查到),LDNS首先会查询缓存记录
- windows下使用ipconfig /all可看到你拥有的DNS服务器:
2.ipconfig /displaydns可以显示出你近期访问了哪些DNS(也就是本地DNS服务器缓存)
4.LDNS服务器向主域名服务器(国际的顶级域名服务器,根域名服务器全球只有13台)请求解析,返回Name Server域名服务器地址(注册的域名服务器)
5.LDNS服务器向注册时的服务器发出请求,最终得到与域名相对应的IP地址。
特别声明:域名不包括端口