第 2 章 Mobile IP と関連技術の概要
2.4 プライベートアドレス・サポートに関する関連技術
なる。
一方、FAにおいては、MNのホームアドレスに加え、MNのMACアドレスとHAのア ドレスを把握しているため、プライベートアドレスを持つMNの送受信パケットを、対応 するMACアドレスによって識別・処理することができる。
2.4.2 Mobile IP における NAT 越え
逆方向トンネリングにより、移動端末のホームアドレスとしてプライベートアドレスを 使用することができるが、この場合、グローバルIPネットワークを介した転送を実現する ためには、FAのアドレス(気付けアドレスに相当)とHAのアドレスとして、あらかじめグ ローバルアドレスを割り当てておく必要がある。しかしながら、特に外部ネットワークに おいては、必ずしもグローバルアドレスを固定的に利用できない場合が考えられる。さら に、外部ネットワークがプライベートネットワークであり、なおかつ移動端末自身が気付 けアドレスを持つ場合(Co-located CoA)は、各移動端末の気付けアドレスとしてグローバル アドレスを割り当てることは困難となる。そこで、このような状況においては、外部ネッ トワークとホームネットワークとの間で、NATを介した転送が必要となる[25]。
外部ネットワークがグローバルIPネットワークとNATを介して接続される場合、送信元 アドレスがNATによって適当なグローバルアドレスに変換されるため、通常のMobile IP手 順のままではNATを越えて通信することはできない。NATを介した場合に発生する問題を
MN FA HA
登録要求 (RRQ) (1)
(2)
(3)
外部ネットワーク
NAT
登録要求 (RRQ) (Src=FA, Dst=HA)
登録応答 (RRP) (Src=HA, Dst=IP-gx) 登録要求 (RRQ) [CoA=FA]
(Src=IP-gx, Dst=HA)
IP[Src=HA, Dst=FA, {IP[Src=CN, Dst=MN]}]
グローバル IPネットワーク
登録応答 (RRP) (Src=HA, Dst=FA) 登録応答 (RRP)
図 2-12 Mobile IPのNAT越え問題
図 2-12に示す。
(1) MNが送信した登録要求(RRQ)メッセージは、FAが処理してさらにHAに送信するが、
FAが送信したRRQの送信元アドレスは、NATによってグローバルアドレスIP-gxに変換 される。この際、通常はRRQの送信元UDPポート番号も変換される。
(2) HAは登録応答(RRP)メッセージを返す際に、RRQの送信元アドレス(IP-gx)を宛先アド レスとするため、NATを通過してFAおおびMNまでRRPを届けることができる。
(3) 一方、HA から気付けアドレス(FA アドレス)までトンネリングされる MN 宛のパケッ トについては、トンネリングの外部IPヘッダの宛先アドレスがFAアドレスであるため、
NATで破棄されてしまう。また、一般的にNATではIPアドレスに加えてTCP/UDPポー ト番号も変換される(Network Address Port Translation: NAPT)ことが多いが、Mobile IP の標準規定で使用されるIP in IPトンネリングは、IPヘッダの追加のみでポート番号を持 たないため、一般的なNATを通過することができないという問題がある。
上述のようなNAT越え問題を解決するため、RFC 3519 [25]ではUDPトンネリングが規 定されている。UDPトンネリングを使用したNAT越えの概要を図 2-13に示す。
(i) MNから送信されるRRQには、UDPトンネリングを利用可能であることを示すオプシ
ョンが含まれる。FAからHAに送信されるRRQは、NATで送信元アドレス(およびポー ト番号)が変換されるが、HAではMNのホームアドレスと気付けアドレスに加えて、NAT で変換されたRRQの送信元アドレスとポート番号を登録し、RRPを返す。
(ii) MNからCN宛のパケットは、FAがUDPでカプセル化し、RRQと同一の送信先・送 信元ポート番号を使用してHAにトンネリングする。これにより、NATでは同一のグロー バルアドレスとポート番号のペアに変換され、HAに転送される。
(iii) CNからMN宛のパケットは、HAでUDPカプセル化され、RRQによって登録済みの FAのグローバルアドレスとポート番号を使用してFAまでトンネリングする。MNからCN 宛と同様に、NATでは同一のアドレス・ポート番号のペアとして認識・変換されて FAま でUDPパケットが届けられ、さらにFAからMNに元のパケットを転送することができる。
なお、UDPトンネリングでは、RRQやRRPと同一のアドレス・ポート番号を利用する ため、RRQ や RRP といったシグナリングメッセージとユーザパケットを区別するための ヘッダが存在する。
MN FA HA
登録要求 (RRQ) (i)
(ii)
外部ネットワーク
NAT
登録要求 (RRQ) (Src=FA, Dst=HA)
登録応答 (RRP) (Src=HA, Dst=IP-gx) 登録要求 (RRQ) [CoA=FA]
(Src=IP-gx, Dst=HA)
UDP/IP[Src=HA, Dst=IP-gx, {IP[Src=CN, Dst=MN]}]
グローバル IPネットワーク
登録応答 (RRP) (Src=HA, Dst=FA) 登録応答 (RRP)
UDP/IP[Src=IP-gx, Dst=HA, {IP[Src=MN, Dst=CN]}]
UDP/IP[Src=FA, Dst=HA, {IP[Src=MN, Dst=CN]}]
UDP/IP[Src=HA, Dst=FA, {IP[Src=CN, Dst=MN]}]
IP[Src=MN, Dst=CN]
IP[Src=CN, Dst=MN]
(iii)
図 2-13 UDPトンネリングによるNAT越え