注目キーワード

ちょいテック1 ネットワークの話 IPの今!!

魔理沙
魔理沙

恥まりました。

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

シスター恥
シスター恥

IPて何の略なんだい?

魔理沙
魔理沙

IPというのは

Internet protocolインターネットプロトコルの略称で

Tips… Internet Protocol

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

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

魔理沙
魔理沙

主流はIPv4(Internet protocol version4インターネットプロトコルバージョン4)と呼ばれる
アドレスを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インターネットプロトコルバージョン6)

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 7217RFC 7721RFC 8064)。サーバでは手動で静的に設定されることも多い[要出典]

アドレスの一意性は、最終的にはDuplicate Address Detection (DAD) という仕組みで保証される[21]

IPv6 のアドレス表記

従来のIPv4では、アドレスの値を8ビット単位でドット(.)で区切り、十進法で表記する[22]

[例] 192.0.2.1

IPv6では、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
  • 16ビット単位の記述で “0” が連続するところは “::” で省略することができる[25]。ただし、”::” は可変長なので、1箇所だけ使用できる[26]
[例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” がいちばん長いフィールドを必ず “::” で省略する。
    • 連続する “0” の長さが同じ箇所が複数個ある場合は、最初(上位側)を省略する[28]
    • 連続しない1回だけの “0” は省略してはならない[28]RFC 3041 では許容されていなかったため)。
  • 英字部分は必ず小文字を使用する[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::/32Teredo (RFC 4380)
2001:2::/48BMWG (RFC 5180) ※ルータでは中継されない
2001:10::/28ORCHID (RFC 4843) ※ルータでは中継されない
2002::/166to4 (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
::/96IPv4互換アドレス(廃止 
::ffff:0:0/96IPv4射影アドレス 
64:ff9b::/96IPv6移行技術 (RFC 6052)
64:ff9b:1::/48IPv6移行技術 (RFC 8215)
100::/64Discard-Only Address Block (RFC 6666)
2000::/3グローバルユニキャストアドレスグローバルアドレス
 2001::/23Protocol Assignments (RFC 2928)
2001::/32Teredo 
2001:1::1/128Port Control Protocol Anycast (RFC 7723)
2001:1::2/128Traversal Using Relaysaround NAT Anycast (RFC 8155)
2001:2::/48Benchmarking (RFC 5180) 
2001:3::/32Automatic Multicast Tunneling (RFC 7450)
2001:4:112::/48AS112-v6 (RFC 7535)
2001:5::/32EID Space for LISP (RFC 7954)[注 15]
2001:10::/28ORCHID(廃止 
2001:20::/28ORCHIDv2 (RFC 7343)
2001:db8::/32文書記述用アドレスプレフィックス 
2002::/166to4 ※Historical[35] 
2620:4f:8000::/48RFC 7534
3ffe::/166bone – 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::4DVMRPルーター 
ff02::5OSPFIGP 
ff02::6OSPFIGP指定ルーター 
ff02::7STルーター 
ff02::8STホスト 
ff02::9RIPルーター224.0.0.9 (RIPv2)
ff02::aEIGRPルーター 
ff02::b移動エージェント 
ff02::cSSDP英語版 
ff02::dPIMルーター 
ff02::eRSVPカプセル化 
ff02::1:1リンク名 
ff02::1:2全DHCPエージェント 
ff02::1:3LLMNR英語版224.0.0.252
ff05::/16サイトローカル 
 ff05::2全ルーター 
ff05::1:3全DHCPサーバー 
ff05::1:4全DHCPリレー 
ff05::1:cSSDP英語版239.255.255.250
ff0e::/16グローバル 
 ff0e::cSSDP英語版 
  • アドレス先頭の空白の付加は非推奨であるが、分かりやすさ(或いはソート)のため付けている。
  • 廃止されていても過去の実装では使用している場合がある。
  • 廃止されたまたは表外のアドレス空間についても、ほぼIETFによって予約されているので自由に使用できる訳ではない。
Wikipedia
魔理沙
魔理沙

ではまたな

最新情報をチェックしよう!

魔理ちゃんのちょいテックの最新記事8件