DNS概述
DNS(Domain Name Server),域名服务器,其作用是提供域名 解析ip(正向解析),ip解析域名(反向解析) 的服务。
域名详解
以mp3.www.pan.baidu.com. 为例,域名的等级可以用域名中包含.(点)的个数为准。
末尾的. 根(全世界一共有13个根服务器)
.com 顶级域名(一级域名)
.baidu.com 二级域名
.pan.panidu.com 三级域名
mp3.www.pan.baidu.com 四级域名(主机名)
1、需要区分网址当中,哪些是域名部分,哪些是网站参数和协议部分:
比如https://www.baidu.com/index.php?tn=46092069_1_pg 百度官网当中,
https:// 表示该网站使用https协议
/index.php?tn=46092069_1_pg 表示网页为index.php,调用的参数为tn
购买域名
.com用于商业机构,任何人都可以注册.com形式的域名,比如使用者将.baidu.com这个二级域名买下来之后,pan.baidu.com,zhidao.baidu.com,tieba.baidu.com都是属于其手下的域名,不需要再额外出钱购买这些新域名。所以二级域名值钱,三级四级域名都不值钱。
常见的顶级域名
.COM---用于商业机构。它是最常见的顶级域名。任何人都可以注册.COM 形式的域名。
.NET---最初是用于网络组织,例如因特网服务商和维修商。现在任何人都可以注册以.NET结尾的域名。
.TOP---用于行业内顶级企业或个人,诠释行业内顶级标杆的意思的域名;也可理解为巅峰、突破的含义,不限制应用范围。
.ORG---是为各种组织包括非盈利组织而定的。现在,任何人都可以注册以.ORG 结尾的域名。
.cn---中国
.us---美国
.jp---日本
注册域名解析
pan.baidu.com---1.1.1.1,通过将购买来的域名进行注册解析,来将1.1.1.1这个网站服务器的服务通过该域名向互联网所有用户提供服务。在中国注册域名解析是需要备案的,需要审核网站发布内容还有网站注册人的信息,而其他国家则不需要。
zhidao.baidu.com---2.2.2.2
tieba.baidu.com---3.3.3.3
可以进行域名查询,查看如果需要购买一个二级域名大概需要多少钱。
域名解析命令:nslookup
使用命令 nslookup {域名} 可以借助DNS服务器对域名进行解析。
例如:nslookup pan.baidu.com可以看到解析出的服务器ip地址和返回该解析结果的DNS服务器地址。
域名解析过程
对域名进行分级的目的就是让域名在解析查询的时候变得方便。域名从根开始,一级一级往前查询,每个服务器负责一个域名查询,逐级查询,各负其责,做到快速地查询域名。
DNS服务端口
TCP 53 : 迭代查询,DNS转发器之间的关系
UDP 53 : 主机与本地DNS服务器之间
类型:
递归查询:主机与本地DNS服务器之间,DNS转发器之间的关系(所问即所答!) 迭代查询:本地DNS服务器与根服务器及其他DNS服务器之间的互动过程(答非所问!)
DNS解析记录类型:
代码语言:javascript复制区域:baidu.com
1)A记录:正向解析 www --A-- 10.1.1.1
2)PTR记录:反向解析 3.3.3.3 --PTR-- nba
3)CNAME记录:别名解析 news --CNAME-- www
4)MX记录: 邮件交换记录 @qq.com --MX-- 30.1.1.1
5)SOA记录:权威服务器 本服务器IP1 --SOA-- baidu.com
6) NS记录:域名服务器记录 IP1, IP2,IP3 --NS-- baidu.com
DNS工作原理
在网站访问百度之后使用命令ipconfig /displaydns可以看到dns解析记录的缓存信息。由于win7之后的操作系统,已经将hosts文件和dns缓存合并,修改hosts文件之后,再次使用命令查看dns缓存信息会发现缓存已经被修改,此时去ping百度,会发现给予回复的ip地址已经不是百度网站的真实ip,而是刚才修改进入hosts文件中的新ip地址。
客户机域名请求的顺序
1、本地缓存(包含hosts文件内容)优先
代码语言:javascript复制1、ipconfig /displaydns #查看dns缓存
2、ipconfig /flushdns #刷新dns缓存
2、请求本地DNS服务器(如果说本地缓存不存在ip地址和域名的对应关系,计算机就会请求本地的DNS服务器,完成正常的域名解析过程)
服务器提供解析服务的顺序
DNS服务器域名解析处理顺序:查看本地缓存--本地区域文件解析--DNS转发器--根服务器 DNS客户机域名解析请求顺序:查看本地缓存--本地hosts文件--找本地DNS服务器