読み方 : シンパケット
SYNパケット【synchronize packet】SYN packet/TCP SYN
SYNパケットとは?

TCP(Transmission Control Protocol)はIPネットワーク上で広く用いられるトランスポート層のプロトコルであり、データの欠落や重複を防ぐために厳格な接続管理を行う。データの送受信を始める前に通信相手との接続(コネクション)を確立する必要がある。
TCPの接続確立は「スリーウェイハンドシェイク」と呼ばれる三段階の手順で行われる。まずクライアントがサーバにSYNパケットを送る。サーバが接続を受け入れる場合は、SYNフラグとACKフラグの両方を1にセットした「SYN/ACKパケット」を返す。最後にクライアントがACKフラグを1にした「ACKパケット」を送り返すことで、双方の接続が確立される。
SYNパケットには、データの順序管理に使われる初期シーケンス番号が含まれるほか、ウィンドウサイズ拡張や選択的確認応答、タイムスタンプといったTCPオプションの交換にも使われる。通信相手はこれらの情報を基に、以降のデータ送受信における順序管理や再送制御を行う。また、ネットワーク機器や通信解析ソフトではSYNパケットの有無を調べることで、TCP接続の開始時刻や接続試行の状況を確認できる。
SYNパケットはサイバー攻撃に悪用される場合もあり、大量のSYNパケットを送りつけてサーバの接続待ちリソースを消費させる攻撃は「SYNフラッド攻撃」と呼ばれる。スリーウェイハンドシェイクが完了しない「半開き」状態の接続をサーバに大量に積み上げることで、正規の利用者からの接続要求が処理できなくなる。対策として、「SYN Cookie」などの手法が多くのサーバやネットワーク機器に実装されている。