IPv4
[Wikipedia|▼Menu]
.mw-parser-output .sidebar{width:auto;float:right;clear:right;margin:0.5em 0 1em 1em;background:#f8f9fa;border:1px solid #aaa;padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:75%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:720px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}

TCP/IP群
アプリケーション層


BGP

DHCP

DNS

FTP

HTTP

IMAP

IRC

LDAP

MGCP

MQTT

NNTP

NTP

SNTP

TIME

POP

RIP

OSPF

ONC RPC

RTP

SIP

SMTP

SNMP

SSH

Telnet

TFTP

TLS/SSL

XMPP
カテゴリ
トランスポート層


TCP

UDP

DCCP

SCTP

RSVP

QUIC
カテゴリ
インターネット層


IP

IPv4

IPv6


ICMP

ICMPv6

NDP

IGMP

IPsec
カテゴリ
リンク層


ARP

SPB

トンネリング

L2TP


PPP

MAC

イーサネット

IEEE 802.11

DSL

ISDN

カテゴリ
.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin-right:0;display:inline-block;white-space:nowrap}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist li:after,.mw-parser-output .hlist dd:after{content:" ・\a0 ";font-weight:bold}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" |\a0 ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" -\a0 ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist-slash dd:after,.mw-parser-output .hlist-slash li:after{content:" /\a0 ";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")\a0 ";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .navbar{display:inline;font-size:75%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:88%}.mw-parser-output .navbox .navbar{display:block;font-size:88%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}









Internet Protocol version 4(インターネットプロトコルバージョン4)、IPv4(アイピーブイ4)は、Internet Protocolの一種で、OSI参照モデルにおいてネットワーク層に位置付けられる通信プロトコルである。

主に、転送の単位であるパケットの経路選択と、その断片化と再構築が規定されている。TCP/IPの基本機能として、インターネットをはじめ、世界中広く用いられている。
パケット

IPパケットの先頭には必ずIPヘッダが付加され、それにより経路選択などのIPの機能が実現されている。IPヘッダは12のフィールドと拡張情報(オプション)から成り立っている。拡張情報を含まないIPヘッダ長は20オクテットである。

以下にパケット形式図とそれぞれの領域の役割などを記す。

パケット形式図012345678910111213141516171819202122232425262728293031
バージョンヘッダ長サービス種別全長
識別子フラグ断片位置
生存時間プロトコルチェックサム
送信元アドレス
宛先アドレス
拡張情報
データ




バージョン(Version) IPのバージョンであり、IPv4の場合は4が格納される。

ヘッダ長(Internet Header Length、IHL) IPヘッダの長さで、4オクテット単位で表される。この値によりデータの開始位置を知ることができる。通常は「5」が入る。

サービス種別01234567
優先度遅延度転送量信頼性予備


サービス種別(Type of Service、ToS、優先順位) パケットが転送される際に重視するサービスを指定する。ただし、ルータの実装においてパケットごとにサービスを区別することは容易ではない。送信元が全てを重視とする設定を行う場合や、ネットワークの運用方針によっては境界に位置するルータが値を書き換える場合もある。優先度はパケットの優先度を8段階で示す。パケットの送信待ち行列を8個用いて実現する実装もある。遅延度はパケットを早く宛先へと到達させることを求める。転送量はパケットを多く宛先へと到達させることを求める。信頼性はパケットを失わず宛先へと到達させることを求める(このような処理をQoSと呼ぶ)。IPv6IPv6パケットでは、サービス種別の代わりに「フローラベル」(Flow Label)が定義されている。

全長(Total Length) IPヘッダを含むパケットの全長をオクテット単位で表したもの。最大は65,535オクテット。

識別子(Identification、識別番号とも) パケットの送信元が一意な値を格納する。断片化したパケットの復元に用いられる。パケットを転送するルータがデータを分割したときにバラバラになった複数のパケットを同一のものと判断する。

フラグ012
予備禁止継続


フラグ(Various Control Flags) 断片化の制御に用いる。ビット0は予備であり常に0。ビット1は1の場合に断片化の禁止を意味する。ビット2は1の場合に断片化された後続のパケットが存在するパケットであることを意味し、0の場合は後続のパケットが存在しないことを意味する。

断片位置(Fragment Offset) ルータなどがパケットを断片化した際に、その位置を8オクテット単位で格納する。断片化したパケットの復元に用いられる。以上の識別子、フラグ、断片位置の情報からフラグメントを行うことができる。

生存時間(Time to Live、TTL) パケットの余命を示す値である。送信元はパケットが経由できるルータ数の上限を設定し、ルータはパケットを転送するごとに値を一つ減らし、値が0になるとパケットは破棄される。パケットがネットワーク上で無限に巡回する問題を防ぐ効果がある。TTLは8ビットのため0?255の値をセットできる。

プロトコル(Protocol) TCPなどの上位プロトコルを示すプロトコル番号が設定される。パケットの宛先である装置がパケットを受信すると、この値を用いて上位プロトコルを識別し、その実装へペイロードを渡す。主に使われるプロトコルには、ICMPTCPUDPIPv6EIGRPOSPFが挙げられる。

チェックサム(検査合計、Header Checksum) IPヘッダの誤り検査に用いられる。転送ごとに生存時間の値が変わるため、ルータはチェックサムも転送ごとに再計算する必要がある。データ部分に関してはTCPなどの上位層に任せ、IPパケットのヘッダのチェックサムの対象はヘッダ部分だけである。また、IPパケットのチェックサムフィールドは設定必須の項目なので省略できない。IPv6ではチェックサムフィールドはなくなった。

送信元アドレス(Source Address) パケットの送信元IPアドレスが設定される。

宛先アドレス(Destination Address) パケットの送信先IPアドレスが設定される。

拡張情報(Options) 可変長の拡張情報が32ビット単位で設定される。めったに使用されることがないが、セキュリティ、ルーズソースルーティング/ストリクトソースルーティング、レコードルート、インターネットタイムスタンプなどの情報が埋め込まれる。可変長のため0を足すパディングを必要とする。

データ パケットが伝達すべきペイロードである。

アドレス

IPで用いられる32ビットのアドレスはIPアドレスと呼ばれ、IPアドレスはネットワークアドレスホストアドレスに分けて用いられる。

.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}RFC 791において、ネットワークアドレスホストアドレスの境界は、IPアドレスの先頭のビット列で定められ、境界の位置によりIPアドレスはクラス(class)として分類された。

クラス012345678910111213141516171819202122232425262728293031
a0ネットワークホスト
b10ネットワークホスト
c110ネットワークホスト
111拡張アドレスモード

しかしRFC 791の方式は、ホストアドレスの割り当て数が、クラスaでは16777215、クラスbでは65535にものぼる。これほどの膨大な数のホストを収容するネットワークは一般に存在せず、アドレスの利用に無駄を生じた。そこでRFC 950においてサブネット(subnet)が定められた。サブネットはホストアドレスの一部をアドレスマスク(address mask)を用いて分割することにより得られ、あるネットワークアドレスを与えられた組織内において、更にネットワークを分割するために用いられる。

012345678910111213141516171819202122232425262728293031
10ネットワークサブネットホスト
アドレスマスク11111111111111111111111100000000

RFC 1597においては、ある組織内で私的に用いられる下記のプライベートアドレスが定められた。

10.0.0.0?10.255.255.255(10.0.0.0/8)

172.16.0.0?172.31.255.255(172.16.0.0/12)

192.168.0.0?192.168.255.255(192.168.0.0/16)

上記のアドレス以外はグローバルアドレスとも呼ばれるようになる。
特別用途のアドレス

Internet Engineering Task Force (IETF)とInternet Assigned Numbers Authority (IANA)は、特別な用途に用いられるIPアドレスを予約し、一般の使用を制限している。

特別用途のアドレスブロックアドレスブロックアドレス範囲アドレスの数スコープ説明
0.0.0.0/80.0.0.0?0.255.255.25516777216ソフトウェア現在のネットワーク[1](送信元アドレスとしてのみ有効)
10.0.0.0/810.0.0.0?10.255.255.25516777216プライベートネットワークプライベートネットワーク内での通信に使用[2]
100.64.0.0/10100.64.0.0?100.127.255.2554194304プライベートネットワークシェアードアドレス空間(英語版)[3]キャリアグレードNATを使用する際に、サービスプロバイダとその加入者間で通信を行うために使用する。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:61 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef