《DNS与BIND(第5版)》——10.8 名称服务器地址排序

简介:

本节书摘来自异步社区《DNS与BIND(第5版)》一书中的第10章,第10.8节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。

10.8 名称服务器地址排序

有时,轮询调度和其他任何配置顺序都不符合要求。当与一台具有多个网络接口、并且因此具有多个IP地址的主机(也称为multihomed host,多宿主主机)联系时,根据主机地址选择特定的网络接口可能会有更好的性能。这不是rrset-order子语句能做到的。

如果这台多宿主主机在本地,并且和某台主机共享一个网络或子网,则多宿主主机的一个地址会距这台主机比较“近”。如果多宿主主机在远程网络中,可能使用其中一个网络接口会有更好的性能。不过,通常这和使用哪个地址没有多大关系。从前,10网段(也就是以前的ARPAnet骨干网),总会比其他的远程地址都要“近”些。现在的Internet发展迅猛,因此通过不同的网络访问远程的多宿主主机,大概都不会有明显的差别,但是本节仍会予以介绍。

在介绍名称服务器地址排序之前,应该先看看由解析器进行的地址排序是否更符合需求。(参阅本书节“sortlist指令”。)由于解析器和名称服务器可能位于不同的网络,所以让解析器来优化地址排序对本地主机更为理想。在名称服务器上进行地址排序也没问题,但是在BIND 8的早期版本中,名称服务器的地址排序功能被移除了,主要因为开发者认为该功能没有用。BIND 8.2恢复并增强了该功能。BIND 9.1.0是BIND 9中第一个支持地址排序功能的版本。

地址排序的关键在于一个称为sortlist的options子语句。sortlist子语句以地址匹配列表作为参数。然而,和作为访问控制列表使用的地址匹配列表不同,sortlist对地址匹配列表有非常特别的解释。地址匹配列表中的每个条目,本身就是具有一个或两个元素的地址匹配列表。

如果某个条目只有一个元素,那么它会被用来核对查询者的IP地址。如果查询者的地址匹配,则名称服务器会对发送给查询者的应答进行排序,以使任何匹配该元素的地址都被放在最前面。令人费解吧?下面有一个例子:


bd81dac0d6298581e2ce2e59ab7da2884171b5ec

这个排序列表中只有一条包含一个元素的条目。该列表会将位于网络192.249.249/24的地址排在应答的最前面,并发送给同样位于该网络的查询者。因此,如果位于192.249.249.101的客户端查询一个拥有两个地址(192.249.249.87和192.253.253.87)的域名,那么名称服务器将会把192.249.249.87排在应答的最前面。

如果一个条目包含两个元素,则第一个元素被用来匹配查询者的IP地址。如果查询者的地址匹配,名称服务器会对发送给查询者的应答进行排序,以使任何匹配第二个元素的地址都被放在最前面。第二个元素实际上可以是一个包含许多元素的地址匹配列表,在这种情况下,应答中的第一个地址就是第一个匹配该列表的地址。下面是一个简单的例子:


4e48581e66c031f8e2c4d8801085fa7e10545562

这个排序列表会作用在位于192.249.249/24的查询者上,并且发送给它们的应答会将它们自己的网络地址排在最前面,接着才是位于192.253.253/24的地址。

排序列表中的元素,可以是简单的子网甚至是单独的主机。


73b79b0b3f2a6b181870d478e3c993634776742a
相关文章
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
|
域名解析 网络协议 安全
DNS服务器地址大全
DNS(域名系统)是互联网的“电话簿”,将域名解析为IP地址。选择优质DNS服务器可提升网络速度、降低延迟。以下是全球及中国各运营商的DNS服务器列表,包括公共DNS(如Google DNS、Cloudflare DNS)、中国电信、联通、移动等。根据地理位置、稳定性、安全性与隐私保护等因素选择适合的DNS服务器,优化上网体验。
54509 6
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
5605 0
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
482 4
|
网络协议 开发工具 C语言
Jetson错误(二):wget命令提示无法解析主机地址的问题解决
对于解决在NVIDIA Jetson平台上使用wget命令时出现的无法解析主机地址的问题,提供了两种解决方法:一种是临时修改DNS服务器为Google的公共DNS,另一种是永久修改DNS设置。
894 5
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
975 140
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1628 29
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
667 4
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS