「stun」の版間の差分

提供: 個人的記録
移動: 案内検索
(メッセージ構造)
(メッセージタイプ)
20行目: 20行目:
  
 
=== メッセージタイプ ===
 
=== メッセージタイプ ===
メッセージタイプは先頭2ビットが0固定。後ろ14ビットが2ビットのクラス、12ビットのメソッドで決まる。<br/>
+
メッセージタイプは先頭2ビットが0固定。後ろ14ビットが2ビットのクラス、12ビットのメソッドで決まる。
 +
==== クラス ====
 
クラスは以下の4種類である。
 
クラスは以下の4種類である。
 
{| class="wikitable"
 
{| class="wikitable"
!データ(ビット)
+
!データ(0b)
 
!名称
 
!名称
 
|-
 
|-
35行目: 36行目:
 
|}
 
|}
 
先頭1ビットがレスポンスを表すと思っておけばいい?
 
先頭1ビットがレスポンスを表すと思っておけばいい?
 +
 +
==== メソッド ====
 +
{|  class="wikitable"
 +
!値(0x)
 +
!メソッド名
 +
|-
 +
|000||Reserved
 +
|-
 +
|001||Binding
 +
|-
 +
|002||SharedSecret
 +
|}

2019年1月4日 (金) 07:05時点における版

STUN

RFC5389 を調べたメモ

メッセージ構造

長さ(バイト) 項目名 説明
2 メッセージタイプ 先頭2ビットは0固定。後ろ14ビットでクラスとメソッドを規定する(後述)。
2 メッセージ長さ
4 マジック 0x2112A442 固定
12 トランザクションID 乱数。トランザクションの識別に使用する

メッセージタイプ

メッセージタイプは先頭2ビットが0固定。後ろ14ビットが2ビットのクラス、12ビットのメソッドで決まる。

クラス

クラスは以下の4種類である。

データ(0b) 名称
00 リクエスト
01 エンデュケーション
10 成功レスポンス
11 エラーレスポンス

先頭1ビットがレスポンスを表すと思っておけばいい?

メソッド

値(0x) メソッド名
000 Reserved
001 Binding
002 SharedSecret