本文共 3098 字,大约阅读时间需要 10 分钟。
DNS ( Domain Name Systme)简单理解就是解析器、域名服务器的组合,比如大家访问知乎,会输入http://www.zhihu.com
,事实上网站域名只是一个IP 地址,人们是很难记住各式各样的IP地址的,所以就需要DNS服务器了,DNS就像手机通讯录一样,存放着各亲朋好友的手机号。为什么要存储到通讯录里?因为你不可能记得一百个人的手机号码,但是通过名字你可以快速定位某位朋友的手机号码。DNS就是存储了各种IP地址,然后让你通过域名定位到IP地址来进行连接通信的。
UDP
数据报经过端口53
发送应用层协议
,client端(一般指浏览器)构建DNS查询请求,依次被传输层,网络层,数据链路层等封装传送到达DNS服务器端,最终client端接收到DNS响应消息UDP(User Datagram Protocol)这样的无连接的,尽最大能力交付的不可靠数据连接,而不是使用TCP(Transmission Control Protocol 传输控制协议)这样的面向连接的可靠数据连接。
一次UDP名字服务器交换可以短到两个包:一个查询包、一个响应包。一次TCP交换则至少包含9个包:三次握手初始化TCP会话、一个查询包、一个响应包以及四次分手的包交换。
考虑到效率原因,TCP连接的开销大得,故采用UDP作为DNS的运输层协议,这也将导致只有13个根域名服务器的结果。
因特网的域名结构:
1、 因特网采用了层次树状结构的命名方法。
2、 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。
3、 域名的结构由标号序列组成,各标号之间用点隔开:
1、一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。
2、 各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。
3、每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
4、DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。
域名只是逻辑概念,并不代表计算机所在的物理地点。据2006年12月统计,现在顶级域名TLD(Top Level Domain)已有265个,分为三大类:
(1)国家顶级域名nTLD:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。 (2)通用顶级域名gTLD:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。 (3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。
1、 根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。
2、 不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析只要自己无法解析,就首先求助于根域名服务器。
3、 在因特网上共有13个不同 IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从a 一直到 m(前13 个字母)
4、 根域名服务器并不直接把域名直接转换成 IP 地址。
5、 在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器。
DNS缓存:每次你访问网站,DNS会保存你访问过的网站的域名服务器(即DNS) 信息,它存储在你的本机电脑上,目的就是为了帮助你下次在浏览器以最短的路径、更快的速度找到所需的DNS信息,解析你的网站!
缓存具体分类:
当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);
当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;
当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存;
当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;
1、本地域名服务器向根域名服务器发请求2、返回给本地域名服务器我们要向哪个顶级域名服务器去找3、顶级域名服务器向权限域名服务器发请求4、返回给本地域名服务器IP地址。5、返回给Windows系统内核,最后返回给浏览器。
1、本地域名服务器向根域名服务器发请求2、之后根域名服务器向顶级域名服务器去找3、顶级域名服务器返回给根域名服务器。4、根域名服务器返回给本地域名服务器5、返回给Windows系统内核,最后返回给浏览器。
DNS资源记录
当我们查询域名http://www.zdns.cn的时候,查询结果得到的资源记录结构体中有如下数据:
1、TTL,就是生存周期,是递归服务器会在缓存中保存该资源记录的时长。
2、网络/协议类型,它的代表的标识是IN,IN就是internet,目前DNS系统主要支持的协议是IN。
3、type,就是资源记录类型,一般的网站都是都是A记录(IPv4的主机地址)。
4、rdata是资源记录数据,就是域名关联的信息数据。
转载地址:http://ttuiz.baihongyu.com/