web-dev-qa-db-ja.com

DHCPとNATの違いは何ですか?それらは相互に排他的ですか?

これはかなり基本的な質問であることは知っていますが、それを明確にするためにオンラインで情報源を見つけるのに苦労しています。

私が理解しているように、NATでは、プライベートネットワークをパブリックインターネットに接続するルーターに1つのIPアドレスがあり、プライベートネットワークへのすべてのトラフィックがこのルーターに転送されます。次に、ルーターはポート番号を使用して、トラフィックが対象とするプライベートネットワーク上のデバイスを特定します。対照的に、DHCPを使用すると、ネットワーク上の各デバイスには、トラフィックが送信される独自のパブリックIPアドレスが割り当てられます。

私の混乱は、両方を同時に使用できると聞いたことに起因します。これは、NATではプライベートネットワーク全体にIPアドレスが1つしかないのに対し、DHCPではネットワーク上の各デバイスにIPアドレスがあるという考えに矛盾しているようです。それらが相互に排他的である場合、それぞれが通常どこで使用されますか?

:)に役立つと思われる場合は、上記のステートメントを自由に切り離してください。

編集:以下の答えはそれを非常によく説明しています-私は愚かで、DHCPがIPアドレスの「タイプ」を割り当てることができることに気づいていませんでした。それはデバイスがネットワークに参加するための単なるプロトコルですか?

11
S. Dauncey

NATは、いくつかの方法でトラフィックを変換する方法です。ホームルーターで最も簡単なのは、すべてが同じIPアドレスの背後にあるように見せることです。つまり、ローカルネットワークからのすべての送信接続が取り込まれ、そのソースアドレスがルーターのパブリックアドレスに設定され、新しいポートが割り当てられ、変更されたパケットが転送されます。パケットが戻ると、同じことが逆に行われ、パケットは元のデバイスに送信されます。

NATはプライベートネットワークとパブリックネットワークの間にある必要はありません。また、2つのパブリックネットワークまたは2つのプライベートネットワークの間にある場合もあります。トラフィックを迂回させるだけで、パブリックまたはプライベートについて何も知りません。

DHCPはこれとはまったく無関係です。これは、デバイスがローカルネットワークに叫んでIPアドレスおよびその他の関連情報(ゲートウェイアドレス、ネームサーバーなど)をデバイスに提供するように要求する方法です。繰り返しますが、ホームルーターには通常、ローカルネットワークのクライアントにサービスを提供するサーバーがあります。 DHCPサーバーがない場合は、すべてのIPアドレスを手動で各デバイスに設定する必要があります(たとえば、Windowsの自動IPシステムを使用しますが、これはインターネットワーキングではなく、ローカルネットワークのみを対象としています)。デバイスは、IPアドレスを持たない限りIPを使用して通信できません。事実上、すべての通信はIP経由であるため、必要です。

指定されたIPアドレスは必ずしも公開されているわけではありません。多分これはあなたに混乱を引き起こします。 DHCPプールで定義されている任意のアドレス、またはその特定のデバイスの静的アドレスです。

したがって、DHCPがIPアドレスを割り当て、NATを使用しないようにすることができます。プールからIPを取得するだけです。 DHCPなしでNATを使用することもできます。固定IPを設定するか、NATを使用して、ファイアウォールを介して他のマシンなどにトラフィックを迂回させることができます。 DHCPからは何も必要ありません。

ほとんどの場合、外部IPは1つしかなく、ユーザーは手動で固定IPアドレスを設定したくないため、ホームネットワークでは両方が便利です。したがって、DHCPはローカルプライベートIPを提供し、NATは接続を変換して、同じアドレスから送信されたように見せます。

26
Sami Kuhmonen

DHCPは、ホストを構成するためのprotocolであり、定期的に実行され、ホストのアドレスと他の構成を最新の状態に保ちます。 NAT a processは、ルーターを介して転送されるパケットを書き換えるためのものです。具体的には、アドレスを変換し、場合によってはポートも変換します。

6
yahya
  • DHCPはIPのプールを取得し、要求に応じてそれらを割り当てます。公開または非公開にすることができます

  • NAT(通常)はルーティング可能なIPデータを受け取り、それをルーティング不可能なIP(ユビキタス192.168.0.0ブロックのような)に送信します

言い換えれば、それらは同じものではありません。エンジンとタイヤのようなものです。どちらも車に属し、走行を助けますが、それらはまったく異なることをします。

おそらくあなたをつまずかせているのは、ほとんどのインターネットがNAT(そして多くの場合IPv4 NAT)で動作していることです。NATを使用している場合、デフォルトの構成ではパブリックIPとDHCPルーターの背後に接続されているデバイスへの非ルーティングブロックです。トリックはDHCP NATを使用しないことです。実際には、デバイスはローカルの非ルーティングIPです。実際、ほとんどのレジデンシャルルーターは、そのためDHCPを行わないブロックを持っているため、たとえば、ネットワークプリンターに固定IPを割り当てることができます。

誰かがあなたの家に来て「あなたのWifiパスワードは何ですか?」 「待って、デバイスにIPを割り当てさせてください。あなたのMACアドレスは何ですか?」あなたは空を見つめるだけでなく(そしてあなたの両親は彼らに技術を求めるようにあなたを嫌うでしょう)、これはあなたにとっても非常に苦痛です。そのため、DHCPは本当に便利ですので、誰もこのようにネットワークを実行しません。私はシェフ(DevOps社)のAdam Jacobs氏です DHCPを使用できないと思っていた企業についてこの話をしました技術専門家の間で眉毛をすぐに上げました。

4
Machavity

すべてのTCP/IP接続には4つの番号があります。アリスとボブの間にあるとします。

Alice_IPとAlice_Portがあり、Bob_IPとBob_Portがあります。

NAT)がそれらの間にある場合(たとえば、Alice側の要求を変換する)、Alice_IPおよびAlice_Portを取得し、それらをNAT_IPおよびNAT_Portに置き換えます。

したがって、ボブとNATとボブの間のすべてのネットワークに対して、接続はNAT_IPとNAT_Portの間、およびBob_IPとBob_Portの間です。

NATは、「NAT_IPおよびNAT_PortをターゲットとするBob_IPおよびBob_PortからのパケットがAlice_IPおよびAlice_Portに変換される」という表を保持します。

これは通常、アリスとその友人がプライベートIPアドレスを使用できるようにするために使用され、NATは、インターネット全体で有効なパブリックIPであるNAT_IPを所有しています。

しかし、NATのレイヤーをAliceとBobの間に配置することもできます。AliceがBobに面しているものもあります。変換先のアドレスが実際のパブリックインターネットアドレスである場合にも使用できます(ただし、あまり意味がありません)。

DHCPは別の問題を解決します。ネットワークに接続するときに、IPアドレスがない可能性があります。 DHCPは、コンピュータがブロードキャストできる方法です。「こんにちは、これは私(イーサネットハードウェアID)です。IPアドレスが必要です。だれでも手伝っていただけますか?」

多くの場合、ルーターは「確かにIPアドレスです」で応答するように構成され、ルーターは(a)MACアドレスにそのIPアドレスがあり、(b)IPアドレスがその特定のサブネットワーク上にあることを記憶しています。

これらのIPアドレスを取得する場所は、DHCP自体には関係ありません。一般的なコンシューマールーターでは、プライベート用に予約されているIPアドレスのプール、10.xx.xx.xx、または192.168.xx.xxからそれらを取得します。

問題は、インターネットの残りの部分がそれらのアドレスにルーティングできないことです。実際、インターネット上の多くのルーターは、それらのアドレスを持つパケットをドロップするように構成されています。

コンシューマールーターはISPのルーター(または同等のルーター)に接続し、ルーターがIPアドレスを配布します。通常、ルーターはNATを実行し、家庭用コンピューターのDHCP-from-private-IPアドレス接続を、DHCP-from-ISPが提供する独自のIPアドレスに変換します。おそらく、ISPは、さらに別のNAT層を使用してyour router's IPアドレスを実際のインターネットIPアドレスに変換します。または、ISPが十分なIPアドレスを所有しているため、ルーターに「インターネット上の実際の」IPアドレスを与えることができます。

このNAT=の欠点は、コンピューターに一意のIDがないことです。そのため、誰かがコンピューターに接続したいときに、コンピューターのIPアドレスのように見えるパケットを送信すると、 、代わりにルーターに送信します。

また、ルーターのNATテーブルにこの新しい要請されていない接続のエントリがない可能性があるため、意味のない接続をドロップします。

これを回避するためのさまざまな効果のハックがあります。

1
Yakk

DHCPについて混乱しています。簡単に言えば、次のようになります。

  • ルーターは、2つのネットワークに参加して、それらのネットワークと隣接するネットワーク間の通信を提供するデバイスです。つまり、ルーターには2つのIPアドレスがあり、1つのネットワークに1つずつあります。「純粋な」ルーターには、各ネットワークに1つずつ、2つのネットワークコネクタしかありません。統合スイッチ(つまり、スマートネットワークスプリッター)を備えているため、プライベート側のコネクタの数が増えます。

  • NATとは、ネットワーク1のデバイスのアドレスが別のアドレスでネットワーク2に公開されている場合です。ルーターは、ネットワーク2でそのアドレスにアドレス指定されたデータを受信すると、ネットワーク1に転送し、受信者のアドレスを変更します。ホームネットワークは1対多のNATを使用します。この場合、すべてのデバイスはインターネットで1つのパブリックアドレスを持っているように見えますが、そのアドレスのポートはプライベートネットワークの複数のデバイスにマップされます。

  • DHCPは、IPアドレスを配布するためのプロトコルです。デバイスがネットワークに接続すると、「IPアドレスを取得できるDHCPサーバーが周辺にありますか?」と叫びます。 DHCPサーバーは無料のIPで応答します。

DHCPはNATに代わるものではありません。それは完全に異なる目的を果たします。ネットワークの境界を越えません。実際、ルーターはDHCPサーバーを実行してプライベートネットワークのアドレスを配布していますが、ISPのDHCPサーバーから独自のパブリックIPも取得しています。両方のネットワークでDHCPが実行されています!

0
gronostaj

NATは、ネットワーク内のパブリックIPアドレスをプライベートIPアドレスに変換するために使用されます。dhcpは、ネットワーク内のホストに自動的にIPを与えるために使用され、ルーターや外部と通信できるようにします。

0
Poiuyt