路由联盟

5-ipv6基础知识之-域名解析dns

2020-06-24  本文已影响0人  Creator_Ly

DNS域名解析过程比较简单,先看下IPV4下面的DNS,然后再看IPV6下面的DNS

1. IPv4 DNS


1.1 IPv4 DNS请求过程

在电脑上面ping www.taobao.com(如果已经访问过需要换一个网址,dns地址会被缓存,有可能不产生dns请求,直接请求ICMP包)

ping域名的过来,会先发送dns请求得到域名的IP,然后再发送ICMP包,测试数据可达性。

1.2 DNS数据包解析

DNS有两种报文:查询报文、回答报文,两者有着相同格式,下面就取报文中几个比较重要的字段进行说明

查询报文:

image

回答报文:


image

1.3 DNS查询报文-类型tpye字段

在发送DNS查询数据包的时候,会指定要查的类型,如IPV4地址就是A(使用ping命令),IPV6地址就是AAAA(使用ping6命令)。

类型 助记符 说明
1 A IPv4地址
2 NS 名字服务器
5 CNAME 规范名称定义主机的正式名字的别名
6 SOA 开始授权标记一个区的开始
11 WKS 熟知服务定义主机提供的网络服务
12 PTR 指针把IP地址转化为域名
13 HINFO 主机信息给出主机使用的硬件和操作系统的表述
15 MX 邮件交换把邮件改变路由送到邮件服务器
28 AAAA IPv6地址
252 AXFR 传送整个区的请求
255 ANY 对所有记录的请求

1.4 DNS回答报文-Answers字段

Flags中Answer RRs 为3 说明对应的Answers字段中将会出现3项解析结果.

Answers字段可以看成一个List,集合中每项为一个资源记录。

1.5 本地查看dns地址

在本地可以使用nslookup查看dns解析后的IPv4地址

linye@linye-ubuntu:~$ nslookup www.tianmm.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   www.tianmm.com
Address: 10.0.0.1

2. IPv6 DNS


IPv6对于DNS的支持是很简单的,只是将IPv4的域名解析和反向域名解析技术直接转换到IPv6环境中而已。

协议 记录 DNS映射
IPv4 A www.example.org A 206.123.31.200
IPv6 AAAA www.example.org AAAA 2001:410:1:1:250:3eff:fee4:1

例如IPv6地址为2001:410:1:1:250:3eff:fee4:1,反向查询域名为1.0.0.0.4.e.e.f.f.f.e.3.0.5.2.0.1.0.0.0.1.0.0.0.0.1.4.0.1.0.0.2.IP6.ARPA

2.1 DNS数据包解析

2.2 本地查看dns地址

在本地可以使用nslookup查看dns解析后的IPv6地址

linye@linye-ubuntu:~$ nslookup 
> set type=AAAA
> gw.zihome.com
Server:     127.0.0.1
Address:    127.0.0.1#53

gw.zihome.com   has AAAA address 2001:2345::1
> www.tianmm.com
Server:     127.0.0.1
Address:    127.0.0.1#53

www.tianmm.com  has AAAA address 2001::1

3. 使用地址选择的示例


主机A是一台IPv6IPv4主机,它具有多个接口,每个接口有多个地址。主机A构建并发送了一条或多条“DNS域名查询请求”消息,请求所有与域名web.example.com对应的地址记录。而主机A接收到的“DNS域名查询响应”消息中包含一个IPv4地址记录和多个IPv6地址记录。
根据DNS域名査询响应消息的内容,主机A的IPv6会执行如下操作。

1、使用源地址选择算法来判断出每个目的IPv6地址的最佳源地址
2、使用目的地址选择算法来判断出目的IPv4和IPv6地址的优先顺序。

目的地址的有序组以及它们对应的源地址会被提供给应用程序。然后,应用就会接着尝试每个目的和源地址组合,直至通信建立。

例如,主机A配置了如下地址

LAN接口:

口站点内自动隧道寻址协议( ISATAP)隧道接口:

对于域名web.example.com的DNS域名查询请求消息返回如下地址。

源地址选择算法的结果如下。

目的地址选择算法的结果是按优先级顺序排列的目的地址,如下所示

于是,主机A尝试通过以下几组源和目的地址与web.example.com服务器建立通信。

https://openwrt.org/docs/guide-user/network/ipv6/ipv6.dns

上一篇下一篇

猜你喜欢

热点阅读