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

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


TCP/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のヘッダには、以下が含まれます。
- バージョン
- ヘッダ長
- サービスタイプ
- パケット長
- 識別子
- フラグ
- フラグメントオフセット
- パケット生存時間(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では、付加的な情報を格納するためのオプションフィールドが存在するため、ヘッダが可変長となり、IPパケットを負担するルータに負荷がかかるといった問題もあります。
IPv6について
次にIPv6についても確認しておきましょう。
IPv6の概要
IPv4のIPアドレスの枯渇問題に加えて、インターネットの普及によって、機密性の高い通信や動画、音声の配信も行われるようになりました。
結果として、より安全で快適な通信を実現するためのプロトコルが必要となってきました。
その背景もあり、IPv6が誕生しました。

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


とくに重要な用語は押さえておきましょう。
| 用語 | 意味 |
| フローラベル | 通信経路の品質確保、経路の優先選択のために使用するラベルで、次にくるヘッダタイプや上位層プロトコルを指定する。 |
| ペイロード | パケットのデータ部分で、ヘッダ・トレーラ・認証データなどの付加情報を除いた部分。 |
| ホップリミット | パケットの転送回数の上限を示す値。 |
IPv6では、必須な情報のみを基本ヘッダに配置し、それ以外の情報は拡張して配置しています。
結果的にIPパケットを中継するルーターなどの処理を軽減し、拡張ヘッダのサイズに制限を設ける必要がなくなりました。
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億人いる事を考えると、一人一台スマホを持つだけでも足りません。



一方で、IPv6のアドレス空間は128ビットなので、領域は2の128乗(42億×42億×42億×42億)なので、枯渇することはまずありえません。
負荷軽減
IPv6は、パケットヘッダの構造が簡素化されており、経路情報も集約されているため、ルータの負荷が軽減されます。
結果として、通信速度の高速化など、パフォーマンスの改善が見込めます。
セキュリティ向上
IPv6では、IPsecと呼ばれるパケット暗号化機能が標準装備されています。
パケットの暗号化により、情報漏洩を防げセキュリティの向上が図れます。
IPアドレスの自動構成
IPv6では、IPアドレスの自動構成機能によって、ユーザがIPアドレスについて手動設定をせずにホストをネットワークに参加させることができます。
この機能によって、DHCPを用いる必要がなくなります。

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


TCP/IPの例題
実際に例題を解いて問題に慣れていきましょう。
問1
ア:OSI基本参照モデルのネットワーク層の機能である。
イ:ウインドウ制御の単位は,バイトではなくビットである。
ウ:確認応答がない場合は再送処理によってデータ回復を行う。
エ:データの順序番号をもたないので,データは受信した順番のままで処理する。
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問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 |
ア
イ
ウ
エ
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問3
IPv6グローバルユニキャストアドレスはどれか。(H.25春/問18)
ア:”::1″
イ:”2001:dc3::35″
ウ:”fd00::12:fff:fea9:18″
エ:”fe80::f:acff:fea9:18″
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
TCP/IPのまとめ
今回はTCP/IPについて学習しました。
IPv4とIPv6の違いについては必ず押さえておきましょう。


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








ディスカッション
コメント一覧
まだ、コメントがありません