TCP・UDP・ICMP【情報処理安全確保支援士講座】

2022年5月26日

情報処理安全確保支援士 TCP・UDP・ICMP

本記事のまとめ!

  1. TCPの概要
  2. UDPの概要
  3. ICMPの概要

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

アカリ
アカリ
ネットワークの勉強してるとTCPとかUDPとか出てくるけど、どんなのかな?
トモル
トモル
確かトランスポート層のプロトコルだよね?

TCP・UDP・ICMP

情報処理安全確保支援士 TCP・UDP・ICMP

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

TCPとは

TCP(Transmission Control Protocol)のヘッダ構成は以下の通りです。

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

TCPヘッダの構成
  • 送信元ポート番号
  • 宛先ポート番号
  • シーケンス番号
  • 確認応答番号
  • コードビット
  • ウインドウサイズ
  • チェックサム

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

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

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

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

3ウェイハンドシェイク

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

3ウェイハンドシェイクの流れ
  1. SYN:接続元が送信
  2. SYN/ACK:接続先が返信
  3. ACK:接続元が送信

ついでに、TCP上でやり取りされる各パケットの意味も押さえておきましょう。

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

UDPとは

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

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

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

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

UDPはリアルタイム性が求められるオンラインゲームや、ストリーミングサービス(音声・ビデオ)などで利用されています。

ICMPとは

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

ICMPのヘッダ構成を確認しましょう。

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

ICMPは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 アドレスマスクの応答
スポンサーリンク

TCP・UDP・ICMPの例題

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

問1

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

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

問1の正解を表示

問1の解説を表示

3ウェイハンドシェイクはTCPコネクションを確立する手順のことです。

まずは接続元からSYNパケットを送ります。次に到達した接続先がSYN/ACKパケットを返し、接続元がACKパケットを送信することでコネクションが確立します。

したがって「ア」が正解です。

問2

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

ア:ICMP
イ:PPP
ウ:TCP
エ:UDP

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

問2の正解を表示

問2の解説を表示

IPの上位層に位置するプロトコルはトランスポート層になります。その中でコネクションレスのプロトコルを確認しましょう。

ア:ICMP
→ICMPはコネクションレスプロトコルですが、IPと同じネットワーク層です。したがって誤りです。

イ:PPP
→PPP(Point-to-Point Protocol)は、電話回線を通じてコンピュータをネットワークに接続するためのプロトコルで、IPより下位層のデータリンク層です。したがって誤りです。

ウ:TCP
→TCPはIPの上位層のトランスポート層ですが、コネクションレスではなく3ウェイハンドシェイクを実施しています。したがって誤りです。

エ:UDP
→UDPはIPの上位層でありコネクションレス型です。したがって正解です。

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

問3

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

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

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

問3の正解を表示

問3の解説を表示

ICMPの構成は以下の通りでした。

IPヘッダ タイプ(8) コード(8) チェックサム(16) ICMPデータ

ア:IPヘッダのプロトコル番号
→IPヘッダのプロトコル番号は、IPヘッダの次のプロトコルが何であるかを示す8ビットのフィールドとなります。参考までに、ICMPは1の値が定められています。したがって正解です。

イ:MACヘッダのイーサタイプ値
→MACヘッダのイーサタイプ値は、イーサネットの上位層のプロトコルが何かを示す16ビットで構成されたフィールドです。したがって誤りです。

ウ:TCPヘッダのコントロールフラグ
→TCPヘッダのコントロールフラグは、各パケット(SYN・ACK・FINなど)の制御フラグを指定します。したがって誤りです。

エ:UDPヘッダの宛先ポート番号
→UDPヘッダの宛先ポート番号は、データの送信先となるアプリケーションを識別するためのフィールドです。したがって誤りです。

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

TCP・UDP・ICMPのまとめ

本記事のまとめ!

  1. TCPの概要
  2. UDPの概要
  3. ICMPの概要

今回はTCP・UDP・ICMPについて学習しました。

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

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

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


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

スポンサーリンク