我:买了个新服务器,又得买个域名挂靠了,有点太费钱,有没有什么好办法?
朋友:为什么要买新域名?用二级域名处理一下就可以了。
我:什么是二级域名?
朋友:远川同学,你这块的知识有点水啊,你要不去补一下,以后面试可有点够呛。
正文
最近刚买了一个服务器,本想买新域名挂在服务器上,然后和朋友说了一下,他说你可以用二级域名。
关于二级域名这种说法,以前工作中偶尔听到,当时都是由运维的朋友来处理,我很少操心这些事。
自考有关计算机网络原理的部分,并未提及相关内容,于是我自考中也没了解过相关知识。
幸亏被朋友点了我一下,不然要是被面试官问到了,那还是真是愧对我这五年经验。
DNS解析
什么是DNS解析
先说DNS解析,我们浏览器输入域名,就可以直接渲染出我们需要的页面。
做前端的都是知道,这其中有一个很重要的步骤:域名解析,又叫DNS解析,域名解析就是由域名查找到 IP 的过程。
域名解析的工作由DNS服务器完成。
简单了来说,域名实际上就是一个IP的昵称,我们通过DNS服务器去打听这个昵称是哪个IP,最后锁定IP,然后访问对应的机器。
解析过程
已知一个域名,先会访问根域的DNS服务器,全球一共有13台根域名服务器,根域名服务器储存了负责每个顶级域(如.com,.xyz,.cn,.ren,.top等)解析的域名服务器的地址信息。
拿到顶级域名服务器地址后,访问得到二级域名的域名服务器地址信息,以此类推,直到最终确定某个 IP 地址。
常见的解析方式有三种:A记录解析、CNAME记录解析、MX记录解析。
如果我们新增、减少了 DNS 解析记录,正常情况下的 TTL 是10 min。
根域名
前边我们提到了域名的根服务器,这里详细解释下根域名的定义。
根域是指整个互联网的最高层级,位于所有的顶级域名之上。
它没有任何域名前缀,只有一个点号。
例如,在某些场合,www.baidu.com
被写成www.baidu.com.
,即最后还会多出一个点。这个点就是根域名。
根域由互联网的根服务器组成,这些服务器负责解析所有的顶级域名(如.com,.xyz,.cn,.ren,.top等)解析的域名服务器的地址信息。
理论上,所有域名查询都必须先查询根域名,因为只有根域名才能告诉你,某个顶级域名由哪台服务器管理。事实上也确实如此,ICANN 维护着一张列表,里面记载着顶级域名和对应的托管商。
根域名服务器是 13个 固定 ip 所组成服务器群的简称,它保存的只是所有一级域名服务器的 ip 地址信息。
顶级域名
顶级域名,也叫一级域名。
域名最后面的那一部分,比如:www.baidu.com。 .com 就是顶级域名,又叫一级域名。
顶级域名分为国际顶级域名、国家顶级域名。
国际顶级域名(gTLD)
这里列举一下我们常见的域名,如下这种指向各种机构的域名,共有700多个。
域名 | 指向 |
---|---|
.com | 工商企业 |
.net | 网络提供商 |
.org | 非盈利组织 |
.gov | 政府网站 |
.edu | 教育机构 |
为了解决域名紧张的问题,后来也引入了一些其他的顶域
域名 | 指向 |
---|---|
.firm | 公司企业 |
.store | 销售公司或企业 |
.web | 突出WWW活动的单位 |
.arts | 突出文化、娱乐活动的单位 |
.rec | 突出消遣、娱乐活动的单位 |
.info | 提供信息服务的单位 |
.nom | 个人 |
国家顶级域名(ccTLD)
另一类是国别顶级域名(ccTLD),这种指向国家地域的域名,总共有300多个。
域名 | 指向 |
---|---|
.cn | 中国 |
.us | 美国 |
.jp | 日本 |
.cc | 科科斯群岛 |
二级域名
一级域名左侧的部分,比如:www.baidu.com。 baidu 就是二级域名。
国际顶级域名下二级域名,一般是指域名注册人选择使用的网上名称,如:www.baidu.com 中的 baidu 。
国家顶级域名下二级域名,一般是指类似于国际顶级域名的表示注册人类别和功能的标志,例如com,edu,gov,net等如:www.moe.gov.cn 中的 gov,其实可以发现 www.baidu.com.cn 也是可以访问到的,这个时候的二级域名就是 .com ,但是会被重定向到 www.baidu.com 。
这里的二级域名并不是朋友说的二级域名,这里的二级域名,实际上是我们买的域名,譬如我个人的博客域名:crazystudent13.cn,这里的crazystudent13就是二级域名。
三级域名
三级域名可以当做是二级域名的子域名,比如:naotu.baidu.com ,对于使用者而言,三级域名都是二级域名的附属物而无需单独费用,四级域名等依次类推即可。
又如:www.neea.edu.cn 中的 neea (教育考试网)。
所以严格意义上,朋友说的二级域名的说法是不对的,正常的来说,应该是三级域名了,也有说法叫次级域名。
域名风险
这个知识属于拓展了,因为我们偶尔访问一些页面失效的时候,经常会听网上传言说是DNS污染或者DNS劫持。
那这里干脆顺便讲一下,就当是相关知识拓展。
DNS污染
DNS又称域名服务器缓存投毒,是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的IP地址。
一般来说,在互联网上都有可信赖的网域服务器,但为减低网络上的流量压力,一般的域名服务器都会把从上游的域名服务器获得的解析记录暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。
简单的来说,就是域名服务器内IP和域名的指向被其他人投了错误的数据包,导致指向错误了,就像一个人的昵称和本人对不上,这样自然会导致访问错误。
一旦有关网域的局域域名服务器的缓存受到污染,就会把网域内的计算机导引往错误的服务器或服务器的网址。
这种污染基本上是大范围的,批量的,并不是针对某个网站,而是某片网域的污染。
通常对于DNS污染,一般除了使用代理服务器和VPN之类的软件之外,我们并没有什么还办法,大多数人只能干等域名供应商将污染的数据恢复。
DNS劫持
了解了域名的一些知识,我们经常听到的一个名词:域名劫持(DNS 劫持)。
正常的流程应该是我们根据域名,访问正确的 DNS 解析服务器来获取我们最终的 IP。但如果让用户访问到的错误的 DNS 解析服务器上,返回错误的 IP,让用户展示攻击者指定的页面,这就是域名劫持了。
经典案例就是有的年久不用的网站,被他人恶意劫持,指向了某个黄色网站,这类事情发生的很多,尤其是国内很多政府网站,早年没有什么网安,也没人关注这类门面网站,发生这种事很常见。
相对于DNS污染那种大范围破坏来说,DNS劫持目标更单一,就是针对某个网站的恶意行为。
结语
这个不算面试题,只是个普通知识拓展,后续随着计算机网络知识的了解,会不断丰富相关知识。