とりあえずまとめ
ループバックインターフェース とは
ループバックインターフェースは、サーバ・ルータがもつ仮想的なインターフェースのことであり、以下のような特徴がある。
- 機器がダウンしない限りダウンしない
- 任意の IP アドレスを付与できる
- 複数作成することができる
ネットワークにおいて特定のデバイスを指定する際にループバックインターフェイスが指定される。
参考
STUN
Session Traversal Utilities for NAT(STUN)は NAT トラバーサル(NAT 超え)の方法の 1 つとして標準化された通信プロトコルである。
STUN メッセージは以下のような 20 バイトの構造をしている。
同じポート番号を使用していた場合に STUN パケットであると識別するために使用されるため先頭の 2bit は必ず0
である必要があるとRFC8489
に記載されている。
-
Message Type
メッセージクラス(リクエスト・成功レスポンス・エラーレスポンス・指示)とメッセージメソッドである。
-
Message Length
20 バイトを除いたメッセージサイズを格納する。STUN メッセージは 4 の倍数になるように扱われるため、必ず最後の 2bit が 0 となる。
-
Magic Cookie
固定であり、
0x2112A442
が格納される。 -
Transaction ID
STUN トランザクションを一意に識別するた め使用される。
ヘッダーの後は以下の形式の値が格納されている。RFC5389の 15 節に詳細が記述されている。
IP アドレスのやりとりをするのに必要なMAPPED-ADDRESS
とXOR-MAPPED-ADDRESS
だけ詳細を記述する。
-
MAPPED-ADDRESS
初めに存在する 0 が 8bit 続いているのは 32bit に合わせるために付加されている。
Family
は IPv4 であれば0x01
、IPv6 であれば0x02
が格納される。 -
XOR-MAPPED-ADDRESS
難読化が行われた MAPPED-ADDRESS である。
Family
は MAPPED-ADDRESS と同じである。X-Port
は Port 番号をバイトで取得し、Magic Cookie の最上位 16bit と XOR した結果を格納する。X-Address
は IPv4 の場合は Magic Cookie と XOR した結果を格納し、IPv6 の場合は、Magic Cookie + Transaction ID の 128bit で XOR した結果を格納する。 最初の X の 8 バイトは MAPPED-ADDRESS と同じで 32bit にするために配置されている。(X にしているのは RFC で X と表現されているから)