根服务器是什么?,第1张

1、全球共有13台根逻辑域名服务器。这13台逻辑根域名服务器中名字分别为“A”至“M”,真实的根服务器在2014年1月25日的数据为386台,分布于全球各大洲。

2、根域名服务器是架构因特网所必须的基础设施。在国外,许多计算机科学家将根域名服务器称作“真理”(TRUTH),足见其重要性。换句话说——攻击整个因特网最有力、最直接,也是最致命的方法恐怕就是攻击根域名服务器了。

3、在根域名服务器中虽然没有每个域名的具体信息,但储存了负责每个域(如COM、NET、ORG等)的解析的域名服务器的地址信息,如同通过北京电信问不到广州市某单位的电话号码,但是北京电信可以告诉去查020114。世界上所有互联网访问者的浏览器都将域名转化为IP地址的请求(浏览器必须知道数字化的IP地址才能访问网站)理论上都要经过根服务器的指引后去该域名的权威域名服务器(authoritative name server) ,当然现实中提供接入服务的ISP的缓存域名服务器上可能已经有了这个对应关系(域名到IP地址)的缓存。

有。

中国的根服务器有1主3辅,主根服务器在北京,三台辅根分别在上海、成都、广州。

2019年6月,工信部同意中国互联网络信息中心设立域名根服务器及运行机构。12月6日,工信部已批复同意中国信息通信研究院设立域名根服务器及域名根服务器运行机构,同时要求其严格遵守相关法律法规、行政规章及行业管理规定,接受工信部的管理和监督检查。

现在世界上一共有13个根域名服务器,10个在美国,2个在欧洲,1个在日本。而中国只有3个根域名镜像服务器。

根域名镜像服务器之所以多了“镜像”二字,是因为DNS解析的结果最终还会汇总到根域名服务器上,也就是说中国一天没有根域名服务器,无论再多多少镜像服务器,提高也只是网民访问网页的速度,安全问题得不到彻底解决,拥有10个根域名服务器的美国照样可以根据得到中国互联网DNS解析的相关数据,这对中国的国家安全是非常大的威胁。

而为什么不能在中国增加第14个根域名服务器呢?

为了增加反应速度,网页访问的申请都是由一个数据包所完成的,而一个数据包的长度为256b,这就决定了一个数据包只能有13个块,这就从根本上限制了根域名服务器的数量,也就是说根域名服务器只能有13个。

如果中国要拥有自己的根域名服务器只有两个,一是从现在有根域名服务器的国家移植,二是改变网页访问的申请由一个数据包完成的现状。移植不可能,因为美国不会给,别的国家也不富裕。改变一个数据包的技术模式更不可能,因为牵扯范围和技术变动太大,不现实。

所以,现在中国不会有自己的根域名服务器,除非哪天互联网的底层支持技术发生彻底革命。

IPV6只能解决中国码号资源问题(最新数据,中国网民已经激增到15亿,IPV4码号资源只有1亿,这也是中国采用动态IP最根本的原因),国家安全问题还要靠其他的附加技术实现。

这个问题还是需要一定的只是储备量的,还好的是,我是个学计算机的,这方面还是多多少少懂一些的,不过也只是皮毛,上学的时候没有好好学习。接下来我就把我所知道的内容分享给大家,希望能够有所帮助。

什么是跟服务器和域名

所谓根服务器和域名解析有个很好的对比例子:比如你要去找一个人的身份证和名字的对应关系,首先你去派出所查本地人口,查不到就去分局、再去市局、省厅、直到公安部。这时候公安部的户籍信息,就是人口信息的根,大致如此。简单来说:根服务器就是域名解析系统中最上层的服务器,对最终域名解析进行服务。我觉得换成这样我们生活中常见的更好理解。

域名解析

这个从域名访问到找出对应的IP地址的过程就是DNS,即域名解析,完成域名解析的服务器就是域名解析服务器,借用百度上的一张图来看下这个过程,域名区域是按照区域来完成的,区域由小区域和大区域组成,如果需要访问全球的域名,才需要。

区域解析和根服务器那么全球的域名解析服务器是怎么分布的呢,为了保证域名解析的正确和有效性,Internet协会把全球分成了3个区域:美国网络信息中心(负责美国及其他地区)、欧洲网络信息中心(负责欧洲地区)、日本网络信息中心(负责亚洲地区),这3个地区共13台服务节点来处理全球的域名解析服务,这13个节点就是域名解析的最顶级的根服务器。

但在实际的运行过程中,大量的域名解析不需要在最定级的根服务器完成,比如中国网络信息中心具有国内所有域名的对应信息,这个时候中国网络信息中心就可以完成国内服务器域名解析服务,是国内节点的根服务器。所以根服务器带有区域属性。全球 13 组根域名服务器中有 10 组在美国,意味着什么

所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。 这13台根服务器可以指挥Firefox或互联网 Explorer这样的Web浏览器和电子邮件程序控制互联网通信。由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符(如法国的.fr、挪威的.no等),美国政府对其管理拥有很大发言权。 互联网在中国起步比较晚,没有核心技术,如果美国切断中国服务,中国就不能和世界各地交流,但是国内还是可以通信的。

总结:说白了,根域名服务器是一切通信的根本所在,切断了它也就切断了通信,显而易见的,一共13组,10组在美国,对我们意味着什么?意味着如果美国我们的通信主导权掌握在美国手里。

DNS也叫网域名称系统,是互联网的一项服务。它实质上是一个域名和IP相互映射的分布式数据库,有了它,我们就可以通过域名更方便的访问互联网。

DNS特点有分布式的,协议支持TCP和UDP,常用端口是53,每一级域名的长度限制是63,域名总长度限制是253。

最早的时候,DNS的UDP报文上限大小是512字节,所以当某个response大小超过512(返回信息太多),DNS服务就会使用TCP协议来传输。后来DNS协议扩展了自己的UDP协议,DNS client发出查询请求时,可以指定自己能接收超过512字节的UDP包,这种情况下,DNS还是会使用UDP协议。

分层的数据库结构:

DNS的结构跟Linux文件系统很相似,像一棵倒立的树。下面用站长之家的域名举例:最上面的是根域名,接着是顶级域名,再下来是站长之家域名chinaz依次类推。使用域名时,从下而上。stoolchinaz就是一个完整的域名,wwwchinaz也是。

之所以设计这样复杂的树形结构,是为了防止名称冲突。这样一棵树结构,当然可以存储在一台机器上,但现实世界中完整的域名非常多,并且每天都在新增、删除大量的域名,存在一台机器上,对单机器的存储性能就是不小的挑战。

另外,集中管理还有一个缺点就是管理不够灵活。可以想象一下,每次新增、删除域名都需要向中央数据库申请是多么麻烦。所以现实中的DNS都是分布式存储的。

根域名服务器只管理顶级域,同时把每个顶级域的管理委派给各个顶级域,所以当你想要申请下的二级域名时,找域名注册中心就好了。二级域名,再向下的域名就归你管理了。

当你管理http://chinaz的子域名时,你可以搭建自己的nameserver,在注册中心把//chinaz的管理权委派给自己搭建的nameserver。自建nameserver和不自建的结构图如下:

一般情况下,能不自建就不要自建,因为维护一个高可用的DNS也并非容易。据我所知,有两种情况需要搭建自己的nameserver:

搭建对内的DNS。公司内部机器众多,通过ip相互访问太过凌乱,这时可以搭建对内的nameserver,允许内部服务器通过域名互通。公司对域名厂商提供的nameserver性能不满意。

虽然顶级域名注册商都有自己的nameserver,但注册商提供的nameserver并不专业,在性能和稳定性上无法满足企业需求,这时就需要企业搭建自己的高性能nameserver,比如增加智能解析功能,让不同地域的用户访问最近的IP,以此来提高服务质量。

概括一下DNS的分布式管理,当把一个域委派给一个nameserver后,这个域下的管理权都交由此nameserver处理。这种设计一方面解决了存储压力,另一方面提高了域名管理的灵活性。

顶级域名像这样的顶级域名,由ICANN严格控制,是不允许随便创建的。顶级域名分两类:通用顶级域名,国家顶级域名。

通用顶级域名常见的如、org、edu等,国家顶级域名如我国的cn,美国的us。一般公司申请公网域名时,如果是跨国产品,应该选择通用顶级域名。

如果没有跨国业务,看自己喜好(可以对比各家顶级域的服务、稳定性等再做选择)。这里说一下几个比较热的顶级域,完整的顶级域参见维基百科。

meme顶级域其实是国家域名,是黑山共和国的国家域名,只不过它对个人开发申请,所以很多个人博主就用它作为自己的博客域名。

io很多开源项目常用io做顶级域名,它也是国家域名。因为io与计算机中的input/output缩写相同,和计算机的二机制10也很像,给人一种geek的感觉。相较于域名,io下的资源很多,更多选择。

DNS解析流程:

聊完了DNS的基本概念,我们再来聊一聊DNS的解析流程。当我们通过浏览器或者应用程序访问互联网时,都会先执行一遍DNS解析流程。

标准glibc提供了libresolvso2动态库,我们的应用程序就是用它进行域名解析(也叫resolving)的,它还提供了一个配置文件/etc/nsswitchconf来控制resolving行为,配置文件中最关键的是这行:

hosts:files dns myhostname。

它决定了resolving的顺序,默认是先查找hosts文件,如果没有匹配到,再进行DNS解析。默认的解析流程如下图:

上图主要描述了client端的解析流程,我们可以看到最主要的是第四步请求本地DNS服务器去执行resolving,它会根据本地DNS服务器配置,发送解析请求到递归解析服务器(稍后介绍什么是递归解析服务器),本地DNS服务器在/etc/resolvconf中配置。下面我们再来看看服务端的resolving流程:

我们分析一下解析流程:

客户端向本地DNS服务器(递归解析服务器)发出解析//toolchinaz域名的请求,本地dns服务器查看缓存,是否有缓存过//toolchinaz域名,如果有直接返回给客户端;如果没有执行下一步。

本地dns服务器向根域名服务器发送请求,查询顶级域的nameserver地址,拿到域名的IP后,再向 nameserver发送请求,获取chinaz域名的nameserver地址。

继续请求chinaz的nameserver,获取tool域名的地址,最终得到了//toolchinaz的IP,本地dns服务器把这个结果缓存起来,以供下次查询快速返回。

本地dns服务器把把结果返回给客户端,递归解析服务器vs权威域名服务器,我们在解析流程中发现两类DNS服务器,客户端直接访问的是递归解析服务器,它在整个解析过程中也最忙。它的查询步骤是递归的,从根域名服务器开始,一直询问到目标域名。

递归解析服务器通过请求一级一级的权威域名服务器,获得下一目标的地址,直到找到目标域名的权威域名服务器,简单来说:递归解析服务器是负责解析域名的,权威域名服务器,是负责存储域名记录的。

递归解析服务器一般由ISP提供,除此之外也有一些比较出名的公共递归解析服务器,如谷歌的8888,联通的114,BAT也都有推出公共递归解析服务器,但性能最好的应该还是你的ISP提供的,只是可能会有DNS劫持的问题。

缓存,由于整个解析过程非常复杂,所以DNS通过缓存技术来实现服务的鲁棒性。当递归nameserver解析过//toolchianaz域名后,再次收到//toolchinaz查询时,它不会再走一遍递归解析流程,而是把上一次解析结果的缓存直接返回。

并且它是分级缓存的,也就是说,当下次收到的是//wwwchinaz的查询时,由于这台递归解析服务器已经知道//chinaz的权威nameserver,所以它只需要再向//chinaz nameserver发送一个查询www的请求就可以了。

根域名服务器的地址是固定的,目前全球有13个根域名解析服务器,这13条记录持久化在递归解析服务器中:

为什么只有13个根域名服务器呢,不是应该越多越好来做负载均衡吗?之前说过DNS协议使用了UDP查询,由于UDP查询中能保证性能的最大长度是512字节,要让所有根域名服务器数据能包含在512字节的UDP包中,根服务器只能限制在13个,而且每个服务器要使用字母表中单字母名。

智能解析,就是当一个域名对应多个IP时,当你查询这个域名的IP,会返回离你最近的IP。由于国内不同运营商之间的带宽很低,所以电信用户访问联通的IP就是一个灾难,而智能DNS解析就能解决这个问题。

智能解析依赖EDNS协议,这是google起草的DNS扩展协议,修改比较简单,就是在DNS包里面添加origin client IP,这样nameserver就能根据client IP返回距离client比较近的server IP了。

国内最新支持EDNS的就是DNSPod了,DNSPod是国内比较流行的域名解析厂商,很多公司会把域名利用DNSPod加速。

一般我们要注册域名,都要需要找域名注册商,比如说我想注册//hello,那么我需要找域名注册商注册hello域名。的域名注册商不止一家,这些域名注册商也是从ICANN拿到的注册权,参见如何申请成为域名注册商。

域名注册商都会自建权威域名解析服务器,比如你在狗爹上申请一个下的二级域名,你并不需要搭建nameserver,直接在godaddy控制中心里管理你的域名指向就可以了,原因就是你新域名的权威域名服务器默认由域名注册商提供。

当然你也可以更换,比如从godaddy申请的境外域名,把权威域名服务器改成DNSPod,一方面加快国内解析速度,另一方面还能享受DNSPod提供的智能解析功能。

用bind搭建域名解析服务器,由于网上介绍bind搭建的文章实在太多了,我就不再赘述了,喜欢动手的朋友可以网上搜一搜搭建教程,一步步搭建一个本地的nameserver玩一玩。这里主要介绍一下bind的配置文件吧。

bind的配置文件分两部分,bind配置文件和zone配置文件,bind配置文件位于/etc/namedconf,它主要负责bind功能配置,如zone路径、日志、安全、主从等配置其中最主要的是添加zone的配置以及指定zone配置文件。

开启递归解析功能,这个如果是no,那么此bind服务只能做权威解析服务,当你的bind服务对外时,打开它会有安全风险,如何防御不当,会让你的nameserver被hacker用来做肉鸡zone的配置文件在bind配置文件中指定,下图是一份简单的zone配置:

zone的配置是nameserver的核心配置,它指定了DNS资源记录,如SOA、A、CNAME、AAAA等记录,各种记录的概念网上资料太多,我这里就不重复了。其中主要讲一下SOA和CNAME的作用。

SOA记录表示此域名的权威解析服务器地址。上文讲了权威解析服务器和递归解析服务器的差别,当所有递归解析服务器中有没你域名解析的缓存时,它们就会回源来请求此域名的SOA记录,也叫权威解析记录。

CNAME的概念很像别名,它的处理逻辑也如此。一个server执行resloving时,发现name是一个CNAME,它会转而查询这个CNAME的A记录。一般来说,能使用CNAME的地方都可以用A记录代替,它是让多个域名指向同一个IP的一种快捷手段。

这样当最低层的CNAME对应的IP换了之后,上层的CNAME不用做任何改动。就像我们代码中的硬编码,我们总会去掉这些硬编码,用一个变量来表示,这样当这个变量变化时,我们只需要修改一处。

配置完之后可以用named-checkconf和named-checkzone。两个命令来check我们的配置文件有没有问题,之后就可以启动bind服务了:$>service named start,Redirecting to/bin/systemctl restart namedservice。

我们用netstat-ntlp,来检查一下服务是否启动,53端口已启动,那么我们测试一下效果,用dig解析一下域名,使用127001作为递归解析服务器。

我们看到dig的结果跟我们配置文件中配置的一样是1234,DNS完成了它的使命,根据域名获取到IP。用DNS实现负载均衡,一个域名添加多条A记录,解析时使用轮询的方式返回随机一条,流量将会均匀分类到多个A记录。www IN A1234,www IN A1235。

其实每次DNS解析请求时,nameserver都会返回全部IP,如上面配置,它会把1234和1235都返回给client端。那么它是怎么实现RR的呢?nameserver只是每次返回的IP排序不同,客户端会把response里的第一个IP用来发请求。DNS负载均衡vs LVS专业负载均衡。

和LVS这种专业负载均衡工具相比,在DNS层做负载均衡有以下特点:实现非常简单,默认只能通过RR方式调度,DNS对后端服务不具备健康检查。

DNS故障恢复时间比较长(DNS服务之间有缓存),可负载的rs数量有限(受DNS response包大小限制),真实场景中,还需要根据需求选择相应的负载均衡策略子域授权。

我们从域下申请一个二级域名http://hello后,发展到某一天我们的公司扩大了,需要拆分两个事业部A和B,并且公司给他们都分配了三级域名ahello和bhello,域名结构如下图:

再发展一段时间,A部门和B部门内部业务太多,需要频繁的为新产品申请域名,这个时候他们就想搭建自己的namserver,并且需要上一级把相应的域名管理权交给自己,他们期望的结构如下:

注意第一阶段和第二阶段的区别:第一阶段,A部门想申请//ahello下的子域名,需要向上级申请,整个//ahello域的管理都在总公司;第二阶段,A部门先自己搭建nameserver,然后总公司把http://ahello域管理权转交给自建的nameserver。

A部门自建nameserver,并且在zone配置文件中指定//ahello的权威解析服务器为自己的nameserver地址,总公司在nameserver上增加一条NS记录,把//ahello域授权给A部门的nameserver。

我们在用bind搭建域名解析服务器里讲过,只要在zone配置文件里指定SOA记录就好:@IN SOA nsahello adminahello(……)。

在http://hello域的nameserver上添加一条NS记录:ahello IN NS nsahellonsahello IN A xxxxxxxx(自建nameserver的IP)。

这样当解析http://xxahello域名时,//hello nameserver发现配置中有NS记录,就会继续递归向下解析,DNS调试工具,OPS常用的DNS调试工具有:host,nslookup,dig。

这三个命令都属于bind-utils包,也就是bind工具集,它们的使用复杂度、功能依次递增。关于它们的使用,man手册和网上有太多教程。DNS放大攻击属于DoS攻击的一种,是通过大量流量占满目标机带宽,使得目标机对正常用户的请求拒绝连接从而挂掉。

思路正常的流量攻击,hack机向目标机建立大量request-response,但这样存在的问题是需要大量的hack机器。因为服务器一般的带宽远大于家用网络,如果我们自己的家用机用来做hack机器,还没等目标机的带宽占满,我们的带宽早超载了。

原理DNS递归解析的流程比较特殊,我们可以通过几个字节的query请求,换来几百甚至几千字节的resolving应答(流量放大),并且大部分服务器不会对DNS服务器做防御。

那么hacker们只要可以伪装DNS query包的source IP,从而让DNS服务器发送大量的response到目标机,就可以实现DoS攻击。

但一般常用的DNS服务器都会对攻击请求做过滤,所以找DNS服务器漏洞也是一个问题。详细的放大攻击方法自行google。

主服务器又叫根服务器

根服务器

根服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。

这13台根服务器可以指挥Firefox或互联网 Explorer这样的Web浏览器和电子邮件程序控制互联网通信。由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符(如法国的.fr、挪威的.no等),美国政府对其管理拥有很大发言权。

DNS(Domain Name System,域名系统), 记录ip地址的分布式服务器。 DNS解析过程如图

全球13组根域名服务器以英文字母A到M依序命名。

域名系统默认的不用写

顶级域名服务器主要负责管理在该顶级域名服务器注册的二级域名。

列:

举例:

baiducom 和 wwwbaiducom

权威DNS服务器是经过上一级授权,对域名进行解析的服务器。(为了保障安全和保障一般权威DNS服务器都是俩)

查询过程

主机向本地域名服务器的查询一般都是采用递归查询

本地域名服务器向根域名服务器的查询的迭代查询

A记录:解析域名到指定ip

CNAME记录(Canonical Name 别名指向):解析域名到域名

MX记录:指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。

NS记录:解析服务器记录。用来表明由哪台服务器对该域名进行解析,这里的NS记录只对子域名生效。

优先级:NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。这里的NS记录只对子域名生效。

TXT记录:为某个主机名或域名设置联系信息,如:

admin IN TXT “管理员, 电话: 1000000000”

AAAA记录(AAAA record):是用来将域名解析到IPv6地址的DNS记录。用户可以将一个域名解析到IPv6地址上,也可以将子域名解析到IPv6地址上。

SRV记录:一般是为Microsoft的活动目录设置时的应用。

显性URL记录:访问域名时,会自动跳转到所指的另一个网络地址(URL),此时在浏览器地址栏中显示的是跳转的地址。

隐形URL记录:访问域名时,会自动跳转到所指的另一个网络地址(URL),此时在浏览器地址栏中显示的是原域名地址。

举例:

在线DNS解析网站

提升用户体验! 两步走:

第一步

第二步

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 根服务器是什么?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情