- 締切済み
NAT変換について
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- ymmasayan
- ベストアンサー率30% (2593/8599)
No.2です。補足です。 ウィキペディアに依れば、 > ネットワークアドレス変換(ネットワークアドレスへんかん)、 > NAT(Network Address Translation)とは、 > パケットヘッダに含まれるIPアドレスを、 > 別のIPアドレスに変換する技術である。 > IPアドレスに加え、ポート番号の変換を行うものを > NAPT(Network Address Port Translation)と呼ぶ。 > 今日では、NATと言えばNAPTのことを指すのが一般的である。 つまり、NAT,NAPTの定義をお互いに明確にして議論しないと 話がすれ違うとおもいます。 私は質問者さんがNATとNAPTを明確に区別し NATに絞って質問されていると思っています。 また1つのアドレスでサーバを複数台動かすことは入っていない気がします。
- jjon-com
- ベストアンサー率61% (1599/2592)
質問文および添付図より,1対1はすでに理解なさっており, 1対N すなわち 222.222.222.1 の背後に複数のサーバがある場合はどのように区別しているのか,というご質問だと思っていました。 > 1対1NATは、アドレス変換という認識なのですが、 > ポート変換するのでしょうか? (ANo.2への補足) いいえ,TCPポート番号は変換しません。 逆に,このような補足をいただいたことで,私は,質問者が何をどう疑問に思っていらっしゃるのか,質問者にとって何が1対Nなのか,分からなくなりました。
- sholmes
- ベストアンサー率81% (89/109)
アドレスだけで変換かければ、全てになっちゃいます。 1対Nの話を解決するのは、NATではなくてNAPTです。 今回はNAPTの話ではなくて、あくまでNATの話ですよね? 「送信先IPに全変換かかるようなシロモノがなんの役に立つのか」という視点で、ちょっと考えてみます。 まずひとつは公開サーバーでしょうか グローバルIP一個しか持っていない環境で、ルーターの内側に公開サーバーを立てたと仮定してください 外からのパケットはRTが持っている一つのIPにしか来られないので、そのパケットの「宛先IP」を書き換えてサーバーまで届けてやらないといけません。 ・・・と言うだけなんですが、これだけだと実際問題あまり嬉しくも有りません。 外から来たIPを全部同じとこへ転送していたら、サーバー直結していても同じですよね。 というわけで、この用途の場合はポート毎に転送先を分ける機能が付加された「ポートフォワーディング」等へ繋がることになります。 外からWebサーバー宛の物はWebサーバーへ、外からメールサーバー宛のものはメールサーバーへ 等 では、IPアドレスだけ変換する単純なDestinationNATに役目は無いんでしょうか。 そんなことも無いと思います。 ex) 頑固な銀行同士が合併しました。 fig1に於いてお互い既に割り振ったアドレスを変更する気はないのですが、どうしてもAからX宛の通信を成り立たせ無くてはいけません。 妥協点として、お互いが使っていないネットワークの追加やルーティングテーブルの追加は可能です。 fig1) 自社 A 192.168.1.1/24 B 192.168.10.1/24 合併先 X 192.168.10.1/24 この時、そのままのIPではAから見てBとXの区別がつきません。 そこで間にDestinationNATをかましてやることで、Aから見たときのXを「192.168.99.1」のように見せることが可能です。 こういう、独自体系で構築されたプライベートネットワーク同士を強引に繋げるような際に、検討材料の一つにはなると思います。 ※但し追加したNAT装置とBとの通信等いろいろ面倒な事も多く、本格的なIPバッティングになると今度はTwiceNAT等の技術も必要になります。 非常に強引ですし、よく言われるNATの弊害みたいなものの一つだと理解しています。
- jjon-com
- ベストアンサー率61% (1599/2592)
>1対Nをどのように区別しているのか ソケット(socket),すなわち,IPアドレスとTCP(UDP)ポート番号の組,というものを知らないままでは,その疑問には決して答えられません。 http://ja.wikipedia.org/wiki/ポート番号 SNATとDNATの例を挙げておきます。TCPポート番号は適当に与えました。 下記の記述が意味することを図に描けるかどうか,挑戦してみてください。 SRC(192.168.1.1:52464), DST(222.222.222.1:80) SRC(192.168.1.2:53263), DST(203.216.227.4:80) SRC(192.168.1.3:53412), DST(227.214.203.7:80) ↓ ↓ Source NAT(SNAT,送信元NAT) ↓ SRC(111.111.111.1:9015),DST(222.222.222.1:80) SRC(111.111.111.1:9016),DST(203.216.227.4:80) SRC(111.111.111.1:9017),DST(227.214.203.7:80) SRC(123.123.123.123:52464), DST(222.222.222.1:80) SRC(123.123.123.124:53263), DST(222.222.222.1:8000) SRC(123.123.123.125:53412), DST(222.222.222.1:8080) ↓ ↓ Destination NAT(DNAT,受信先NAT) ↓ SRC(123.123.123.123:52464), DST(192.168.1.1:80) SRC(123.123.123.124:53263), DST(192.168.1.2:80) SRC(123.123.123.125:53412), DST(192.168.1.3:80)
- ymmasayan
- ベストアンサー率30% (2593/8599)
ごく大雑把に言うと ソースNAT・・・クライアント側(プライベートIP→グローバルIP) DstNat・・・サーバ側(外部にサーバアドレス隠蔽のため変換) DST NATの場合はサーバですから相手は不特定多数(1:N)です。 でも 送信元アドレスでなく送信先アドレス(1個)を変換しているので アドレス対応としては1:1変換になります。 余談ですが、ソース(Source)は送信元IPアドレス変換、 DST(Destination)は送信先IPアドレス変換のことだと思います。 もちろん、これは往きの時の話で帰りは逆になりますね。
補足
ご回答ありがとうございます。 1対1NATは、アドレス変換という認識なのですが、 ポート変換するのでしょうか? 52464→9015 SRC(192.168.1.1:52464), DST(222.222.222.1:80) ↓ SRC(111.111.111.1:9015),DST(222.222.222.1:80) 宜しくお願いいたします。