IPv4
TCP/IP |
---|
アプリケーション |
|
トランスポート |
カテゴリ |
インターネット |
カテゴリ |
リンク |
カテゴリ |
Internet Protocol version 4(インターネットプロトコルバージョン4)、IPv4(アイピーブイ4)は、Internet Protocolの
パケット
[IPパケットの
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
バージョン | ヘッダ |
サービス |
|||||||||||||||||||||||||||||
フラグ | |||||||||||||||||||||||||||||||
プロトコル | チェックサム | ||||||||||||||||||||||||||||||
データ |
- バージョン(Version) IPのバージョンであり、IPv4の
場合 は4が格納 される。 - ヘッダ
長 (Internet Header Length、IHL) IPヘッダの長 さで、4オクテット単位 で表 される。この値 によりデータの開始 位置 を知 ることができる。通常 は「5」が入 る。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
- サービス
種別 (Type of Service、ToS、優先 順位 ) パケットが転送 される際 に重視 するサービスを指定 する。ただし、ルータの実装 においてパケットごとにサービスを区別 することは容易 ではない。送信 元 が全 てを重視 とする設定 を行 う場合 や、ネットワークの運用 方針 によっては境界 に位置 するルータが値 を書 き換 える場合 もある。優先 度 はパケットの優先 度 を8段階 で示 す。パケットの送信 待 ち行列 を8個 用 いて実現 する実装 もある。遅延 度 はパケットを早 く宛先 へと到達 させることを求 める。転送 量 はパケットを多 く宛先 へと到達 させることを求 める。信頼 性 はパケットを失 わず宛先 へと到達 させることを求 める(このような処理 をQoSと呼 ぶ)。IPv6のIPv6パケットでは、サービス種別 の代 わりに「フローラベル」(Flow Label)が定義 されている。 全長 (Total Length) IPヘッダを含 むパケットの全長 をオクテット単位 で表 したもの。最大 は65,535オクテット。識別子 (Identification、識別 番号 とも) パケットの送信 元 が一意 な値 を格納 する。断片 化 したパケットの復元 に用 いられる。パケットを転送 するルータがデータを分割 したときにバラバラになった複数 のパケットを同一 のものと判断 する。
0 | 1 | 2 |
---|---|---|
- フラグ(Various Control Flags)
断片 化 の制御 に用 いる。ビット0は予備 であり常 に0。ビット1は1の場合 に断片 化 の禁止 を意味 する。ビット2は1の場合 に断片 化 された後続 のパケットが存在 するパケットであることを意味 し、0の場合 は後続 のパケットが存在 しないことを意味 する。 断片 位置 (Fragment Offset) ルータなどがパケットを断片 化 した際 に、その位置 を8オクテット単位 で格納 する。断片 化 したパケットの復元 に用 いられる。以上 の識別子 、フラグ、断片 位置 の情報 からフラグメントを行 うことができる。生存 時間 (Time to Live、TTL) パケットの余命 を示 す値 である。送信 元 はパケットが経由 できるルータ数 の上限 を設定 し、ルータはパケットを転送 するごとに値 を一 つ減 らし、値 が0になるとパケットは破棄 される。パケットがネットワーク上 で無限 に巡回 する問題 を防 ぐ効果 がある。TTLは8ビットのため0〜255の値 をセットできる。- プロトコル(Protocol) TCPなどの
上位 プロトコルを示 すプロトコル番号 が設定 される。パケットの宛先 である装置 がパケットを受信 すると、この値 を用 いて上位 プロトコルを識別 し、その実装 へペイロードを渡 す。主 に使 われるプロトコルには、ICMP、TCP、UDP、IPv6、EIGRP、OSPFが挙 げられる。 - チェックサム(
検査 合計 、Header Checksum) IPヘッダの誤 り検査 に用 いられる。転送 ごとに生存 時間 の値 が変 わるため、ルータはチェックサムも転送 ごとに再 計算 する必要 がある。データ部分 に関 してはTCPなどの上位 層 に任 せ、IPパケットのヘッダのチェックサムの対象 はヘッダ部分 だけである。また、IPパケットのチェックサムフィールドは設定 必須 の項目 なので省略 できない。IPv6ではチェックサムフィールドはなくなった。 送信 元 アドレス(Source Address) パケットの送信 元 IPアドレスが設定 される。宛先 アドレス(Destination Address) パケットの送信 先 IPアドレスが設定 される。拡張 情報 (Options)可変長 の拡張 情報 が32ビット単位 で設定 される。めったに使用 されることがないが、セキュリティ、ルーズソースルーティング/ストリクトソースルーティング、レコードルート、インターネットタイムスタンプなどの情報 が埋 め込 まれる。可変長 のため0を足 すパディングを必要 とする。- データ パケットが
伝達 すべきペイロードである。
アドレス
[IPで
RFC 791において、ネットワークアドレスとホストアドレスの
クラス | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
a | 0 | ネットワーク | ホスト | |||||||||||||||||||||||||||||
b | 1 | 0 | ネットワーク | ホスト | ||||||||||||||||||||||||||||
c | 1 | 1 | 0 | ネットワーク | ホスト | |||||||||||||||||||||||||||
1 | 1 | 1 |
しかしRFC 791の
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | ネットワーク | サブネット | ホスト | ||||||||||||||||||||||||||||
アドレスマスク | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
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)は、
特別 用途 のアドレスブロックアドレスブロック アドレス 範囲 アドレスの 数 スコープ 説明 0.0.0.0/8 0.0.0.0–0.255.255.255 16777216 ソフトウェア 現在 のネットワーク[1](送信 元 アドレスとしてのみ有効 )10.0.0.0/8 10.0.0.0–10.255.255.255 16777216 プライベートネットワーク プライベートネットワーク 内 での通信 に使用 [2]100.64.0.0/10 100.64.0.0–100.127.255.255 4194304 プライベートネットワーク シェアードアドレス 空間 [3]。キャリアグレードNATを使用 する際 に、サービスプロバイダとその加入 者 間 で通信 を行 うために使用 する。127.0.0.0/8 127.0.0.0–127.255.255.255 16777216 ホスト localhostへのループバックアドレスとして 使用 [1]169.254.0.0/16 169.254.0.0–169.254.255.255 65536 サブネット リンクローカルアドレスとして 使用 [4]。IPアドレスが指定 されていない場合 に、1つのリンク上 の2つのホスト間 の通信 に使用 される。172.16.0.0/12 172.16.0.0–172.31.255.255 1048576 プライベートネットワーク プライベートネットワーク 内 での通信 に使用 [2]192.0.0.0/24 192.0.0.0–192.0.0.255 256 プライベートネットワーク IETF Protocol Assignments.[1] 192.0.2.0/24 192.0.2.0–192.0.2.255 256 ドキュメント ドキュメントにおける 例示 用 (TEST-NET-1)[5]192.88.99.0/24 192.88.99.0–192.88.99.255 256 インターネット 予約 [6]。以前 はIPv6からIPv4への中継 (6to4)に使用 されていた[7](IPv6アドレスブロック2002::/16を含 む)。192.168.0.0/16 192.168.0.0–192.168.255.255 65536 プライベートネットワーク プライベートネットワーク 内 での通信 に使用 [2]198.18.0.0/15 198.18.0.0–198.19.255.255 131072 プライベートネットワーク 2つの 異 なるサブネット間 のネットワーク間 通信 のベンチマークテストに使用 [8]。198.51.100.0/24 198.51.100.0–198.51.100.255 256 ドキュメント ドキュメントにおける 例示 用 (TEST-NET-2)[5]203.0.113.0/24 203.0.113.0–203.0.113.255 256 ドキュメント ドキュメントにおける 例示 用 (TEST-NET-3)[5]224.0.0.0/4 224.0.0.0–239.255.255.255 268435456 インターネット IPマルチキャストに 使用 [9](かつてのクラスD)。240.0.0.0/4 240.0.0.0–255.255.255.254 268435455 インターネット 将来 の使用 のために予約 [10](かつてのクラスE)。255.255.255.255/32 255.255.255.255 1 サブネット リミテッド・ブロードキャストの 宛先 アドレスとして予約 [1][11]
- 14.0.0.0/8は、Public data networkのために
予約 されていたが(RFC 1700)、2008年 2月 に予約 は解除 された[12]。 - 24.0.0.0/8は、ケーブルテレビネットワークのために
予約 されていたが(RFC 3330)、2010年 5月 現在 では予約 は解除 されている[12]。 - 39.0.0.0/8は、Class A Subnet Experimentとして
予約 されていたが(RFC 1797)、2010年 5月 現在 では予約 は解除 されている[12]。 - 128.0.0.0/16は、RFC 3330において
予約 されていたが、2010年 5月 現在 では予約 は解除 されている[12]。 - 191.255.0.0/16は、RFC 3330において
予約 されていたが、2010年 5月 現在 では予約 は解除 されている[12]。 - 223.255.255.0/24は、RFC 3330において
予約 されていたが、2010年 5月 現在 では予約 は解除 されている[12]。
経路 選択
[ルーティング(routing)とも
ネットワーク | |||||||||||||||||||||||||||
192.168.1.2
ether0
192.168.1.1
127.0.0.1
loopback ether1
10.1.1.1
10.1.1.2
10.1.1.3
172.16/16
| |||||||||||||||||||||||||||
|
ルータは
このルータがパケットを
断片 化 と再 構築
[プロトコルが
IPヘッダのフラグの
IPv4アドレスの枯渇
[IPv4のグローバルアドレスが
この
RFC仕様
[- RFC 791 - Internet Protocol
- RFC 950 - Internet Standard Subnetting Procedure
- RFC 1112 - Host Extensions for IP Multicasting
- RFC 1518 - An Architecture for IP Address Allocation with CIDR
- RFC 1519 - Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy
- RFC 1597 - Address Allocation for Private Internets
- RFC 1817 - CIDR and Classful Routing
- RFC 2101 - IPv4 Address Behaviour Today
出典
[- ^ a b c d M. Cotton; L. Vegoda; R. Bonica; B. Haberman (April 2013). Special-Purpose IP Address Registries (
英語 ). Internet Engineering Task Force. doi:10.17487/RFC6890. BCP 153. RFC 6890。 Updated by RFC 8190. - ^ a b c Y. Rekhter; B. Moskowitz; D. Karrenberg; G. J. de Groot; E. Lear (February 1996). Address Allocation for Private Internets (
英語 ). Network Working Group. doi:10.17487/RFC1918. BCP 5. RFC 1918。 Updated by RFC 6761. - ^ J. Weil; V. Kuarsingh; C. Donley; C. Liljenstolpe; M. Azinger (April 2012). IANA-Reserved IPv4 Prefix for Shared Address Space (
英語 ). Internet Engineering Task Force (IETF). doi:10.17487/RFC6598. ISSN 2070-1721. BCP 153. RFC 6598。 - ^ S. Cheshire; B. Aboba; E. Guttman (May 2005). Dynamic Configuration of IPv4 Link-Local Addresses (
英語 ). Network Working Group. doi:10.17487/RFC3927. RFC 3927。 - ^ a b c J. Arkko; M. Cotton; L. Vegoda (January 2010). IPv4 Address Blocks Reserved for Documentation (
英語 ). Internet Engineering Task Force. doi:10.17487/RFC5737. ISSN 2070-1721. RFC 5737。 - ^ O. Troan (May 2015). B. Carpenter (ed.). Deprecating the Anycast Prefix for 6to4 Relay Routers (
英語 ). Internet Engineering Task Force. doi:10.17487/RFC7526. BCP 196. RFC 7526。 - ^ C. Huitema (June 2001). An Anycast Prefix for 6to4 Relay Routers (
英語 ). Network Working Group. doi:10.17487/RFC3068. RFC 3068。 Obsoleted by RFC 7526. - ^ S. Bradner; J. McQuaid (March 1999). Benchmarking Methodology for Network Interconnect Devices (
英語 ). Network Working Group. doi:10.17487/RFC2544. RFC 2544。 Updated by: RFC 6201 and RFC 6815. - ^ M. Cotton; L. Vegoda; D. Meyer (March 2010). IANA Guidelines for IPv4 Multicast Address Assignments (
英語 ). Internet Engineering Task Force. doi:10.17487/RFC5771. BCP 51. RFC 5771。 - ^ J. Reynolds, ed. (January 2002). Assigned Numbers: RFC 1700 is Replaced by an On-line Database (
英語 ). Network Working Group. doi:10.17487/RFC3232. RFC 3232。 Obsoletes RFC 1700. - ^ Jeffrey Mogul (October 1984). Broadcasting Internet Datagrams (
英語 ). Network Working Group. doi:10.17487/RFC0919. RFC 919。 - ^ a b c d e f RFC 5735
- ^ “Windows および Sun のシステムでの IP MTU、TCP MSS、および PMTUD の
調整 ”. Cisco. 2015年 10月 29日 時点 のオリジナルよりアーカイブ。2010年 6月 20日 閲覧 。 - フラグメント化 と呼 ばれる例 。 - ^ “TCP/IPに
係 る既知 の脆弱 性 に関 する調査 報告 書 改訂 第 4版 ”. 2010年 6月 20日 閲覧 。 - フラグメンテーションと呼 ばれる例 。 - ^ “@IT
連載 基礎 から学 ぶWindowsネットワーク IPフラグメンテーション”. p. 3. 2010年 6月 20日 閲覧 。 -再 構成 と呼 ばれる例 。