《DNS与BIND(第5版)》——10.14 IPv6寻址入门

10.14 IPv6寻址入门

在介绍接下来的两个主题(包括如何将域名解析为IPv6地址,以及将IPv6地址逆向解析为域名)之前,最好先了解一下IPv6地址的表示方法和结构。IPv6地址的长度为128位(128bit),其最佳表示方法是使用冒号分隔的8组数字,每组数字由4个十六进制数构成;例如:

https://yqfile.alicdn.com/618065b62109d0e6d20b49c27553246d293455ed.png" >

第一组十六进制数(本例中是2001)代表此IPv6地址中最高的16位(16bit)。

在每组数字中,起始的一个或多个0可以被省略,因此可以将上面的地址写成:

https://yqfile.alicdn.com/a23ec6f738678bd74bc89f8530f8692ccd369e52.png" >

除非使用::标记,否则每组数字中必须包含至少一个十六进制数。::标记用来压缩连续几组全0的数字。当仅需要指定IPv6地址前缀(prefix)时,该标记会非常有用。例如:

https://yqfile.alicdn.com/249c0a47063a69e7a3a6a97445d4ef077b23caf1.png" >

用来指定IPv6地址起始的64位为2001:db80:dead:beef,而剩下的64位全为0。

还可以在IPv6地址的开头使用::标记来指定其后缀(suffix)。例如,IPv6的loopback(环回)地址通常写成:

https://yqfile.alicdn.com/65088127517033ecf5c0593038983d1c103ed4fb.png" >

或者写成127个0后接着一个1。甚至可以在IPv6地址的中间使用::标记,用来简写连续几组全0的数字:

在一个IPv6地址中只能使用一个::标记,因为多于一个::标记会造成混淆,无法确定每个::标记代表的0的位数。

IPv6地址前缀的表示方法类似于IPv4的CIDR表示法。作为前缀的有效位(significant bit)使用标准的IPv6表示法表示,后面跟着一个斜杠(/)以及一个表示前缀确切个数的十进制数。因此,以下3种前缀表示方法是等价的(虽然简洁程度明显不同):

https://yqfile.alicdn.com/3406a2fb146a8f51e14c02e0e294e9f70469e4c5.png" >

IPv6与IPv4网络号等价的部分,被称为全球路由前缀(global routing prefix)。该前缀由IPv6地址的高位(high-order bit)组成,长度可变,用来识别一个特定的网络。所有全球单播地址(global unicast address)都具有以二进制数001为起始位的全球路由前缀。这些地址由地址注册机构或Internet服务提供商(ISP)进行分配。全球路由前缀本身是层次化的,地址注册机构负责将较低位(lower-order bit)分配给各个ISP,再由ISP负责将最低位(lowest-order bit)分配给其客户。

在全球路由前缀之后,IPv6地址包含另一个由若干位组成的长度可变的数字,用来识别网络中的特定子网,称之为子网ID(subnet ID)。地址中其余的位用来识别特定的网络接口,并被称之为接口ID(interface ID)。

下面的图表来自于RFC 3513,展示了这三部分的组合方式:

|    n位      |   m位   |    128-n-m位   |

|  全环路由前缀   |   子网ID   |   接口ID      |

根据RFC 3177的建议,IPv6地址应该以如下方式分配给网站。

家庭网络用户应该分配一个/48的前缀。
小型和大型企业应该分配一个/48的前缀。
超大型用户应该分配一个/47或更短的前缀。

时间: 2024-08-30 15:38:12

《DNS与BIND(第5版)》——10.14 IPv6寻址入门的相关文章

《DNS与BIND(第5版)》——10.12 系统优化

10.12 系统优化 对于大多数名称服务器来说,在BIND的默认配置下就能工作得很好,然而可能其中某个还需要进一步调优.本节将讨论可以用来优化名称服务器的所有配置项. 10.12.1 区域传输区域传输会给名称服务器带来沉重的负担.所以BIND提供一些机制,可以限制slave名称服务器给master服务器带来的区域传输负载. 1.限制请求单个名称服务器传输的区域数量 在slave名称服务器上,可以限制其一次能够向单个master名称服务器请求传输的区域数量.这样master名称服务器的管理员应该会

《DNS与BIND(第5版)》——10.5 转发机制

10.5 转发机制 某些网络连接不希望发送过多的流量到外界去,可能是因为对外的连接速率低.延迟高:例如,远程办公室通过卫星连接到公司的网络.在这些情况下,可能需要将对外的DNS流量限制到最低.BIND提供了一种解决此问题的机制:转发器(forwarder). 如果需要将名称解析分流至特定的名称服务器,那么转发器也是很有用的.例如,如果网络中只有一台主机连接到Internet,并且该主机是名称服务器,则可以将其配置为其他名称服务器的转发器,这样它们就可以查询Internet上的域名了.(本书第11

《DNS与BIND(第5版)》——10.2 DNS动态更新

10.2 DNS动态更新 Internet(即通常使用TCP/IP协议的网络)如今变得愈加动态化.许多大型企业使用DHCP动态分配IP地址.几乎所有的ISP都使用DHCP为其拨号及使用线缆调制解调器(cable modem)的用户分配IP地址.为适应这种变化,DNS需要提供动态增加和删除记录的功能.RFC 2136描述了这种机制,称为DNS动态更新. BIND 8和9支持RFC 2136提出的动态更新功能.此功能允许经过授权的更新者(updater),在区域中的权威名称服务器上增加和删除资源记录

《DNS与BIND(第5版)》——10.11 回避伪装的名称服务器

10.11 回避伪装的名称服务器 作为名称服务器的管理员,可能会发现某些远程名称服务器用有害的信息作为应答,这些信息可能是过时的.不正确的.格式错误的,甚至是故意欺骗的.可以尝试通知对方的管理员来修复该问题.或者通过配置,让名称服务器不再查询该服务器,BIND 8和BIND 及其后续版本支持这个功能.下面是配置文件中的语句: 当然,需要填入正确的IP地址. 如果名称服务器停止查询的服务器,是一个区域唯一的服务器,那么不要指望能够查询到位于该区域的名称了.但愿,还存在其他服务器可以提供关于该区域的

《DNS与BIND(第5版)》——10.9 优先选择特定网络上的名称服务器

10.9 优先选择特定网络上的名称服务器 BIND 8的拓扑(topology)功能与sortlist有些相似,不过它仅用于选择名称服务器.(BIND 9直到版仍不支持拓扑功能.)本章前面曾介绍过,BIND会从同一区域的各权威名称服务器中,选择出往返时间(round-trip time,简称RTT)最短的名称服务器.事实上并非如此.BIND 8在比较RTT时,实际上会把远程名称服务器分配到以64毫秒为单位划分的多个时段中.第一时段其实只有32毫秒宽,从0到32毫秒.下一时段从33到96毫秒,依次

ISC发布DNS软件BIND更新 修复其中数个可远程利用的DoS漏洞 CVE-2017-3136 3137 3138

在2016年,BIND曾经出现过两次漏洞. 绿盟科技发布ISC BIND 9 DoS漏洞技术分析与防护方案 , BIND9 DoS漏洞CVE-2016-8864 绿盟科技发布技术分析与防护方案 北京有1435台设备受影响 .本周,互联网系统协会(ISC)又发布了DNS软件BIND更新,修复了可远程利用的数个拒绝服务漏洞.BIND 9.9.9-P8.9.10.4-P8和9.11.0-P5中修复了可导致声明失败的三个安全漏洞.绿盟科技发布安全威胁通告,全文见后. 三个漏洞中CVE-2017-3137

Linux服务器配置之DNS——采用BIND

众所周知,Linux虽然在桌面应用上赶不上Windows普及和易用,但也恰恰是因为其看起来很麻烦的命令行操作,使得其在安全性方面要优于为了易用而采用图形化界面的windows ,正因如此,使得Linux在服务器方面可以大展拳脚,其中尤以apache著称的LAMP和DNS服务器BIND更是使用普遍.下面说说bind的配置方法. 首先,从以前写的文章知道,我采用的操作系统是RED HAT Fedora Core 7,在安装系统的时候,在选择软件包的时候,我是采用的自定义方式,我把一些没用的软件如那些

c语言-数据结构C语言版10道实习题目求解答!!

问题描述 数据结构C语言版10道实习题目求解答!! 除有特别说明外,每个题目请以自然语言.形式化表述(伪码.流程图等).程序代码三种方式描述. 顺序结构线性表LA与LB的节点关键字为整数.LA与LB的元素按非递减有序,线性表空间足够大.试给出一种高效算法,将LB中的元素合并到LA中,使新的LA元素仍保持非递减有序.高效是指最大限度的避免移动元素. 请写一个算法将线性表(a1,a2,-,an)逆置为(an,an-1,-,a1). 在一个递增有序的线性表中,有数值相同的元素存在.若存储方式为单链表,

在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin

在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin LEMP是一个操作系统和几个开源软件包的合称.缩写LEMP来自 Linux,Nginx(发音是 engine-x)HTTP服务器, MySQL数据库,和 PHP/ Perl/ Python的首字母. 在这篇教程里,让我们看一下如何在 Ubuntu 14.10 上安装 Nginx,MySQL 或 MariaDB,PHP 和 phpMyAdmin. 安装Nginx Nginx (发音是engine-