IPアドレス(アイピーアドレス、 Internet Protocol Address )とはパケットを送受信する機器を判別するための番号である。
IPで定義されている。
もともとは狭義のインターネットで用いられるものだが、インターネットの普及と共にLANでも使われるようになった。
IPアドレスはMSB(最上位ビット)に近い側をネットワーク部、LSB(最下位ビット)に近い側をホスト部として区別する。
ネットワーク部がネットワークを指定し、ホスト部がそのネットワーク内の機器を指定する。
ネットワーク部とホスト部の区別にはサブネットマスクを用いる。
2009年現在、IPアドレスとして多く利用されているのはIPv4というプロトコルに基づく32ビットのアドレス空間である。
インターネットの普及とともに、IPv4のままでは近年中にアドレスが枯渇してしまう、という「IPアドレス枯渇問題」が浮上してきた。
その問題解決を視野に入れて構想、規格が定められたIPv6プロトコルでは、IP アドレスは128ビットに拡張されている。
うまくIPv6を普及させることができれば「IPアドレス枯渇問題」は解消するのだが、2009年現在、IPv6の普及があまり進んでいないままで、IPアドレスを消費するIP-Phoneなどの普及が加速しており、残数が少なくなり比較的精度が高くなってきた詳細な分析では、このままでは2011年前後に枯渇してしまうとの予想が多く立てられており、各方面で様々な対応策が行われることが望まれる状況になってきている。
IPv4のIPアドレスの表記法には以下の規則がある。
通常は、ドット付き十進表記(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を偽装するために用いる場合もあるので、注意が必要である。