TCP/IP【情報処理安全確保支援士講座】

2022年5月19日

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

本記事のまとめ!

  1. TCP/IPの概要
  2. TCP/IPとOSI参照モデルの関係
  3. IPについて

今回は情報処理安全確保支援士の試験で問われるネットワークプロトコルのうち、TCP/IPについて解説します。

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

TCP/IP

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

セキュリティを学ぶにあたって、TCP/IPを含むネットワークの仕組みも学びましょう。

TCP/IPとは

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

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

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

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

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

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

情報処理安全確保支援士 OSI参照モデルとTCP/IP

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

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

IPとは

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

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

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

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

IPv4の概要

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

情報処理安全確保支援士 IPv4ヘッダ

IPv4のヘッダには、以下が含まれます。

IPv4ヘッダの構成要素
  • バージョン
  • ヘッダ長
  • サービスタイプ
  • パケット長
  • 識別子
  • フラグ
  • フラグメントオフセット
  • パケット生存時間(TTL)
  • プロトコル番号
  • チェックサム
  • 発信元IPアドレス
  • 宛先IPアドレス
  • オプション
  • パディング

また、プロトコル番号は上位層のプロトコルを識別するための番号です。IANA(Internet Assigned Numbers Authority)によって管理されており、重要な内容は試験でも問われるので覚えておきましょう。

プロトコル番号 略称 正式名称
1 ICMP Internet Control Message
2 IGMP Internet Group Management
4 IPv4 IP in IP(encapsulation)
6 TCP Transmission Control
17 UDP User Datagram
41 IPv6 IPv6 encapsulation
43 IPv6-Route Routing Header for IPv6
44 IPv6-Frag Fragment Header for IPv6
47 GRE Generic Routing Encapsulation
50 ESP Encap Security Payload
51 AH Authentication Header
58 IPv6-ICMP ICMP for IPv6
89 OSPFIGP OSPFIGP
112 VRRP Virtual Router Redundancy Protocol
115 L2TP Layer Two Tunneling Protocol
トモル
トモル
プロトコルの種類って多いんだね~

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

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

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

アドレス アドレスの種類 概要
127.0.0.0/8 ループバックアドレス そのコンピュータ自身を示すIPアドレス
※通常は”127.0.0.1″が使用される。
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は、近年のインターネット利用者増加により、IPアドレスの枯渇問題が話題です。

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

IPv6について

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

IPv6の概要

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

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

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

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

IPv6のヘッダ構成も確認してみましょう。

情報処理安全確保支援士 IPv6ヘッダ

トモル
トモル
あまり聞いたことのない用語も多いや・・・

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

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

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のメリットも押さえておきましょう。

アドレス空間の拡大

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アドレスを変換するプロトコルだったはずだよ!
スポンサーリンク

TCP/IPの例題

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

問1

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

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

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

問1の正解を表示

問1の解説を表示

ア:OSI基本参照モデルのネットワーク層の機能である。
→TCPはOSI参照モデルのトランスポート層の機能です。したがって誤りです。

イ:ウインドウ制御の単位は,バイトではなくビットである。
→ウインドウ制御の単位はバイトです。したがって誤りです。

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

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

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

問2

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

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春/問18)

ア:”::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のまとめ

本記事のまとめ!

  1. TCP/IPの概要
  2. TCP/IPとOSI参照モデルの関係
  3. IPについて

今回はTCP/IPについて学習しました。

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

トモル
トモル
単純に領域が広いだけじゃないんだね~
キュー
キュー
セキュリティとネットワークは密接にかかわるから、TCP/IPの内容も当然問われるで!

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


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

スポンサーリンク