精华内容
下载资源
问答
  • 域名系统(Domain Name System, DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.BitHachi.com)转换为便于机器处理的IP地址。 相对于IP地址,人们更喜欢使用具有特定含义的字符串来标识...


    1.DNS系统

    • 域名系统(Domain Name System, DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.BitHachi.com)转换为便于机器处理的IP地址
    • 相对于IP地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机。
    • DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口。
    • 从概念上可将DNS分为3部分:层次域名空间、域名服务器和解析器
      在这里插入图片描述
    • 某台主机访问网站www.bithachi.cn网站为例,DNS的大致流程
      在这里插入图片描述

    2.域名

    • 因特网采用层次树状结构的命名方法。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名(Domain Name)
    • 域(Domain)是名字空间中一个可被管理的划分。
    • 域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成
      了顶级域、二级域、三级域等。

    在域名系统中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理。

    • 例如,管理CN域的中国将EDU.CN子域授权给中国教育和科研计算机网(CERNET)来管理。
    • 比如我的域名bithachi.cn是一个二级域名,我可以任意分配三级域名,比如1001.bithachi.cn和1002.bithachi.cn,这两个网址是可以访问的,小项目。

    域名空间的树状结构:
    在这里插入图片描述
    每个域名都由标号序列组.成,而各标号之间用点(“.”)隔开。

    在这里插入图片描述

    关于域名中的标号有以下几点需要注意:

    • 1)标号中的英文不区分大小写。.
    • 2)标号中除连字符(-) 外不能使用其他的标点符号。
    • 3)每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符。
    • 4)级别最低的域名写在最左边,级别最高的顶级域名写在最右边。

    顶级域名(Top Level Domain, TLD)分为如下三大类:

    • 1)国家顶级域名(nTLD)。国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国,.uk”表示英国。
    • 2)通用顶级域名(gTLD)。 常见的有“.com” (公司)、“.net" (网络服务机构)、“.org”(非营利性组织)和“.gov" (国家或政府部门)等。
    • 3)基础结构域名。这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应,反向域名格式如:X.X.X.in-addr.arpa。很多网络服务提供商要求访问的IP地址具有反向域名解析的结果,否则不提供服务。

    国家顶级域名下注册的二级域名均由该国家自行确定。

    3.域名服务器

    • 因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型

    • 域名到IP地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的(或有权限的)范围称为区(不以“域”为单位),各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。

    • 每个域名服务器不但能够进行一些域名到IP地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器。

    • DNS使用了大量的域名服务器,它们以层次方式组织。没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS上。

    • 采用分布式设计的DNS,是一个在因特网上实现分布式数据库的精彩范例。主要有4种类型的域名服务器。

    在这里插入图片描述

    (1)根域名服务器

    • 根域名服务器最高层次的域名服务器,所有的根域名服务器都知道所有顶级域名服务器的IP地址
    • 根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器
    • 因特网上有13个根域名服务器,尽管我们将这13个根域名服务器中的每个都视为单个服务器,但每个“服务器”实际上是冗余服务器的集群,以提供安全性和可靠性。
    • 需要注意的是,根域名服务器用来管辖顶级域(如.com), 通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。

    (2)顶级域名服务器

    • 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名
    • 收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)。

    (3)授权域名服务器(权限域名服务器)

    • 每台主机都必须在授权域名服务器处登记。为了更加可靠地工作,一台主机最好至少有两个授权域名服务器。
    • 实际上,许多域名服务器同时充当本地域名服务器授权域名服务器
    • 授权域名服务器总能将其管辖的主机名转换为该主机的IP地址

    (4)本地域名服务器

    • 本地域名服务器对域名系统非常重要。
    • 每个因特网服务提供者(ISP), 或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器。
    • 当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器
    • 事实上,我们在Windows系统中配置“本地连接”时,就需要填写DNS地址,这个地址就是本地DNS (域名服务器)的地址

    4.域名解析过程

    • 域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析。
    • 当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器
    • 域名解析有两种方式:递归查询递归与迭代相结合的查询。

    (1)递归查询方式

    • 递归查询的过程如下图所示, 由于该方法给根域名服务造成的负载过大,所以在实际中几乎不使用。
      在这里插入图片描述

    (2) 常用递归与迭代相结合的查询方式

    常用递归与迭代相结合的查询方式如下图所示,该方式分为两个部分。

    在这里插入图片描述
    (1)主机本地域名服务器的查询采用的是递归查询

    • 也就是说,如果本地主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。
    • 在这种情况下,本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归地在其他几个域名服务器之间进行的[见图6.6(a)中的步骤③~⑥]。
    • 在步骤⑦中,本地域名服务器根域名服务器得到了所需的IP地址,最后在步骤⑧中,本地域名服务器把查询结果告诉主机m.xyz.com.

    (2)本地域名服务器根域名服务器的查询采用迭代查询

    • 根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪个顶级域名服务器进行查询”。
    • 然后让本地域名服务器向这个顶级域名服务器进行后续的查询,如图6.6(b)所示。
    • 同样,顶级域名服务器收到查询报文后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应向哪个·权限域名服务器·查询。
    • 最后,知道所要解析的域名的IP地址后,把这个结果返回给发起查询的主机

    下面举例说明域名解析的过程:
    假定某客户机想获知域名为y.abc.com主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:

    • 客户机向其本地域名服务器发出DNS请求报文
    • 本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求。
    • 根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器
    • 本地域名服务器顶级域名服务器dns.com发出解析请求报文
    • 顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器
    • 本地域名服务器授权域名服务器dns.abc.com发起解析请求报文
    • 授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器
    • 本地域名服务器将查询结果保存到本地缓存,同时返回给客户机

    在这里插入图片描述

    • 为了提高DNS的查询效率,并减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存
    • 当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速
      缓存中。这样,当另一个相同的域名查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问。
    • 因为主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息
    展开全文
  • DNS-域名服务器(原理分析)

    千次阅读 2020-01-17 21:13:40
    DNS-域名服务器 一、概述 首先讲清楚什么是DNS? DNS: 域名服务器(Domain Name Server)。**域名解析就是域名到IP地址的转换过程,在Internet上域名与IP地址之间是一 一对应的。**这个是本篇博客最重要的一句话...

    DNS — 域名服务器

    一、概述

    DNS是什么

    1. DNS: 域名服务器(Domain Name Server)。域名解析就是域名到IP地址的转换过程,在Internet上域名与IP地址之间是一 一对应的。这个是本篇博客最重要的一句话,因为这就是DNS的本质。理解了这个我们就知道我们平时所见到的很多的域名其本质是什么了。

    DNS 服务的类型

    授权型 DNS:一种授权型 DNS 服务提供一种更新机制,供开发人员用于管理其公用 DNS 名称。然后,它响应 DNS 查询,将域名转换为 IP 地址,以便计算机可以相互通信。授权型 DNS 对域有最终授权且负责提供递归型 DNS 服务器对 IP 地址信息的响应。
    递归型 DNS:客户端通常不会对授权型 DNS 服务直接进行查询。而是通常连接到称为解析程序的其他类型 DNS 服务,或递归型 DNS服务。递归型 DNS 服务就像是旅馆的门童:尽管没有任何自身的 DNS 记录,但是可充当代表您获得 DNS 信息的中间程序。如果递归型 DNS 拥有已缓存或存储一段时间的 DNS 参考,那么它会通过提供源或 IP 信息来响应 DNS 查询。如果没有,则它会将查询传递到一个或多个授权型 DNS 服务器以查找信息。

    域名是什么

    Internet域名是Internet网络上的一个服务器或一个网络系统的名字,在全世界,没有重复的域名。域名的形式是以若干个英文字母或数字组成,由“.”分隔成几部分,如WWW.CNNIC.NET.CN就是一个域名。

    既然讲到了域名就不得不讲顶级域的划分,请见下图

    在这里插入图片描述

    • 世界上顶级域按两种形式划分:一种是以组织结构划分,比如net,gov,con,edu等等;一种以国家来划分,比如cn,jp等等;以国家划分的顶级域下面也可以按组织、功能等划分多个子域。

    DNS查询类型

    • 递归查询 - 在递归查询中,DNS 客户端要求 DNS 服务器(一般为 DNS 递归解析器)将使用所请求的资源记录响应客户端,或者如果解析器无法找到该记录,则返回错误消息。

    • 迭代查询 - 在这种情况下,DNS 客户端将允许 DNS 服务器返回其能够给出的最佳应答。如果所查询的 DNS 服务器与查询名称不匹配,则其将返回对较低级别域名空间具有权威性的 DNS 服务器的引用。然后,DNS 客户端将对引用地址进行查询。此过程继续使用查询链中的其他 DNS 服务器,直至发生错误或超时为止。

    • 非递归查询 - 当 DNS 解析器客户端查询 DNS 服务器以获取其有权访问的记录时通常会进行此查询,因为其对该记录具有权威性,或者该记录存在于其缓存内。DNS 服务器通常会缓存 DNS 记录,以防止更多带宽消耗和上游服务器上的负载。

    二、DNS解析过程

    • 前面讲到了,域名解析就是域名到IP地址的转换过程,那么这个转换过程具体是什么样的呢?请参考下面这幅图:

    在这里插入图片描述

    1. 客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

    2. 当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

    3. 如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器(DNS),然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

    4. 本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

    5. 重复第四步,直到找到正确的纪录。

    6. 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

    这样来讲的话,肯定是不够生动的,所以举个例子:

    • 一个用户在IE上打入一个网址www.sina.com.cn,按回车后。 系统首先查询本地DNS客户端缓存中是否有这个域名,如果你刚才已经访问过这个网站,那么缓存中就会有对应的IP,系统就可以直接根据这个IP来连接网站。
    • 如果本地缓存中无法找到对应的IP,系统将向DNS服务器提交查询请求。DNS服务器在收到请求后,先查询服务器的本地缓存中是否有对应的项,如果有,则返回。如果没有,DNS服务器将首先向 ".“根服务器查询 .cn的域名对应的DNS服务器。得到结果后,再在”.cn"服务器查询 “com.cn"的域名对应的DNS服务器;接着再向"com.cn"服务器查询 “sina.com.cn"对应的域名服务器。最后才能查到” www.sina.com.cn” 这个域名。

    上面的图片略过于抽象,下面以一个实际例子来看:
    在这里插入图片描述

    1. 用户打开 Web 浏览器,在地址栏中输入 www.example.com,然后按 Enter 键。

    2. www.example.com 的请求被路由到 DNS 解析程序,这一般由用户的 Internet 服务提供商 (ISP) 进行管理,例如有线 Internet 服务提供商、DSL 宽带提供商或公司网络。
      ISP 的 DNS 解析程序将 www.example.com 的请求转发到 DNS 根名称服务器。

    3. ISP 的 DNS 解析程序再次转发 www.example.com 的请求,这次转发到 .com 域的一个 TLD 名称服务器。.com 域的名称服务器使用与 example.com 域相关的四个 Amazon Route 53 名称服务器的名称来响应该请求。

    4. ISP 的 DNS 解析程序选择一个 Amazon Route 53 名称服务器,并将 www.example.com 的请求转发到该名称服务器。
      Amazon Route 53 名称服务器在 example.com 托管区域中查找 www.example.com 记录,获得相关值,例如,Web 服务器的 IP 地址 (192.0.2.44),并将 IP 地址返回至 DNS 解析程序。

    5. ISP 的 DNS 解析程序最终获得用户需要的 IP 地址。解析程序将此值返回至 Web 浏览器。DNS 解析程序还会将 example.com 的 IP 地址缓存 (存储) 您指定的时长,以便它能够在下次有人浏览 example.com 时更快地作出响应。
      Web 浏览器将 www.example.com 的请求发送到从 DNS 解析程序中获得的 IP 地址。这是您的内容所处位置,例如,在 Amazon EC2 实例中或配置为网站终端节点的 Amazon S3 存储桶中运行的 Web 服务器。
      192.0.2.44 上的 Web 服务器或其他资源将 www.example.com 的 Web 页面返回到 Web 浏览器,且 Web 浏览器会显示该页面。

    三、DNS报文格式

    • DNS报文格式:由12个字节首部和4个长度可变的字段组成。
      在这里插入图片描述

    • DNS查询报文中的问题部分格式如下,通常只有一个问题。
      在这里插入图片描述

    • DNS响应报文中的资源记录部分:

    在这里插入图片描述

    • 标识字段由客户程序设置并由路由器返回结果。客户程序通过它来确定响应与查询是否匹配

      16bit的标志字段被划分为若干子字段:
      在这里插入图片描述

      • QR-1位,0表示查询,1表示响应报文。
      • Opcode-4位,0表示标准查询,1表示反向查询,2表示服务器状态请求。
      • AA-1位,表示授权回答。
      • TC-1位,表示时可截断的,使用UDP时,它表示应当的总长度超过512字节时,只返回前512个字节。
      • RD-1位,表示期望递归。该位能在一个查询中设置,并在响应中返回。这个标志告诉名字服务器必须处理这个查询。如果该位为0,且被请求的名字服务器没有一个授权回答,它就返回一个能解答该查询的其他名字服务器列表,这称为叠代查询。
      • RA-1位,表示可用递归。如果名字服务器支持递归查询,则在响应中将该位置为1。
      • rcode-4位返回码,0表示没有差错,3表示名字差错。名字差错只有从一个授权服务器上返回,它表示在查询中指定的域名不存在。
      • 随后的4个16位的字段说明最后4个变长字段中包含的条目数。对于查询报文,问题数通常是1,而其他3项均为0。对于应答报文,问答数至少为1,剩下的2项可以是0或非0。
    • 查询名是要查找的名字,它是一个或多个标识符的序列。每个标识符以首字节的计数值来说明随后标识符的字节长度,每个名字以最后字节为0结束,长度为0的标识符是根标识符。计数字节的值必须为0-63,因为标识符的最大长度仅为63。该字段无需以整32为为边界,即无需填充字节。

    • DNS响应报文中的最后三个字段,回答字段、授权字段和附加信息字段,均采用一种称为资源记录(RR)的相同格式。

    • 域名是记录中资源数据对应的名字,它的格式和前面的查询名字段格式一样。

    • 类型说明RR的类型码,它和前面的查询类型值是一样的。通常为1,表示互联网数据。

    • 生存时间是客户程序保留该资源记录的秒数,资源记录通常的生存时间为2天。

    • 资源数据长度说明资源数据的数量,该数据的格式依赖域类型字段的值,对于类型A资源数据是4字节的IP地址。

    四、DDNS-动态域名服务

    • DDNS(Dynamic Domain Name Server)- 动态域名服务
    • DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务项目器程序负责提供DNS服务并实现动态域名解析。
      在这里插入图片描述
    • 动态域名解析系统一般由两部分构成,如图所示。一部分是客户端程序,运行在用户的主机上。另一部分是服务器端程序,位于服务器端的主机上。服务器端分为响应服务器和DNS服务器,其中响应服务器负责响应用户的动态域名更新请求,DNS服务器可以采用国际上较为流行的Bind系统,实现域名解析服务并提供域名IP动态更新服务。
    • 当用户使用新的IP地址时,需向响应服务器申请更新该域名对应的IP地址。在收到客户端的更新数据后,响应服务器通过查询数据库,确认客户端的域名是否合法存在的,如果不是则不予理睬,若是合法存在的,响应服务器把相应的动态域名更新消息以命令的方式存储在数据库中,再由同步进程反映到DNS解析服务器,同时更新数据库中相应信息。完成了用户信息到DNS的传递,实现了动态更新。

    五、DNS Proxy - DNS 代理

    • DNS 代理(DNS proxy)用来在DNS client 和DNS server 之间转发DNS 请求和应答报文,代替DNS Server 进行域名解析

    DNS proxy 工作机制如下:

    1. DNS client 把DNS代理设备当作DNS server,将DNS 请求报文发送给DNS Proxy设备,即请求报文的目的地址为DNS proxy 的IP 地址。

    2. DNS Proxy设备收到请求报文后,首先查找本地的静态域名解析表,如果静态域名解析表中存在请求的信息,则DNS Proxy设备直接通过DNS 应答报文,将域名解析结果返回给DNS client。

    3. 如果静态域名解析表中没有请求的信息,则DNS Proxy设备将报文转发给DNS server,通过DNS Server 进行域名解析。

    4. DNS Proxy设备收到DNS server 的应答报文后,将报文转发给DNS client。DNS client 利用域名解析的结果进行相应的处理。

    在这里插入图片描述

    • ip name-server master 202.207.158.65 配置主DNS服务器。

      ip name-server backup 222.222.222.222 配置备用DNS服务器

      dnsproxy-enable 开启代理服务。

      把PC的DNS client的Server设置为192.168.0.1(代理的IP)

    六、DNS配置

    常见DNS配置指令:

    (no) ip domain lookup(关闭)激活基于DNS的名称地址解析
    (no)ip domain name-server(master/backup) ip-address(删除)指定(主/备用)域名服务器
    (no) ip domain name(删除)指定一个默认的域名
    (no)ip domain list name(删除)指定一个域名列表。
    ip domain primary-server address指定主域名服务器
    ip domain proxy enable/disable启动/关闭代理服务器功能
    show ip hosts detail显示默认域名、域名列表、域名服务器信息以及主机名-IP地址映射缓存表,消息ID(或回调函数地址)、提前通知的时间等。
    debug ip domain显示本模块的debug信息

    七、总结

    • 我们都知道主机IP地址,是在网络通信过程中对我们主机的身份的标识。可是我们实现这个功能确是通过ARP协议来实现的,通过ARP协议我们可以从IP地址解析出我们主机的MAC地址(注意MAC地址从出厂的时候就被固定在我们的机器里面而且是全球唯一的,所以他能唯一标定我们的主机)。

    • 同样的我们的IP地址,也可通过DNS域名解析服务来和相应的域名之间相互转换。他们之间的关系如下图所示:
      在这里插入图片描述

      我的另一篇有讲到ARP协议的博客可以参见:ARP-地址解析协议

      如此,我们便可看出IP地址在我们网络通信当中的重要性了,但是IP地址是怎么来的或者说是怎么分配的呢?请参见:
      DHCP服务机制分析

    展开全文
  • 平时我们进行域名解析所用到的DNS服务器,是面对客户的一线服务器。DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名...

    平时我们进行域名解析所用到的DNS服务器,是面对客户的一线服务器。

    DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。

    用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。

    在服务器家族里还有一种叫做“DNS根服务器”的服务器。

    全球共有13台根域名服务器。这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。

    根服务器主要用来管理互联网的主目录,全世界只有13台。

    1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。

    所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。

    这13台根服务器可以指挥Firefox或Internet Explorer这样的Web浏览器和电子邮件程序控制互联网通信。

    由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符(如法国的.fr、挪威的.no等),自成立以来,美国政府每年花费近50多亿美元用于根服务器的维护和运行,承担了世界上最繁重的网络任务和最巨大的网络风险。

    因此可以实事求是地说:没有美国,互联网将是死灰一片。

    世界对美国互联网的依赖性非常大,当然这也主要是由其技术的先进性和管理的科学性所决定的。

    所谓依赖性,从国际互联网的工作机理来体现的,就在于“根服务器”的问题。

    从理论上说,任何形式的标准域名要想被实现解析,按照技术流程,都必须经过全球“层级式”域名解析体系的工作,才能完成。

    “层级式”域名解析体系第一层就是根服务器,负责管理世界各国的域名信息,在根服务器下面是顶级域名服务器,即相关国家域名管理机构的数据库,如中国的CNNIC,然后是在下一级的域名数据库和ISP的缓存服务器。

    一个域名必须首先经过根数据库的解析后,才能转到顶级域名服务器进行解析。

    作用与影响

    这13台根服务器可以指挥浏览器(比如.internet explorer)和电子邮件程序(比如.Firefox)以控制互联网通信。由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符,美国政府对其管理拥有很大发言权。这使得我们显得相当被动。

    中国用户在访问带有.com等后缀的国外网站时,大多仍需要经过国外的域名服务器进行解析,中美海底光缆一旦发生断裂,便会发生解析问题,中国东部、太平洋西海岸地区,属于地震多发地带,再加上台风等环境因素影响,形势显得更加严峻。

    一位互联网资深专家解释说,美国控制了域名解析的根服务器,也就控制了相应的所有域名,如果美国不想让人访问某些域名,就可以屏蔽掉这些域名,使它们的IP地址无法解析出来,那么这些域名所指向的网站就相当于从互联网的世界中消失了。比如,2004年4月,由于“.ly”域名瘫痪,导致利比亚从互联网上消失了3天。

    注意,13台中除了欧洲两台、日本一台之外,其余全部位于美国。也就是说,只要美国愿意,他就可以切断全世界的网络。虽然网络是无国界的,但服务器是有国界的。

    关于DNS根镜像服务器

    指的就是DNS根服务器的镜像服务器

    镜像服务器(Mirror server)与主服务器的服务内容都是一样的,只是放在一个不同的地方,分担主机的负载。

    简单来说就是和照镜子似的,能看,但不是原版的。在网上内容完全相同而且同步更新的两个或多个服务器,除主服务器外,其余的都被称为镜像服务器。

    分布地点

    下表是这些机器的管理单位、设置地点及最新的IP地址:

    主要作用

    在根域名服务器中虽然没有每个域名的具体信息,但储存了负责每个域(如COM、NET、ORG等)的解析的域名服务器的地址信息,如同通过北京电信你问不到广州市某单位的电话号码,但是北京电信可以告诉你去查020114。

    世界上所有互联网访问者的浏览器的将域名转化为IP地址的请求(浏览器必须知道数字化的IP地址才能访问网站)理论上都要经过根服务器的指引后去该域名的权威域名服务器(authoritative name server, 如haier.com的权威域名服务器是dns1.hichina.com)上得到对应的IP地址,当然现实中提供接入服务的ISP的缓存域名服务器上可能已经有了这个对应关系(域名到IP地址)的缓存。

    根域名服务器是架构因特网所必须的基础设施。

    在国外,许多计算机科学家将根域名服务器称作“真理”(TRUTH),足见其重要性。

    但是攻击整个因特网最有力、最直接,也是最致命的方法恐怕就是攻击根域名服务器了。

    早在1997年7月,这些域名服务器之间自动传递了一份新的关于因特网地址分配的总清单,然而这份清单实际上是空白的。

    这一人为失误导致了因特网出现最严重的局部服务中断,造成数天之内网面无法访问,电子邮件也无法发送。

    遭遇攻击

    在2002年的10月21日美国东部时间下午4:45开始,这13台服务器又遭受到了有史以来最为严重的也是规模最为庞大的一次网络袭击。

    此次受到的攻击是DDoS攻击,超过常规数量30至40倍的数据猛烈地向这些服务器袭来并导致其中的9台不能正常运行。7台丧失了对网络通信的处理能力,另外两台也紧随其后陷于瘫痪。

    10月21日的这次攻击对于普通用户来说可能根本感觉不到受到了什么影响。

    如果仅从此次事件的“后果”来分析,也许有人认为“不会所有的根域名服务器都受到攻击,因此可以放心”,或者“根域名服务器产生故障也与自己没有关系”,还为时尚早。

    但他们并不清楚其根本原因是:

    并不是所有的根域名服务器全部受到了影响;

    攻击在短时间内便告结束;

    攻击比较单纯,因此易于采取相应措施。

    由于目前对于DDoS攻击还没有什么特别有效的解决方案,设想一下如果攻击的时间再延长,攻击再稍微复杂一点,或者再多有一台服务器瘫痪,全球互联网将会有相当一部分网页浏览以及e-mail服务会彻底中断。

    而且,我们更应该清楚地认识到虽然此次事故发生的原因不在于根域名服务器本身,而在于因特网上存在很多脆弱的机器,这些脆弱的机器植入DDoS客户端程序(如特洛伊木马),然后同时向作为攻击的根域名服务器发送信息包,从而干扰服务器的服务甚至直接导致其彻底崩溃。

    但是这些巨型服务器的漏洞是肯定存在的,即使现在没有被发现,以后也肯定会被发现。

    而一旦被恶意攻击者发现并被成功利用的话,将会使整个互联网处于瘫痪之中。

    为什么只有13台dns根服务器

    最后,让我们了解下全球DNS根服务器为什么只有13台。

    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字节。

    在Internet数据传输中,UDP数据长度控制在576字节(Internet标准MTU值),而在许多UDP应用程序设计中数据包被限制成512字节或更小。这样可以防止数据包的丢失。

    许多解析器首先发送一条UDP查询,如果它们接收到一条被截断的响应,则会用TCP重新发送该查询。

    这个过程绕过了512字节的限制,但是效率不高。您或许认为DNS应该避开UDP,总是使用TCP,但是TCP连接的开销大得多。

    一次UDP名字服务器交换可以短到两个包:一个查询包、一个响应包。一次TCP交换则至少包含7个包:三次握手初始化TCP会话、一个查询包、一个响应包以及最后一次握手来关闭连接。

    来自"Nuclear'Atk 网络安全研究中心

    本文地址http://lcx.cc/?i=2343

    展开全文
  • Python是很容易就能上手的,但想要拿到高薪,那就要往深了学,像大数据、深度学习这些,多少也要了解一点。...今天猫哥就教大家如何购买阿里云服务器、购买域名、解析域名、配置nginx。 阿里云服务器购买 阿...

    Python很容易就能上手,没事就多学点。猫哥最喜欢的一句话:价值决定价格!只有不断提升自己,才可以“为所欲为”。Python进阶之路上,特别是大数据、机器学习都需要大量的运算,我们自己的电脑如果总是这么消耗的话,反正我是有点心疼。云服务器这么普及,还便宜,干他一波!

    今天猫哥就教大家如何购买阿里云服务器、购买域名、解析域名、配置nginx。

    阿里云服务器购买

    阿里云服务器购买传送门,我们可以根据自己的需求来购买云服务器。

    这里猫哥做测试,就暂且买个低配的ECS通用共享型xn4

    购买完成后,首先需要创建一个实例。步骤如下:

    1.进入云服务器管理控制台首页,将鼠标移动到左上角,选择菜单栏中的云服务器ECS。

    2.在我的资源中,点击创建实例。

    3.在跳转的新页面中选择一键购买(有条件的可以选择自定义购买,主要还是看需求)。

    自行选择区域、实例规格、镜像我们选择Centos7.6(个人感觉,最新的可能会不稳定)。
    网络类型默认即可,公网宽带要看个人需求了,如果仅仅测试使用,选择1M就可以了。购买数量和购买时长还是看自己的需求。以上都选择完成后,点击确认订单就可以了。

    4.之后在云服务器管理控制台就可以看到我们的实例了。

    5.修改实例的密码,点击实例ID,在实例的基本信息中,点击更多,可以对实例的密码进行更改。具体操作如下:


    对于一般人来说(仅用来做模型运算),到这里就已经够用了。代码上传方面可以自己搭建FTP服务器,或使用GitHub作为中转平台或者直接使用ssh,怎么方便怎么来。

    域名设置
    对于网站来说,服务器配置好了之后,还要再设置一下域名。如果我们想要在外部访问我们的网站,但又不想暴露我们真实的IP地址,那该怎么办?购买一个域名就可以解决。
    1.创建信息模版
    在云服务器管理控制台的左侧隐藏菜单中点击域名,在域名服务菜单中点击信息模版。在信息模版模块中点击创建新信息模版。


    如实填写以下信息,否则会不予通过的!

    提交后等待审核通过!

    2.注册域名

    在云服务器管理控制台的左侧隐藏菜单中点击域名,在域名列表中点击域名注册。


    3.选择域名

    如果只是想体验一下域名注册的过程,那么就选择一个最便宜的域名练练手。假如我们选择了.site域名,然后点击进去,定义自己的站点,如果自己定义的站点没有被别人使用,那么你就可以购买了。


    4.购买域名

    选择好域名后点击立即结算,然后依次选择使用年限、域名持有者、审核通过的信息模版并同意服务条款,最后点击立即购买即可。

    5.域名解析

    域名购买完成后,需要对域名进行解析,也就是让你的域名和你的公网IP进行映射。域名成功购买后,在你的域名购买页,会显示你的域名,此时我们需要对域名进行解析。


    点击解析后会跳转到解析设置页面,我们选择新手引导。


    在控制台将公网IP复制一下,粘贴到记录值中


    在主机记录中就会出现下面两条信息,以后直接输入域名就可以访问你的网站首页了,当然在此之前还要配置一下Nginx。

    Nginx配置
    1.依次安装开发库
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install gcc-c++
    yum install -y openssl openssl-devel
    

    2.安装Nginx

    大家可以在这个网站中选择最新版本Nginx,这里猫哥选择nginx-1.17.8.tar.gz,并安装在/usr/local/路径下,安装命令如下:

    cd /usr/local/
    wget -c https://nginx.org/download/nginx-1.17.8.tar.gz
    

    解压

    tar -zxvf nginx-1.17.8.tar.gz
    

    编译安装 (默认安装到/usr/local/nginx/)

    cd nginx-1.17.8
    ./configure
    make
    make install 
    

    修改配置文件,映射我们的域名。

    vim /usr/local/nginx/conf/nginx.conf
    
    # 在35行左右更改如下信息
    server {
      listen       80; # 服务器监听的端口
      #server_name localhost;
      server_name  xxxxxx.site;  # 此处是我们购买的域名
    
      #access_log  logs/host.access.log  main;
    
      location / {
          rewrite ^/ https://xxx.site; # 网站首页路径
          }
    ...
    }
    

    重新加载Nginx

    /usr/local/nginx/sbin/nginx
    

    查看Nginx状态

    ps aux | grep nginx
    

    其他nginx命令

    # 启动
    /usr/local/nginx/sbin/nginx
    # 停止1(强制杀掉进程)
    /usr/local/nginx/sbin/nginx -s stop
    # 停止2(等待任务处理完后再停止)
    /usr/local/nginx/sbin/nginx -s quit
    # 重新加载配置文件(相当于重启)
    /usr/local/nginx/sbin/nginx -s reload
    

    开放80端口

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    systemctl restart firewalld.service
    firewall-cmd --reload
    # 查看所有开放的端口
    firewall-cmd --list-ports
    

    最后一步设置安全组

    在云服务管理控制台首页,左侧菜单栏中网络与安全–>安全组中创建一个安全组,选择默认参数即可。

    配置规则

    添加安全组规则,将80端口加入安全组

    此时在浏览器中输入自己的域名,就可以正常访问你网站的首页了。但如果你的域名没有备案的话就会出现下面的界面。不需要慌张,备案一下即可。如果无法访问,重启一下服务器试试。

    域名备案
    1.进入备案管理平台

    如实填写自己的备案信息,否则会不予通过的。需要注意的事项:

    1.如果你在外地的话,需要提供你的居住证或暂住证证明。

    2.个人备案的话,在备注一栏最好填写类似于知识分享、技能提升之类的。而且字数至少20+,否则可能会被打回。

    3.要下载一个手机钉钉,并且进行实名认证。因为阿里的工作人员要通过钉钉和你进行本人认证,而且还要手持身份证。

    4.最后静静的等1个工作日就可以了。(还有省通信管理局周六日不上班)


    备案通过后,如果你还暂时没有添加网站的话,那么出现下面的界面,也说明你已经部署成功了!后期在服务器上将网站运行起来即可!
    在这里插入图片描述

    以上就是猫哥对阿里云服务器的浅显认识,如有错误欢迎大家积极指正~

    展开全文
  • 域名分级与域名解析过程(DNS)

    万次阅读 多人点赞 2018-12-26 22:13:56
    前几天被其他同事的一个问题给问到了,域名的问题,问本人现在的域名很长,当时随口一说是这是一个二级域名,但后面一想...域名系统DNS(domain name system)是因特网使用的命名系统,用于把便于人们记忆的机器名字...
  • 越来越多的企业将企业内部局域网通过光缆、交换机等高速互连设备连接起来,形成较大规模的中型网络,网络上的主机和用户也随之...作为Internet的缩影,企业内部网上的各类服务器(如WWW服务器、FTP 服务器、E-mail服...
  • 服务器上部署Nginx,域名,SSL证书 ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    -p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。 -s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。 -S,--suffix=后缀:自行指定...
  • 域名服务器、DNS三者关系

    千次阅读 2018-11-04 22:40:13
    DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的...
  • 数据与服务器之间的交互方式 · cookie的数据会自动的传递到服务器服务器端也可以写cookie到客户端 · sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。 10.计算一个数组arr所有元素的和...
  • 在大规模数据上跑机器学习任务是过去十多年内系统架构师面临的主要挑战之一,许多模型和抽象先后用于这一任务。从早期的MPI,到后来的Hadoop,乃至于目前使用较多的Spark,都曾被广泛应用于大规模机器学习处理任务。...
  • 面试专题:Linux运维精华面试题

    千次阅读 多人点赞 2019-03-14 15:31:53
    ,会先找本机的host文件,再找本地设置的DNS服务器,如果也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器,一级域名服务器说只能提供二级域名服务器....
  • DNS内幕 DNS是什么,可起到什么作用?没有DNS,今天我们所熟悉的互联网就会立即停工。...DNS是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的。 ...
  • Linux运维面试题

    千次阅读 2019-08-02 12:57:30
    ,就去找三级域名服务器, 三级域名服务器正好有这个网站www.baidu.com ,然后发给请求的服务器,保存一份之后,再发给客户端 13、RabbitMQ是什么东西? RabbitMQ也就是消息队列中间件,消息中间件是在消息的传息...
  • 本文主要介绍了FRP的搭建及不同目的下的配置方式,以实现内网穿透,远程访问内网服务器
  • 域名、dns、服务器、IP、主机名

    千次阅读 2018-07-04 22:18:34
    1.IP地址:每个连接到Internet上的主机都会分配一个IP地址,IP地址是用来唯一标识互联网上计算机的逻辑地址,机器之间的访问就是通过IP地址来进行的。IP地址采用二进制的形式表示的话很长,比较麻烦,为了便于使用,...
  • Tomcat面试题+http面试题+Nginx面试题+常见面试题

    千次阅读 多人点赞 2019-12-12 15:04:43
    LVS: 是基于四层的转发 HAproxy: 是基于四层和七层的转发,是专业的代理服务器 Nginx: 是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发 区别: LVS由于是基于四层的转发所以只能做端口的转发 而...
  • 域名(DNS)解析

    2013-06-11 21:13:33
    并具有将域名转换为IP地址功能的服务器,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
  • Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本()的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,...
  • 我见过最好的Linux教程——DNS服务器搭建

    千次阅读 多人点赞 2019-07-25 11:24:45
    Dns服务器主要是用于帮助用户方便访问网站,在访问某一网站时,可以通过dns服务器来进行解析, 这样就可以在不知道主机ip地址的情况下通过它的名字来进行访问。 那DNS究竟是怎么样进行运作,有应该如何的安装呢?...
  • etcd+skydns构建私有域名解析服务器

    千次阅读 2019-02-24 13:28:14
     在大数据和云计算等领域应用中,如果机器数量达到一定的量时,可以考虑自建域名解析服务集群。构建私有的域名解析主要是出于两个目的:(1)通过域名,而不是ip来记忆服务,是更方便的事情;(2)在做主备切换的...
  • 域名配置,本地配置

    千次阅读 2019-01-18 18:10:36
    网域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机...
  • 搭建个人网站--域名解析(DNS)

    千次阅读 2018-01-12 22:10:09
    Domain NameSystem,简称DNS,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做...
  • 基于DNS数据分析的恶意域名检测

    万次阅读 多人点赞 2018-10-22 20:53:34
    导读:本文对基于DNS数据分析来进行恶意域名检测的研究进行简要的介绍。本文的目的,是让刚进入该领域的学者(或是一般的读者)能对该领域的情况有一个初步的了解,为之后的深入探究做准备。 本文主要参考的是...
  • 如果说局域网内的其他机器访问是没有问题的,作为 “云服务器” 的机器 端口是已经被开放出来了、并且域名已经成功解析到机器中。就是架到广域网上的时候,被屏蔽了吗?还是其他什么原因?求解答啊???? 以下...
  • 全球为何只有13台DNS根服务器

    万次阅读 多人点赞 2017-08-04 13:43:52
    平时我们进行域名解析所用到的DNS服务器,是面对客户的一线服务器。DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名...
  • 关于DNS部署与根服务器的几点论述

    千次阅读 2018-06-10 18:56:25
    一、DNS部署情况:1.1部署情况 根域名服务器(英语:root name server)是互联网域名解析系统(DNS)中最高级别的域名服务器,负责返回顶级域的权威域名服务器地址。它们是互联网基础设施中的重要部分...
  • 如何在AWS搭建服务器控制服务器

    千次阅读 2018-11-06 14:06:17
    推荐的域名申请网站 *https://www.namecheap.com/ 域名便宜.com 最低只需要0.88刀一年 *https://my.freenom.com 有一些域名后缀是免费的 .ga .cf 等等 需要注册的是任何域名启用以后切记要去邮箱点击确认邮件来...
  •  DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,980
精华内容 29,992
关键字:

服务器机器作为域名