[情報処理安全確保支援士]ネットワークプロトコル(TCP・UDP・ICMP)[対策講座・例題付き]

2022年5月26日

セキュリティ

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

アカリ
アカリ
インターネットの勉強してるとTCPとかUDPとか出てくるけど、どんなのかな?
トモル
トモル
SYNとかACKとか出てくる奴だっけ?

ネットワークプロトコル(TCP・UDP・ICMP)

今回はインターネットのプロトコルのなかでも、特に有名なTCP・UDP・ICMPについて学んでいきましょう。

TCPとは

TCP(Transmission Control Protocol)は、通信の開始時に3ウェイハンドシェイクと呼ばれる方式が用いられます。

3ウェイハンドシェイク

3ウェイハンドシェイクでは、以下のように3回に分けてパケットを送りコネクションを確立する方式です。

  1. SYN:接続元が送信
  2. SYN/ACK:接続先が返信
  3. ACK:接続元が送信

ついでに、各パケットの意味も押さえておきましょう。

パケット >意味
ACK
(acknowledgement)
確認応答番号が有効であることを表すパケット。接続開始時に送られるSYNパケット以外のTCPパケットでは常にON(1)である
FIN
(finish)
TCPの接続開始要求を表すパケット。通信の終了時には接続元と接続先の両方からFINパケットが送られる。
PSH
(push)
受信したデータをすぐに上位のアプリケーションに引き渡す必要があることを示すパケット
RST
(reset)
TCP接続の強制終了や接続拒否を表すパケット
SYN
(synchronize)
TCPの接続開始要求であることを表すパケット
URG
(urgent)
緊急で処理すべきデータが含まれていることを表すパケット

TCPにおいては、受信側から確認応答を待たずに複数のブロックをまとめて送信し、確認応答があった分だけウインドウをずらす方式によってパケットお転送時間を短縮しています。

キュー
キュー
一度にまとめて送信できるデータをデータウインドウサイズって言うで

ウインドウサイズは可変であり、確認応答がない場合は再送処理でデータ回復を行います。

TCPの構成

TCPのヘッダ構成も押さえておきましょう。

TCPヘッダには、送信元ポート番号あて先ポート番号シーケンス番号確認応答番号コードビットウインドウサイズチェックサムなどが含まれています。

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
送信元ポート番号(16) あて先ポート番号(16)
シーケンス番号(32)
確認応答番号(32)
データオフセット(4) 予約(6) コードビット(6) ウインドウサイズ(16)
チェックサム(16) 緊急ポインタ(16)
オプション(可変長) パディング(可変長)

UDPとは

UDP(User Datagram Protocol)は、コネクションレス型のためTCPのような通信確立の手続きや応答確認がありません。

直接データグラムが創出されるため、TCPよりも信頼性は落ちてIPアドレスの偽装なども簡単になります。

キュー
キュー
その分実装が楽で早いんやけどな

UDPの構成

UDPのヘッダには送信ポート番号・あて先ポート番号・パケット長・チェックサムくらいしか含まれません。

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
送信元ポート番号(16) あて先ポート番号(16)
パケット長(16) チェックサム(16)

ICMPとは

ICMP(Internet Control Message Protocol)は、IP通信において発生したエラー情報や制御情報を通知するためのプロトコルです。

TCPやUDPと異なり、IPと同じネットワーク層に位置付けられています。

ICMPのタイプとコードの組み合わせで内容が決まるので、一通り確認しておきましょう。

タイプ コード 内容
0 0 エコー応答
3 0 ネットワーク到達不能
1 ホスト到達不能
2 プロトコル到達不能
3 ポート通達不能
4 フラグメント化が必須。DFビットが設定済み
4 0 発信規制(エラーメッセージ)
5 0 ネットワークに関してのルート変更
1 ホストに関してのルート変更
2 特定のToS(Type Of Sercive)を要求するネットワークに関してのルート変更
3 特定のToSを要求するホストに関してのルート変更
8 0 エコー要求
9 0 ルータ通知
10 0 ルータ選択
11 0 時間経過
12 0 パラメタ異常
13 0 タイムスタンプ要求
14 0 タイムスタンプ応答
15 0 情報要求
16 0 情報応答
17 0 アドレスマスクの要求
18 0 アドレスマスクの応答

ICMPの構成

ICMPの構成は、IPヘッダ・タイプ・コード・チェックサム・ICMPデータからなります。

IPヘッダ タイプ(8) コード(8) チェックサム(16) ICMPデータ
トモル
トモル
ICMPも構造が簡単だから、コネクションレスなんだね~
スポンサーリンク

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

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

問題

問1

TCPのコネクション確立方式である3ウェイハンドシェイクを表す図はどれか。(H.28/秋)

問2

IPの上位階層のプロトコルとして,コネクションレスのデータグラム通信を実現し,信頼性のための確認応答や順序制御などの機能をもたないプロトコルはどれか。(H.26/秋)

ア ICMP
イ PPP
ウ TCP
エ UDP

問3

IPv4において,IPパケットで送られているデータが,ICMPメッセージであることを識別できるヘッダ情報はどれか。(H.30/春)

ア IPヘッダのプロトコル番号
イ MACヘッダのイーサタイプ値
ウ TCPヘッダのコントロールフラグ
エ UDPヘッダの宛先ポート番号

解説(クリックで展開)

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

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

いずれのプロトコルも有名で頻出なので、必ず押さえておきましょう。

トモル
トモル
初めて聞いたから覚えておこ~
キュー
キュー
基本情報とかの下位試験でも当たり前の内容として習ってるはずやで!

次回は電子メールの仕組みについて学習します。

スポンサーリンク