BIND9源码分析之 多个view的情况下如何做dynamic update
BIND中view的存在提供了一种较好的智能DNS方案,BIND可以根据用户的来源IP为其返回不同的Resource Record。
但是关于DNS动态更新的RFC2136中并没有提及view(view只是BIND的一种智能DNS策略,跟DNS文档无关),那么在多个view中存在相同的zoneA的时候,如果对该zone发起动态更新请求,BIND9该更新哪个view中的zoneA呢?还是更新所有view中的zoneA?
阅读源代码就会发现,BIND9在多个view的情况下收到一个dynamic update请求时,只会更新某一个view中的zoneA。BIND9会根据发送update请求者的IP找出一个符合其matchlist的view,对这个view下面的zoneA做更新。
具体的更新策略见RFC2136,更新的实现代码见BIND9中的client.c::client_request函数和update.c::ns_update_start函数。
随便写个配置文件就可以验证这个结论了。
BIND9源码分析之 多个view的情况下如何做dynamic update的更多相关文章
- ZRender源码分析4:Painter(View层)-中
回顾 上一篇说到:ZRender源码分析3:Painter(View层)-上,接上篇,开始Shape对象 总体理解 先回到上次的Painter的render方法 /** * 首次绘图,创建各种dom和 ...
- ZRender源码分析3:Painter(View层)-上
回顾 上一篇说到:ZRender源码分析2:Storage(Model层),这次咱看来看看Painter-View层 总体理解 Painter这个类主要负责MVC中的V(View)层,负责将Stora ...
- 10.源码分析---SOFARPC内置链路追踪SOFATRACER是怎么做的?
SOFARPC源码解析系列: 1. 源码分析---SOFARPC可扩展的机制SPI 2. 源码分析---SOFARPC客户端服务引用 3. 源码分析---SOFARPC客户端服务调用 4. 源码分析- ...
- BIND9源码分析之acl 的实现
BIND配置中一大堆一大堆的acl,什么allow-query, allow-recursion, allow-update还有view的match-clients等等等等. acl中的主要存储的就是 ...
- BIND9源码分析之UDP数据处理
本文简要介绍一下BIND9中的UDP数据处理,包括如何创建socket.设置什么socket参数.多线程环境中如何让多个线程读取53端口的数据等等. BIND9的架构采用event-driven和ta ...
- 自定义View系列教程04--Draw源码分析及其实践
深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Andr ...
- ZRender源码分析5:Shape绘图详解
回顾 上一篇说到:ZRender源码分析4:Painter(View层)-中,这次,来补充一下具体的shape 关于热区的边框 以圆形为例: document.addEventListener('DO ...
- $Django cbv源码分析 djangorestframework框架之APIView源码分析
1 CBV的源码分析 #视图 class login (View): pass #路由 url(r'^books/$', views.login.as_view()) #阅读源码: #左侧工程栏--- ...
- django---APIView源码分析
django---APIView源码分析 前言:APIView基于View 看这部分内容一定要懂django-CBV里的内容 在django-CBV源码分析中,我们是分析的from django.vi ...
随机推荐
- Cocos2d-x
http://blog.csdn.net/ccf19881030/article/details/9204801 Cocos2d-x相关的博客以及官网信息 1.CSDN博主无幻的博客:http://b ...
- SharePoint 2013 升级
原文地址:https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/SharePoint-2013-Upgrade.aspx ...
- [ GIT ] GIT tip : A simple .gitconfig file
reference : http://fle.github.io/git-tip-a-simple-gitconfig-file.html As several friends have asked ...
- Hashing图像检索源码及数据库总结
下面的这份哈希算法小结来源于本周的周报,原本并没有打算要贴出来的,不过,考虑到这些资源属于关注利用哈希算法进行大规模图像搜索的各位看官应该很有用,所以好东西本小子就不私藏了.本资源汇总最主要的收录原则 ...
- 【BZOJ】【1089】【SCOI2003】严格n元树
高精度/递推 Orz Hzwer…… 然而我想多了…… 理解以后感觉黄学长的递推好精妙啊 顺便学到了一份高精度的板子= =233 引用下题解: f[i]=f[i-1]^n+1 ans=f[d]-f[d ...
- JavaScript使用技巧精萃
(一).确认删除用法: 1. BtnDel.Attributes.Add("onclick","return confirm('"+"确认删除?& ...
- Java基础(十四):泛型
一.Java 泛型: Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就 ...
- json数据的用法
json数据在后台跟前台传递数据使用是非常多站点开发者再熟悉只是的数据格式了,可是呢在这之前肯定有不少人还不知道json数据是怎么使用的, {"name":"01&quo ...
- [Javascript] Hositing
First, memory is set aside for all necessary variables and declared functions. Function expression n ...
- hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载
本文档主要内容有: 1.hadoop 2.2.0 集群安装与部署 2.HBase 0.96 集群安装与部署 3.Zookeeper 3.4.5集群安装部署 备注:安装文档可能有所遗漏,后续将持续更新. ...