ネットワークプロトコル(TCP/IP)[情報処理安全確保支援士講座]

2022年5月19日

情報処理安全確保支援士 TCP/IP

今回は情報処理安全確保支援士におけるネットワークプロトコル(TCP/IP)について解説します。

トモル
トモル
IPとか、IPアドレスってよく聞くけど仕組みがよくわかんないや・・・
アカリ
アカリ
インターネット上の住所ってよく聞くけど、イマイチよくわからないよね

ネットワークプロトコル(TCP/IP)

セキュリティを学ぶにあたって、ネットワークの仕組みを押さえておく必要があります。

TCP/IPとは

TCP/IP(Transmission Control Protocol/Internet Protocol)は、インターネットをはじめとして、組織内のネットワークなどで標準的に使われている通信プロトコル(通信規約)です。

通信プロトコルは、物理的に接続する接続方式や、通信を行う危機感の論理的な接続確立方式、アプリケーション間の対話方式、表現方式など、規約として定める必要がある事項を複数の階層に分けて規定しています。

階層に分けることで、各層を構成するプログラムや機能を明確化し、環境や用途に合わせて使い分けることが可能となります。

また、各層を構成するプログラムや機能は、層間での通信データ授受方式に従って動作すれば良くて、他の層の仕組みや機能などを知る必要がありません。

アカリ
アカリ
階層化することで各層が自分の仕事だけに集中すれば良くなるんだね!

この階層のことをOSI参照モデルと呼び、TCP/IPとの関係は以下の通りです。

この図のように、最上位のアプリケーション層から何らかのデータを送信するときには、下位の層にデータを渡すごとに各層で必要な情報を付与したヘッダを付加していきます。

通信データを受信した機器の各層を負担するプログラムや機能は、それらのヘッダ情報を参照することで適切な送信先を選んだり、上位層のプログラムへ引き渡したりします。

IPとは

IP(Internet Protocol)は、TCP/IPを構成するための代表的なプロトコルであり、OSI参照モデルのネットワーク層に位置しています。

IPは、ネットワークに接続された機器をIPアドレスによって一位に識別し、パケットの経路制御を行うことができます。

IPの働きによって、目的とする通信相手の元にパケットが届きます。

以前はIPv4と呼ばれるバージョンが普及していましたが、枯渇問題もあり、今後は桁数の多いIPv6が普及していくと予想されます。

IPv4について

まずはIPv4から見ていきましょう。

IPv4の概要

IPv4では、ネットワークに接続されている個々の保栖をと32ビットのIPアドレスによって識別しています。

理論上は最大で2の32乗(4,294,967,296)台のホストを用意できますが、IPアドレスのクラス分けや配布の問題から、実際に自重できるアドレスはもっと少ないです。

例えば、次に示すアドレスは特別な用途に利用するものとして定義されているため、グローバルアドレスに利用することはできません。

アドレス アドレスの種類 概要
127.0.0.0/8 ループバックアドレス そのコンピュータ自身を示すIPアドレス
10.0.0.0/8
172.16.0.0/12
192.168.0.0./16
プライベートアドレス 会社や家庭などの組織内で一意に割り当てられるIPアドレス
169.254.0.0./16 リンクローカルアドレス DHCPサーバが存在しないネットワーク内で用いられる特別なIPアドレス
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24
テストネットワーク用アドレス テストや実験用として利用されるアドレス
224.0.0.0/4 マルチキャストアドレス 企業が組織間やインターネットで使用するためのアドレス
0.0.0.0/8 Thisネットワークアドレス 「この」ネットワークを表すアドレス
IPv4の構成

IPv4のヘッダには、バージョン・ヘッダ長・サービスタイプ・識別子・パケット生存時間(TTL)・プロトコル番号・チェックサム・発信元IPアドレス・あて先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
バージョン(4) ヘッダ長(4) サービスタイプ(8) 全長(16)
識別子(16) フラグ(3) フラグメントオフセット(13)
パケット生存時間(TTL)(8) プロトコル番号(8) チェックサム(16)
発信元IPアドレス(32)
あて先IPアドレス(32)
オプション(可変長)
オプション(可変長) パディング(可変長)
IPv4の問題点

IPv4は、近年のインターネット利用者増加により、IPアドレスの枯渇問題が話題です。

また、IPv4では、付加的な情報を格納するためのオプションフィールドが存在するため、ヘッダが可変長となり、IPパケットを負担するルータに負荷がかかるといった問題もあります。

IPv6について

次にIPv6についても確認しておきましょう。

IPv6の概要

IPv4のIPアドレスの枯渇問題に加えて、インターネットの普及によって、機密性の高い通信や動画。音声の配信も行われるようになりました。

結果として、より安全で快適な通信を実現するためのプロトコルが必要となってきました。

その背景もあり、IPv6が誕生しました。

キュー
キュー
IPv6の研究自体は、1990年代初めくらいから始まっていたで

IPv6では、必須な情報のみを基本ヘッダに配置し、それ以外の情報は拡張して配置しています。このことによって、IPパケットを中継するルーターなどの処理を軽減し。拡張ヘッダのサイズに制限を設ける必要がなくなりました。

IPv6の目的としては、以下のようなものが挙げられます。

IPv6の目的
  • アドレス空間の拡大
  • IPv4と同性能の実現
  • IPv4との互換性
  • 容易な設定・管理・運用の実現
  • IP層でのセキュリティ機能の実装
  • 端末やネットワークのモビリティ

IPv6においては、128ビットのアドレスを16ビットごとに「:」で区切って、8つのブロックに分け、16進数で表記します。

各ブロックの先頭の0は省略可能で、ブロック内がすべて0の場合は一つの0に省略できます。

また、すべてのブロックが0で連続している場合には、「::」と省略することができます。

IPv6で用いる主なアドレスもあわせて確認しておきましょう。

アドレス表記 プレフィックス アドレスの種類 概要
::1/128 00・・・(128ビット) ループバックアドレス そのコンピュータ自身を示すIPアドレス
ff00::/8 1111 1111 マルチキャストアドレス ホストの集合体を表すアドレス
fe80::/10 1111 1110 10 リンクローカルユニキャストアドレス 同一リンク上でのみ有効なユニキャストアドレス
fc00::/7 1111 110 ユニークローカルユニキャストアドレス プライベートアドレス同様、会社や家庭などの組織内で一意に割り当てられるIPアドレス
2000::/3 001 グローバルユニキャストアドレス IPv6ネットワーク全体で有効なユニキャストアドレス
2001::/16 0010 0000 0000 0001 IPv6 インターネットアドレス グローバルユニキャストアドレス内で、IANAが割り当てて、インターネットで利用されるアドレス
IPv6の構成

IPv6の構成についても確認していきましょう。

ヘッダ部分は主にバージョン・優先度・フローラベル・ペイロード・次ヘッダ・ホップリミット・発信元IPアドレス・宛先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
バージョン(4) 優先度(8) フローラベル(20)
ペイロード(16) 次ヘッダ(8) ホップリミット(8)
発信元IPアドレス(128)
あて先IPアドレス(128)
トモル
トモル
あまり聞いたことのない用語も多いや・・・

とくに重要な用語も押さえておきましょう。

IPv6の重要な用語
  • フローラベル通信経路の品質確保、経路の優先選択のために使用するラベルで、次にくるヘッダタイプや上位層プロトコルを指定する。 
  • ペイロード:パケットのデータ部分で、ヘッダ・トレーラ・認証データなどの付加情報を除いた部分。
  • ホップリミット:パケットの転送回数の上限を示す値。
IPv6のメリット

IPv6のメリットも押さえておきましょう。

アドレス空間の拡大

IPv4のアドレス空間では、32ビットでアドレスを表しており、その領域は2の32乗(42億ほど)でした。

これだけでも十分な数値と言えますが地球上に人類が70億人いる事を考えると、一人一台スマホを持つだけでも足りません。

チョロ
チョロ
42億
ぷりん
ぷりん
42億
キュー
キュー
With・・・

一方で、IPv6のアドレス空間は128ビットなので、領域は2の128乗(42億×42億×42億×42億)なので、枯渇することはまずありえません。

負荷軽減

IPv6は、パケットヘッダの構造が簡素化されており、経路情報も集約されているため、ルータの負荷が軽減されます。

結果として、通信速度の高速化など、パフォーマンスの改善が見込めます。

セキュリティ向上

IPv6では、IPsecと呼ばれるパケット暗号化機能が標準装備されています。

パケットの暗号化により、情報漏洩を防げセキュリティの向上が図れます。

IPアドレスの自動構成

IPv6では、IPアドレスの自動構成機能によって、ユーザがIPアドレスについて手動設定をせずにホストをネットワークに参加させることができます。

この機能によって、DHCPを用いる必要がなくなります。

キュー
キュー
DHCPはDynamic Host Configuration Protocolの頭文字でIPアドレスとかの情報をホストに自動的に割り当てるプロトコルやで!
NAT問題の解消

IPv6では、NATを用いる必要もありません。

理由として、IPv6では膨大なアドレス空間を利用できるため、NATを使う必要がなくすべての機器にグローバルアドレスを設定できるからです。

トモル
トモル
そもそもNATって何だっけ~?
アカリ
アカリ
NAT確かルータやファイアウォールでプライベートIPアドレスとグローバルIPアドレスを変換するプロトコルだったはずだよ!

IP関係のプロトコル

プロトコル番号は、上位層のプロトコルを識別するための番号です。

IANA(Internet Assigned Numbers Authority)が管理しており、主なプロトコル番号は以下の通りです。

この辺りは試験でも頻出なので押さえておきましょう。

番号 プロトコル名称 プロトコル概要
1 ICMP
(Internet Control Message protocol)
TCP/IPでネットワークの疎通がされているノード(サーバー、ネットワーク機器、PCなど)間で、通信状態の確認をするために使われるプロトコル
2 IGMP
(Internet Group Management Protocol)
IPネットワーク上でマルチキャストを行うために、マルチキャストに参加するホストのグループを設定し、ネットワークに通知するための通信プロトコル
4 IPv4
(Internet Protocol version 4)
説明の通り
6 TCP
(Transmission Control Protocol)
送信元のコンピュータ上のプログラムから別のコンピュータ上の別のプログラムへと信頼できる順序通りのオクテット列の転送を行うプロトコル
17 UDP
(User Datagram)
インターネット・プロトコル(IP)を使ったネットワークにおいて、 アプリケーション同士が最小限の仕組みでデータを送受信できるように考案された、 シンプルなプロトコル
41 IPv6
(Internet Protocol version 6)
説明の通り
43 IPv6-Route 受信したIPv6パケットを適切な経路に転送するプロトコル
44 IPv6-Frag IPv6にフラグメント化(断片化)されたデータが含まれることを示すプロトコル
47 GRE
(Generic Routing Encapsulation)
IPネットワークで使用することができるトンネリングプロトコル
50 ESP
(Encapsulated Security Payload)
IPsecによる暗号化通信で送受信される、ペイロード(通信内容)を暗号化して付加情報を付け足したプロトコル
51 AH
(Authentication Header)
完全性の保証や認証機能を持ったプロトコル
58 ICMPv6
(Internet Control Message Protocol for IPv6)
IPv6で使用されるICMPプロトコル
89 OSPF
(OSPFIGP)
リンク状態方式のルーティングを行なうプロトコル
112 VRRP
(Virtual Router Redundancy Protocol)
デフォルトゲートウェイなどを冗長化するための RFC3768で標準化されたプロトコル
115 L2TP
(Layer 2 Tunneling Protocol)
コンピュータネットワークにおいて Virtual Private Network をサポートするために用いられるトンネリングプロトコル
トモル
トモル
プロトコルの種類って多いんだね~
キュー
キュー
とりあえず赤字のプロトコルは覚えとこ!
スポンサーリンク

ネットワークプロトコル(TCP/IP)・例題

実際に例題を解いて問題に慣れていきましょう。

問1

TCPに関する記述のうち,適切なものはどれか。(H.28/秋)

ア OSI基本参照モデルのネットワーク層の機能である。
イ ウインドウ制御の単位は,バイトではなくビットである。
ウ 確認応答がない場合は再送処理によってデータ回復を行う。
エ データの順序番号をもたないので,データは受信した順番のままで処理する。

(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問1の正解を表示

問1の解説を表示

ア OSI基本参照モデルのネットワーク層の機能である。

→TCPはOSI参照モデルのトランスポート層の機能です。したがって誤りです。

イ ウインドウ制御の単位は,バイトではなくビットである。

→ウインドウ制御の単位はバイトです。したがって誤りです。

ウ 確認応答がない場合は再送処理によってデータ回復を行う。

→再送タイムアウト時間を過ぎて確認応答を受信しなかった場合、送信側はパケットのロスと判断して同じデータを再送します。したがって正しいです。

エ データの順序番号をもたないので,データは受信した順番のままで処理する。

→TCPヘッダにはデータの順序を管理するためのシーケンス番号のフィールドを持ちます。したがって誤りです。

問2

2台のPCをIPv6ネットワークに接続するとき、2台ともプレフィックスが2001:db8:100:1000::/56のIPv6サブネットに入るようになるIPアドレスの組合せはどれか。(H.24/秋)

1台目のPC 2台目のPC
2001:db8:100::aa:bb 2001:db8:100::cc:dd
2001:db8:100:1000::aa:bb 2001:db8:100:2000::cc:dd
2001:db8:100:1010::aa:bb 2001:db8:100:1020::cc:dd
2001:db8:100:1100::aa:bb 2001:db8:100:1200::cc:dd




(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問2の正解を表示

問2の解説を表示

IPv6は、16ビットごとに「:」で区切り16進数で表します。

さらには、「:」で区切られたフィールドがすべて0であるケースが2回以上続く場合、「::」で表せたり、「:」内のフィールドで先頭から0が続く場合はその部分を省略して記載できます。

したがって、2001:db8:100:1000::/56を全表記のIPv6アドレスに変換すると、以下のようになります。

2001:0db8:0100:1000:0000:0000:0000:0000

32桁で128ビットのため、1桁あたり4ビットであることを考慮すると、最初の14桁がネットワークアドレスであると分かります。

2001:0db8:0100:1000:0000:0000:0000:0000

ここまで一致しているのはウになります。

これより、ウが正解です。

問3

IPv6グローバルユニキャストアドレスはどれか。(H.25/春)

ア ::1
イ 2001:dc3::35
ウ fd00::12:fff:fea9:18
エ fe80::f:acff:fea9:18

(ログイン後回答すると、ここに前回の正誤情報が表示されます)

問3の正解を表示

問3の解説を表示

IPv6の代表的なアドレス型をおさらいしておきましょう。

アドレス表記 プレフィックス アドレスの種類 概要
::1/128 00・・・(128ビット) ループバックアドレス そのコンピュータ自身を示すIPアドレス
ff00::/8 1111 1111 マルチキャストアドレス ホストの集合体を表すアドレス
fe80::/10 1111 1110 10 リンクローカルユニキャストアドレス 同一リンク上でのみ有効なユニキャストアドレス
fc00::/7 1111 110 ユニークローカルユニキャストアドレス プライベートアドレス同様、会社や家庭などの組織内で一意に割り当てられるIPアドレス
2000::/3 001 グローバルユニキャストアドレス IPv6ネットワーク全体で有効なユニキャストアドレス
2001::/16 0010 0000 0000 0001 IPv6 インターネットアドレス グローバルユニキャストアドレス内で、IANAが割り当てて、インターネットで利用されるアドレス

ア ::1

→::1は、そのコンピュータ自身を示すループバックアドレスです。したがって誤りです。

イ 2001:dc3::35

→先頭ビットが001で開始しているので、グローバルユニキャストアドレスです。したがって正解です。

ウ fd00::12:fff:fea9:18

→”fd”から始まるのでユニークローカルユニキャストアドレスです。したがって誤りです。

エ fe80::f:acff:fea9:18

→”fe8″から始まるのでリンクローカルユニキャストアドレスです。したがって誤りです。

これより、イが正解です。

ネットワークプロトコル(TCP/IP)・まとめ

今回はネットワークプロトコル(TCP/IP)について学習しました。

IPv4とIPv6の違いについては必ず押さえておきましょう。

トモル
トモル
単純に領域が広いだけじゃないんだね~
キュー
キュー
支援士の試験やから、当然セキュリティ絡みの内容も問われるで!

次回はネットワークプロトコルのTCP・UDP・ICMPについて学習します。


本気で支援士を狙うなら・・・
支援士ゼミがおすすめです!
  • ベテラン講師による手厚いサポート
  • モチベーションを保てるセキュリティコラムが満載!
  • マンツーマン形式で個別相談もできる!

スポンサーリンク