スポンサーリンク

【応用情報技術者試験】SYNパケット

ネットワーク通信の基本|IP・TCP・UDP・ICMP ネットワーク

SYNパケットは、一般にTCPヘッダーのSYNフラグを立てたセグメントを指します。SYNは接続開始時のシーケンス番号の同期などに使い、通常の接続確立ではSYN → SYN/ACK → ACKと進みます。

3ウェイハンドシェイクの基本形

段階 方向 意味
1:SYN クライアント → サーバー 接続を開始し、初期シーケンス番号xを知らせる
2:SYN/ACK サーバー → クライアント 相手のSYNを確認し、自分の初期シーケンス番号yを知らせる
3:ACK クライアント → サーバー サーバー側のSYNを確認する

単純なデータなしの基本形では、2の確認応答番号はx+1、3はy+1になります。SYNはシーケンス番号を一つ消費するためです。実際の接続には再送や同時オープンなどのケースもあります。

SYNとACKは別のフラグ

SYNは同期、ACKは確認応答番号が有効であることを示します。SYN/ACKもSYNフラグが立ったセグメントなので、「SYNはクライアントからの最初の一通だけ」と限定すると不正確です。ACKは接続確立後のデータ転送でも使います。

SYNを見ただけでは分からないこと

SYNの送信だけでは相手のポートが開いていると確定できません。SYN/ACK、RST、無応答など、返答と経路・制御条件を合わせて読み取ります。また、TCP接続が成立しても、アプリケーションや認証が成功するとは限りません。

SYNフラッドとの関係

未完了の接続に必要な状態や処理資源を大量に消費させ、サービスの可用性を損なう攻撃です。送信元の偽装を伴う例もありますが、常に偽装が必須というわけではありません。実装に応じたSYN cookies、待ち状態の管理、流量制御や上流の対策などを組み合わせます。

正規のSYNはTCP接続に必要なので、SYNを一律に遮断すれば通常の通信も成立しません。試験では攻撃に使われる機能と、本来の役割を分けて覚えます。

確認問題:SYN/ACKにはSYNフラグも立っている?

はい。SYNとACKの両方が立っています。SYNは初期番号の同期、ACKは相手側のSYNへの確認に関係します。

次の学習:TCP/IP全体とつなげる

SYNを理解したら、note教材で3ウェイハンドシェイクからシーケンス番号・再送・ウィンドウ制御へ進みましょう。接続開始とデータ転送中の制御をつなげて確認できます。

TCP/IPのnote教材でTCP・UDP・ポート番号を復習する

関連記事

note教材ナビで学習テーマを選ぶ

参考資料

RFC 9293:TCPの接続確立

コメント