IPアドレス
IPアドレス(アイピーアドレス)とは、パケットを送受信する機器を判別するための番号である。IP で定義されている。もともとは狭義のインターネットで用いられるものだが、インターネットの普及と共にLANでも使われるようになった。
目次
概説
2008年現在、IPアドレスとして多く利用されているのは、IPv4というプロトコルに基づく 32 ビットのアドレス空間である。
IPv4のIPアドレス枯渇問題に伴い規格されたIPv6プロトコルでは、IP アドレスは 128 ビットに拡張されている。
IP アドレスは、MSB (最上位ビット) に近い側をネットワーク部、LSB (最下位ビット) に近い側をホスト部として区別する。ネットワーク部がネットワークを指定し、ホスト部がそのネットワーク内の機器を指定する。ネットワーク部とホスト部の区別にはサブネットマスクを用いる。
表記
IPv4のIPアドレスの表記法には以下の規則がある。IPv6についてはIPv6の記事で取り扱う。
- 通常は、ドット付き十進表記 (dotted decimal notation) あるいはドットアドレス (dot address) と呼ばれる、0-255の数字4組(8ビット×4=32ビット)をドットで繋いだ記法で表記される。
- (例)192.168.0.1
gethostbyname()やinet_aton()など、IPアドレスを解釈する実装の一部では、以下のような表記も許している。
- 数字が3組のときは、3番目は16ビットと解釈される。
- (例)192.168.1 (= 192.168.0.1)
- 数字が2組のときは、2組目は24ビットと解釈される。
- (例)192.11010049 (= 192.168.0.1、(168×256+0)×256+1=11010049)
- ドットがないときは、単一の32ビット数と解釈される。ロングIPアドレスなどとも呼ばれる。
- (例)3232235521 (= 192.168.0.1、((192×256+168)×256+0)×256+1=3232235521)
- 各数字は0xを前置すると16進数、0を前置すると8進と解釈される。
- (例)0xC0A80001 (= 192.168.0.1)
- (例)0xC0.0250.1 (= 192.168.0.1、(0xC0=192, 0250=168))
これらの表記はRFC等で規定されておらず(RFC3986を参照のこと)、オペレーティングシステム (OS) やアプリケーション(例:ウェブブラウザソフト)、ネットワーク機器等によっては利用できないことがある。 また、悪意のある者がフィッシングサイトなどのURLを偽装するために用いる場合もあるので、注意が必要である。
アドレスクラス
IPアドレスは、次の5つのアドレスクラスに分かれている。
クラス | アドレス範囲 | 用途 |
---|---|---|
クラスA | 0.0.0.0-127.255.255.255 | ネットワークアドレス長は8ビット、ホストアドレス長は24ビット |
クラスB | 128.0.0.0-191.255.255.255 | ネットワークアドレス長は16ビット、ホストアドレス長も16ビット |
クラスC | 192.0.0.0-223.255.255.255 | ネットワークアドレス長は24ビット、ホストアドレス長は8ビット |
クラスD | 224.0.0.0-239.255.255.255 | IPマルチキャスト専用 |
クラスE | 240.0.0.0-255.255.255.255 | 特に割り当ては決まっていない |
クラスAからクラスCまでは、ネットワーク部とホスト部の境界が8ビット単位で区分けされている。クラスAはネットワーク部が短く(8ビット)、ホスト部が長い(24ビット)。すなわち、多くの機器を保有する大組織や、多くの顧客を有する大規模なインターネットサービスプロバイダ (ISP) に割り当てるのに適している。クラスCはその逆である。これは、日本の電話番号において、東京などの人口が多い地域には03のような短い市外局番が割り当てられ、人口の少ない地域には長い市外局番が割り当てられているのと似ている。クラスAが約1,677万台、クラスBが65,534台、クラスCが254台のホストを接続できる。
しかし、アドレスクラスを用いたIPアドレス割り当てには問題が生じた。ほとんどのネットワーク(たとえばインターネットサービスプロバイダ)では、クラスAでは大きすぎ、クラスCでは小さすぎたため、割り当ての要求がクラスBに集中したのである。クラスBの割り当てを受けたネットワークの中には65,534台のホスト(インターネットサービスプロバイダであれば接続ユーザー数)をフルに接続することがまれであるネットワークも存在し、IPアドレスが無駄に消費されることになった。そこで現在ではアドレスクラスを使わず、ネットワーク部とホスト部の境界を8ビット単位に固定せずに細分化する可変長サブネットマスクや、CIDR(Classless Inter-Domain Routing)が一般化している。
IPアドレスの割り当て範囲を示すために、IPアドレスの末尾に「/(スラッシュ)」とともにネットワークアドレス長を付記して表わすことも多い。IPv4の場合、MSB側からのビット数でネットワークアドレス長を表す。例えば192.168.0.0/24の表記の場合、ネットワーク部はMSBから24ビットで、残り8ビットがホスト部となる。アドレスクラスでなくサブネットマスクの場合、ネットワークアドレス長の数字は8の倍数にはならないことになる。
CIDR表
w:Classless Inter-Domain Routingを用いることで、192.168.1.0-192.168.1.255という複数のIPアドレスを範囲指定させることができる。活用方法としては、ウィキペディアで行われている広域ブロックといった特定の範囲内のIPアドレスを持つ利用者の読み書きの許可及び拒否などがある。
たとえば、69.208で始まるIPアドレス群の場合、CIDRと開始アドレス及び終了アドレスは以下のようになる。
CIDR | 開始アドレス | 終了アドレス | 含まれるアドレス数 | 二進法表記したアドレス数 |
---|---|---|---|---|
69.208.0.0/0 | 0.0.0.0 | 255.255.255.255 | 4,294,967,296 | ********.********.********.******** |
69.208.0.0/1 | 0.0.0.0 | 127.255.255.255 | 2,147,483,648 | 0*******.********.********.******** |
69.208.0.0/4 | 64.0.0.0 | 79.255.255.255 | 268,435,456 | 0100****.********.********.******** |
69.208.0.0/8 | 69.0.0.0 | 69.255.255.255 | 16,777,216 | 01000101.********.********.******** |
69.208.0.0/11 | 69.192.0.0 | 69.223.255.255 | 2,097,152 | 01000101.110*****.********.******** |
69.208.0.0/12 | 69.208.0.0 | 69.223.255.255 | 1,048,576 | 01000101.1101****.********.******** |
69.208.0.0/13 | 69.208.0.0 | 69.215.255.255 | 524,288 | 01000101.11010***.********.******** |
69.208.0.0/14 | 69.208.0.0 | 69.211.255.255 | 262,144 | 01000101.110100**.********.******** |
69.208.0.0/15 | 69.208.0.0 | 69.209.255.255 | 131,072 | 01000101.1101000*.********.******** |
69.208.0.0/16 | 69.208.0.0 | 69.208.255.255 | 65,536 | 01000101.11010000.********.******** |
69.208.0.0/17 | 69.208.0.0 | 69.208.127.255 | 32,768 | 01000101.11010000.0*******.******** |
69.208.0.0/18 | 69.208.0.0 | 69.208.63.255 | 16,384 | 01000101.11010000.00******.******** |
69.208.0.0/19 | 69.208.0.0 | 69.208.31.255 | 8,192 | 01000101.11010000.000*****.******** |
69.208.0.0/20 | 69.208.0.0 | 69.208.15.255 | 4,096 | 01000101.11010000.0000****.******** |
69.208.0.0/21 | 69.208.0.0 | 69.208.7.255 | 2,048 | 01000101.11010000.00000***.******** |
69.208.0.0/22 | 69.208.0.0 | 69.208.3.255 | 1,024 | 01000101.11010000.000000**.******** |
69.208.0.0/23 | 69.208.0.0 | 69.208.1.255 | 512 | 01000101.11010000.0000000*.******** |
69.208.0.0/24 | 69.208.0.0 | 69.208.0.255 | 256 | 01000101.11010000.00000000.******** |
69.208.0.0/25 | 69.208.0.0 | 69.208.0.127 | 128 | 01000101.11010000.00000000.0******* |
69.208.0.0/26 | 69.208.0.0 | 69.208.0.63 | 64 | 01000101.11010000.00000000.00****** |
69.208.0.0/27 | 69.208.0.0 | 69.208.0.31 | 32 | 01000101.11010000.00000000.000***** |
69.208.0.0/28 | 69.208.0.0 | 69.208.0.15 | 16 | 01000101.11010000.00000000.0000**** |
69.208.0.0/29 | 69.208.0.0 | 69.208.0.7 | 8 | 01000101.11010000.00000000.00000*** |
69.208.0.0/30 | 69.208.0.0 | 69.208.0.3 | 4 | 01000101.11010000.00000000.000000** |
69.208.0.0/31 | 69.208.0.0 | 69.208.0.1 | 2 | 01000101.11010000.00000000.0000000* |
69.208.0.0/32 | 69.208.0.0 | 69.208.0.0 | 1 | 01000101.11010000.00000000.00000000 |
表の見方の例
- 69.208.0.0/16 は、69.208.0.0 から 69.208.255.255 までの65,536アドレス範囲を含む。
- 69.208.0.0/24 は、69.208.0.0 から 69.208.0.255 までの256アドレス範囲を含む。
スコープ
通信可能な範囲のことをスコープという。 IPアドレスは、それぞれにスコープが決められている。(→一覧)
グローバルIPアドレス
後述するプライベートIPアドレス、リンクローカルアドレス、特殊用途のIPアドレスなどを除いたIPアドレスは、「グローバルIPアドレス」と呼び、インターネットの接続用に利用される。そのため、ICANNを頂点とした階層的な委譲関係によって世界的な管理が行われている。日本では日本ネットワークインフォメーションセンター(通称JPNIC)にて管理されている。
通常、パソコンやルータなどをインターネットに接続すると、ISPに割り振られているグローバルIPアドレスの中の一つがパソコンなどに割り当てられる。
プライベートIPアドレス
プライベートIPアドレス(ローカルIPアドレス)は、プライベートネットワーク(外部から利用できない社内LANなど)のアドレスとして使うことができる。異なるプライベートネットワークを相互接続してルーティングすることも可能である。
プライベートIPアドレスとして、次のアドレス空間が予約されている。ネットワークの規模に応じて、使い分ける必要がある。
クラス | 範囲 | サブネットマスク | アドレス数 |
---|---|---|---|
クラスA | 10.0.0.0-10.255.255.255 | 255.0.0.0 | 16,777,216 |
クラスB | 172.16.0.0-172.31.255.255 | 255.255.0.0 | 2,097,152 |
クラスC | 192.168.0.0-192.168.255.255 | 255.255.255.0 | 65,536 |
リンクローカルアドレス
Windowsなどでは、IPアドレスが設定されておらず、DHCPサーバも見つからない場合には、自動的に169.254で始まるクラスBのIPアドレスが振られる(APIPAという機能)。 これはリンクローカルアドレスと呼ばれ、単一のLAN内での通信に使うことができるが、ルーティングができないなどプライベートアドレスとは異なるものである。
プライベートIPアドレスとインターネット
プライベートIPアドレスとグローバルIPアドレスを相互変換することにより、インターネットに接続することができる。その方法として、NAPT(実装としてはIPマスカレードやipfwなど)やプロキシサーバがある。
インターネット接続サービスによっては、インターネットに接続する機器にグローバルIPアドレスではなく、このプライベートIPアドレスを割り当てることもある。
プライベートIPアドレスとこれに関する仕組みによって、グローバルIPアドレスを多量に消費することなくインターネットに接続できる機器を増やすことができる。
特殊用途のIPアドレス
下記のアドレスは特殊な用途に使われるため、機器に割り振ることはできない。
- ホスト部の2進数表現が全て1 (例:192.168.170.255/24)
- ネットワークに対するブロードキャストアドレスとして用いられる。
- ホスト部の2進数表現が全て0 (例:192.168.170.0/24)
- ネットワーク自体を指すアドレスとして用いられる。本来これはネットワーク構成図やサーバソフトウェアの設定などにおける表記上の約束事にすぎず、実際には必ずしも使えないわけではないが、動作が保証されないので避けたほうがよい。また過去においては、ブロードキャストアドレスとしてこの形式を用いるOSも存在した。
- 127.0.0.0/8 (よく使われるのは127.0.0.1)
- その機器自身を表すローカルループバックアドレスとして用いられる。
IPアドレスの付与
グローバルIPアドレスは、まずインターネットレジストリ(APNICやJPNICなど)からISPにまとまった単位で付与される。これを割り振り (allocation) という。ISPは、末端の利用者(個人、法人など)に対して、利用契約に基づいてIPアドレスを払い出す。これを割り当て (assignment) という。かつて、一部の大学やIT企業が非営利でインターネットを支えていた時代には、レジストリからこれら組織に直接割り当てられる例が多かったが、今日では商用ISPが発達したため、新規の割り当てではそのような例は少ない。インターネットレジストリにもICANN -> RIR(Regional Internet Registry) -> NIR(National Internet Registry) -> LIR(Local Internet Registry)といった階層構造が存在する。
参考: インターネット用語1分解説 - 割り振り(Allocation)、割り当て(Assignment)とは
個人契約者の場合、グローバルIPアドレス1個を動的に割り当てる(接続ごとにIPアドレスが変わることがある)ものがほとんどである。ただし、ISPや契約プランによっては、プライベートアドレスを割り当てるもの、グローバルアドレス1個を固定で割り当てるもの、複数のグローバルアドレスを固定で割り当てるものもある。割り当てのプロトコルは、ダイヤルアップ接続ではPPP、ADSL・FTTHなどではPPPoE、ケーブルテレビや公衆無線インターネット(ホットスポット)ではDHCPによることが一般的である。
法人契約の場合は、サーバを運用すること、取引先等とのデータのやりとりにおいてIPアドレスによるアクセス制限がある場合があることなどの理由により、複数のグローバルアドレスを固定で割り当てる契約が一般的である。
なお、家庭内や組織内でのプライベートアドレスの割り当ては、DHCPによることが一般的である。ただし、サーバやルータなど固定アドレスを必要とするものや、割り当てを厳密に管理したい場合には固定の割り当てが行われる。
IPアドレスと個人情報
近年、個人情報保護やセキュリティの観点から、IPアドレスは個人情報ではないのか、IPアドレスから個人情報やプライバシーを暴露されるのではないか、といった懸念が多く見られるようになってきている。しかしIPアドレスは公開されるものであり、インターネットの仕組みは、それを前提として構築されている。
IPアドレスから分かること
TCP/IP を用いた通信では、常に自分のIPアドレスが通信相手に伝達される。例外として通信経路にゲートウェイ(プロキシサーバ等)がある場合にはゲートウェイのIPアドレスが伝達されるが、これもゲートウェイには自分のIPアドレスが伝達される。
このIPアドレスから情報を得るには WHOIS や DNS を用いる。WHOIS はIPアドレスを割り振られているネットワーク管理者に関する情報を得られ、DNS はIPアドレスからホスト名を得られる。これらによって得られる情報のうち、登録組織名やホスト名から接続元の場所が得られる。大抵はプロバイダ名と地域が分る程度だが、会社や大学に割り振られている場合には接続元の住所が得られる事もある。
上記以外の個人情報(氏名・詳細な住所・電話番号・メールアドレスなど)をIPアドレスのみから知ることは、ISP等から個人情報と接続記録が漏洩しない限り不可能である。したがって、IPアドレスを記録・公開しても、それが現実空間において即詳細な個人情報の暴露につながるわけではない。
ただし、インターネット世界においてはIPアドレスは個人ユーザーのパソコンまたは個人契約のサーバを特定する物であり、掲示板やウィキペディアの投稿記録にユーザー個人のIPアドレスは残されている。掲示板やチャットではあらかじめ特定のIPアドレスを入力する事で対象となるユーザーの投稿をブロックする事が可能であり、ウェブサイトに仕組まれたアクセス解析によって、IPアドレス番号をもつユーザーが何時に来訪したかを調べる事が可能である。
その為、特定のユーザーとIPアドレスが連動して発覚した場合、特定ユーザーを追跡または排除する為にインターネット解析を使い、荒らしによる投稿の削除や、名前を変えてもIPアドレスをたどる事で個人サイトを荒らすなどの、個人情報(氏名・詳細な住所・電話番号など)を公表しないまでも、インターネット空間上におけるストーカー行為の補助と判断される場合がある。
しかし、あるIPアドレスを利用した者が、名誉毀損など何らかの犯罪を犯した場合、警察によってそのIPアドレスを割り振られているプロバイダに連絡が入り、警察は法的措置に基づいてIPアドレスを使用した個人の情報を公開するようプロバイダに請求する。従って、個人間ではIPアドレスで個人情報を取り出すことは不可能だが、警察への告訴や、民事訴訟などの手続きなどを経ると当該IPアドレスを使用した個人を割り出すことができる。また、IPアドレスを使用した者の情報はプロバイダによって調べられるので、仮にあるIPアドレスを使用した者が何らかの不正を行ったことを、そのIPアドレスから判明するプロバイダに通報すると、プロバイダは基本的には内規に基づいて利用停止などの措置を執ることがある。
関連項目
- IPアドレス枯渇問題
- IPv4
- IPv6
- DNS
- ホスト名(ドメイン名)
- DHCP
- MACアドレス
- ポート番号
- Mobile IP
- サブアロケーション
- 2ちゃんねる - IPアドレス特定による問題が掲載。
- 裏2ちゃんねる
- ワンクリック契約 - ワンクリック詐欺とも。IPアドレスに割り当てているプロバイダ名や都道府県名などを元に個人情報を取得可能であると主張する脅しの一種。
外部リンク
- your IP address
- IPひろば - IPアドレス検索
- ロングIPアドレスへの変換
- IPアドレスクラスaf:IP-adres
als:IP-Adresse an:Adreza IP ar:عنوان آي.بي bar:IP-Adress bat-smg:IP adrėsas br:Ennegañ IP ca:Adreça IP cs:IP adresa da:IP-adresse de:IP-Adresse el:Διεύθυνση IPeo:IP-adreso es:Dirección IP et:IP-aadress eu:IP helbide fa:نشانی پروتکل اینترنت fi:IP-osoite fo:IP-adressa fr:Adresse IP frp:Adrèce IP ga:Seoladh IP gu:IP address he:כתובת IP hr:IP broj hu:IP-cím id:Alamat IP is:Vistfang it:Indirizzo IP ka:IP-მისამართი kab:Tansa IP ko:IP 주소 ksh:IP-Nummer li:IP-adres ln:Limelo lia protokɔ́le ya ɛtɛrnɛ́tɛ lo:ຫມາຍເລກໄອພີ lt:IP adresas mi:Nohoanga kawa ipurangi ms:Alamat IP nl:IP-adres nn:IP-adresse no:IP-adresse oc:Adreça IP pl:Adres IP pt:Endereço IP ro:Adresă IP ru:IP-адрес scn:Nnirizzu IP sh:IP adresa sk:IP adresa sl:IP-naslov sq:Adresa IP sr:ИП адреса sv:IP-adress ta:இ.நெறி முகவரி th:หมายเลขไอพี tr:IP adresi uk:IP-адреса ur:دستورشبکی پتا vi:Địa chỉ IP yi:IP אדרעס zh:IP地址