SSブログ

NAT越えの技術 [Engineering]

NATを越えるための技術がいくつか存在する。

技術を列挙する前に、NATの種別について整理する。まず、RFC3489で整理されている4つのNAT種別について列挙する。グローバルアドレスやポート番号の振る舞いがどのように変わるかで分別されている。このあたりは、日本語なら、TTC TR-1012、TR-1013にも説明が触れられている。

1) Full Cone NAT
ネットワーク機器のグローバルアドレスとポート番号が接続先が、変わっても変化しない接続のことを指す。接続先のアドレスやポート番号の制限をかけない。

2) Restricted Cone NAT
Full Cone NATのうち、接続先のIPアドレスに制限をかけた接続のことを指す。

3) Port-Restricted Cone NAT
Full Cone NATのうち、接続先のIPアドレスやポート番号に制限をかけた接続のことを指す。この場合、同一のIPアドレスでもポート番号が異なると接続できないことになる。

4) Symmetric NAT
ネットワーク機器のグローバルアドレスとポート番号が、接続先が変わると必ず変化する接続のことを指す。

RFC4787では、NATの振る舞いについてより細かく整理されている。上記の区分でひとくくりに分けられないところもあるようだ。

技術について整理する...、と言いますか、色々な情報を読んでいて、列挙されたものをピックアップした。

UPnP (Universal Plug and Play)
1999年にMicrosoft社が提唱しUPnPフォーラムが規定している、ネットワーク機器がネットワークを介してIPアドレスを取得したり、他のネットワーク機器の存在や機能を把握したりすることのできる技術仕様のこと。機能を享受するには、ネットワーク上にUPnP対応のルータが必要になる。UPnPを利用して策定した規格としてDLNAなどがある。(NAT越えの解決にはつながらないが、ユーザに余計な設定を求めることなく、NAT越え解決機器と接続するだけで自動化するには、このプロトコルは必要なんだろう。)

STUN (simple traversal of UDP through NATs)
RFC3489で規定されている、ネットワーク機器がインターネットにつながっているSTUNサーバに接続し、グローバルアドレスとポート番号を取得するための方式のこと。UDPを使用する。Full Cone NATの接続でしか利用できない。

拡張STUN
平成15年度未踏ソフトウェア創造事業の1つである「ネットワークサービス管理・連携フレームワーク」の中で登場する方式。(Symmetric NATの接続にも対応した、変化するグローバルアドレスとポート番号を推定(?)して取得する方式のことらしい。)

B2BUA (Back-to-Back User Agent)
SIPで提供される機能の1つ。端末間で確立されたセッションにおいて、発呼側のIPアドレスやURL、その他ID情報などが着呼側に伝わらないようにブロックするような場面で用いられる。(発呼側の情報を匿名化することを目的とするのだが、呼接続時の外部アドレス・内部アドレス変換をB2BUAサーバで実現させよう、と言っているんだと思う。)

TURN (Traversal Using Relay NAT)
draft-ietf-behave-turnで規定されている、TURNサーバを内部ネットワークのNATと端末の間に設置し、アドレスやポート番号の変換を実現させる方式。外部から接続する端末は、TURNプロトコルを識別できる端末でなければならない。全ての通信がTURNサーバーを介して行うので遅延が大きくなる模様。

ICE (Interactive Connectivity Establishment)
draft-ietf-mmusic-iceで規定されている、STUNやTURNを組み合わせて、SIPを使って接続する方式。

H.460.18 / H.460.19
H.323を利用したテレビ会議装置においてNAT/ファイアウォール越えによる通信を実現するためのプロトコルをまとめた技術仕様のこと。

本来なら、ずいぶん前に、私が職場内へレポートを展開する必要があったんだろうけれど...。展開不要になったわけではないのだが...。まとめていくうちに、あれだこれだ、と、職場にある技術文書が手元に欲しくなってしまいました。また、既にあった知識は古くなっていて、新しい概念や用語に書き換えられている点に気付いた次第です。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0