DNS域名解析系统是如何工作?

前言
DNS身为TCP/IP协议族的“高层”(第7层,顶层),专职互联网的翻译使命,是一位精彩的“翻译官”。本文将和各人一起靠近、相识这位我们天天都要接触多次的翻译专家。

基本观点
DNS(Domain Name System):域名系统,DNS实在就是一个漫衍式的数据库系统,它主要的功效是提供主机名和IP地址之间的转换功效。我们天天在浏览器上输入的网址,好比xiaosb.com,当你敲击回车时,就最先使用DNS服务了。最早,在DNS还没被发现之现,所有的地址都由一其中枢主机名举行治理,在谁人“上古”时代,由于网站十分的稀疏,治理难度还可以操控,但随着互联网的野蛮式生长,网站数目骤增,这种中央事情模式最先袒露出响应慢、安全性等一系列的问题,DNS适时的泛起了。

DNS域名剖析历程
DNS域名剖析系统是怎样事情的
我们照旧用例子来说明。
172.27.0.14是笔者的主机(简称A),183.60.83.19是笔者网络运营商的DNS服务器(简称B)。
首先A主机发出了需要会见xiaosb.com的请求,但这个域名,在系统内部要本不知道你要会见什么,TCP/IP协议只认IP地址,就像人脸识别一样,换个人就会识别错误。此时就需要一个称职的翻译官,将适合人记载的域名翻译成IP地址。这时间DNS进场了。
DNS首先会查找本机有无对应的DNS记载,windows系统会通过windows\system32\drivers\etc\hosts文件查找,Linux会通过/etc/hosts文件查找。

host记载的花样如上,分为2个部门,前半部门是IP地址,后半部门是对应的域名。
若是host找不到记载,就会先发送DNS查询请求到指定的DNS服务器(这也就是为什么你的电脑为何须须指明DNS服务器地址的缘故原由)。我们来看2条报文。

此时A通过54889端口(暂时端口,使用UDP协议,若是你不清晰UDP协议是什么,请参考我的另一篇文档TCP和UDP,你要知道的123 (UDP篇)),和B主机的53端口通讯,第1条报文是A主机发向B主机,+号表现递归查询,A表现查询类型,意思是需要查询IP地址,?表现这是一条查询报文。xiaosb.com表现要查询的域名,33表现字节,UDP的首部长度是12个字节,域名长度为17个字节,查询类型和类占4个字节。

简朴诠释下域名长度为何是17个字节,以小数点为分开单元,第1个3表现www占3个字节,第2个7表现ymw占3个字节,第3个3表现com占3个字节,最后一个置0,表现后域名竣事。

现在来看第2条报文,这是B服务器的响应报文,3/0/0表现返回了3资源记载(Resource Record),第2个0表现返回0条授权回覆,第3个0表现返回了0条附加记载(一样平常都是0)。第1条资源记载类型为CNAME(域名规范名称),第2条就是A记载,表现返回对应CNAME的IP地址,第3条也是A记载返回的是该域名的另一个IP地址。有时间甚至可能返回N条A记载,这是由于使用了负载平衡手艺,目的是增添服务提供的可靠性和并发处置惩罚能力。

此时DNS系统已经拿到了xiaosb.com对应IP地址记载,即完成了翻译使命,并将其返回给系统,系统拿到了IP地址,将会见网页的请求举行打包封装,并指定报文的目的地址为刚刚获取到的域名对应IP地址,数据就顺遂的发送到目的主机了。

至于DNS服务器是怎样查询到域名IP地址的,后续有时机再跟各人汇报。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: http://www.175ku.com/6310.html