首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DNS资源数据类型差异

DNS资源数据类型差异
EN

Server Fault用户
提问于 2016-09-27 19:53:31
回答 2查看 113关注 0票数 -1

在RFC1035中,它表示在DNS响应中,如果资源数据是指针,那么这些资源数据的前两位应该是11,如果是域名,则应该是00。两个问题:

  1. 如果资源数据是IP地址,例如201.1.2.3,其中0d201 =0b11001,会发生什么?还有其他领域也考虑到了吗?
  2. 前两个字节的11和00之间的区别是否真的需要?如果考虑到资源数据长度字段,那么长度2的长度不是唯一地标识资源中的指针吗?在DNS消息中使用的表示法中,域名不能长2字节。
EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-10-21 13:51:42

关于问题b:

在DNS响应中的资源记录中,有一个名为“资源数据长度”的字段。使用此方法,可以确定资源数据是否是指针、域名,甚至是域名的一部分,后面是指向域名其余部分的指针。但是,在每个资源记录的开头,也有一个字段应该带有客户端查询的域名/IP addr/etc。在这种情况下,问题中提到的两个位的使用是判断这个字段中包含什么的唯一方法:域名或指针。

关于问题a:

资源记录中有一个"Domain“字段,在PTR响应的情况下,该字段表示资源数据是一个4(或16)八进制地址。不需要检查资源数据的前两位。

票数 0
EN

Server Fault用户

发布于 2016-09-27 20:53:47

你误解了RFC。

它规定,长度八位组的两个高位数应设置为11或00。

更具体地说,如果这两位是00,则字节被视为长度,下面的6位表示后面的字节数。如果两位为11,则字段为指针,以下14位表示偏移量。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/805697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档