IP(インターネット層) -情報処理シンプルまとめ

IPに関するブログのアイキャッチ画像 ネットワーク

 基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,IPについてシンプルにまとめています。はじめに,TCP/IPのインターネット層の説明をし,次に,IPの説明をしています。IPについては,IPの説明・役割,IPv4のIPアドレス(IPアドレスの表記,ネットワークアドレスとホストアドレス,サブネットマスク,ブロードキャストアドレス,グローバルIPアドレス,プライベートIPアドレス,クラス,サブネットワーク,CIDR,ARP,NAT,NAPT(IPマスカレード),ルーティング(スタティックルーティング,ダイナミックルーティング),ルーティングプロトコル(RIP)),IPv6(IPv4の問題点,アドレス長の拡張と表記,ネットワークプレフィックスとインタフェースID,通信の効率化,セキュリティ機能,アドレスの自動設定機能,リンクローカルアドレス),IPv4からIPv6への移行(デュアルスタック,トンネリング)を説明しています。また,ICMP(ping)の説明もしています。特に,大切なところだと思いますので,繰り返し読んで理解できるよう努めましょう。

インターネット層

 TCP/IPのインターネット層は,OSI基本参照モデルのネットワーク層に相当します。役割は,IPアドレスにより(ルーターなどで分割された)ネットワークやホストを識別して,最適な通信経路を選択しながら,データ(パケット)を送り届けることです。

※ ホスト…コンピューターネットワークに接続されたIPアドレスを持つコンピューターやネットワーク機器のこと

IP(Internet Protocol)

 IPは,コネクションレス型のプロトコルで,インターネットに接続された端末間でパケットの送受信を行います。次のような役割があります。

※ コネクションレス型では,コネクションを確立せず,送信側が一方的にデータを送信する。受信側が正常に受け取っているかは確認せず次々とデータを送るため,大量のデータを高速に送信することができる

※ IPパケットが消失した場合は,TCPが補完の役目を果たす。TCPについては,「」を参照

  • アドレッシング(IPアドレスの管理)
  • ルーティング(通信経路の選択)

IPアドレス(IPv4)

 IPアドレスは,通信相手を一意に識別するための番号です。ネットワークに接続されている機器(サーバーや端末,ルーターなど)に割り振られます。

IPアドレスの表記

 IPアドレスは「192.168.1.1」などと表記しますが,実際は32ビット(2進数32桁)のビット列です。この32ビットを8ビットずつに区切り,それぞれを10進数に変換しピリオドでつないでいます。

IPアドレスの表記に関する説明画像

ネットワークアドレスとホストアドレス

 IPアドレスは,ネットワークアドレス部ホストアドレス部から構成されています。ネットワークアドレスはネットワーク自体を示すアドレスで,ホストアドレスはネットワーク内の個々のホスト(ルーターやサーバー,PCなど)に割り当てられるアドレスです。下図のPC1の場合,IPアドレスの上位24ビット(IPアドレスの後ろの「/ 24(プレフィックス)の部分」)がネットワークアドレス部で下位8ビット(=32ビット-24ビット)がホストアドレス部になります。

ネットワークアドレスとホストアドレスの説明画像

 ネットワークアドレスとホストアドレスは,サブネットマスクを使用して求めることができます。

※ サブネットマスク…ネットワークアドレス部を1,ホストアドレス部を0とした32ビットのビット列

サブネットマスクの説明画像

 また,ネットワークAで割り当てることのできるホストの台数は次のようになります。

ネットワークアドレスとブロードキャストアドレスの説明画像
ネットワークアドレスホストアドレス部が,すべて0のIPアドレス。
(ルーターで区切られた)ネットワーク自体を示す
ブロードキャストアドレスホストアドレス部が,すべて1のIPアドレス。
パケットを,同じネットワークのすべてのホストに対して送信する場合に使用する

グローバルIPアドレスとプライベートIPアドレス

 グローバルIPアドレスは,インターネットに接続されている機器を識別するために使用されている,重複のない世界でただ一つのアドレスです。ほとんどの場合,ISPと契約し,インターネットに接続した際に,自動的に割り振られます。

※ グローバルIPアドレスは,重複が許されないため,世界的に管理されている

 プライベートIPアドレスは,(ルーターの内側の)ネットワークに接続されている機器を識別するために使用するアドレスです。DHCPサーバー機能を使用して自動的に割り振ったり,ネットワークの管理者が手動で割り振ったりします。

 なお,プライベートIPアドレスとして使用できる範囲は,次のように決められています。

クラスA10.0.0.0 ~ 10.255.255.255
クラスB172.16.0.0 ~ 172.31.255.255
クラスC192.168.0.0 ~ 192.168.255.255

※ プライベートIPアドレスは,ネットワーク内でのみ使用できる。インターネットでは使用できない

※ プライベートIPアドレスは,IPv4のIPアドレスを有効活用するために考え出された(IPv4のIPアドレス(約43億個)が足りないという枯渇問題が背景にある)

※ DHCPについては「」を参照

※ クラスについては後述

 IPアドレスの具体的な割り振りや通信の流れについては、「インターネットへの接続と通信の流れ-インターネットへの接続 -情報処理シンプルまとめ」を参照してください。

インターネットへの接続と通信の流れ -情報処理シンプルまとめ
基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,インターネットへの接続と通信の流れについてシンプルにまとめています。まず,コンピューターネットワークの種類について説明し,その後,端末をインターネットに接続する方法と通信の流れについて,具体例を載せて全体像を把握できるように説明しています。コンピューターネットワークの種類については,LAN,WAN,インターネットと,インターネットの構成(ISP(インターネットサービスプロバイダ―),IX,IDX,ピアリング),インターネットに接続しないネットワーク(イントラネット,エクストラネット)を説明しています。端末をインターネットに接続する具体例については,インターネットへの接続と設定(ISPとの契約,端末の設置と接続,IPアドレスの設定(グローバルIPアドレスの設定,プライベートIPアドレスの設定,デフォルトゲートウェイの設定)),通信に必要な情報(ルーターで管理する情報(フィルタリングテーブル,NATテーブル,ARPテーブル,MACアドレステーブル),スイッチで管理する情報(MACアドレステーブル),DMZに設置したWebサーバーや端末(PC)などで管理する情報(ARPテーブル),無線LAN端末で管理する情報(BSSIDやESSIDの設定,ARPテーブル)の説明をしたあと,①内部ネットワークに1台の端末を設置してインターネット上のWebサーバーに対して通信する場合の流れ,②内部ネットワークに有線・無線の複数の端末を設置してインターネット上のWebサーバーに対して通信する場合の流れ,③内部ネットワークの端末同士で通信する場合の流れ,④DMZにWebサーバーを設置して内部ネットワークの端末や外部から通信する場合の流れについて説明しています。ややこしいと思いますが,この分野は,全体像が掴みにくいのではないかと思いますので,ここで把握してから個々の内容に進むのがよいと思います。じっくり頑張りましょう。

クラス

 クラスとは,ネットワークの規模別にグローバルIPアドレスを分類するもので,先頭の4ビットの値によりクラスとサブネットマスクが決まります。

※ 初期のIPは,クラスにより分割されていた

IPアドレスのクラスに関する説明画像
IPアドレスの範囲ネットワークの数使用可能なホストの数
クラスA0.0.0.0 ~ 127.255.255.25527=128224-2=16,777,214
クラスB128.0.0.0 ~ 191.255.255.255214=16,384216-2=65,534
クラスC192.0.0.0 ~ 223.255.255.255221=2,097,15228-2=254

サブネットワーク

 サブネットワークは,IPアドレスを有効活用するために生まれた概念です。ホストアドレスの一部をネットワークアドレスに割り当てることで,サブネットワークに分割することができます(サブネットマスクの長さを拡張することで設定できます)。

※ IPv4のIPアドレス(約43億個)が足りないという枯渇問題が背景にある

※ クラスAやクラスBの場合,使用できるネットワークアドレス数は少なく,ホストアドレス数は多い(多すぎる)。そのため,未使用のIPアドレスが多数発生する

サブネットワークの説明画像

CIDR(Classless Inter-Domain Routing)

 CIDRは,連続する複数のクラスCのネットワークを1つのネットワーク(スーバーネットワーク)に集約するというものです。

CIDRの説明画像

 また,CIDRを適用すると,ルーティングテーブルの情報量を少なくすることができ,経路選択にかかる時間や,経路情報を共有するためにかかる時間を短縮することができます。

※ ルーティングの詳細は後述

CIDRでルーティングテーブルを集約できることに関する説明画像

ARP(Address Resolution Protocol)

 ARPとは,IPアドレスを基に,NIC(ネットワークインタフェースカード)に割り当てられたMACアドレスを調べるためのプロトコルです。

 イーサネットで通信する際には, IPアドレスを使用して通信相手を指定しますが,物理的に隣接ノード(中継ノードや通信相手となるノード)にデータを送る際には,MACアドレスを使用します。このとき,隣接ノードのMACアドレスは分かりませんのでARPにより調べ,ARPテーブルに設定する必要があります。

 詳細は,「LAN(ネットワークインタフェース層)-ARP(Address Resolution Protocol) -情報処理シンプルまとめ」を参照してください。

LAN(ネットワークインタフェース層) -情報処理シンプルまとめ
基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,LANについてシンプルにまとめています。はじめに,TCP/IPのネットワークインタフェース層の説明と,イーサネット(Ethernet)の説明と,通信の流れについて説明しています。通信の流れについては,①同じネットワークに存在する端末への通信の流れと,②異なるネットワークに存在する端末への通信の流れを説明しています。次に,伝送媒体について,有線LANで使用する伝送媒体(同軸ケーブル,ツイストペアケーブル(より対線),光ファイバケーブル,ケーブルの規格)と,無線LANで使用する伝送媒体(電波,赤外線,無線LANの規格,無線LANで使用する周波数帯)を,集線装置について,集線装置の種類(ゲートウェイ,レイヤ3スイッチ,ルーター,スイッチングハブ(レイヤ2スイッチ),ブリッジ,ハブ,リピータ)とネットワークトポロジー(バス型,スター型,リング型)を説明しています。また,MACアドレス(表記,ブロードキャストアドレス),通信の仕組み(CSMA/CD方式,CSMA/CA方式,トークンパッシング方式),ARP,RARPについても説明しています。基本的な内容ではありますが,しっかり頑張りましょう。

NAT(Network Address Translation;ネットワークアドレス変換)

 NATは,内部ネットワークの端末からインターネットに接続する際に,プライベートIPアドレスをグローバルIPアドレスに1対1で変換する技術をいいます。ほとんどのルーターに,このNAT機能が備わっています。

NATの説明画像

 この場合,内部ネットワークからインターネットへ接続する際に,送信元IPアドレスが変換されます(SNAT)。

※ SNAT(Source NAT)…送信元IPアドレスを変換する方式。あて先IPアドレスを変換する方式はDNAT(Destination NAT)という

natの具体例に関する説明画像

NAPT(Network Address Port Translation)

 NAPTは,内部ネットワークの端末からインターネットに接続する際に,プライベートIPアドレスとポート番号を,1つのグローバルIPアドレスと端末ごとに異なるポート番号を使用して変換することにより,複数の端末を同時にインターネットに接続する技術をいいます。

※ NAPTはIPマスカレードともいう

NAPTの説明画像

 NATやNAPT(SNAT,DNAT)の具体的な流れについては、「インターネットへの接続と通信の流れ-インターネットへの接続 -情報処理シンプルまとめ」を参照してください。

インターネットへの接続と通信の流れ -情報処理シンプルまとめ
基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,インターネットへの接続と通信の流れについてシンプルにまとめています。まず,コンピューターネットワークの種類について説明し,その後,端末をインターネットに接続する方法と通信の流れについて,具体例を載せて全体像を把握できるように説明しています。コンピューターネットワークの種類については,LAN,WAN,インターネットと,インターネットの構成(ISP(インターネットサービスプロバイダ―),IX,IDX,ピアリング),インターネットに接続しないネットワーク(イントラネット,エクストラネット)を説明しています。端末をインターネットに接続する具体例については,インターネットへの接続と設定(ISPとの契約,端末の設置と接続,IPアドレスの設定(グローバルIPアドレスの設定,プライベートIPアドレスの設定,デフォルトゲートウェイの設定)),通信に必要な情報(ルーターで管理する情報(フィルタリングテーブル,NATテーブル,ARPテーブル,MACアドレステーブル),スイッチで管理する情報(MACアドレステーブル),DMZに設置したWebサーバーや端末(PC)などで管理する情報(ARPテーブル),無線LAN端末で管理する情報(BSSIDやESSIDの設定,ARPテーブル)の説明をしたあと,①内部ネットワークに1台の端末を設置してインターネット上のWebサーバーに対して通信する場合の流れ,②内部ネットワークに有線・無線の複数の端末を設置してインターネット上のWebサーバーに対して通信する場合の流れ,③内部ネットワークの端末同士で通信する場合の流れ,④DMZにWebサーバーを設置して内部ネットワークの端末や外部から通信する場合の流れについて説明しています。ややこしいと思いますが,この分野は,全体像が掴みにくいのではないかと思いますので,ここで把握してから個々の内容に進むのがよいと思います。じっくり頑張りましょう。

ルーティング

 ルーティングとは,ルーターによる経路選択のことをいいます。

 ルーティングテーブルとは,経路情報を集めたもので,ルーターがデータ(パケット)の転送先を決めるために参照します。

スタティックルーティング

 スタティックルーティングとは,管理者が手動で経路情報を設定するものです。経路情報は自動で更新されることはないため,ルーター同士で経路情報を交換するトラフィックは発生しませんが,大規模なネットワークでは管理が手間でコストもかかります。

※ スタティックルーティングは,小規模なネットワークで使われることが多い

ダイナミックルーティング

 ダイナミックルーティングとは,自動で経路情報を設定するものです。隣接するルーター同士が定期的に経路情報を交換し,ルーティングテーブルの経路情報を更新します。そのため,ネットワーク構成の変化に柔軟に対応できますし,ネットワークに障害が発生した場合でも,自動的に代替経路に切り替えることができます。しかし,経路情報を交換するトラフィックが発生しますので,ネットワークに負荷がかかります。

※ ダイナミックルーティングは,大規模なネットワークや,不通が許されない場合に使われることが多い

ルーティングプロトコル

 ルーティングプロトコルには,次のようなものがあります。

RIPディスタンスベクタ型。メトリックとして,中継するルーターの数を表すホップ数が用いられる

※ ディスタンスベクタ型とは,距離を基準にして経路情報を決定するアルゴリズムで,隣接するルーターと経路情報を交換し,新しい経路や短い経路が見つかった場合に経路情報を更新する

※ メトリックとは,経路を決定するための情報のことで,あて先ネットワークまでの距離や時間のことをいう

※ ホップとは,中継するルーターのことをいい,ホップ数とは中継するルーターの数のことをいう

RIP(Routing Information Protocol)

 RIPとは,ディスタンスベクタ型のルーティングプロトコルで,メトリックとして,中継するルーターの数を表すホップ数が用いられます。

※ ディスタンスベクタ型とは,距離を基準にして経路情報を決定するアルゴリズムで,隣接するルーターと経路情報を交換し,新しい経路や短い経路が見つかった場合に経路情報を更新する

※ メトリックとは,経路を決定するための情報のことで,あて先ネットワークまでの距離や時間のことをいう

※ ホップとは,中継するルーターのことをいい,ホップ数とは中継するルーターの数のことをいう

RIPの説明画像

 このように,各ルーターのルーティングテーブルには,あて先ネットワークと,ネクストホップ(データ(パケット)を中継するルーター),メトリック(中継するルーターの数)が設定されます。また,新しいネットワークが追加された場合は,次のように動作します。

RIPで新しいネットワークが追加された場合の動作に関する説明画像

IPv6

 IPv6は,(これまでに説明した)IPv4の問題点を解決するために導入されました。

IPv4の問題点

IPアドレスの枯渇CIDRやプライベートIPアドレスなど,IPアドレスを効果的に利用する手段が用いられたが,IPv4のグローバルIPアドレスは,2011年春に事実上枯渇した
経路情報の増大ルーティングテーブルの情報量が増大し,ルーティングに時間がかかる
セキュリティの問題IPv4は,セキュリティを考慮した設計になっていない
設定作業が手間新しくサーバーを設置する場合,DHCPを使用した場合でも,DHCPサーバーに設定をしなければならないため,手間である

アドレス長の拡張と表記

 IPv6では,アドレス長が32ビットから128ビットに拡張され,事実上,無制限に割り振ることができるようになりました(クラスは廃止されました)。

IPv6のアドレスの表記に関する説明画像

ネットワークプレフィックスとインタフェースID

 IPv6のIPアドレスは,ネットワークプレフィックス(上位64ビット)とインタフェースID(下位64ビット)から構成されています。ネットワークプレフィックスはネットワーク自体を示すアドレスで,IPv4のネットワークアドレスに相当します。インタフェースIDはネットワーク内の個々のホスト(ルーターやサーバー,PCなど)に割り当てられるアドレスで,IPv4のホストアドレスに相当します。

※ IPv6のIPアドレスにはプライベートIPアドレスというものはない。ルーターのWAN(インターネット)側も,LAN側もグローバルIPアドレスを使用する⇒NATやNAPTは必要ない

※ セキュリティについては,LANにもグローバルIPアドレスを使用することから,WAN(インターネット)側からの脅威に晒されるとイメージするかもしれないが,WAN(インターネット)側からのパケットをフィルタリングすることにより,IPv4(プライベートIPアドレスを使用した場合)と同等のセキュリティを確保することができる

ネットワークプレフィックスとインタフェースIDの説明画像

通信の効率化

 IPv6ヘッダを簡素化(IPv4ヘッダ内の必要性の低いフィールドを削除し,拡張ヘッダに移行)したため,データ(パケット)を効率よく処理できるようになり,ルーターの負荷が減りました。

セキュリティ機能

 IPv6では,IPsecの実装が必須になりました。サーバー認証やデータ認証,データの暗号化により,第三者による盗聴や改ざん,なりすましが不可能になりました。

※ IPsecについては,「」を参照

アドレスの自動設定機能

 新しくサーバーを設置した場合,ネットワークプレフィックスはプロバイダーから割り振られ,インタフェースIDは自身のMACアドレスを使用したり,ランダムな値を割り当てるなどして,自動で設定されます(DHCPサーバーは必要ありません)。

※ 手動で設定することもできる

リンクローカルアドレス

 IPv6の場合,上述したIPアドレスのほかに,リンクローカルアドレスも割り当てられます。リンクローカルアドレスは,(ルーターの内側の)ネットワークに接続されている機器を識別したり,(DHCPサーバーがなくても)IPアドレスを自動で設定するために使用され,IPv6ではインタフェースが有効な場合,常に割り当てられます。

※ IPv6の場合,1つのインタフェースに,少なくとも2つ以上のアドレスが割り当てられる(リンクローカルアドレスだけしか割り当てられていない場合は,インターネットにはアクセスできない)

リンクローカルアドレスの説明画像

IPv4からIPv6への移行

 IPv4とIPv6は,同じネットワークで利用することができますが,IPv4はIPv4同士,IPv6はIPv6同士でしか通信できません(IPv4とIPv6では通信できません)。

デュアルスタック

 デュアルスタックとは,IPv4とIPv6の両方に対応したシステムのことをいいます。

デュアルスタックの説明画像

トンネリング

 トンネリングでは,IPv6のパケットをIPv4パケットでカプセル化し,IPv4ネットワークを経由して送受信します。

トンネリングに関する説明画像

ICMP(Internet Control Message Protocol)

 ICMPとは,パケットの転送エラーが発生した場合に,そのエラーを通知するためのプロトコルです。あて先ホストが存在するかどうかの診断にも用いられます。

※ IPは,コネクションレス型のプロトコルで,受信側がパケットを正常に受け取っているかどうかは確認しない。そのため,ICMPが転送エラーを検出し送信元にエラーを通知する

ping

 pingは,あて先ホストが存在するかどうかを確認するコマンドです。ICMPエコー要求とICMPエコー応答の通知機能を使用して疎通確認をしたい端末に向けてパケットを送信し,正しく返信するかを確認します。

pingの説明画像

まとめ

 今回は,IPについて,シンプルにまとめてみました。特に大切な内容だと思いますので,繰り返し,じっくり読み,確実に理解できるように努めましょう。