network address translation tutorial with examples
ネットワークアドレス変換(NAT)とは:
これで 明示的なネットワーキングトレーニングチュートリアルシリーズ 、私たちは探検しました モデムとルーターの違い 詳細については、前のチュートリアルで説明しました。
このチュートリアルでは、ネットワークアドレス変換(NAT)を導入する必要性、利点、タイプ、および実装方法を分析することにより、ネットワークアドレス変換(NAT)の概念を探ります。
コンピュータネットワークシステムでは、IPv4アドレス空間が使い果たされたときの救済方法としてNATが導入されています。
学習内容:
NATとは何ですか?
NATは、データパケットのIPヘッダー内のネットワークアドレスデータを、ネットワークを介して宛先ノードに向かって移動するときに変更することにより、単一のIPアドレス空間を別のIPアドレス空間に再割り当てするプロセスです。
通常、NATはルーターまたはゲートウェイで機能し、データが別のネットワークに送信される前に、プライベートアドレスを登録済みアドレスに変換することにより、2つのネットワークを相互接続します。
経験豊富なオラクルソアインタビューの質問と回答
NATは、内部ネットワーク全体に代わって、パブリックネットワークに1つのIPアドレスのみをブロードキャストする可能性があります。これは、プライベートネットワークの全体的なIPアドレスをそのソロアドレスの背後に効率的に隠すことにより、セキュリティの機能を提供します。
したがって、NATは、ネットワークシステムのアドレス変換とセキュリティの2つの機能を提供します。
なぜNATなのか?
インターネットを介してPCとWebサーバー間で通信するためのネットワークシステムでは、ネットワーク内で連絡したいPCまたはネットワークデバイスを見つけるために使用される32ビット番号である一意のIPアドレスが毎回必要です。
過去数十年間、IPV4アドレッシングスキームを使用していたとき、2 ^ 32があり、通信目的で43億の一意のアドレスをデバイスに割り当てることができました。しかし、実際に利用可能なアドレスは、放送、テスト、および一部の予約された軍事目的で使用されたために免除されたため、これよりも少なかった。
したがって、残りのアドレスは約32億でした。膨大な数のようですが、ホームネットワーク、ビジネス目的、オンラインビデオの視聴など、あらゆる分野でインターネットの使用が増加しているためです。データの共有など、アドレスは使い果たされそうになりました。
IPV4アドレッシングスキームのこの制限に対する解決策は、アドレッシングシステムを再作成して、アドレスを割り当てるためのオプションを増やすことです。これは、IPV6アドレス指定スキームを導入することで実行できます。
しかし、これを実装するプロセスは、ネットワークシステムのインフラストラクチャ全体を変更する必要があるため、数年かかりました。
その間、NATはどこにでも導入され、広く展開されています。これにより、ルーターなどのネットワークデバイスがインターネットとプライベートネットワークの間のエージェントとして動作できるようになります。これは、一意のIPアドレスを使用して、PCなどのネットワークデバイスのクラス全体を象徴できることを意味します。
NATの種類
#1)静的NAT :1対1のNATとも呼ばれます。この種のNATでは、ネットワークアドレス全体の中でIPアドレスとヘッダーチェックサムのみが変更されます。これらは、互換性のないアドレス指定を持つ2つの異なるIPネットワークの相互接続のために実装されています。
( 画像 ソース )
#2)ダイナミックNAT :このタイプのNATでは、未登録のプライベートネットワークからのIPのマッピングは、登録済みのIPアドレスのクラスからの登録済みネットワークの単一のIPアドレスを使用して行われます。
#3)NATのオーバーロード :これは、1対多NATとも呼ばれる動的NATの一種でもあります。
このタイプのNATでは、ネットワーク内をプライベートネットワークからパブリックネットワークに移動するパケットは、インターネットでデータパケットの送信元アドレスが変更され、パケットがパブリックネットワークからプライベートネットワークに戻されることを意味します。宛先IPアドレスが変更されます。
送信元または宛先に加えて、IPアドレスのパケットには、変換のあいまいさを回避するために、データパケットごとに変更されたポート番号または異なるポート番号があります。したがって、このポート番号と変更されたIPアドレスの組み合わせは、登録されたプライベートネットワークIPにマッピングされます。
#4)重複するNAT: ネットワークシステムでは、内部ネットワークで使用されている登録済みIPアドレスが別のネットワークでも使用されており、そのネットワークの登録済みIPである場合があります。
したがって、この場合、ルーターはルックアップテーブルを保持して、そのようなケースをキャプチャし、一意の登録済みIPアドレスと交換できるようにします。
NATルーターは、プライベートネットワークの内部および外部の登録済みIPアドレスのIPアドレスを変換します。
NATはどのように機能しますか?
作業を行う前に、NATで使用されるいくつかの用語を理解しましょう。
- ローカルアドレス内 :プライベートネットワークのプライベートIPアドレスです。
- 内部グローバルアドレス :外部ネットワークとの通信を開始する際に、プライベートネットワークのホストに割り当てられる登録済みのパブリックIPアドレスです。
- 外部グローバルアドレス :インターネット上のホストに割り当てられている登録済みIPアドレスです。
- 外部ローカルアドレス :パブリックドメインのホストに割り当てられているローカルIPアドレスです。
- 内部ネットワークデバイスが内部で相互に通信するために使用するアドレスは、内部ローカルアドレスと呼ばれます。
- 内部ネットワーク上のデバイスが外部ネットワークデバイスと通信するために使用するアドレスは、外部ローカルアドレスと呼ばれます。
- プライベートネットワーク上のデバイスと通信するために外部ネットワークデバイスによって使用されるアドレスは、内部グローバルアドレスです。
- 外部デバイスが相互に通信するために使用するアドレスは、グローバルアドレスの外部にあります。
- 組織がネットワークシステムを構築するときはいつでも、インターネットサービスプロバイダーはIPアドレスのプールをそれらに割り当てます。割り当てられたアドレスの範囲には、内部グローバルアドレスと呼ばれる登録済みの一意のIPアドレスが含まれます。
- プライベートIPアドレスの未登録クラスは、NATルーターによって展開される外部ローカルアドレスと、スタブドメインとも呼ばれるローカルエリアネットワークによって使用される内部ローカルアドレスで構成されます。
- 外部ローカルアドレスは、パブリックネットワークのネットワークデバイスの一意のIPアドレスを変換するために利用されます。
- LANネットワーク上のほとんどのネットワークデバイスは、それらの間の通信に内部ローカルアドレスを使用し、通常、変換を必要としません。これで、スタブドメイン上のデバイスが別のネットワークと通信する必要がある場合、パケットはNATルーターを通過します。
- これで、NATルーターはルーティングテーブルを検索して、宛先アドレスのエントリがあるかどうかを確認します。はいの場合、パケットを変換し、アドレス変換テーブルにエントリを作成します。アドレスが見つからない場合、パケットは拒否されます。
- 内部グローバルアドレスを使用することにより、ルーターはデータパケットを宛先にルーティングします。
- これで、パブリックネットワーク上のPCのようなエンドホストは、データパケットをプライベートネットワークに転送します。今回は、発信アドレスは外部グローバルアドレスであり、受信アドレスは一種の内部グローバルアドレスです。
- この場合も、NATルーターは変換テーブルを検索し、宛先アドレスがテーブルにあるかどうかを確認してから、IPをそれが属するスタブドメインにプロットします。
- パケットの内部グローバルアドレスから内部ローカルアドレスへの変換が行われ、宛先ホストエンドに配信されます。
- すでに前述したように、NATは、変換の目的で、変更されたIPヘッダーフィールドを持つTCPまたはUDPポートでIPパケットを使用するTCP / IPプロトコル機能を使用します。
したがって、IPパケットのヘッダーには次のフィールドが含まれます。
送信元アドレス –192.178.120.10などの開始ホストPCのIPアドレス
ソースポート –ポート1020などの開始PCによって割り当てられたTCPまたはUDPポート番号
宛先アドレス –172.145.57.20のような受信側PCのIPアドレス
宛先ポート –開始ホストがレシーバーホストに4281のように開くように要求したTCPまたはUDPポート。
2台のPC間の相関関係に一意の識別子があることを確認するため、ポート番号の割り当てが必要です。
NATの例
次の例では、内部ホスト(172.168.20.10)が外部と通信する必要があり、宛先Webサーバーアドレスは192.100.20.2です。次に、ネットワークのNAT対応ゲートウェイルーターにデータパケットを送信して、さらに通信します。
ゲートウェイルーターは、パケットの送信元IPアドレスを学習し、パケットが変換の条件を満たすかどうかをテーブルで検索します。ゲートウェイルーターは、内部ネットワーク変換の目的で認証ホストを見つけるアクセス制御リスト(ACL)を維持します。
したがって、内部ローカルIPアドレスを内部グローバルIPアドレスに変換します。これは192.100.10.25です。次に、この変換をNATテーブルに保存し、ゲートウェイルーターがパケットを宛先にルーティングします。
インターネットのWebサーバーが要求に戻ると、パケットはルーターのグローバルIPアドレス192.100.10.25に戻ります。
これで、ゲートウェイルーターは再びNATテーブルを検索して、グローバルアドレスに対応する変換されたIPアドレスを見つけます。次に、それを内部ローカルアドレスに変換し、データパケットがIPアドレス172.168.20.10でホストに配信されます。テーブルに一致するものが見つからない場合、パケットは破棄されます。
NATの仕組みイメージ:
NATオーバーロードまたはポートアドレス変換
これは基本的に、ホームブロードバンドルーターが未登録のIPアドレスをプライベートネットワークからパブリックドメインの単独で登録されたIPアドレスにマッピングするために使用されます。
ポートアドレス変換は、固有のポートを使用して、いくつかの未登録のプライベートIPアドレスを登録済みのパブリックソロIPアドレスにプロットします。ホームネットワークで行われるさまざまな変換を区別するために、PATは排他的なポート番号を内部のグローバルIPアドレスに展開します。
ホームネットワークの場合、ホストPCがインターネットにアクセスしようとすると、NATルーターはポート番号を送信元IPアドレスに割り当てます。
インターネットを使用するホームネットワークの1つのインスタンスに複数のPCが存在する可能性があるため、PATは、クライアントPCがインターネット上のサーバーとの新しいセッションを開始するたびに固有のポート番号を使用することを保証します。
これに応じて、ルーターは、宛先ポート番号に変換された送信元ポート番号に基づいてデータパケットをルーティングします。この現象全体により、クライアントからの要求への応答でパケットが元に戻されるため、通信セッションのセキュリティも確保されます。
NAT過負荷テーブル
ローカルIPアドレス内 | 内部グローバルIPアドレス | 外部グローバルIPアドレス | 外部ローカルIPアドレス |
---|---|---|---|
10.20.10.2:1666 | 192.134.30.4:1666 | 192.134.20.2:80 | 192.134.20.2:80 |
10.20.10.3:2444 | 192.134.30.4:2444 | 192.134.40.3:80 | 192.134.40.3:80 |
上の図から、ポート番号1666と2444がそれぞれデータパケットの検出に使用されているため、NATオーバーロードが内部グローバルIPアドレスの排他的な送信元ポート番号を使用して変換を区別していることがわかります。
ここで、送信元アドレスは表に記載されている内部ローカルIPアドレスであり、宛先アドレスはHTTPを介してインターネットにアクセスしているときのポート番号80の外部ローカルIPアドレスです。
NATルーター側では、NAT過負荷により、上記の表に示すように送信元アドレスが内部グローバルIPアドレスに変更され、宛先アドレスは外部グローバルIPアドレスと呼ばれるようになります。
ダブルNAT
ダブルNATは、プライベートネットワーク内のルーターなどの複数のネットワークデバイスがネットワークアドレス変換を実行している状況です。
最も簡単な例は、DSLモデムとWi-Fiルーターが、それぞれでNATが有効になっているネットワークに接続されている場合です。 Wi-Fiルーターを介してパブリックネットワークに接続されているホストデバイス。
このシナリオでは、DSLモデムのネットワークの範囲内で制限されたプライベートIPアドレスを持っている間、ルーターは独自のパブリックIPアドレスを持たないため、PCはインターネットにアクセスできません。
ダブルNAT問題を解決する方法
ダブルNATの問題を解決するにはさまざまな方法がありますが、どの解決策が正確に機能するかは、ネットワーク設定の種類によって異なります。
#1)無線ルーターをブリッジモードに設定する :ルーターのWebインターフェースにアクセスし、ワイヤレスルーターのNATおよびDHCP機能を手動で無効にすることを意味します。
モードがブリッジモードと呼ばれているときに両方の機能が無効になる場合は、 ポートフォワーディングを設定する モデムで機能して、ダブルNATの問題を解決します。
以下のスクリーンショットは、ルーターでブリッジモードを有効にしてダブルNATの問題を克服する方法を示しています。
( 画像 ソース )
#2)ルーターとモデムの間にPPPoE接続を作成します。 これはすべてのISPでサポートされているわけではありませんが、ダブルNATの問題に対処するための最良の方法の1つです。ルーターのWebインターフェイスでWAN設定に移動し、PPPoEをマークしてWAN接続を構成することを確認します。これにより、モデムのNATがバイパスされます。
#3)モデムでDMZを有効にします。 これにより、DMZ機能を備えたルーターがインターネットに直接接続され、NATルーターのIP、ファイアウォール、DHCP接続設定がバイパスされるため、デバイスはルーターから値を自動的に取得します。
手順は次のとおりです。
- まず、ルーターのWebインターフェイスにログインし、ルーターのWANIPアドレスを確認します。
- 次に、モデムの管理設定にログインし、モデムのDMZ設定で、ルーターのWANアドレスをIPアドレスとして設定します。これにより、ポートフォワーディングが有効になり、トラフィックは設定されたクライアントホストにルーティングされます。
NATルーター
NATルーターは、ローカルネットワークのIPアドレスのネットワークを生成し、そのLANネットワークをインターネットであるパブリックネットワークに相互に関連付けます。ルーターによって実行されるNATにより、ルーターの後端にあるLANネットワーク上の複数のPCまたはホストデバイスがWANネットワーク(インターネット)と通信できるようになります。
NATルーターは、ソロIPアドレスを持つソロホストとしてインターネットに登場するため、家庭用および小規模産業で使用されます。これにより、ルーターのローカルネットワーク上のPCに同じ時間間隔で単一のIPアドレスが割り当てられるという事実が効率的にキャストされます。
NATルーター ( 画像 ソース )
NATルーター固有のセキュリティ
NATルーターには、ネットワーク内のハードウェアファイアウォールデバイスとして機能し、ネットワークに害を及ぼす可能性のあるあらゆる種類の不要で異常なトラフィックからLANネットワークを保護するというこの機能があります。
したがって、インターネットとプライベートLANネットワーク間のフィルターとして機能し、ネットワークへのアクセスが許可されているトラフィックのみが通過できるようにします。
それはどのように機能しますか? ルーターはLANネットワークをインターネットに相互接続するため、LANネットワークからインターネットに送信されるすべてのデータパケットを監視します。ルーターはそれ自体との内部接続テーブルを保持し、各発信パケットの宛先IPとそれに割り当てられたポート番号を保存します。その後、ホームカミングトラフィックを確認するために、独自のIPアドレスとポート番号をパケットに割り当てます。
最後に、最終的なデータパケット情報を、IPアドレスおよびポート番号とともに現在の接続テーブルに保存します。データパケットのいずれかがインターネットからルーターに到着すると、ルーターは、テーブルにチェックインすることにより、LANネットワークに到着したパケットが必要な現在の接続テーブルでそれを調べます。
同等のIPアドレスとポート番号が見つかった場合は、LANネットワークの宛先PCに転送されます。また、一致するものが見つからない場合、ルーターはデータパケットを破棄し、不要なトラフィックとしてタグ付けします。
このようにして、NATルーターは、外部ネットワークとの接続をシールドします。また、LANネットワークに接続されているデバイスが1つだけの場合も同様です。したがって、ネットワークにNATルーターが構成されていれば、ワームや悪意のあるウイルスがネットワークに害を及ぼすことはありません。
NATルーターのセキュリティ機能
NATの利点:
- NATは、IPアドレスを管理および再利用することにより、IPV4アドレス指定スキームの枯渇を防ぐことができます。
- 外部ネットワークからの送信元と宛先のIPアドレスの機密性を維持することにより、外部からプライベートネットワークにセキュリティをプロビジョニングします。
- 柔軟なネットワークシステムを提供します。
- NATを使用するプライベートネットワーク組織は、パブリックインターフェイスのサービスプロバイダーに関係なく、選択したIP範囲を使用して内部ネットワークを構築できます。
NATの制限:
- NATはすべての着信および発信データパケットを調べて、接続テーブルとプロセッサメモリ内の別のデータレコードを維持するため、プロセス全体で大容量のストレージと時間が必要になります。
- すべてのネットワークデバイスとネットワークシステムはNATテクノロジーと互換性がないため、すべてのシナリオでどこでも機能するとは限りません。
- NATプロセス中にデバイスのIPアドレスが数回変更されるため、ネットワークコンポーネントのエンドツーエンドのIP到達可能性を追跡することが非常に困難になる場合があります。
- NATは、通信システムで予期しない遅延を引き起こします。
NATに推奨される安全なプロトコル: 特にNATに使用されるような指定されたプロトコルのセットはありません。ただし、翻訳はインターネットプロトコル(IP)スイートの下で行われます。また、TCPプロトコルは、ルーターによるNATの実行中の変換に使用されます。
これらのプロトコルとは別に、ネットワークシナリオに応じて、前のチュートリアルですでに説明したICMP、UDP、IPSecなどのさまざまなプロトコルのセットが使用されます。
結論
このチュートリアルから、コンピュータネットワークシステムにネットワークアドレス変換プロセスを導入する理由とその重要性を理解しました。
また、さまざまな例や図、NATの種類と動作の助けを借りて学びました。