メインコンテンツまでスキップ

とりあえずまとめ

ループバックインターフェース とは

ループバックインターフェースは、サーバ・ルータがもつ仮想的なインターフェースのことであり、以下のような特徴がある。

  • 機器がダウンしない限りダウンしない
  • 任意の IP アドレスを付与できる
  • 複数作成することができる

ネットワークにおいて特定のデバイスを指定する際にループバックインターフェイスが指定される。

参考

STUN

Session Traversal Utilities for NAT(STUN)は NAT トラバーサル(NAT 超え)の方法の 1 つとして標準化された通信プロトコルである。

STUN 流れ

STUN メッセージは以下のような 20 バイトの構造をしている。

STUNメッセージ

同じポート番号を使用していた場合に STUN パケットであると識別するために使用されるため先頭の 2bit は必ず0である必要があるとRFC8489 に記載されている。

  • Message Type

    メッセージクラス(リクエスト・成功レスポンス・エラーレスポンス・指示)とメッセージメソッドである。

  • Message Length

    20 バイトを除いたメッセージサイズを格納する。STUN メッセージは 4 の倍数になるように扱われるため、必ず最後の 2bit が 0 となる。

  • Magic Cookie

    固定であり、0x2112A442が格納される。

  • Transaction ID

    STUN トランザクションを一意に識別するため使用される。

ヘッダーの後は以下の形式の値が格納されている。RFC5389の 15 節に詳細が記述されている。

STUNメッセージ 属性

IP アドレスのやりとりをするのに必要なMAPPED-ADDRESSXOR-MAPPED-ADDRESSだけ詳細を記述する。

  • MAPPED-ADDRESS

    MAPPED-ADDRESS

    初めに存在する 0 が 8bit 続いているのは 32bit に合わせるために付加されている。Familyは IPv4 であれば0x01、IPv6 であれば0x02が格納される。

  • XOR-MAPPED-ADDRESS

    難読化が行われた MAPPED-ADDRESS である。

    XOR-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 と表現されているから)

参考