(Translated by https://www.hiragana.jp/)
Internet Protocol - Wikipedia コンテンツにスキップ

Internet Protocol

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Internet Protocolインターネット・プロトコルIP) はインターネットにおいて基本きほんてき利用りようされている通信つうしんプロトコルである[1]

概要がいよう[編集へんしゅう]

Internet Protocol は、インターネットじょうホストへデータを送信そうしんするための通信つうしんプロトコルである[2]。IPの利用りようにより、かくネットワークごとの環境かんきょうちがいを意識いしきせずに宛先あてさきへデータを送信そうしんできる(#機能きのう)。IPをもちいて接続せつぞくされた世界せかい規模きぼ情報じょうほう通信つうしんもうインターネット(the Internet)である。イントラネットでも利用りようされる。プロトコルとの関係かんけいせいという観点かんてんでは、OSI参照さんしょうモデルネットワークそうにほぼ対応たいおうする機能きのうつ。またインターネット・プロトコル・スイート中核ちゅうかくをなしている。

IPではかくホストコンピュータに一意いちい番号ばんごう/番地ばんちであるIPアドレスて(アドレッシング)、伝達でんたつしたいデータをパケット格納かくのうし(カプセル)、IPアドレスで指定していされたホストへパケットを送信そうしんする(#仕組しく)。なお、パケット送出そうしゅつ手順てじゅん指定していするがその到達とうたつ保証ほしょうしないため、その保証ほしょう必要ひつよう場合ばあい上位じょういのプロトコルとしてTCPなどを利用りようすることになる(#信頼しんらいせい)。

歴史れきしてきには、ヴィントン・サーフロバート・カーンが1974ねん発表はっぴょうした Transmission Control Program のコネクションレスのデータグラムサービス部分ぶぶんがIPである。コネクション指向しこう部分ぶぶんTransmission Control Protocol (TCP) となった。現在げんざいひろ利用りようされているIPは32ビットのアドレス空間くうかんつ「IPv4」と128ビットのアドレス空間くうかんつ「IPv6」である[3]#バージョンと歴史れきし)。

誤解ごかいもとづく俗称ぞくしょうとしてIPアドレスを「IP」とぶことがある。

仕組しく[編集へんしゅう]

IPは2つの側面そくめんから理解りかいできる。1つはIPそうでのデータ転送てんそうモデル、もう1つはプロトコルスタックのそうまたいだデータ転送てんそう手順てじゅんである。

転送てんそうモデル[編集へんしゅう]

IPは、パケットのヘッダ部分ぶぶんしるされた宛先あてさきアドレスにもとづいてネットワークないでパケットを転送てんそうすることによってデータを送信そうしんする。

パケットえい: packet[4]はIPにおける送受信そうじゅしん単位たんいである[5]。パケットはヘッダとペイロードからなり[6]、ヘッダの情報じょうほうもとづいて宛先あてさきアドレスの経路けいろへとおくられる[7]ヘッダえい: header[8]はメタデータの集合しゅうごうであり、バージョン番号ばんごう送信そうしんもとアドレス・宛先あてさきアドレスなど、送受信そうじゅしん必要ひつよう情報じょうほうふくまれている。ペイロードえい: payload[9]はパケットのヘッダ以外いがい部分ぶぶんであり[10]、IPで転送てんそうするコンテンツが主体しゅたいで、場合ばあいによりメタデータもふくんでいる。

パケットは送信そうしんもとから宛先あてさき直接ちょくせつおくられるのではなく、いくつものホスト (gateway) を経由けいゆする。Gatewayはヘッダの宛先あてさきアドレスを確認かくにんし、宛先あてさきへの経路けいろじょうにあるつぎのGateway(あるいは宛先あてさきそのもの)へとパケットを転送てんそうする。これをかえすことでパケットは最終さいしゅうてき宛先あてさきアドレスに到達とうたつする[11]

経路けいろじょう転送てんそう可能かのうサイズ上限じょうげんがあった場合ばあいはパケットがかれる可能かのうせいがある。IPではパケットちょう制限せいげんわりに、フラグメント機能きのう(パケットをしょうパケットへ分割ぶんかつする機能きのう)を提供ていきょうしてこの制約せいやく回避かいひする。

転送てんそう手順てじゅん[編集へんしゅう]

IPはプロトコルスタックの1そうをなす[12]。すなわち上層じょうそうから転送てんそう対象たいしょう宛先あてさきアドレスをり、リンクそうへパケットをわた[13]

IPでは、各々おのおのLAN通信つうしん可能かのう範囲はんいセグメントび、セグメントないのコンピュータをホストぶ。おなじセグメントにぞくするホスト同士どうしはそのLANで使用しようされている通信つうしんプロトコルをデータリンクそうとし、そのうえのネットワークそう稼動かどうする。

つまりおなじセグメントにぞくするホスト同士どうしは(IP以前いぜんからそうであったように)直接ちょくせつ通信つうしんする。IPはセグメントのそと通信つうしんすることが可能かのうであり、そしてなに変更へんこうせずに(まったおな機器きき/ソフトウェア構成こうせいで)セグメントないとセグメントがいとの区別くべつなく通信つうしん可能かのうとなることである。そのため、LANない通信つうしんにあえてIPを使つかイントラネット採用さいようすることで、インターネットようのソフトウェア資産しさんやノウハウをそのままLANない通信つうしん利用りようすることができる。

おなじセグメントない通信つうしん[編集へんしゅう]

おなじセグメントないのホスト同士どうし通信つうしんでは、そのLANで使つかわれているプロトコルを使つかって通信つうしんする。そのためIPのかく実装じっそうでは、そのLANで使つかわれているプロトコルから完全かんぜん独立どくりつすることはできない。

まず、送信そうしんさきとなるIPアドレスをつホストにデータリンクそうのデータとして送信そうしんするために必要ひつよう情報じょうほう収集しゅうしゅうしなければならない。たとえばイーサネットであれば、送信そうしんさきのIPアドレスをつホストのインターフェースがっているMACアドレス対象たいしょうとなる。そのためにブロードキャストもしくはマルチキャストによってその特定とくていのIPアドレスをつホストに返答へんとう要求ようきゅうする。そのIPアドレスをっているホストはそれにたいしてMACアドレスを返答へんとうする。

一般いっぱんにブロードキャストは負荷ふかたかくLANない通信つうしん阻害そがいするため、こうしてられたMACアドレスは今後こんごおなじIPアドレスに送信そうしんするときには再度さいどブロードキャストせずに、キャッシュひかえておく。

IPの実装じっそうでは、こうしたアドレス解決かいけつ実際じっさい送受信そうじゅしん部分ぶぶんだけはデータリンクそうのプロトコルに依存いぞんすることになる。しかしこの依存いぞん部分ぶぶんは、実際じっさいにそのデータリンクそうのプロトコル使つかうホストでのみ必要ひつようになるため、世界中せかいじゅう存在そんざいするかくセグメントとの通信つうしんさいには問題もんだいにならない。ことなるデータリンクそうのプロトコル使つかうセグメントにかれたホスト同士どうし通信つうしん場合ばあいは、後述こうじゅつするゲートウェイがこれを解決かいけつする。

ことなるセグメント同士どうし相互そうご通信つうしん[編集へんしゅう]

セグメントとセグメントのあいだ、あるいはセグメントとWANのあいだにはルーティングおこなうための特別とくべつなホストであるルータ設置せっちされる。ルータにはあらかじめ、自身じしんつながれているそれぞれのセグメントにいるホストのIPアドレスをおしえてある。これはルーティングテーブルばれる。ルータは、一方いっぽうのセグメントのホストから他方たほうのセグメントのホストにパケットがおくられようとしているとき、いったん受信じゅしんがわのホストのわりにパケットを前者ぜんしゃのLANのプロトコルでる。ルーティングテーブルを参照さんしょうしてどのセグメントにおくればいいかを選択せんたくし、そのパケットを後者こうしゃのLANのプロトコルで後者こうしゃのホストにおくる。ルータはルーティングテーブルにより、どのIPアドレスにおくるにはどのセグメントにおくればよいかを把握はあくしている。経路けいろ一部いちぶ破壊はかいされても、このルーティングテーブルをえるだけで破壊はかい箇所かしょ迂回うかいすることが可能かのうになる。

ルータとているが、ルーティングテーブルをたず、ことなるLANのプロトコルを変換へんかんしてたがいに中継ちゅうけいするブリッジばれるものがある。しかしブリッジはIPより下位かいそう(OSI参照さんしょうモデルのデータリンクそう)の機器ききであり、IPとは関係かんけいなく動作どうさする。

またとくに、ことなるプロトコルをもちいるセグメント同士どうしあいだをつなぐルータはゲートウェイ(もん)とばれる。本来ほんらい、ゲートウェイはOSI参照さんしょうモデルのネットワークそうにおけるブリッジに相当そうとうするルータの基本きほん機能きのう一部いちぶだが、セグメントのほとんどがイーサネットになっているため、とくにセグメントとWANとのあいだにあるルータだけがゲートウェイであることがおおい。またルータが把握はあくしていないIPアドレスは(ルーティング処理しょり一環いっかんとして)すべデフォルトゲートウェイばれる特別とくべつなゲートウェイにおくられる。デフォルトゲートウェイは通常つうじょうWANとの接続せつぞく部分ぶぶんにあるため、未知みちのIPアドレスへのパケットはすべてWANがわそと世界せかい)のルータにパケットを送信そうしんすることになる。そしてWANのルータが送信そうしんさきとなるIPアドレスの存在そんざいするセグメントのゲートウェイにパケットを送信そうしんし、ゲートウェイが送信そうしんさきとなるIPアドレスをつホストにパケットを送信そうしんすることで世界中せかいじゅうのホストと通信つうしんおこなわれる。

機能きのう[編集へんしゅう]

Internet Protocol は、ホストのアドレッシング[14]とデータグラム(パケット)の送信そうしんもとホストから宛先あてさきホストまでの1つまたは複数ふくすうのIPネットワークをまたいだルーティングを担当たんとうする。このために、ホストの識別しきべつ論理ろんりてき位置いちサービスの提供ていきょうという2つの機能きのうつアドレッシング体系たいけい定義ていぎしている。これは、標準ひょうじゅんデータグラムと標準ひょうじゅんアドレッシング体系たいけい定義ていぎすることでなされる。

データグラムの構成こうせい[編集へんしゅう]

UDP からリンクそうプロトコルのフレームまで、アプリケーションのデータをカプセルするれい

データグラムはヘッダとペイロードで構成こうせいされる。IPヘッダには、送信そうしんもとIPアドレス、宛先あてさきIPアドレス、データグラムのルーティングや転送てんそう必要ひつようなメタデータがふくまれる。ペイロードは転送てんそうすべきデータである。このようにデータ・ペイロードにパケットのヘッダを付与ふよしてじょう構成こうせいしていくことをカプセルぶ。

IPアドレッシングとルーティング[編集へんしゅう]

IPアドレッシングとは、かくホストにIPアドレスをてる方法ほうほうであり、IPホストアドレスぐん分割ぶんかつ・グループしてサブネットワークを形成けいせいする方法ほうほうである。IPルーティングすべてのホストがおこなうが、もっと重要じゅうよう部分ぶぶんルータになっており、経路けいろ決定けっていするのに Interior Gateway Protocol (IGP) または Exterior Gateway Protocol (EGP) を使用しようする。

提供ていきょうしない機能きのう[編集へんしゅう]

IPは「独立どくりつした単一たんいつパケットを、送信そうしんもとから宛先あてさきへ、ネットワークのネットワークをかいして、おくること」のみを上手うまくシンプルにあつかうよう設計せっけいされている[15]。ゆえに意図いと提供ていきょうしない機能きのうがある[16]

  • データ信頼しんらいせい(data reliability)/ 再送さいそう(retransmission)
  • 流量りゅうりょう制御せいぎょ(flow control)
  • 順序じゅんじょ制御せいぎょ(sequencing)

すなわち、送出そうしゅつ焦点しょうてんわせているのでACKチェックや再送さいそうをおこなわない。また単一たんいつパッケージ管理かんりあつかうので複数ふくすうパケットにまたが流量りゅうりょう制御せいぎょ順序じゅんじょ制御せいぎょには関与かんよしない。

信頼しんらいせい[編集へんしゅう]

IPの設計せっけい原理げんりは、ネットワーク基盤きばんはどのネットワーク要素ようそ伝送でんそう媒体ばいたいをとっても本質ほんしつてき信頼しんらいできないと仮定かていしており、また、リンクやノードの可用性かようせいめんでも一定いっていでないと仮定かていしている。ネットワークの状態じょうたい追跡ついせき維持いじする集中しゅうちゅう監視かんし機能きのう性能せいのう測定そくてい機能きのう存在そんざいしない。ネットワークを単純たんじゅんするため、知的ちてき部分ぶぶん意図いとてきかくデータ転送てんそう端点たんてんであるノードにになわせ、これをエンドツーエンド原理げんりぶ。転送てんそう経路けいろ途中とちゅう位置いちするルーターは、宛先あてさきアドレスのルーティングプレフィックスにマッチするもっとちかいゲートウェイにパケットを転送てんそうするだけである。

このような設計せっけい結果けっか、IPはベストエフォートしき配送はいそうのみを提供ていきょうし、「信頼しんらいできない」となされている[だれによって?]。ネットワークアーキテクチャとしては「コネクションレス」プロトコルであり、コネクション指向しこう転送てんそうモードとは対照たいしょうてきである。信頼しんらいせいがないため、データがこわれたり英語えいごばん、パケットを消失しょうしつしたり、パケットが複製ふくせいされたり、パケットの順序じゅんじょわって受信じゅしんされたりする。ルーティングはパケットごと動的どうてきおこなわれ、ネットワークは以前いぜんのパケットがとおった経路けいろについても状態じょうたい情報じょうほう保持ほじしない。そのため一部いちぶのパケットがよりなが経路けいろとおることがあり、受信じゅしんがわでパケットを受信じゅしんする順序じゅんじょがおかしくなる可能かのうせいがある。

信頼しんらいせいのないIPv4で唯一ゆいいつたしかなのは、IPパケットのヘッダにはあやまりがないというてんである。ルーティングするノードは、パケットのチェックサム計算けいさんする。もしチェックサムがわない場合ばあい、そのノードはそのパケットをてる。そのノードは送信そうしんもとにも宛先あてさきにもてたことを通知つうちしないが、Internet Control Message Protocol (ICMP) でそのような通知つうちをすることも可能かのうである。一方いっぽう、IPv6ではルーティングの高速こうそく優先ゆうせんしてチェックサム計算けいさんをやめた。

上位じょういそうプロトコルは、この信頼しんらいせい問題もんだいへの対処たいしょになう。たとえば、アプリケーションにデータをわたまえにデータをキャッシュしてただしい順序じゅんじょならえたりする。

信頼しんらいせい問題もんだいくわえ、動的どうてき性質せいしつとインターネットおよびその構成こうせい要素ようそ多様たようせい関連かんれんし、データ転送てんそう経路けいろのうちどれが適当てきとうかはまった保証ほしょうできない。技術ぎじゅつてき制約せいやくの1つとして、リンクごとにデータパケットのサイズ上限じょうげんことなる。アプリケーションは適切てきせつ伝送でんそう特性とくせい使つかうことを保証ほしょうしなければならない。この責任せきにん一端いったんは、IPとアプリケーションの中間ちゅうかん位置いちする上位じょういそうプロトコルぐんにもある。ローカルなリンクにおける Maximum Transmission Unit (MTU) のサイズを調しらべるファシリティがあり、IPv6の場合ばあい宛先あてさきまでの経路けいろ全体ぜんたい考慮こうりょしたMTUサイズを調しらべるファシリティもある。IPv4にはもとのデータグラムを自動的じどうてき断片だんぺんする機能きのうがある。この場合ばあい、IPは断片だんぺんされたパケットぐん到着とうちゃく順序じゅんじょまさしくたも必要ひつようがある[17]

たとえば Transmission Control Protocol (TCP) はセグメントサイズをMTUよりちいさく調整ちょうせいするプロトコルである。User Datagram Protocol (UDP) と Internet Control Message Protocol (ICMP) はMTUサイズを無視むしするので、必要ひつようならIPが断片だんぺんおこな[18]

バージョンと歴史れきし[編集へんしゅう]

1974ねん5がつInstitute of Electrical and Electronic Engineers (IEEE) が "A Protocol for Packet Network Intercommunication" とだいした論文ろんぶん公表こうひょうした[19]。この論文ろんぶん筆者ひっしゃヴィントン・サーフロバート・カーンは、ノードあいだのパケット交換こうかん使つかってリソースを共有きょうゆうするインターネットワーキング・プロトコルを記述きじゅつした。このモデルの中心ちゅうしんとなる制御せいぎょコンポーネントが "Transmission Control Program" (TCP) で、コネクション指向しこうのリンクとデータグラムサービスの両方りょうほうふくんでいた。モノリシックな Transmission Control Program はのちにモジュールされ、コネクション指向しこうそうTransmission Control Protocol とインターネットワーキング(データグラム)そうの Internet Protocol にけられた。このモデルが一般いっぱんに TCP/IP とばれ、正式せいしきにはインターネット・プロトコル・スイートばれている。

Internet Protocol はインターネット定義ていぎする要素ようその1つである。インターネットそうにおけるインターネットワーキング・プロトコルで2012ねん現在げんざいおも使つかわれているのはIPv4である。この4という番号ばんごうはプロトコルのバージョン番号ばんごうで、すべてのIPデータグラムの先頭せんとうかれている。IPv4は RFC 791 (1981) で記述きじゅつされている。

IPアドレスの不足ふそく発生はっせいすることが予測よそくされることから開発かいはつされたIPv4の後継こうけいIPv6である。バージョン4からの最大さいだい変更へんこうてんはアドレッシング体系たいけいである。IPv4は32ビットのアドレス(やく40おく、4.3×109)を使つかっていたが、IPv6では128ビットのアドレス(やく 3.4×1038)を使つかっている。IPv6の採用さいようはゆっくりとしていたが、2008ねん6がつアメリカ合衆国あめりかがっしゅうこく連邦れんぽう政府せいふがバックボーンレベルのみではあるがぜんシステムでIPv6をサポートしてみせた[20]

IPのバージョン0から3まではIPv4の開発かいはつ途中とちゅうのバージョンで、1977ねんから1979ねんまでに使つかわれた[21]。バージョン5は実験じっけんてきなストリーミングようプロトコル Internet Stream Protocol英語えいごばん使つかわれた。バージョン6から9までは、IPv4の後継こうけいとして提案ていあんされた各種かくしゅプロトコルである。このうちバージョン6とされた SIPP (Simple Internet Protocol Plus) が IPv6 として採用さいようされることになった。7から9は IP/IX (RFC 1475)、PIP (RFC 1621)、TUBA (TCP and UDP with Bigger Addresses, RFC 1347) である。

ほかにも IPv9や IPv8 を名乗なのったプロトコルが提案ていあんされたことがあるが、まった支持しじされていない[22]

1994ねん4がつ1にちIETFエイプリルフールのジョークとしてIPv9を発表はっぴょうしたことがある[23]

脆弱ぜいじゃくせい[編集へんしゅう]

IPは様々さまざま攻撃こうげきたいして脆弱ぜいじゃくである。網羅もうらてき脆弱ぜいじゃくせいアセスメントが対策たいさく提案ていあんともに2008ねん公表こうひょうされ[24]、そのIETFうち対策たいさく検討けんとうちゅうである[25]

脚注きゃくちゅう[編集へんしゅう]

  1. ^ ASCII.jpデジタル用語ようご辞典じてん,デジタル大辞泉だいじせん,IT用語ようごがわかる辞典じてん,パソコンでこまったときにひらほん,ブランド用語ようごしゅう,DBM用語ようご辞典じてん,世界せかいだい百科ひゃっか事典じてんない言及げんきゅう. “IPとは? 意味いみ使つかかた”. コトバンク. 2023ねん5がつ17にち閲覧えつらん
  2. ^ "The function or purpose of Internet Protocol is to move datagrams through an interconnected set of networks." IPv4 specification.
  3. ^ IPv4 アドレスの枯渇こかつさいして http://www.wide.ad.jp/News/2011/20110204.html
  4. ^ IPv4における "internet datagram"、IPv6における "packet"
  5. ^ "The internet protocol provides for transmitting blocks of data called datagrams from sources to destinations" IPv4 specification.
  6. ^ "packet an IPv6 header plus payload." IPv6 specification.
  7. ^ "The internet modules use the addresses carried in the internet header to transmit internet datagrams toward their destinations." IPv4 specification.
  8. ^ IPv4における "internet header"、IPv6における "IPv6 header"
  9. ^ IPv4における "data portion"、IPv6における "payload"
  10. ^ "the IPv6 payload, i.e., the rest of the packet following this IPv6 header" IPv6 specification.
  11. ^ "This is done by passing the datagrams from one internet module to another until the destination is reached." IPv4 specification.
  12. ^ " Internet protocol interfaces on one side to the higher level host-to-host protocols and on the other side to the local network protocol." IPv4 specification.
  13. ^ "This protocol is called on by host-to-host protocols in an internet environment. This protocol calls on local network protocols to carry the internet datagram to the next gateway or destination host." IPv4 specification.
  14. ^ "The internet protocol implements two basic functions: addressing and fragmentation." IPv4 specification.
  15. ^ "specifically limited in scope to ... deliver a package of bits ... from a source to a destination over an interconnected system of networks. ... The internet protocol treats each internet datagram as an independent entity unrelated to any other internet datagram." IPv4 specification." IPv4 specification.
  16. ^ "The internet protocol is specifically limited in scope ... There are no mechanisms to ..." IPv4 specification.
  17. ^ Siyan, Karanjit. Inside TCP/IP, New Riders Publishing, 1997. ISBN 1-56205-714-6
  18. ^ Basic Journey of a Packet
  19. ^ Vinton G. Cerf, Robert E. Kahn, "A Protocol for Packet Network Intercommunication", IEEE Transactions on Communications, Vol. 22, No. 5, May 1974 pp. 637-648
  20. ^ CIO council adds to IPv6 transition primer, gcn.com
  21. ^ RFC 750: "ASSIGNED INTERNET MESSAGE VERSIONS". Sep 28, 1978
  22. ^ China disowns IPv9 hype Theregister.com
  23. ^ RFC 1606: A Historical Perspective On The Usage Of IP Version 9. April 1, 1994.
  24. ^ Security Assessment of the Internet Protocol (IP)(archived version)
  25. ^ Security Assessment of the Internet Protocol version 4 (IPv4)

関連かんれん項目こうもく[編集へんしゅう]

外部がいぶリンク[編集へんしゅう]

RFC
  • RFC 791 - Internet Protocol
  • 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 1817 - CIDR and Classful Routing
  • RFC 2101 - IPv4 Address Behaviour Today
その