Internet_Protocol
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

IPアドレス」とは異なります。
.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 (インターネット・プロトコル、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 からリンク層プロトコルのフレームまで、アプリケーションのデータをカプセル化する例


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

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