DNS系统的作用:
正向解析:根据主机名称(域名)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名将域名解析为IP地址
解析过程:
– 客户机向DNS服务器发送域名查询请求
– DNS服务器告知客户机Web服务器的IP地址
– 客户机与Web服务器通信
解析方式:
递归解析:客户端(解析器)可以从名称服务器中请求递归应答。这意味着解析器期望服务器提供最终答案。如果服务器是这一域名的授权者,它会检查它的数据库并做出响应。如果服务器不是授权者,它会把请求发送给其他服务器(通常是父服务器),并等待响应。如果父服务器是授权者,它就做出响应。否则它仍把查询发送给其他服务器。当查询最终得到解析后,响应就回溯知道最终到达发出请求的客户端。这就是递归解析(recursiveresolution),
迭代解析:如果客户端没有请求递归查询,则映射以迭代的形式完成。如果服务器是名称的授权者,则它发送应答; 反之,它会返回一个它认为能够解析该查询的服务器的IP地址(给客户端),由客户端负责向第二台服务器重复发送请求。如果新的地址解析服务器能够解析这一问题, 那么就用IP地址响应这一请求。否则,它再向客户端返回新的地址解析服务器的IP地址。这时,客户端必须向第三台服务器重复该请求。 这一过程称为迭代解析(iterative resolution),
DNS查询类型:
从查询方式上分:
递归查询
要么做出查询成功响应,要么作出查询失败的响应
迭代查询
以最佳结果作答
从查询内容上分
正向查询由域名查找IP地址
反向查询由IP地址查找域名
DNS 同时占用了 UDP 和 TCP 的 53 端口,但是大多数情况下,DNS 查询都只使用到了 UDP,而 TCP 只在一些特殊情况下才会被使用到。
DNS 使用 TCP 的情况,只有两种:
1.DNS 查询响应报文大于 512 字节时。DNS 响应报文大于 512 字节,通过 TC 标记为截断是,才会使用 TCP 重新查询一遍。
2.DNS 主、辅助服务器之间,进行区域传送时。 DNS 主服务器和辅助服务器之间,进行区域传送时,为了保证稳定以及传输数据太大的原因,也会使用 TCP 协议传输。
DNS 查询和响应,通常都在广域网上通信,对于 DNS 客户端,保证好的重传和超时机制,就显得尤为重要了。
四、DNS 迭代和递归查询
1、工作方式上的区别
递归查询是域名服务器将代替提du出请求的客户zhi机(下级DNS服务器)进行域名查询,若dao域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机。
迭代查询是能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机 地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询。
2、使用上的区别
一般由DNS工作站提出的查询请求便属于递归查询。一般发生在客户端与服务器间,也有特殊情况是dns服务器与dns服务器之间。
根域名服务器总应该使用迭代查询,而不应该使用递归查询。一般的,每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。
3、查询状态上的区别
递归查询,在域名服务器查询期间,客户机将完全处于等待状态。
迭代查询是直到服务器给出的提示中包含所需要查询的主机地址为止。
五、DNS Proxy - DNS 代理
DNS 代理(DNS proxy)用来在DNS client 和DNS server 之间转发DNS 请求和应答报文,代替DNS Server 进行域名解析。
DNS proxy 工作机制如下:
DNS client 把DNS代理设备当作DNS server,将DNS 请求报文发送给DNS Proxy设备,即请求报文的目的地址为DNS proxy 的IP 地址。
DNS Proxy设备收到请求报文后,首先查找本地的静态域名解析表,如果静态域名解析表中存在请求的信息,则DNS Proxy设备直接通过DNS 应答报文,将域名解析结果返回给DNS client。
如果静态域名解析表中没有请求的信息,则DNS Proxy设备将报文转发给DNS server,通过DNS Server 进行域名解析。
DNS Proxy设备收到DNS server 的应答报文后,将报文转发给DNS client。DNS client 利用域名解析的结果进行相应的处理。
总结:
我们都知道主机IP地址,是在网络通信过程中对我们主机的身份的标识。可是我们实现这个功能确是通过ARP协议来实现的,通过ARP协议我们可以从IP地址解析出我们主机的MAC地址(注意MAC地址从出厂的时候就被固定在我们的机器里面而且是全球唯一的,所以他能唯一标定我们的主机)。
同样的我们的IP地址,也可通过DNS域名解析服务来和相应的域名之间相互转换。他们之间的关系如下图所示:
DDNS(Dynamic Domain Name Server,动态域名服务)
是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
服务原理
动态域名解析(Dynamic DNS,简称DDNS)是把互联网域名指向可变IP地址的系统。DNS只是提供了域名和IP地址之间的静态对应关系,当IP地址发生变化时,DNS无法动态的更新域名和IP地址之间的对应关系,从而导致访问失败。但是DDNS系统是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络时,客户端程序通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,实现动态域名解析。
DDNS用来动态更新DNS服务器上域名和IP地址之间的对应关系,从而保证通过域名访问到正确的IP地址。很多机构都提供了DDNS服务,在后台运行并且每隔数分钟来检查电脑的IP地址,如果IP发生变更,就会向DNS服务器发送更新IP地址的请求。
服务作用
1、ISP大多提供动态IP(如拨号上网),我们若想在网际网络上以自己的网域公布,DDNS提供了解决方案,它可以自动更新用户每次变化的浮动IP,然后将其与网域相对应,这样其他上网用户就可以透过网域来交流了。
2、DDNS可以让我们在自己的或家里架设WEB\MAIL\FTP等服务器,而不用花钱去付虚拟主机租金。(前提是你可以承受ADSL上传的速率)
3、主机是自己的,空间可根据自己的需求来扩充,维护也比较方便。有了网域与空间架设网站,FTP 服务器、EMAIL服务器都不成问题。
4、如果有对VPN的需求,有了DDNS就可以用普通上网方式方便地建立Tunnel。透过网域的方式连结,实现远端管理、远端存取、远端打印等功能。
组网原理
DDNS的典型组网环境如图1所示,DDNS采用客户端/服务器模式。
DDNS客户端
DDNS客户端需要动态更新域名和IP地址对应关系的设备。Internet用户通常通过域名访问提供应用层服务的服务器,如HTTP、FTP服务器。为了保证IP地址变化时,仍然可以通过域名访问这些服务器,当服务器的IP地址发生变化时,它们将作为DDNS客户端,向DDNS服务器发送更新域名和IP地址对应关系的DDNS更新请求。
DDNS服务器
DDNS服务器负责通知DNS服务器动态更新域名和IP地址之间的对应关系。接收到DDNS客户端的更新请求后,DDNS服务器通知DNS服务器重新建立域名和IP地址之间的对应关系。从而保证即使DDNS客户端的IP地址改变,Internet用户仍然可以通过同样的域名访问DDNS客户端。
DDNS客户端向 DDNS服务器发送TCP连接请求,如果连接建立成功,则向DDNS服务器发送 DDNS更新请求,并统计发送 DDNS 更新请求报文的次数;
DDNS服务器收到DDNS 客户端发送过来的DDNS更新请求后,通知DDNS服务器进行域名更新,并且向 DDNS客户端发送应答报文。
DDNS是什么?
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上。简单的说,是用固定的域名绑定了变化的公网IP,或将固定域名解析到了本地最新公网IP地址上的一种服务。
DNS与DDNS的区别:
DNS只能用于固定公网IP的网络环境场景。DDNS同时可用于动态变化公网IP和固定公网IP。
DNS 是一种协议,负责解析域名对应的IP地址
DDNS,是一个Server程序,负责更新域名和动态的IP地址对应关系
DNS的用途使用场景:
1,上网使用。如自己本地电脑上网需要用到。一般是默认生效并使用了本地路由配置的。如遇到上网不稳定等场景时,可以自行设置定义一个(三方)公共DNS地址使用。操作方法是,在本地网络连接IPV4属性里面,修改DNS地址,如使用电信公共DNS地址114.114.114.114。
2,自己域名指向使用。当自己注册了域名后,需要用到域名解析,如将自己www子域名解析到自己公网IP或空间时,登录自己注册域名解析商网站设置后台添加一个DNS域名解析记录,将域名指向对应服务器地址空间使用。
DDNS的使用场景:
1,获取(或查询)本地最新公网IP地址。如可以直接访问http://ddns.nat123.com等动态域名解析服务进行查看。
2,解决本地公网IP不固定搭建服务器的问题。在本地安装并登录nat123客户端,添加一个动态域名解析记录。即可将用固定的域名(代替本地变化公网IP)进行在外网访问。
无公网IP时,内网映射外网方法:
只要可以上网,即可以搭建服务器,并发布外网。内网安装并登录nat123客户端,添加一个内网映射记录。将内网IP地址和内网端口,绑定到一个域名地址上。可以直接用自动生成免费域名,或自己域名。映射保存后即可以在任意网通过域名进行访问对应内网应用服务器。
dig(域信息搜索器)命令是一个用于询问 DNS 域名服务器的灵活的工具。它执行 DNS 搜索,显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断,因为它灵活性好、易用、输出清晰。虽然通常情况下 dig 使用命令行参数,但它也可以按批处理模式从文件读取搜索请求。
1.查找sjtu.edu.cn的A记录:(此处一定是域而不是主机IP地址)
2.dig sjtu.edu.cn A +noall +answer
3.查找sjtu.edu.cn的MX(邮件交换)记录:
4.dig sjtu.edu.cn MX +noall +answer
5.查找sjtu.edu.cn的权威记录:
6.dig sjtu.edu.cn NS +noall +answer
7.查询上面所有的记录:
dig sjtu.edu.cn ANY +noall +answer (建议不要一次全部查询,太杂)
8.在现在这种IPv4和IPV6混用的情况下,你也可以使用AAAA的选项查询主机的IPv6 AAAA记录:
dig www.sjtu.edu.cn (AAAA ipv6)/(A ipv4) +short +[no]short(除short外不显示任何内容(答覆形式)
9.当需要快速回答时,+short选项最简洁
命令行中添加+short的作用:显示最精简查询
[root@localhost ~]# dig +noall +answer www.baidu.com cname --------------- +noall +answer 简洁的回复查询信息
www.baidu.com. 5 IN CNAME www.a.shifen.com.