简述DNS域名服务系统的工作原理
dns
是将网址解析成ip地址的一种服务,我们都知道服务器的地址是1211111125(ipv4由于现在的ip段不够用新增加了ipv4但是原理相同)这种方式的但是这种很难记忆,于是就但是了域名,把域名和ip绑定在一起,但是我们输入域名肯定找不到服务器,所以就会有一种东西帮助在中间转换,将域名转换成ip地址!dns一般由本地的通信商(电信、网通、铁通等)负责架设dns服务器负责转换这写网址成ip地址进而访问目标服务器!然后返回数据到本地!想要修改dns
的话可以分为2种情况:1修改本机的dns可以修改c:\windows\system32\drivers\etc\hosts这个文件来实现,前面ip地址+空格+网址这样你在本机输入这个网址就会直接跳转到对应的ip地址不再经过通信商!(hosts这个文件必须去掉只读属性才能修改)2修改网络dns方法右键网上邻居-属性-本地连接-属性-internet协议(tcp/ip)然后修改dns和备用dns即可(dns在哪获得?在网上搜索各地dns即可不一定是本地的)由于域名解析不是实时生效的所以人们用这两种方法来加速解析生效!
这些都是本人手打的并非抄袭,看着给点分吧
一、简述dns
DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议;
作用:人得记忆有限,如果没有dns得记下多少IP地址;从网络来说由于tcp/ip协议族是基于ip地址,所以需要一个翻译器即DNS;可以1对多也可以多对1,那么正向解析即域名解析为ip地址,反向解析即ip地址解析为域名。有人说DNS就是一个本大得电话本,说的挺贴切。
正反向解析事两个不同得名称空间,是两颗不同得解析树;
正向:ip---》主机名
反向:主机名---》ip
当今得业界标准BIND(berkeley internet name domain)dns软件
二、DNS域名
1)DNS是一个倒挂树结构示意图如下
2)按照功能命名得五个类别介绍
根域:DNS域名中使用时,规定由尾部据点()来指定名称位于根域或更高级别得域层次结构,()
顶级域:TDL(TOP LEVEL DOMAIN)用来只是某个国家地区或组织使用得类型,例如(com)
二级域:个人或组织在internet上使用得注册名称,例如163com
子域:已经注册二级域名派生得域名,就是网站名,例如www163com
主机名:通常情况下,DNS域名得最左侧得标签表示网络上得特定计算机,如www,mail,zhidao
名称服务器:域内负责解析本域内的名称的主机
根服务器:13组服务器
3)dns和internet域
互联网域名系统有名称注册机构负载维护分配有组织和国家/地区得顶级域在internet上进行管理。国际标准3166。
常见得DNS域名
com,商业公司
edu,教育机构
net,网络公司
gov,非军事政府机构
mil,军事政府机构
cn,代表中国
三、DNS服务器类型
主DNS服务器
从DNS服务器 (可以是多个提供容错)
缓存DNS服务器(转发器)
主DNS服务器:管理和维护所负责解析的域内解析库的服务器
从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
1)复制操作的方式
序列号serial:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔refresh:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔retry:从服务器请求同步失败时,再次尝试时间间隔
过期时长expire:从服务器始终联系不到服务器时,多久后放弃从服务器角度,停止提供服务
否定答案的缓存时长;minimum
”通知“机制:主服务器解析库发送变化时,会主动通知从服务
2)区域传送
完全传输axfr:传送整个解析库
增量传输lxfr:传递解析库变化的那部分内容
3)区域(zone)和域(domain)
Domain:FQDN
正向:FQDN->IP
反向:IP->FQDN
各需要一个解析库来分别负责本地域名的的正向和反向解析库
正向区域
反向区域
FQDN:fullqualified domain name 完全限定域名
如:wwwbaiducom
四、DNS查询解析
我们在浏览器访问wwwbaiducom这个域名,dns怎么查询到这台主机那?
1、在浏览器中输入wwwbaiducom域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个ip地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则会查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析记过给客户端,完成域名解析,此解析具有权威性。
4、如果要查询域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责com域的这台服务器。这台负责com域的服务器收到请求后,如果自己无法解析,它就会找一个管理com域的下一级DNS服务器地址(baiducom)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baiducom域服务器,重复上面的动作,进行查询,直至找到wwwbaiducom主机。
6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。不管是本地DNS服务器用是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
DNS
是计算机域名系统
(Domain
Name
System
或Domain
Name
Service)
的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定只对应一个域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。在Internet上域名与IP地址之间是一对一(或者多对一)的,也可采用DNS轮询实现一对多,域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS
命名用于
Internet的
TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入
DNS
名称时,DNS
服务可以将此名称解析为与之相关的其他信息,如
IP
地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
呀,兄弟,你的问题挺强啊?
我大致说一下我自己的理解吧。
当一台计算机建域以后,其他计算机加入此域的时候就是这个域里的域成员,建域的计算机就是域控制器,起到管理其他计算机的作用。
域控制器就就是依靠域名管理其他用户和计算机的;就像在教室里的老师通过名单管理学生一样,域名系统就是那个名单。
当一台计算机加入到域里时,域控制器就会为此计算机建立一和本计算机名相同的用户,但是计算机名会有重复,所以此时DNS服务器遍发挥了作用。它会为每一个加入此域的计算机“安排”一个ip地址,就像每个学生的学号一样,用以区别身份。当别人想访问其中的一台计算机时,他会先访问到他的ip,于是访问者就会向DNS服务器询问:"ip地址xxxxxxxxxxxx是谁,在哪?"于是DNS服务器会告诉访问者所访问的计算机的位置,于是就可以访问了。
你可以去看看 台湾的戴有炜写的《Windows Sever 2003 Active Directory 配置指南》
DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制。其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。
下面对DNS的工作流程及原理进行简要说明
DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts;若无结果,则client查看本地的DNS缓存服务器;若无结果,则查找所属域的首选DNS服务器;若此时本地首选DNS服务器仍无法解析,则会想根域名服务器进行查询或选择转发解析请求。
DNS的查询规则:递归式查询,即client向支持递归查询的DNS Server发出解析请求,则自DNS服务器不论是自身直接解析还是无法解析想根发出请求,总会由其向client返回一个结果;迭代式查询,即接收client解析请求的DNS Server,若其能够解析则直接返回结果,若其不能解析将把解析请求交给其他DNS服务器,而不是自己亲自将解析过程完成。
所谓的“根”服务器:根服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。
DNS记录的类型:
A:Address 域名向ip地址转换的记录;
PTR:Printer ip地址向域名转换的记录;
NS:代表域内的dns服务器;
MX:代表域内的邮件服务器;
CNAME:域名的别名;
SOA:start of authority用于标示域内主DNS服务器。
提供DNS服务的软件:BIND即Berkeley Internet Name Domain有加州大学伯克利分校研发是当今提供dns服务应用最广的软件。
下面让我们进入正题,以下内容包括:DNS的缓存服务器、主/从服务器、子域授权、转发以及视图的配置步骤。
DNS缓存服务器
Ps:为了更好的体会和理解dns的配置文件和域解析文件,作者在此只安装bind包,以手动编辑的方式生成这几个必须的文件。
1安装bind包
yum install bind
2创建住配置文件/etc/namedconf
options {
directory "/var/named"; #告知工作目录
};
zone “” IN {
type hint; #声明根域
file "namedca"; #根信息存放文件
};
zone "localhost" IN { #本地正解定义
type master; #类型为master
file "localhostzone"; #正解文件名
};
zone "00127in-addrarpa" IN { #本地反解定义
type master;
file "namedlocal"; #反解文件名
};
chown :named /etc/namedconf
#修改属组给named
3创建3个解析文件
namedca
dig -t NS > /var/named/namedca
#向跟服务器发起查询并重定向到目标文件
localhostzone
vim localhost zone
$TTL 86400
#默认的ttl值
@ IN SOA localhost adminlocalhost (
#主DNS服务器localhost
2011081601
#时间+序列号01
1H
#刷新时间:每隔多久来master查询更新
10M
#重试时间间隔
7D
&n
中文域名实现原理
浏览器里输入“中文什么”后执行,相关插件或IE7把“中文什么”按“什么”来分类,转到相应的服务器,服务器根据对应的逻辑转化“中文”为编码,编码再转化为对应ip,即实现中文域名到ip的访问。当“什么”部分为字母的时候,IE指令首先会被转向相应的域名根服务器或所管辖的服务器,再有由这些服务器把“中文”转向相应的服务器处理,最终指向指定ip,实现访问。
域名服务器即DNS,全称是Domain Name Server,一种程序,它保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。
域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
把域名翻译成IP地址的软件称为域名系统,即DNS。它是一种管理名字的方法。这种方法是:分不同的组来负责各子系统的名字。系统中的每一层叫做一个域,每个域用一个点分开。所谓域名服务器(即Domain Name Server,简称Name Server)实际上就是装有域名系统的主机。它是一种能够实现名字解析(name resolution)的分层结构数据库。
域名解析:
在你注册域名并购买了主机服务后,你需要将域名解析到所购买的主机上,才能看到网站内容。在绝大部分情况下,更改了域名的DNS域名服务器后,并不能马上看到网站内容,而是要过几个小时,甚至一两天才能打开你的网站。
要明白为什么域名解析需要这么长时间,就需要了解域名解析过程和DNS服务器的作用。
互联网上的每一台电脑都被分配一个IP地址,数据的传输实际上是在不同IP地址之间进行的。包括我们在家上网时使用的电脑,在连上网以后也被分配一个IP地址,这个IP地址绝大部分情况下是动态的。也就是说你关掉调制解调器,在重新打开上网,你的上网接入商会随机分配一个新的IP地址。
网站服务器本质上也是台连上网的电脑,只不过配置上更适合作为服务器,并且放在数据中心,保持低温,低尘环境,同时有安全保卫。这些服务器使用固定IP地址连入互联网。
一个域名解析到某一台服务器上,并且把网页文件放到这台服务器上,用户的电脑才知道去哪一台服务器获取这个域名的网页信息。这是通过域名服务器来实现的。
域名服务器是英文Domain Name Server的缩写。每一个域名都至少要有两个DNS服务器,这样如果其中一个DNS服务器出现问题,另外一个也可以返回关于这个域名的数据。DNS服务器也可以有两个以上,但所有这些DNS服务器上的DNS记录都应该是相同的。
在DNS服务器中保留有该域名的DNS记录,比如A记录,MX记录。A记录是用来指定主机名(或域名)对应的IP地址。MX记录用来解析域名的邮件服务器。在很多情况下。
当一个浏览者在浏览器地址框中打入某一个域名,或者从其他网站点击了链接来到了这个域名,浏览器向这个用户的上网接入商发出域名请求,接入商的DNS服务器要查询域名数据库,看这个域名的DNS服务器是什么。然后到DNS服务器中抓取DNS记录,也就是获取这个域名指向哪一个IP地址。在获得这个IP信息后,接入商的服务器就去这个IP地址所对应的服务器上抓取网页内容,然后传输给发出请求的浏览器。
这个过程描述起来满复杂,但实际上不到一两秒钟就完成了。
之所以域名解析需要很长时间,是因为上网接入商,比如北京电信,河南电信等,为了要加速用户打开网页的速度,通常在他们的DNS服务器中缓存了很多域名的DNS记录。这样这个接入商的用户要打开某个网页时,接入商的服务器不需要去查询域名数据库,而是把自己缓存中的DNS记录直接使用,从而加快用户访问网站的速度。这是优点。
缺点是上网接入商ISP的缓存会存储一段时间,只在需要的时候才更新,而更新的频率没有什么标准。有的ISP可能1小时更新一次,有的可能长达一两天才更新一次。
所以新注册的域名一般来说解析反倒比较快。因为所有的ISP都没有缓存,用户访问时ISP都是要查询域名数据库,得到最新的DNS数据。
而老域名如果更改了DNS记录,但世界各地的ISP缓存数据却并不是立即更新的。这样不同ISP下的不同用户,有的可以比较快的获取新的DNS记录,有的就要等ISP缓存的下一次更新。
最后要说明的一点是,DNS服务器和网页服务器可以是同一个提供商提供的,也可以是不同的。通常虚拟主机提供商也提供自己的DNS服务器,这样用户只要把自己的域名指向虚拟主机提供商自己的域名服务器就可以了。有的用户喜欢使用域名注册服务商提供的DNS服务器,这时候用户就要在域名注册商的DNS服务器中更改DNS记录,如A,MX记录等到虚拟主机提供商的IP地址。
DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系解析找到相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
在IPV4中IP是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的IP地址,其范围是在1~255之间。因为,8个二进制数转化为十进制数的最大范围就是1~255。现在已开始试运行、将来必将代替IPV6中,将以128位二进制数表示一个IP地址。
大家都知道,当我们在上网的时候,通常输入的是如:wwwsinacomcn这样子的网址,其实这就是一个域名,而我们计算机网络上的计算机彼此之间只能用IP地址才能相互识别。再如,我们去一WEB服务器中请求一WEB页面,我们可以在浏览器中输入网址或者是相应的IP地址,例如我们要上新浪网,我们可以在IE的地址栏中输入:wwwsinacomcn也可输入这样子2183066101的IP地址,但是这样子的IP地址我们记不住或说是很记住,所以有了域名的说法,这样的域名会让我们容易的记住。
DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。
DNS:Domain Name Server 域名服务器 域名虽然便于人们记忆,但网络中的计算机之间只能互相认识IP地址,它们之间的转换工作称为域名解析(如上面的wwwsinacomcn与2183066101之间的转换),域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器
DNS的工作原理
DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。
DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。
在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录在快取缓存区中,这样当下一次还有另外一个客户端到次服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:
当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,服务器首先会才会向别的名称服务器查询所要的名称。例如:
DNS客户端向指定的DNS服务器查询网际网路上某台主机名称,当DNS服务器在该资料记录找不到用户所指定的名称时,会转向该服务器的快取缓存区找寻是否有该资料 ,当快取缓存区也找不到时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS服务器在接收到另一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端 。
范例
我们举例说明,假设我们要查询网际网路上的一个名称为wwwtestcomcn,从此名称我们知道此部主机在中国CN,而且要找的组织名称testcomcn此网域下的www主机,以下为名称解析过程的每一步骤。
《Step 1》在DNS的客户端(Reslover)键入查询主机的指令,如:
c:\ping wwwtestcomcn
pinging wwwtestcomcn 192728036with 32bytes of data
reply from 192728036 bytes time <10ms ttl 253
《Step 2》而被指定的DNS服务器先行查询是否属于该网域下的主机名称,如果查出改主机名称并不属于该网域范围,之后会再查询快取缓存区的纪录资料,查是否有此机名称。
《Step 3》查询后发现缓存区中没有此纪录资料,会取得一台根网域的其中一台服务器,发出说要找wwwtestcomcn的Request。
《Step 4》在根网域中,向Root Name Server询问,Root Name Server记录了各Top Domain分别是由哪些DNS Server负责,所以他会响应最接近的Name Server为控制CN网域的DNS伺服主机。
《Step 5》Root Name Server已告诉Local DNS Server哪部Name Server负责cn这个Domain,然后Local DNS再向负责发出找寻wwwtestcomcn的名称Request。
《Step 6》在cn这个网域中,被指定的DNS服务器在本机上没有找到此名称的的纪录,所以会响应原本发出查询要求的DNS服务器说最近的服务器在哪里?他会回应最近的主机为控制comcn网域的DNS伺服主机。
《Step 7》原本被查询的DNS服务器主机,收到继续查询的IP位置后,会再向comcn的网域的DNS Server发出寻找wwwtestcomcn名称搜寻的要求。
《Step 8》comcn的网域中,被指定的DNS Server在本机上没有找到此名称的记录,所以会回复查询要求的DNS Server告诉他最接近的服务器在哪里?他就回应最接近为控制testcomcn的网域的DNS主机。
《Step 9》原本被查询的DNS Server,在接收到应继续查询的位置,在向testcomcn网域的DNS Server发出寻找wwwtestcomcn的要求,最后会在testcomcn的网域的DNS Server找到wwwtestcomcn此主机的IP。
《Step 10》所以原本发出查询要求的DNS服务器,再接收到查询结果的IP位置后,响应回给原查询名称的DNS客户端。
两种真正DNS的查询模式
有两种询问原理,分为Recursive和Interactive两种。前者是由DNS代理去问,问的方法是用Interactive方式,后者是由本机直接做Interactive式的询问。由上例可以看出,我们一般查询名称的过程中,实际上这两种查询模式都是交互存在着的。
递归式(Recursive):DNS客户端向DNS Server的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。
交谈式(Interactive):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来告诉你最接近的IP位置,然后再到此最接近的IP上去寻找所要解析的名称,反复动作直到找到正确位置
0条评论