Skip to main content

18. IANA Considerations (IANA考虑)

IANA 创建了三个新注册表: "STUN Methods Registry"(STUN方法注册表)、"STUN Attributes Registry"(STUN属性注册表)和 "STUN Error Codes Registry"(STUN错误码注册表)。IANA 还将 STUN 的已分配 IANA 端口名称从 "nat-stun-port" 更改为 "stun"。

18.1. STUN Methods Registry (STUN方法注册表)

STUN 方法是 0x000 - 0xFFF 范围内的十六进制数字。将 STUN 方法编码到 STUN 消息中的方式在第6节中描述。

初始 STUN 方法为:

  • 0x000: (Reserved,保留)
  • 0x001: Binding
  • 0x002: (Reserved; was SharedSecret,保留;曾是 SharedSecret)

0x000 - 0x7FF 范围内的 STUN 方法通过 IETF Review [RFC5226] 分配。0x800 - 0xFFF 范围内的 STUN 方法通过 Designated Expert [RFC5226] 分配。专家的责任是验证所选代码点未被使用,并且请求不是异常大量的代码点。扩展本身的技术审查超出了指定专家责任的范围。

18.2. STUN Attribute Registry (STUN属性注册表)

STUN 属性类型是 0x0000 - 0xFFFF 范围内的十六进制数字。0x0000 - 0x7FFF 范围内的 STUN 属性类型被视为必须理解; 0x8000 - 0xFFFF 范围内的 STUN 属性类型被视为可选理解。STUN 代理以不同方式处理未知的必须理解和可选理解属性。

初始 STUN 属性类型为:

必须理解范围 (0x0000-0x7FFF):

  • 0x0000: (Reserved,保留)
  • 0x0001: MAPPED-ADDRESS
  • 0x0002: (Reserved; was RESPONSE-ADDRESS,保留;曾是 RESPONSE-ADDRESS)
  • 0x0003: (Reserved; was CHANGE-ADDRESS,保留;曾是 CHANGE-ADDRESS)
  • 0x0004: (Reserved; was SOURCE-ADDRESS,保留;曾是 SOURCE-ADDRESS)
  • 0x0005: (Reserved; was CHANGED-ADDRESS,保留;曾是 CHANGED-ADDRESS)
  • 0x0006: USERNAME
  • 0x0007: (Reserved; was PASSWORD,保留;曾是 PASSWORD)
  • 0x0008: MESSAGE-INTEGRITY
  • 0x0009: ERROR-CODE
  • 0x000A: UNKNOWN-ATTRIBUTES
  • 0x000B: (Reserved; was REFLECTED-FROM,保留;曾是 REFLECTED-FROM)
  • 0x0014: REALM
  • 0x0015: NONCE
  • 0x0020: XOR-MAPPED-ADDRESS

可选理解范围 (0x8000-0xFFFF):

  • 0x8022: SOFTWARE
  • 0x8023: ALTERNATE-SERVER
  • 0x8028: FINGERPRINT

必须理解范围前半部分 (0x0000 - 0x3FFF) 和可选理解范围前半部分 (0x8000 - 0xBFFF) 中的 STUN 属性类型通过 IETF Review [RFC5226] 分配。必须理解范围后半部分 (0x4000 - 0x7FFF) 和可选理解范围后半部分 (0xC000 - 0xFFFF) 中的 STUN 属性类型通过 Designated Expert [RFC5226] 分配。专家的责任是验证所选代码点未被使用,并且请求不是异常大量的代码点。扩展本身的技术审查超出了指定专家责任的范围。

18.3. STUN Error Code Registry (STUN错误码注册表)

STUN 错误码是 0 - 699 范围内的数字。STUN 错误码伴随着 UTF-8 [RFC3629] 中的文本原因短语,仅供人类使用,可以是任何适当的内容; 本文档仅提出建议值。

STUN 错误码在代码点分配和语义上与 SIP [RFC3261] 和 HTTP [RFC2616] 一致。

此注册表中的初始值在第 15.6 节中给出。

新的 STUN 错误码基于 IETF Review [RFC5226] 分配。规范必须仔细考虑不理解此错误码的客户端在授予请求之前将如何处理它。参见第 7.3.4 节中的规则。

18.4. STUN UDP and TCP Port Numbers (STUN UDP和TCP端口号)

IANA 之前已为 STUN 分配了端口 3478。此端口在 IANA 注册表中以名称 "nat-stun-port" 出现。为了使 DNS SRV 过程与已注册的协议服务一致,请求 IANA 将分配给端口 3478 的协议名称从 "nat-stun-port" 更改为 "stun",并将文本名称从 "Simple Traversal of UDP Through NAT (STUN)" 更改为 "Session Traversal Utilities for NAT",以便 IANA 端口注册表将显示:

stun   3478/tcp   Session Traversal Utilities for NAT (STUN) port
stun 3478/udp Session Traversal Utilities for NAT (STUN) port

此外,IANA 已为 "stuns" 服务分配端口号 5349,在 TCP 和 UDP 上定义。UDP 端口当前未定义; 但是,它保留供将来使用。