域名服务器ip地址查询(DNS服务器解析域名查询IP地址原理)
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。
我们都知道,应用程序根据域名向最近的DNS服务器查询IP地址,DNS服务器返回该域名的IP地址;
但是他的一个实施过程呢?
机器如何知道DNS服务器的ip地址?
背景
其实每台计算机都可以手动设置一个DNS服务器地址,当然也可以让计算机自动获取,比如计算机本身预先设置了DNS服务器的ip地址,知道了ip地址就可以按照百度服务器的方式访问DNS服务器;
服务器如何向DNS服务器发送请求?我们的计算机有相应的DNS客户端,相当于DNS客户端的部分,我们称它为DNS解析器。
DNS解析器实际上是利用操作系统提供的Socket库来进行一些与网络相关的常见操作,比如向DNS服务器发送查询ip地址的请求;
套接字库是在美国加州大学伯克利分校开发的UNIX操作系统BSD上开发的C语言库。Internet上使用的大多数函数都是基于Socket库来开发的。因此,BSD以外的其他操作系统和C语言以外的其他编程语言都参照Socket库开发了相应的网络库。可以说,Socket库是网络开发中的一个标准库。
当调用解析器时,程序的控制流被转移到解析器本身。如下图所示:
当控制流传递给解析器时,解析器生成需要发送到DNS服务器的查询消息,然后将执行委托给操作系统内部的协议栈(解析器本身不具备通过网络发送和接收数据的功能)。协议栈通过网卡向DNS server发送报文。如果DNS服务器找到该服务器,它将响应消息中的IP地址写回客户端,然后通过协议栈将其传递给解析器。最后,解析器检索消息以检索IP地址并将其传递给应用程序。完成从DNS服务器查询IP地址。
协议栈操作系统内部网络控制软件,也叫“协议驱动程序”、“TCP/IP驱动程序”等
服务器如何请求DNS服务器解析域名
世界上有那么多机器,怎么可能都在一台DNS服务器上呢?那么世界上有成千上万的DNS服务器,很多很多,提供DNS查询服务,在搜索ip地址时,成千上万的DNS服务器怎么能中继呢?
首先,您需要将域名服务器划分为各个层,每个层存储不同的信息和职责。
根DNS服务器:根DNS服务器是最顶级的DNS服务器,也是最重要的DNS服务器。所有根DNS服务器都知道所有顶级DNS服务器的域名和IP地址。一般情况下,根DNS服务器不直接将域名转换为IP地址(根DNS服务器不存储该信息),而是告诉本地DNS服务器下一步要搜索哪个顶级DNS服务器。世界上有13个根DNS服务器。
顶级域名服务器:管理在该顶级域名服务器上注册的所有二级域名。当接收到DNS查询请求时,会给出相应的答案(最终结果或接下来应该找到的DNS服务器的IP地址)。
域名服务器:负责分区内的域名服务器,保存分区内所有主机的域名到IP地址的映射关系。当域名服务器无法给出最终的查询答案时,发出查询请求的DNS客户端将被告知下一步查找哪一个域名服务器。
1. 每个DNS服务器都具有缓存功能。查看是否可以通过缓存中的域名进行ip地址解析。
2、任何有根域DNS服务器地址的DNS服务器,访问根域DNS服务器开始逐层查找,如:百度域名(www.baidu.com);
3.该任务指导管理员通过访问DNS服务器,查询顶级域名服务器的域名地址。
4. 访问顶级域名服务器,查询和管理“baidu.com”的权限。域名服务器地址解析ip地址;
5. 缓存域名对应的ip地址,返回给应用程序;
域名服务器
Internet主机域名结构如下:主机名。三级域名。二级域名。顶级域名
根域
URL www.baidu.com应该配置为www.baidu.com。当我们输入URL时,根字段被省略
公共顶级域
.com:表示商业机构
.cn:中国国家域名
.top:表示高端、顶级、职业突破、国际通用域名
.net:网络服务组织
.org:非营利组织
.gov:政府机构
.edu:教育机构
世界上有13个根DNS服务器。这13个根DNS服务器的名称从“A”到“M”,其中10个位于美国,英国、瑞典和日本各有一个。
根服务器主要用于管理互联网的主目录,全世界只有13台。
1个主根服务器,位于美国。其余12个是次要根服务器,其中9个位于美国,2个位于欧洲的英国和瑞典,1个位于亚洲的日本。
所有根服务器都由美国政府授权的互联网名称与数字地址分配机构(ICANN)管理,ICANN负责管理全球根服务器、域名系统和IP地址。
0
这些机器的管理单元、位置和最新IP地址如下表所示:
名称 | 管理单位及设置地点 | IP地址 |
A | INTERNIC.NET(美国,弗吉尼亚州) | 198.41.0.4 |
B | 美国信息科学研究所(美国,加利弗尼亚州) | 128.9.0.107 |
C | PSINet公司(美国,弗吉尼亚州) | 192.33.4.12 |
D | 马里兰大学(美国马里兰州) | 128.8.10.90 |
E | 美国航空航天管理局(美国加利弗尼亚州) | 192.203.230.10 |
F | 因特网软件联盟(美国加利弗尼亚州) | 192.5.5.241 |
G | 美国国防部网络信息中心(美国弗吉尼亚州) | 192.112.36.4 |
H | 美国陆军研究所(美国马里兰州) | 128.63.2.53 |
I | Autonomica公司(瑞典,斯德哥尔摩) | 192.36.148.17 |
J | VeriSign公司(美国,弗吉尼亚州) | 192.58.128.30 |
K | RIPE NCC(英国,伦敦) | 193.0.14.129 |
L | IANA(美国,弗吉尼亚州) | 198.32.64.12 |
M | WIDE Project(日本,东京) | 202.12.27.33 |
域名解析步骤
DNS协议的原始定义可以追溯到20世纪80年代末,在端口上使用UDP和TCP。
UDP通常用于查询和响应,TCP用于主服务器和从服务器之间的区域传输。不幸的是,能够保证在任何UDP实现中正常工作的最大数据包长度是512字节,这对于一些必须在每个数据包中包含数字签名的新DNS功能(例如DNSSEC)来说太小了。
512字节的限制还会影响根服务器的数量和名称。
为了使所有根服务器数据都包含在512字节的UDP包中,根服务器的数量被限制为13个,并且每个服务器使用字母表中的一个字母命名。
根据以太网的物理特性,以太网数据的长度必须在46 ~ 1500字节之间。
事实上,这1500字节是网络层IP数据包的长度限制。理论上,IP报文的最大长度为65535字节。
这受限于IP报头的总长度为16位,不包括20字节的IP报头和8字节的UDP报头,UDP报文中数据的最大长度为65507字节。
在互联网数据传输中,UDP数据长度被限制为576字节(互联网标准MTU值),而在许多UDP应用程序设计中,数据包被限制为512字节或更小。这样可以防止丢包。
许多解析器首先发送UDP查询,如果接收到截断的响应,则使用TCP重新发送查询。
这个过程绕过了512字节的限制,但是效率很低。您可能认为DNS应该避免UDP而总是使用TCP,但是TCP连接要昂贵得多。
UDP名称服务器交换可以短到两个数据包:一个查询数据包和一个响应数据包。TCP交换至少包含7个数据包:启动TCP会话的三次握手、查询数据包、响应数据包和关闭连接的最后一次握手。
本文主要介绍了关于域名服务器ip地址查询(DNS服务器解析域名查询IP地址原理)的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://seotea.com/article/1439104.html