DNS响应中的记录名称字段

DNS响应中的记录名称字段,dns,Dns,我刚刚阅读了DNS协议,发现名称字段可以用两种方式写入: 下一标签的长度标签下一标签的长度标签零字节 指向上一个名称字段的指针 接下来是片段: 资源记录名称字段的编码方式与 “问题名称”字段,除非该名称已存在于中的其他位置 DNS消息,在这种情况下,使用2字节字段代替 长度值对名称进行编码,并充当指向指定名称的指针 已经存在 所以,我的问题是,如何确定第一种或第二种方式在包中使用 前两位是1。这允许区分指针 从标签开始,因为标签必须以两个零位开始,因为 标签限制为63个八位字节或更少 请参阅im

我刚刚阅读了DNS协议,发现名称字段可以用两种方式写入:

  • 下一标签的长度
    标签
    下一标签的长度
    标签
    <代码>零字节
  • 指向上一个名称字段的指针
  • 接下来是片段:

    资源记录名称字段的编码方式与 “问题名称”字段,除非该名称已存在于中的其他位置 DNS消息,在这种情况下,使用2字节字段代替 长度值对名称进行编码,并充当指向指定名称的指针 已经存在

    所以,我的问题是,如何确定第一种或第二种方式在包中使用

    前两位是1。这允许区分指针 从标签开始,因为标签必须以两个零位开始,因为 标签限制为63个八位字节或更少


    请参阅imho中的“4.1.4.消息压缩”一章。对于internet协议,最好直接访问源代码(即RFC)。第三方描述(如technet中的描述)可能不准确。