ネットワークプロトコル(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の概要
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では、必須な情報のみを基本ヘッダに配置し、それ以外の情報は拡張して配置しています。このことによって、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の構成
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のメリットも押さえておきましょう。
アドレス空間の拡大
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を使う必要がなくすべての機器にグローバルアドレスを設定できるからです。
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
ア OSI基本参照モデルのネットワーク層の機能である。
イ ウインドウ制御の単位は,バイトではなくビットである。
ウ 確認応答がない場合は再送処理によってデータ回復を行う。
エ データの順序番号をもたないので,データは受信した順番のままで処理する。
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問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 |
ア
イ
ウ
エ
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
問3
IPv6グローバルユニキャストアドレスはどれか。(H.25/春)
ア ::1
イ 2001:dc3::35
ウ fd00::12:fff:fea9:18
エ fe80::f:acff:fea9:18
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
ネットワークプロトコル(TCP/IP)・まとめ
今回はネットワークプロトコル(TCP/IP)について学習しました。
IPv4とIPv6の違いについては必ず押さえておきましょう。
次回はネットワークプロトコルのTCP・UDP・ICMPについて学習します。
福井県産。北海道に行ったり新潟に行ったりと、雪国を旅してます。
経理4年/インフラエンジニア7年(内4年は兼務)/ライター5年(副業)
簿記2級/FP2級/応用情報技術者/情報処理安全確保支援士/中小企業診断修得者 など
ディスカッション
コメント一覧
まだ、コメントがありません