ここでは2つのことが混乱しています。
- クラスフルアドレッシングとCIDR
- マスカレード/ NAT
クラスフルアドレス指定からクラスレスドメイン間ルーティング(CIDR)への移行は、ISPおよび組織へのアドレス配布をより効率的にする改良であり、これによりIPv4の寿命も長くなりました。クラスフルアドレス指定では、組織は次のいずれかを取得します。
- クラスAネットワーク(CIDR用語で/ 8、ネットマスク255.0.0.0を使用)
- クラスBネットワーク(CIDR用語では/ 16、ネットマスク255.255.0.0を使用)
- クラスCネットワーク(CIDR用語では/ 24、ネットマスク255.255.255.0)
これらのクラスはすべて、固定範囲から割り当てられました。クラスAには、最初の数字が1から126、クラスBが128から191、クラスCが192から223のすべてのアドレスが含まれていました。組織間のルーティングには、このすべてがプロトコルにハードコーディングされていました。
組織がたとえば4000のアドレスを必要とするクラスフルデイには、2つのオプションがありました。16個のクラスCブロック(16 x 256 = 4096アドレス)を与えるか、1つのクラスBブロック(65536アドレス)を与えます。サイズがハードコーディングされているため、16個の個別のクラスCブロックをすべて個別にルーティングする必要があります。多くの人が実際に必要なアドレスよりも多くのアドレスを含むクラスBブロックを取得しました。多くの大規模な組織では、数十万個しか必要ない場合でも、クラスAブロック(16,777,216個のアドレス)を取得します。これにより、多くのアドレスが無駄になりました。
CIDRはこれらの制限を削除しました。クラスA、B、Cはもはや存在せず(±1993以降)、組織間のルーティングは任意のプレフィックス長で実行できます(ただし、ルーティングテーブルのサイズを大きくする多くの小さなブロックを防ぐために、/ 24より小さいものは通常受け入れられません) )。そのため、それ以降、異なるサイズのブロックをルーティングし、アドレス空間の以前のクラスのABC部分からそれらを割り当てることができました。4000アドレスを必要とする組織は、/ 20、つまり4096アドレスを取得できます。
サブネット化とは、割り当てられたアドレスブロックを小さなブロックに分割することです。その後、物理ネットワークなどでより小さなブロックを構成できます。魔法のように多くのアドレスを作成することはありません。それはあなたがあなたがそれをどのように使いたいかに応じてあなたの配分を分けることを意味するだけです。
より多くのアドレスを作成したのは、マスカレーディングで、NAT(ネットワークアドレス変換)として知られています。NATを使用すると、1つのパブリックアドレスを持つ1つのデバイスが、ネットワーク全体に、その背後にプライベート(内部)アドレスを持つ接続性を提供します。ローカルネットワーク上のすべてのデバイスは、実際に接続されていなくても、インターネットに接続されていると見なします。NATルーターは、アウトバウンドトラフィックを調べて、ローカルデバイスのプライベートアドレスを自身のパブリックアドレスに置き換え、パケットのソースになりすます(これが、マスカレードとも呼ばれた理由です)。どの変換が行われたかを記憶しているため、返信が返ってきた場合は、ローカルデバイスの元のプライベートアドレスを戻すことができます。これは一般にハックと見なされますが、機能し、多くのデバイスがより少ないパブリックアドレスを使用しながらインターネットにトラフィックを送信できるようにしました。
複数のNATデバイスを相互に配置することが可能です。これは、たとえば、十分なパブリックIPv4アドレスを持たないISPによって行われます。ISPには、少数のパブリックIPv4アドレスを持ついくつかの巨大なNATルーターがあります。次に、顧客は特別な範囲のIPv4アドレス(100.64.0.0/10
、通常のプライベートアドレスを使用することもあります)を外部アドレスとして使用して接続されます。その後、顧客は再び外部側で取得した単一のアドレスを使用し、NATを実行して通常のプライベートアドレスを使用する内部ネットワーク全体を接続するNATルーターを使用します。
ただし、NATルーターを使用することにはいくつかの欠点があります。
- 着信接続:NATルーターの背後にあるデバイスは、着信接続を受け入れるための独自の「実際の」アドレスを持っていないため、発信接続のみを行うことができます。
- ポートフォワーディング:これは通常、ポートフォワーディングによって問題が少なくなります。ルーティングされたNATは、パブリックアドレスのUDPおよび/またはTCPポートを内部デバイス専用にします。NATルーターは、これらのポートの着信トラフィックをその内部デバイスに転送できます。これには、ユーザーがNATルーターでこれらの転送を構成する必要があります
- キャリアグレードNAT:ISPがNATを実行する場所です。あなたはポートフォワーディングを設定することができませんので、着信接続を受け入れることは(ビットトレント、独自のVPN /ウェブ/メール/などのサーバーを持っている)不可能になります
- 運命の共有:外の世界は、単一のデバイスのみを見る:そのNATルーター。したがって、NATルーターの背後にあるすべてのデバイスは、その運命を共有します。NATルーターの背後にある1つのデバイスが誤動作した場合、ブラックリストに登録されるのはNATルーターのアドレスであるため、他のすべての内部デバイスもブロックされます
- 冗長性:NATルーターは、適切なデバイスに応答を送信できるように、どの内部デバイスがそれを介して通信しているかを記憶する必要があります。したがって、一連のユーザーのすべてのトラフィックは、単一のNATルーターを通過する必要があります。通常のルーターは何も覚えておく必要がないため、冗長なルートを簡単に構築できます。NATではそうではありません。
- 単一障害点:NATルーターに障害が発生すると、既存のすべての通信が失われるため、NATルーターを経由する既存の接続はすべて切断されます
- 大きな中央NATルーターは高価です
ご覧のとおり、CIDRとNATの両方が長年にわたってIPv4の寿命を延ばしてきました。ただし、CIDRはこれ以上アドレスを作成できず、既存のアドレスをより効率的に割り当てるだけです。NATは機能しますが、アウトバウンドトラフィックに対してのみであり、パフォーマンスと安定性のリスクが高く、パブリックアドレスを持つ場合に比べて機能が少なくなります。
これが、IPv6が発明された理由です。すべてのデバイスのアドレスとパブリックアドレスがたくさんあります。そのため、デバイス(またはその前のファイアウォール)は、受け入れたい着信接続を自分で決定できます。可能な独自のメールサーバーを実行したい場合、および外部からの接続を望まない場合:それも可能です:) IPv6は、NATが導入される前に使用していたオプションを返します。必要に応じて自由に使用できます。
255.255.255.0
などです。ここで話しているのは、NAT(ネットワークアドレス変換)として知られているマスカレードです。