local dns

简介:
  • local dns (local name server)是客户端网络设置的一部分,要么是手工配置,要么从DHCP得到。一般local dns 在从网络上靠近客户端。

  • 主要的域,比如.com .net .org 等,都由Internet管理方进行管理维护,负责这些域的服务器也叫"根服务器", 根服务器里面有 foo.com 之类的子域,每个子域有一个或者多个服务器,这就是子域的权威服务器(授权DNS服务器)。

  • 授权DNS服务器存储对于管理一个域名的重要信息,同时一个域名可以分为多个Zone,个Zone可以有各自的授权DNS,称为Zone of Authority(ZOA). 比如a.foo.com b.foo.com 可以有各自的ZOA

  • 可以有一个或者多个授权DNS服务器,但是只有一个 primary authoritative DNS 负责分发域名name space的信息。

迭代查询和递归查询:

迭代查询:服务器可以回答确切答案,或者告知查询者其他可能知道答案的服务器。

递归查询:服务器必须回答确切答案,假如自己不知道,就要通过查询其他服务器得到答案。

客户端的DNS解析器一般无法处理迭代的回答,所以查询localDNS一般使用递归方式。服务器DNS解析器可以回答迭代或者递归查询,也可以发出递归或者迭代查询。

典型DNS查询流程:

【转】local <wbr>dns

1. 客户端向local dns查询 www.foo.com,注意这是递归查询

2.3. local dns 向 root name servers  查询 .com 的name server. 这里采用迭代方式。

4.5. local dns 向 .com 的 name server 查询 foo.com 的授权dns

6.7. local dns 向 foo.com 的授权dns得到 www.foo.com 的ip list

8.    local dns 将 www.foo.com 的一个ip返回给客户端

9.    客户端访问 ip 指向的服务器


Local DNS Caching

DNS 信息有一个TTL消息, local dns 可以cache dns reply ,过期时间就是这个ttl时间。

假如dns cache信息过期,local dns 向授权dns服务器重新请求。

假如local dns 收到的dns查询响应有多个ip 地址,对于客户端的查询,将采用round-robin策略

客户端也可以cache dns 响应,但是部分客户端忽略ttl信息而采用自己的固定dns过期时间,比如微软的IE

 

Using Standard DNS for load balancing

DNS可以做load banlancing服务,对于一个域名可以配置多个ip地址,这些ip指向load balancer的VIP或者只是一台真实服务器。但是DNS无法知道某个ip是否能否服务或者负载情况如何(这个不是绝对的,参看下面GLSB部分),毕竟 DNS 并不是为 GLSB 设计的。


原文链接http://www.cnblogs.com/peon/archive/2007/12/30/1021219.html

其它:http://zhidao.baidu.com/link?url=uDbUSnQKyG6jClc_YgL_NDfC8vvTYGTfxTfPj6F4n0dv9c5G8C-Qnpxd14owS73asYOoFmTnDWsBy_wL4MO2Tq


DNS(Domain Name System),域名解析系统,是由美国伯克利大学开发。简单的说它的主要应用就是完成由域名到IP的解析。在互联网发展的早期,人们通过将IP写入/etc/hosts这个文件就可以完成相互之间的访问。但是后来互联网的快速发展使这种方式很快淘汰,因为谁都无法容忍把全世界的所有IP都写在一个文件并且放在自己的机器上所带来的后果。先来看看几个重要的概念吧!

  FQDN(Fully Qualified Name):完整域名,又叫完全合格域名,见名知意,比如“”,注意,末尾还有一个"."。

  域:域是域名空间的一个子树。域的名字就是这个子树顶部节点的域名。一个域又可以划分为很多个子域。

  区:一个服务器所负责的或者有权限的范围。当一个域没有子域的时候,域和区就是一样的了。

  正解:由域名查IP,一般情况下都是这种方式。

  反解:由IP查域名。

  

  DNS的原理:比如客户机A:

               服务器B:ev.ncku.edu.cn.

               服务器C:ncku.edu.cn. 

               服务器D:edu.cn.

               服务器E:.cn.

               根服务器:F:.

  从上到下,可以把下面的看作上面的域名服务器,且每个服务器只对自己区内的机器提供服务。比如edu.cn.为ncku.edu.cn.提供服务,也可能为xxx.edu.cn.提供服务,但是绝不会去管ev.ncku.edu.cn.,那是ncku.edu.cn.的事情了。

  当机器G(不和A在一个区内,若在那就太简单了。)要访问A时,它把A的名字提供给自己的域名服务器H,若这个服务器H的缓存中直接有A的IP地址(一般缓存会存放24小时),它直接就把A的IP地址返回给请求者G,若没有它就会去请求别的服务器。这个过程也就是递归解析,域名解析的两种方式之一。假设缓存中没有A的IP,在这个例子中,H就会去访问F这个根服务器。但是F中依然没有H需要的信息,可它会告诉H,你可以去E处试试,并且把E的地址给H同理,E处依然没有啊,于是又以类似的方式处理。直到H找到B,这时候B发现A在自己的区内,所以它把A的IP地址返回给H。这种解析方式就叫做迭代解析,DNS的第二种解析方式。最后H再把A的IP给G,并且存入自己的缓存。G按照这个IP就找到了A,当然这是正解的情况。

  在正解的情况下,DNS是分层的。但是每一层中的机器的IP可以是不同网段的。反解则不行,它每一层的IP必须是一个网段的。

  DNS的这种工作方式是非常完美的。因为假如主机A要修改自己的名字,它只需要合法的在B中修改自己IP和名字的对应就OK了,其他人依然可以顺利的找到它。这种工作方式很高效,安全。当然安全的前提是有一个slave服务器哦!

本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1914671


相关文章
|
JSON Kubernetes 数据格式
K8S client-go Patch example
我在本文中主要会介绍使用client-go的Patch方式,主要包括strategic merge patch和json-patch
|
机器学习/深度学习 人工智能 自然语言处理
深入探索智能问答:从检索到生成的技术之旅
深入探索智能问答:从检索到生成的技术之旅
1214 0
|
JSON 网络协议 安全
阿里云公共DNS安全传输服务介绍(DoH/DoT)
传统的DNS查询和应答采用大都采用UDP明文传输,存在网络监听、DNS劫持、中间设备干扰的风险。为了应对以上挑战,阿里公共DNS对外提供支持DoH/DoT的云服务,为广大的互联网用户提供快速、稳定和安全的DNS解析,欢迎大家使用!
阿里云公共DNS安全传输服务介绍(DoH/DoT)
|
小程序 安全 搜索推荐
阿里云上的Salesforce这一年:深耕本地化,释放新价值
2023年云栖大会上,Salesforce宣布与阿里云合作,由后者负责其核心CRM产品在中国的销售与运营。此后,双方密集推进了一系列合作计划,包括2023年11月1日启动生态合作计划、2023年12月18日正式上线、2024年1月31日发布本地化扩展组件互联网关CXG等。这些举措不仅解决了数据合规和迁移难题,还通过本地化生态和创新功能提升了客户体验。云栖大会2024上,阿里云上的Salesforce展示了其在医疗健康和宠物营养品等行业中的成功案例,证明了其在中国市场的巨大潜力和价值。
297 4
|
JSON Kubernetes 负载均衡
第一次看 config dump
前言各位,知道的越多,就越会发现自己的无知。在面对服务网格这样的新兴概念之时,就更是如此了。回想昨日,满头大汗地研究VirtualService和DestinationRule是干什么用的自己仿佛还近在眼前。然而,在搞明白了服务网格的基本概念之后,我却发现自己甚至坠落进更大的疑惑之中了。如果你看过了一些istio的基本知识与概念,你应该知道istio为每个数据面的Pod都注入了一个Sidecar,
第一次看 config dump
|
缓存 Java Nacos
图文详述Nacos服务发现源码分析
图文详述Nacos服务发现源码分析
2170 0
图文详述Nacos服务发现源码分析
|
机器学习/深度学习 算法 数据挖掘
实战Scikit-Learn:处理不平衡数据集的策略
【4月更文挑战第17天】本文探讨了Scikit-Learn处理不平衡数据集的策略,包括重采样(过采样少数类如SMOTE,欠采样多数类如RandomUnderSampler)、修改损失函数(如加权损失函数)、使用集成学习(如随机森林、AdaBoost)以及选择合适的评估指标(精确率、召回率、F1分数)。这些方法有助于提升模型对少数类的预测性能和泛化能力。
1290 1
|
Apache 项目管理 数据安全/隐私保护
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
290 0
|
网络协议 Linux
Linux 的端口区间
在 Linux 中,端口区间分配和使用如下: 1. 0到1023端口是系统保留的端口,由一些通用协议、应用程序及其服务使用。这些端口被标识为众所周知的端口,并且不能被用户程序使用。 2. 1024到49151端口是为用户程序保留的,通常也称为注册端口。这些端口须先在IANA(互联网号码分配局)注册,以避免端口冲突。在进行应用程序开发时,应尽可能分配一个注册端口。 3. 49152到65535端口是为临时使用而保留的。这个端口范围通常用于不需要长期占据端口的应用程序,例如下载和文件共享应用程序。 至于如何使用这些端口区间,这取决于应用程序的设计和功能。例如,FTP服务器的默认控制连接端口为1
1264 0
|
Web App开发 网络协议 Java