• ベストアンサー

DHCPとNAPTとの違い

encyの回答

  • ency
  • ベストアンサー率39% (93/238)
回答No.6

ANo2 ency です。 # 少々長文になります。。。 [ANo2 の回答へのお礼より抜粋] 【DHCPに関するご質問について】 > 動的にプライベートIPを割る振るほうが楽だと思うのですが、 > なぜ、動的な場合と、静的な場合があるのでしょうか。 動的に割り振るほうが、仕組みとして簡単なのはわかると思います。 端末が接続されるたびに、プールしているIPアドレスの中から空いているものを順に割り振っていけばよいわけですから。。。 ただこの場合、接続するたびに端末に割り振られるIPアドレスが変わることになります。 割り振られるIPアドレスが変わっても、ネームサーバの情報がその都度更新してくれれば良いですが、少しでもタイムラグがあると接続できなくなることもあります。 サービスによっては、これがネックになる場合もありますので、静的に割り振る仕組みができたとお考えいただければよいと思います。 静的に割り振るための方法として、MACアドレスを使用しているわけですね。 【NAPTに関するご質問について】 > 2つのクライアントが同じアプリを使ってWebにアクセスしていた場合には、同じ番号のポートがデフォルトでは > 設定されていると思いますが、この場合にはIPとポートを認識して変換する意味があまり理解できません。 > > そもそもIPを1対多でグローバルとプライベートに変換するのに、ポート番号が分かってなければ、 > 1対多で変換できないのでしょうか。 > そのあたりの仕組みが実は本を読んでもよく理解出来ません。 変換されるのは、クライアント側のIPアドレス+ポート番号であることに注意してください。 サーバ側のIPアドレス+ポート番号は変換されませんので、複数の端末から同じWEBサーバに接続される場合、どれもあて先ポート番号 80 が設定されたままです。 このとき、クライアント側のポート番号は 32768以降 (だったかな?) の任意の値になりますので、これを変換の対象とするわけです。 実際には、グローバルアドレスを使いまわすことを目的に NAPT を使用することが多いようです。 そもそも、プライベートアドレスを使用する理由として、LAN内に接続する端末分のグローバルアドレスを用意できない場合があげられます。 ですので、できるだけ少ないグローバルアドレスで、できるだけ多くの端末からインターネット接続させたい場合なんかに、NAPT を使用するわけですね。 サーバ側は「送信元IPアドレス+あて先IPアドレス+送信元ポート番号+あて先ポート番号」によって通信相手との接続を区別します。 このため、たとえば以下のように、複数のプライベートアドレスに対して、同じグローバルアドレスでも異なるポート番号をマッピングさせることで、問題なくインターネットと通信することが可能になるんです。 # どちらも、クライアント側のIPアドレス+ポート番号である点に注意してください。 # また、 # P-IP:プライベートアドレス # G-IP:グローバルアドレス # とお考えください。 [1] P-IP: 10.10.10.10 / Port: 50000 ⇔ G-IP: 222.222.xxx.222 / Port: 60000 [2] P-IP: 10.10.10.20 / Port: 50000 ⇔ G-IP: 222.222.xxx.222 / Port: 65000 なお、NAT であれば異なるポート番号を割り当てることができないため、必ず1対1になります。 つまり、NAT の場合は、LAN内の全端末をインターネットに接続させる場合、端末数分のグローバルアドレスが必要になる点が、NAPT と大きく異なります。 # これも、クライアント側のIPアドレスである点に注意してください。 # また、どうしてこうなるのかは、以下の例と、上記の NAPT の例を比較してちょっと考えてみてください。 [1] P-IP: 10.10.10.10 ⇔ G-IP: 222.222.xxx.222 [2] P-IP: 10.10.10.20 ⇔ G-IP: 222.222.xxx.223 ちなみに、NAPT は IPアドレス (第3層: TCP/IP のインターネット層) とポート番号 (第4層: TCP/IP のトランスポート層) を対象にしたアドレス変換方式です。 このため、MACアドレス (第2層:TCP/IP のリンク層) を含めた設計になっていません。 「なぜ?」といわれても…IPアドレスからMACアドレスに変換する ARP (Address Resolution Protocol) との連携を複雑にしたくなかったのではないかなぁ…という予想はできますが、はっきりしたことは最初に考えた人に聞いてみるしかありません。 もし、MACアドレスを含めた形でアドレス変換をうまく行う方法が提案できれば、RFC になるかもしれませんね。 長文になってしまい、すみません。。。 こんな感じでいかがでしょうか?

htgo
質問者

お礼

encyさん、有難う御座います。 >変換されるのは、クライアント側のIPアドレス+ポート番号であることに注意してください。 >サーバ側のIPアドレス+ポート番号は変換されませんので、複数の端末から同じWEBサーバに接続される場合、どれもあて先ポート番号 80 が設定されたままです。 >このとき、クライアント側のポート番号は 32768以降 (だったかな?) の任意の値になりますので、これを変換の対象とするわけです。 ここを誤解していました、クライアント側ではなく、サーバー側(宛先)のポート番号が同じなるのですね。 >サーバ側は「送信元IPアドレス+あて先IPアドレス+送信元ポート番号+あて先ポート番号」によって通信相手との接続を区別します。 この説明でよく理解出来ました。 >NAPT は IPアドレス (第3層: TCP/IP のインターネット層) とポート番号 (第4層: TCP/IP のトランスポート層) を対象にしたアドレス変換方式です。 上記について再度質問のですが、各レイヤーがレイヤー毎にもっている情報をトータル的に、Webサーバー(ルーター?)が確認(コントロール) しながら、アドレス変換(P-iP←→G-iP)を行いインターネットとやり取りしているという理解でよいのでしょうか? 以上宜しくお願いします。

関連するQ&A

  • SNATとNAPT

    SNAT (ソースNAT ※スタティックNATの方ではありません)とNAPTは、どちらも複数のLAN内のプライベートIPアドレスを1つのグローバルIPアドレスに変換するものと認識してますが、そうするとSNATとNAPTは同義なのでしょうか?

  • NATとNAPTについて教えてください

     こんにちは、ネットワーク勉強中の初心者です、宜しくお願いします。  NATとNAPTについて教えてください  「NATの場合には、ルータ-はローカルアドレスからグローバルアドレスへの変換は、LAN内 の1個のPCからしか変換できない、そのためにPCのポート番号と組合せたNAPTというシステ ムがある」と参考書には書いてありますが、NATの場合でも、PCのローカルアドレスと組合せれ ば、NAPTと同じように複数のPCに対応出来る機能を持たす(1個のグローバルアドレスと複数 のローカルアドレスを組合せる)ことは出来るのではないでしょうか。  以上、宜しくお願いします。

  • NAPTとIP-Unnumberd

    IP-Unnumberdの設定が施されたルータの配下のDHCPクライアントに自動的にIPアドレスをリースさせて、NAPTを機能させる、という使い方は無理なのでしょうか? IP-Unnumberdの状況の下では、ルータのLAN側へもパブリックネットワークのグローバルIPアドレスを固定化させねばならない、と思われますので、其処では、ネットワークアドレスの齟齬のせいでNAPTが利用され得ないのではないか、と考えたものですから、教えて下さいませ。

  • DHCP

    お世話になっていますm(__)m おしえてください~~(泣) 具体例をだすと、ADSLMN(2)というモデムとかにはDHCP機能があって、それで、付与されたグローバルアドレスからプライベートアドレスに変換してますよね?(それはたとえPC1台だけの接続でも変換しますよね?) では、普通のダイヤルアップではどうですか?どこで、グローバルアドレスからプライベートアドレスへ変換するのですか?  ISDNの場合ではどうですか?TAにはDHCP機能はついてないですよね? どうかよろしくおねがいいたしますm(__)m

  • DHCPについての質問です

    最近無線ルータを使用しているんですが、理解できないことがあるので、質問させていただきました。 ルータの設定で、LANとWANの設定をするところがあるんですが、その中にDHCPについてそれぞれ設定をするところがあります。 LANの設定では「DHCPサーバ機能」をONにし、開始IPアドレスを192.168.1.2から32個としています。 次にWANの設定では「DHCPサーバからIPを取得」をONにしています。このときのDHCPサーバとはISPが提供しているDHCPサーバのことなのでしょうか? こういった設定ではLANのほうでは192.168.1.2から32個の中で割り当てられたIPをLANで使用し、ルータのNATまたはIPマスカレード機能でISPのDHCPサーバから取得したIPとを相互変換しインターネットに接続している状態になるのでしょうか? よろしくお願いいたします。

  • NATおよびNAPT時のIPの振り方

    ・スタティックNATの場合 ルータのWAN側にWAN側のインターフェースに振られているIPと別のIPをバーチャルIPとして設定し、LAN側のプライベートアドレスと1対1で関連図ける。と認識しています。 ここで質問ですが、 このWAN側のインタフェースに振られているIPとLAN側のプライベートアドレスを1対1で関連付けることはあるのでしょうか? それともWANのインターフェースで使っているのでこのような使い方はしないのでしょうか? ・NAPT NAPT時はどうなのでしょうか?こちらの場合は別のIPを設定しても、WANに振られているIPを設定してもどちらでもよいのでしょうか? よろしくお願い致します。

  • RARPとDHCPのちがい

    RARPとDHCPのちがいがよく分かりません。 どちらも、MACアドレスからIPアドレスを割り当てるのですよね?

  • NAT・DHCP・IPマスカレードの違いを教えてください!!

    現在LANネットワークの勉強をしているのですが、NAT・DHCP・IPマスカレードの明確な違いがあまり理解できません。テキストを見てもピンときません。 うまくおしえてください。お願いします。

  • DHCP

    DHCPサーバーについて勉強しています。家庭でADSLモデムからブロードバンドルーター経由で3台のパソコンを接続しインターネットに接続していますが、そこで質問です。インターネットに接続する際、TCP/IP構成情報というのは、プロバイダのDHCPサーバーから割り当ててもらってるのでしょうか?また、家庭で使っているルーターは、プライベートIPアドレスを割り当てる為のDHCPサーバーということになるのでしょうか?(初心者のため、わかりやすい説明していただけると助かります。)

  • VPNのトンネルとNAPT

    各拠点にVPNルーターを設置しまして、 各拠点から中枢のネットワークへとVPNの方式で接続させる、 という状況の下では、 中枢側のルーターから各拠点のルーターへと『プライベートIPアドレス』が割り当てられているのだろう、 と私は勝手に認識して参りました。 従いまして、もしかしますと、私の根本的な誤解が含まれているのかも知れませんが、間違いを残した儘では心配になりますので、伺います。 ★『VPNクライアント』の各ルーター(ノード)の配下に属しているホスト群へは、其の『VPNクライアント』からプライベートIPアドレスが割り当てられていますが、其のIPアドレスが『VPNサーバー』側から割り当てられてはいませんので、 もし其のホストが『VPNサーバー』側のLANのリソース群を利用するのでしたら、 其処の『VPNクライアント』のルーターを経由する際に、 "NAPT"が適用されるのでしょうか?