
恥まりました。
魔理沙のちょいテック今回はネットワークの話ということで
IPについて語りたいと思います。

IPて何の略なんだい?

IPというのは
Internet protocolの略称で
Tips… Internet Protocol
Internet Protocol「通称IP」は ネットワーク通信を行う上での取り決め(約束事)プロトコルと呼称する ネットワークに接続されている全てのコンピュータに対して、IPアドレスと呼ばれる番号を付与し、その番号を用いて通信先の指定及び呼び出しを行う(この考え方は電話番号と似ている)

と言った風にネットワーク通信における約束事だ

主流はIPv4(Internet protocol version4)と呼ばれる
アドレスを32ビットで生成し8ビットごとに.
で区切ったアドレスで0.0.0.0~255.255.255.255の
42億のアドレスが割り当て可能で

192.168.0.1←これをローカルIPと言って
内部ネットワークの端末を識別するアドレスで
8.8 .8.8←Google DNSのグローバルIP
グローバルIPはどこからでもアクセスできる住所的存在

なのだがこれが枯渇しているのぜ

グローバルIPは住所的存在と言ってたね
知られるとどうなるの?

知られると起こることは以下の通りだぜ
tips… グローバルIPが知られると起こること
- グローバルIPの割当先のルータにアクセスできます
- ルータ内部でポートフォワーディング(解放操作)された
コンピュータ(サーバ)と呼ぶに接続できます - 相手のおおよその所在地が分かります(契約プロバイダーまで)
- 相手のコンピュータを遠隔で操作できます

相手の所在地が分かる(プロバイダーまで)て?
tips… グローバルIPで追跡できるのはプロバイダーまで
よくIPから住所がバレて犯罪に巻き込まれるといったケースを耳にしますが 本来はIPから住所は特定できません。 IPアドレスで追跡できるのは契約プロバイダーとその所在地のみなのです これはGeoIPと呼ばれるデータベースが割り当てたグローバルIPに対して 割当先のプロバイダーまでしか記録してない為です。 これより先を知るには裁判所を通してプロバイダーに対し情報開示請求 を行いこのグローバルIPの回線契約者の情報提供してもらう必要があります。 しかしこの手続きは契約者側の個人情報保護義務があり開示請求を拒否することができます。 ※捜査機関等国家機関は例外※ この為、一般の利用者などでは実際の住所まで特定するのは困難なのです。

IPv4が枯渇するとどうなるの?

それは簡単に言うと新たにネットワークへ接続できないだぜ
tips… IPv4アドレスが枯渇すると・・・
IPv4アドレスが無くなる(枯渇する)と グローバルIPが割り当てれなくなり新たにインターネットへ接続することができなくなります。 ローカルIPは各内部ネットワークで使いまわされるので不足することはありません。

じゃどうやって回避するの

そこで用意されたのがIPv6(Internet protocol version6)
tips… IPv6(internet protcol Version 6)
IPv4の枯渇の原因はアドレスを数字でしか表せなかったことです。 これを踏まえてRFCは英字数列を用いれるIPv6を策定しました。 これはアドレスを16進数表記することで340澗 ものアドレスを生成できます。 これは今現在の世界人口では到底、底をつきません。

事実上無限の数のIPアドレス
アドレス枯渇の心配がほぼ解消される。実際には非常に大きな有限の数(2128個 = 340,282,366,920,938,463,463,374,607,431,768,211,456個 = 約340澗個 = 約340兆×1兆×1兆個)であるが、「その辺の石ころにも個別に割り当てることができる」ぐらいあり余っている[注 3]。
仮に、地球の全人類(約7,000,000,000 = 70億人)へ均等に割り当てられるとしても、1人あたり約4穣8,600𥝱個 = 4京8,600兆×1兆個 = 4.86×1028個という天文学的な数になり、全員が毎秒1兆個使い捨て続けたとしても、枯渇するまで約15億4000万年かかる[注 4]ほど巨大な数になる。
IPv6 のアドレス構造
IPv4とIPv6の最も大きな違いは、そのネットワークアドレスの長さにある。従来までのIPv4が32ビットであったのに対し、IPv6は128ビットである[19]。
IPv6のアドレスは、前半部(プレフィックス,ネットワークID)と後半部(インタフェースID)に分けられて管理される[20]。インタフェースIDは、一意性を得るためにMACアドレスなどから生成されるModified EUI-64フォーマットが使用されることが多いが、プライバシー上の懸念がある[注 5]ため、一意性およびプライバシーの双方を満たす仕様への変更が推奨されている(RFC 7217、RFC 7721、RFC 8064)。サーバでは手動で静的に設定されることも多い[要出典]。
アドレスの一意性は、最終的にはDuplicate Address Detection (DAD) という仕組みで保証される[21]。
IPv6 のアドレス表記
従来のIPv4では、アドレスの値を8ビット単位でドット(
.
)で区切り、十進法で表記する[22]。[例] 192.0.2.1IPv6では、128ビットを表記する際、IPv4と同様の表記では冗長になりすぎるため、アドレスの値を16ビット単位でコロン(
:
)で区切り、十六進法で表記する[23]。[例] 2001:0db8:bd05:01d2:288a:1fc0:0001:10eeこの方法でも、まだ冗長であるため、以下のルールが適用される場合がある[24]。
- あるセクションが “0” で始まる場合、当該先行する “0” を省略することができる[25]。
[例] 2001:0db8:0020:0003:1000:0100:0020:0003 = 2001:db8:20:3:1000:100:20:3[例1] 2001:0db8:0000:0000:1234:0000:0000:9abc = 2001:db8::1234:0:0:9abc [例2] 2001:0db8:0000:0000:0000:0000:0000:9abc = 2001:db8::9abc上記のルール (RFC 4291) では同じIPv6アドレスに複数の表記が許容されることになる。
アドレスの表記を唯一に統一し単純化するためのルール (RFC 5952) も存在し[27]、同RFCのセクション4に従うと、以下のようになる。
- あるセクションが “0” で始まる場合、当該先行する “0” は必ず省略する。
- 16ビット単位の記述で “0” が2回以上連続するところは、連続する “0” がいちばん長いフィールドを必ず “::” で省略する。
- 英字部分は必ず小文字を使用する[28]。
その他、アドレスの種類によっては、以下のような特殊な表記が用いられることがある。
- IPv4互換アドレスやIPv4射影アドレスでは、下位32ビットにIPv4アドレスが埋め込まれる。そのため、その部分だけIPv4の表記にすることが多い。
[例] ::ffff:192.0.2.1
- リンクローカルアドレスは一つのリンク(サブネット)内でしか一意でない。そのため、ホストから見た場合、何らかの方法でネットワークインターフェースを指定してリンクを特定しなければならない。アドレス末尾に % 記号を介してインターフェースの番号や名称を付加するのが一般的である。
[例1] fe80::0123:4567:89ab:cdef%4 [例2] fe80::0123:4567:89ab:cdef%fxp0また、サブネットマスクは
2001:0db8:9abc::/48
のように表記される。この場合、先頭から48ビット (2001:0db8:9abc
) がネットワークアドレス部である。ただし、IPv4と異なり、グローバルアドレスのエンドユーザーへの割り当て単位が通常は /48 か /64 であることから、通常目にするサブネットマスクは /48 か /64 であり、あまり意識することはない。これより大きい単位(/32 や /16 など)のサブネットマスクは、IPv6のアドレス体系、ルーティングおよびISPに対する割り振りなどの議論の際に登場する。Webブラウザのアドレスバーへの入力など、URLのホストパートをIPv6アドレスで指定するときは、例えば::1ならば
[::1]
のように半角の角括弧でくくる。 (RFC 3986)IPv6アドレスの種類
IPv6アドレスと重複記述があります(この節から) IPv6には、以下の3種類のアドレスがある。ユニキャストアドレス一つのインタフェースに付与されているIPアドレス。一つのインタフェースを識別する。一つのコンピュータに多くのインタフェース(LANボードなど)が実装されている場合は、インタフェースの数だけユニキャストアドレスを持つことになる。マルチキャストアドレス複数のノードに割り当てられるアドレス。このアドレス宛てに送信されたパケットは、複製されてこのアドレスに参加しているノードに配送される。ffxx:: で始まるアドレス。返信にはユニキャストアドレスが指定される。送信元がマルチキャストアドレスのパケットをルータは中継してはならない。なお、IPv6にはブロードキャストアドレスというものは存在しないが、必要な場合は、オールノードマルチキャストアドレス (ff02::1など) を使う。エニーキャストアドレス一つのアドレスが複数のノードに割り当てられているという点ではマルチキャストと似ているが、エニーキャストの場合は「そこに属しているノードの中で、ネットワーク上で一番近いノードのどれか一つのみに配送される」という点が異なる。
さらに、パケットの到達範囲(スコープ)によって、上記のアドレスそれぞれに対しリンクローカルスコープとグローバルスコープのアドレスが存在する。リンクローカルスコープあるリンクでのみ一意なアドレス[29]。このスコープ宛てのパケットはルータを越えて配送されることはない。グローバルスコープ全IPv6で一意なアドレス。
以前はサイトローカルスコープというものもあったが、ほとんど使われないまま廃止された。
IPv6ノードのネットワークインタフェースには、必ずリンクローカルアドレス(link‐local address)が付与される[30]。これは fe80:: というプレフィックスと、インタフェースIDとから生成されるのが通常であるが、そのリンク内で一意であれば手動で設定してもかまわない。
特殊なアドレス
0:0:0:0:0:0:0:0未定義アドレス (Unspecified Address) として定義されている[31]。一般的には 0 を省略して :: と表記される。このアドレスはノードにまだアドレスが割り当てられていないことを意味し、ノードに割り当てられることはない[31]。ノードの初期化段階において、アドレスの重複をチェックする場合などに送信元アドレスとして使用される。0:0:0:0:0:0:0:1ループバックアドレスとして定義されている[32]。一般的には 0 を省略して ::1 と表記される。IPv4では 127.0.0.0/8 の範囲の任意のアドレスをループバックアドレスとして使用できるが、IPv6 ではこのアドレスに限られる。ループバックアドレスであるため、このアドレスをインターフェイスに割り当てることはできない。
使用されているアドレス
IPv6アドレスと重複記述があります(この節まで) IPv6を利用していて通常目にするアドレスは、グローバルユニキャストアドレスかリンクローカルユニキャストアドレスである。IPv6のアドレス空間については、#IPv6アドレス空間参照。グローバルユニキャストアドレスルータを超えて、インターネット上で通信可能なアドレスで、グローバルアドレスとも呼ばれる。IPv4におけるグローバルIPアドレスに相当する。IANAが割り振りを管理しており、RIR単位での割り振りは、IPv6 Global Unicast Address Assignmentsで公開されている。現在は、 RFC 3587 により、アドレスの先頭3bitが001であるアドレスのみIANAが割り振りを行っている。128ビットの内訳
長さ 説明 nビット グローバルID(グローバル・ルーティング・プレフィックス) 64-nビット サブネットID 64ビット インターフェイスID (グローバル・ルーティング・プレフィックスは、IANA、RIRおよびNIRからISPなどのLIRに割り振られたものの中から、ISPなどのLIRがエンドユーザに割り当てられたものを使用する。)このうち、特定の用途に使用されているものとしては、以下のものがある。
アドレス 説明 2001::/32 Teredo (RFC 4380) 2001:2::/48 BMWG (RFC 5180) ※ルータでは中継されない 2001:10::/28 ORCHID (RFC 4843) ※ルータでは中継されない 2002::/16 6to4 (RFC 3056) ※Historical (RFC 7526) 2001:db8::/32 文書作成用アドレス空間 (RFC 3849) ※ルータでは中継されない。マニュアルなどの文書中のみで利用するIPアドレス例示用で、実存のアドレスではない事が保証されている。なお、このアドレスを含むネットブロック2001:c00::/23はAPNICに割り当てられている。 リンクローカルユニキャストアドレス (RFC 4291)各ネットワークインターフェース毎に、初期化時に自動生成し、LANの同一セグメント内でのみ有効なアドレス。IPv6のルータでは中継されないため、インターネット上とのホストとの通信には使用できない。プレフィックスは常に fe80::/64となる。128ビットの内訳
長さ 説明 10ビット プレフィックス (1111111010) 54ビット 0固定 64ビット インターフェイスID ユニークローカルユニキャストアドレス (RFC 4193)IPv4におけるプライベートIPアドレスと同様に、ローカルでの使用向けに使われるアドレス。fd00::/8 アドレスの一部をランダムに生成して使用する。完全な一意性は保証されないものの、異なる組織でアドレスが重複する可能性は低い。128ビットの内訳
長さ 説明 7ビット プレフィックス (1111110) 1ビット L(1=局所的な割り当て、0は現在未定義) 40ビット グローバルID(乱数) 16ビット サブネットID 64ビット インターフェイスID (グローバルIDは、各ネットワーク単位で乱数を用いて決定することになっている。国際機関で一意に管理されている値ではないため、ユニークローカルユニキャストアドレスはローカルアドレスであってグローバルアドレスとしては運用できない。)
アドレス 割り当て IPv4 の相当する割り当て :: (アドレス未定義を示す) 0.0.0.0 ::1 ループバック 127.0.0.0/8 ::/96 IPv4互換アドレス(廃止) ::ffff:0:0/96 IPv4射影アドレス 64:ff9b::/96 IPv6移行技術 (RFC 6052) 64:ff9b:1::/48 IPv6移行技術 (RFC 8215) 100::/64 Discard-Only Address Block (RFC 6666) 2000::/3 グローバルユニキャストアドレス グローバルアドレス 2001::/23 Protocol Assignments (RFC 2928) 2001::/32 Teredo 2001:1::1/128 Port Control Protocol Anycast (RFC 7723) 2001:1::2/128 Traversal Using Relaysaround NAT Anycast (RFC 8155) 2001:2::/48 Benchmarking (RFC 5180) 2001:3::/32 Automatic Multicast Tunneling (RFC 7450) 2001:4:112::/48 AS112-v6 (RFC 7535) 2001:5::/32 EID Space for LISP (RFC 7954)[注 15] 2001:10::/28 ORCHID(廃止) 2001:20::/28 ORCHIDv2 (RFC 7343) 2001:db8::/32 文書記述用アドレスプレフィックス 2002::/16 6to4 ※Historical[35] 2620:4f:8000::/48 RFC 7534 3ffe::/16 6bone – IPv6 の実装実験用(廃止) fc00::/7 ユニークローカルユニキャストアドレス プライベートアドレス fc00::/8 集中管理 fd00::/8 ローカル管理 fe80::/10 リンクローカルユニキャストアドレス 169.254.0.0/16 (APIPA) fec0::/10 サイトローカルユニキャストアドレス(廃止) プライベートアドレス ff00::/8 マルチキャストアドレス 224.0.0.0/4 ff01::/16 ノードローカル ff01::1 全ノード ff01::2 全ルーター ff02::/16 リンクローカル ff02::1 全ノード ff02::2 全ルーター ff02::4 DVMRPルーター ff02::5 OSPFIGP ff02::6 OSPFIGP指定ルーター ff02::7 STルーター ff02::8 STホスト ff02::9 RIPルーター 224.0.0.9 (RIPv2) ff02::a EIGRPルーター ff02::b 移動エージェント ff02::c SSDP(英語版) ff02::d 全PIMルーター ff02::e RSVPカプセル化 ff02::1:1 リンク名 ff02::1:2 全DHCPエージェント ff02::1:3 LLMNR(英語版) 224.0.0.252 ff05::/16 サイトローカル ff05::2 全ルーター ff05::1:3 全DHCPサーバー ff05::1:4 全DHCPリレー ff05::1:c SSDP(英語版) 239.255.255.250 ff0e::/16 グローバル ff0e::c SSDP(英語版) Wikipedia
- アドレス先頭の空白の付加は非推奨であるが、分かりやすさ(或いはソート)のため付けている。
- 廃止されていても過去の実装では使用している場合がある。
- 廃止されたまたは表外のアドレス空間についても、ほぼIETFによって予約されているので自由に使用できる訳ではない。

ではまたな