一連の記事は私のブログの資料に基づいており、それは今度は公式のCCNA Routing&Switchingコースの教育、機器の操作、無料翻訳、熟考の経験に基づいています。
それでは始めましょう。 IPv4アドレスが少ない、NATとプロキシが松葉杖である、松葉杖がまだ機能している、そして誰もがIPv6に切り替えることを望んでいないという標準的な議論については触れません。
IPv6アドレス
IPv6プロトコルアドレスは128ビットで構成されています。つまり、32ビットIPv4アドレスの4倍の長さです。 IPv4と同様に、このアドレスにはネットワークとホストの2つの部分があります。 つまり、アドレス内のすべてのビットが同じ値を持つわけではありません。 左側のビットの一部(プレフィックスに依存する量)はネットワークを示し、右側の残りのビットはネットワーク内のデバイスを識別します。 ホスト情報の保存を担当する部分は、インターフェイスIDと呼ばれます。 プロトコルの以前のバージョンとは異なり、IPv6はサブネットマスクを使用しないため、サブネットマスクは非常に長いため、代わりにプレフィックスが使用されます。 アドレスの後にスラッシュとして書き込まれます。 たとえば、/ 64プレフィックスは、128ビットのうち、最初の64がネットワークであり、残り(この場合は2番目の64)がホストであることを意味します。 プレフィックスは、ネットワーク内の情報を格納するために使用されるアドレスのビット数を示します。
アドレス自体は10進数ではなく、16進数で記述されているため、非常に短くなっています。 アドレスは16ビット(16進数)のグループに分割され、各グループは4桁の16進数で表されます。 六重項はコロンで区切られます。 したがって、アドレスは8個のヘクテットで構成されます([8個のhextets] * [16ビットのhextet] = [128ビット]-アドレスの全長)。
IPv6削減
アドレスの例:2001:0DB8:AA10:0001:0000:0000:0000:00FB このような長いアドレスで作業するのはかなり不便なので、短縮されたレコードを使用します。
このアドレスを減らすには、2つのルールを連続して適用する必要があります。
ルール1
各六重項(4桁のグループ)では、先行ゼロが削除されます。 たとえば、2番目のhextetでは、0DB0はDB0に置き換えられます。 つまり、左側のゼロは削除され、右側のゼロはタッチされません。 hextetが1つのゼロで構成されている場合、1つのゼロに置き換えられます。 したがって、アドレス2001:0DB0:0000:123A:0000:0000:0000:0030は2001:DB0:0:123A:0:0:0:30に変換されます。 また、たとえば、ループバックアドレス0000:0000:0000:0000:0000:0000:0000:0001は0:0:0:0:0:0:0:1に置き換えられます。
ルール2
このルールは最初のルールの後にのみ適用されます。 アドレスは、完全にゼロの六重奏、つまり最長シーケンス「:0:0:0:」で構成される1つの最長グループを選択し、2つのコロン「::」に置き換えられます。 たとえば、アドレスの2か所でこのような置換を行った場合、最初と2番目のケースで置換した正確な数の六重奏を復元することは不可能であるため、この置換は1回のみ、最長のシーケンスでのみ行うことができます。 重要な点: 0:のグループを::で置き換えることはできません。ルール2は、複数のゼログループがある場合にのみ適用されます。
たとえば、以前の置換2001:DB0:0:123A:0:0:0:30からアドレスを取得します。 完全に空のhextetsの最長シーケンスは「:0:0:0:」で、「123A」ヘッダーの直後から始まります。 また、1つの空のhextetのシーケンス(「DB0」と「123A」の間)がありますが、これは長いため、これを置き換えます。 アドレスは非常に小さくなります:2001:DB0:0:123A :: 30、もちろんIPv4アドレスより長くなりますが、元のものよりはるかに短くなります。
短縮レコードによる送信元アドレスの取得
アドレスを短縮する方法をすでに知っている場合、この手順は非常に簡単です。
最初に、アドレスに残っている六重項の数を計算する必要があります。 この例では、アドレス2001:DB0:0:123A :: 30に5つのヘクテットが残っています。 アドレスは8つの6進数で構成する必要があることを知っています。つまり、「::」の代わりに3つの欠落したヌルを返し、2001:DB0:0:123A:0:0:0:30を取得します。 4桁未満の各グループでは、左側にそのような数のゼロを追加して、グループが4桁になるようにします。 その結果、ソースアドレス2001:0DB0:0000:123A:0000:0000:0000:0030を取得します。
例
ここで、理解を深めるために、アドレス削減の例をいくつか示します。 ルールに従って2段階で削減します。
- FF80:0000:0000:0000:0123:1234:ABCD:EF12→FF80:0:0:0:123:1234:ABCD:EF12→FF80 :: 123:1234:ABCD:EF12
- FF02:0000:0000:0000:0000:0001:FF00:0300→FF02:0:0:0:0:1:FF00:300→FF02 :: 1:FF00:300
- 2001:0DB8:0000:1111:0000:0000:0000:0200→2001:DB8:0:1111:0:0:0:200→2001:DB8:0:1111 :: 200
- 0000:0000:0000:0000:0000:0000:0000:0001→0:0:0:0:0:0:0:1→:: 1
- 0000:0000:0000:0000:0000:0000:0000:0000→0:0:0:0:0:0:0:0→::
速記のループバックアドレスは、特にエレガントに見えます:: 1。 IPv6を使用せず、最新のオペレーティングシステムのいずれかで作業している場合でも、このプロトコルがインストールされている可能性があります。 これは、ループバックをpingすることで簡単に確認できます。
ping ::1 Pinging ::1 with 32 bytes of data: Reply from ::1: time<1ms Reply from ::1: time<1ms Reply from ::1: time<1ms Reply from ::1: time<1ms Ping statistics for ::1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
IPv6アドレスをURLとして使用する場合は、角括弧で囲む必要があり、URLでURLを指定する必要がある場合は、角括弧の外側に記述する必要があります-http:// [2001:0db8:11a3:09d7:1f34: 8a2e:07a0:765d]:8080 /。
IPv6アドレスの種類
アドレスにはいくつかのタイプがあります。
- グローバルユニキャストは、IPv4のパブリックアドレスに類似しています。 ほとんどのアドレスはこのクラスに属します。 これらのアドレスは、インターネット全体で一意である必要があり、IANAから地域のレジストラに発行され、プロバイダーに発行され、プロバイダーは顧客に発行されます。 これらのアドレスの範囲は、最初の3ビットが「001」に等しいすべてのアドレスです。これは、2000から3FFFの範囲の最初の6進数を持つすべてのアドレスを意味します。 ネットワーク2001:0DB8 :: / 32は、仕様に従って、例とドキュメントに使用され、このグループとは別に際立っています。
- ローカルアドレス( Link-local )-同じローカルネットワーク上の他のデバイスとの通信に使用されるアドレス。 これらのアドレスの特徴は、これらのアドレス「から」または「から」へのトラフィックがルーティングされず、原則として、それが作成されたネットワークを越えられないことです。 これらのアドレスからの一意性は必要ありません-各ネットワークで同じにすることができます。 アドレスは、たとえば近隣探索手順(IPv6のARPのアナログ)など、さまざまな特別な目的に使用されます。 そのようなアドレスの範囲はFE80 :: / 10です。これは、FE80からFEBFの範囲内の最初のヘクテットを持つすべてのアドレスを意味します。
- マルチキャストアドレス( Multicast )-マルチキャストメーリングに使用されるアドレス。 これらのアドレスはすべてFF00 :: / 8の範囲にあり、ロシア語では「FFで始まるすべて」を意味します。 IPv6のマルチキャストは、ブロードキャストパケットを持たず、すべてのメーリングがマルチキャストであるため、重要な役割を果たすと言わなければなりません。 これは非常に大きなトピックなので、次のいずれかの記事でIPv6のマルチキャストについて説明します。
- ループバック -特別なアドレス:: 1。 それに向かうすべてのパケットはデバイスを越えないで、IP層にフォールバックします。 したがって、このアドレスはIPv4の127.0.0.1に似ています。 ping :: 1コマンドを使用すると、特にTCP / IPおよびIPv6プロトコルスタックがコンピューターにインストールされているかどうかを確認できます。
- 未指定のアドレス -ゼロのみで構成されるアドレス。 「::」と略記されています。 このようなアドレスはインターフェイスに割り当てることはできませんが、一部のパケットで送信者アドレスとして使用できます。 たとえば、自動構成を使用してデバイスがまだIPアドレスを受信していない場合、次のいずれかの記事にも記載されています。
- 一意のローカルアドレス( 一意のローカル )-IPv4のプライベートアドレスに類似しています。つまり、内部ネットワーク内でルーティングできますが、インターネット上でアドバタイズすることはできません。 一般に、IPv6は、プライベートアドレスが以前に使用されていたという意味でプライベートアドレスを放棄することを意味します。 IPv4では、プライベートアドレスが主に使用されるのは、パブリックアドレスが不足しているためであり、セキュリティ上の理由からのみ使用されます。 IPv6では、セキュリティ上の理由から、このネットワークからネットワークへのトラフィックが責任範囲を超えてはならない場合にのみ、ローカルアドレスを使用する必要があります。 その他の場合はすべて、グローバルユニキャストアドレスを使用します。
- IPv6( IPv4組み込み )にマップされたIPv4アドレスは、形式:: ffff:xxxx:xxxxのアドレスです。ここで、xxxx:xxxxは16進数に変換されたIPv4アドレスです。 これらのアドレスは、IPv6をサポートしていないデバイスに使用され、古いバージョンのプロトコルのアドレス空間を新しいバージョンのアドレス空間にマップする方法を提供します。
原則として、クライアントには巨大なネットワーク(プレフィックス64ビット)が与えられ、最初の64ビットはネットワーク識別子であると上記で述べました。 ただし、このネットワーク自体にも階層構造があることは明らかです。 原則として、地域レジストラはプロバイダーにプレフィックス/ 48のネットワークを提供し、プロバイダーはそれ自体からさらに16ビットを追加し、プレフィックス/ 64の65536ネットワークを受信して、顧客に提供します。
UPD1:コメントは、「地域のレジストラは、デフォルトで/ 32ネットワーク、または理由を正当化できる場合はそれ以上のアドレスを長い間与えてきました。」と示唆しています。
UPD2: IPv4埋め込みアドレスに関するコメントの重要な注記:「マッピングアドレスは主にデュアルスタックで使用されます。 1つのIPv6ソケットが両方のプロトコル(IPv4とIPv6)に対して作成されると、IPv6アドレスがどこでも使用されます。 つまり、IPv4経由のデータがこのソケットを介して送信された場合、アドレスは上記のIPv6マッピングアドレスの形式で表示されます。 リンクレベルでは、まったく違いはありません。 古き良きIPv4がありますが、唯一の違いはユーザーの表示の統一です。
UPD3:サイクルの 2番目の記事の準備ができました。
UPD4:気配りのあるユーザーが、知らない興味深い情報によるアドレスの削減について通知してくれました。 RFC5952によると、 ルール2は 、ゼロで構成されるグループが複数ある場合にのみ適用されます。 つまり...:0:...は... :: ...に置き換えることはできませんが、...:0:0:...-すでに可能です。