域名是什么
举个例子,https://www.baidu.com,这个其实并不是域名,其中https是指协议,去掉https后,www.baidu.com.(注意最后面有一个点号)才是真正的域名。
每个域名的最后面都有一个点号 "." 表示根域名,为了方便在实际使用的时候被省略了。
根域名的下一级就是顶级域名了,.com 也就是顶级域名,常见的顶级域名后缀有.com、.cn、.net、.org 等,这些都是固定的,用户不能自己修改,只能选择。
顶级域名的下一级又是权威域名,如baidu.com中的.baidu,这个权威域名就是我们自己可注册的域名。
www.baidu.com www.weibo.com www.linuxnc.com
顶级域名下就是主机名了,www是指主机名,这个是我们可以自己定义的,通常在http服务器如nginx中可以修改。
http https 协议
.com .cn .org .net. ... 顶级域名
baidu sina weibo linuxnc 权威域名
www.baidu.com --->显示百度的主页
news.baidu.com--->显示的百度的新闻页面
www.baidu.com的www news.baidu.com 的news 表示主机名 表示不同的业务 不同的页面
.com.
.cn.
.org.
.是根域名
域名解析过程
1.浏览器输入www.baidu.com 查询浏览器缓存 有返回IP 没有则查询本地的HOSTS
2.如果HOSTS有返回IP 如果没有继续查询本地的DNS
3.本地DNS一般是我们自己配置的比如223.5.5.5 8.8.8 114.114.114.114,查询本地DNS是否有对应的IP 如果有返回给浏览器 如果没有则查询.根服务器
----------1-3过程称为递归查询---------------
4.根服务器不存储域名解析,会给LDNS返回顶级域.com的服务器IP地址
5.LDNS重新请求.com域名服务器 .com不存在域名解析 .com会返回权威域名服务器的IP地址给LDNS
6.LDNS重新请求baidu.com权威域名服务器,权威域名服务器就是我们自己配置的A记录解析,将A记录对应的IP地址返回给LDNS
7.LDNS拿到后自己缓存一份 返回给浏览器一份
8.浏览器和拿到的百度服务器IP地址建立连接
---------迭代查询 有去有回
1.浏览器--->本地HOSTS-->LDNS--->
2.LDNS--->根 根返回 顶级域.com
3.LDNS--->顶级域 顶级域返回权威域
4.LDNS--->权威域服务器 权威域名返回 A记录解析对应的服务器IP地址
5.浏览器-->百度IP建立连接
解析期间涉及到两个特殊查询:
客户端---本地dns服务器:递归查询
本地dns服务器---根域名服务器 顶级域名服务器 权威域名服务器:迭代查询
所谓递归查询过程就是 “查询的递交者” 更替, 而迭代查询过程则是 “查询的递交者”不变。
目前全球一共有13个根域名服务器(这里并不是指13台服务器,是指13个ip地址,按字母a-m编号),为了能更高效完成全球所有域名的解析请求,根域名服务器本身并不会直接去解析域名,而是会把不同的解析请求分配给下面的其他服务器去完成。https://www.uedbox.com/post/50977/
本地host文件:
Windows下host文件一般位于 "C:\Windows\System32\drivers\etc"。
A记录:
从域名到IP的解析过程,被称为A记录;www.baidu.com---1.1.1.1
获取A记录命令方法:yum -y install bind-utils
1) dig www.baidu.com
dig @223.5.5.5 www.baidu.com +trace ---显示完整DNS解析过程
2) nslookup www.baidu.com
3) host www.baidu.com
4) ping www.baidu.com
Linux本地DNS: 223.5.5.5 LocalDNS LDNS
本地dns服务器ip地址一般是由本地网络服务商如移动、电信提供,一般是通过DHCP自动分配,当然你也可以自己手动配置