TCP のバックアップ差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2021-09-30T21:45:02+09:00","default:k1rou","k1rou")
*TCP [#b5f1582b]
#author("2021-11-15T00:55:54+00:00","default:k1rou","k1rou")
*TCP とは [#z837be3c]
-Transmission Control Protocol

**TCP とは [#z837be3c]
-通信プロトコル
-トランスポート層([[OSI参照モデル]]、[[TCP/IPモデル]])
-コネクション型
--通信の信頼性が高い
--送信元[[IPアドレス]]の偽装が難しい(可能ではある)

**TCPの仕組み [#t30689b8]
***TCPコネクション [#ldc46dbb]
*TCPの仕組み [#t30689b8]
**TCPコネクション [#ldc46dbb]
-通信の開始時に通信路を確立し、終了時に通信路を解放する
-3つのフェーズで行われる
++コネクション確立フェーズ
++通信フェーズ
++コネクション切断フェーズ

-コネクション確立フェーズ
--[[3wayハンドシェイク]]
---1. →(SYN)
---2. ←(ACK + SYN)
---3. →(ACK)
--※SYN:コネクション確立要求
--※ACK:肯定応答
***コネクション確立フェーズ [#a38000d7]
-[[3wayハンドシェイク]]
--1. →(SYN)
--2. ←(ACK + SYN)
--3. →(ACK)
-※SYN:コネクション確立要求
-※ACK:肯定応答

-コネクション切断フェーズ
---1. →(FIN + ACK)
---2. ←(ACK)
---3. ←(FIN + ACK)
---4. →(ACK)
***コネクション切断フェーズ [#j7f991bf]
--1. →(FIN + ACK)
--2. ←(ACK)
--3. ←(FIN + ACK)
--4. →(ACK)

**TCP のヘッダ構成 [#j4aa20e5]
*TCP のヘッダ構成 [#j4aa20e5]
-1〜32bit
--送信元ポート番号(16)
--あて先ポート番号(16)

-33〜64bit
--シーケンス番号(32)

-65〜96bit
--確認応答番号(32)

-97〜128bit
--データオフセット(4)
--予約(6)
--コントロールフラグ(コードビット)(6)
--ウィンドウサイズ(16)

-129〜160bit
--チェックサム(16)
--緊急ポインタ(16)

-161〜192bit
--オプション(n)
--パディング(32-n)

*** コントロールフラグ(コードビット) [#qcb22efb]
** コントロールフラグ(コードビット) [#qcb22efb]
| ビット位置 | コードビット | 意味 |h
| 1 | URG | urgent |
| 2 | ACK | acknowledgement。SYNパケットの場合"0"、SYNパケット以外の場合"1" |
| 3 | PSH | push |
| 4 | RST | reset。TCP接続を強制終了する場合"1" |
| 5 | SYN | synchronize。SYNパケットの場合"1"、SYNパケット以外の場合"0" |
| 6 | FIN | finish。TCP接続を終了する場合"1" |

***SYNクッキー [#w9a3179d]
**SYNクッキー [#w9a3179d]
-TCP通信の正当性を確認するために、SYN + ACKパケットのシーケンス番号に埋め込むデータのこと
-TCPヘッダをハッシュ化した値などが使われる

**TCPの脆弱性 [#vcb4764a]
*TCPの脆弱性 [#vcb4764a]
-発信元IPアドレスの偽装が難しい

-発信元IPアドレスが偽装されていても、コネクションの確立が必要ない攻撃に対しては弱い
--[[SYNフラッド攻撃]]

-接続要求(SYN)に対する応答(SYN/ACK)を攻撃に悪用される
--反射・増幅型[[DDoS攻撃]]

-初期シーケンス番号を推測した[[セッション・ハイジャック]]

-TCP ACKスキャン
--「[[ポートスキャン]]」参照

**関連用語 [#qd1439c9]
*関連用語 [#qd1439c9]
-[[Keep-Alive]]
-[[TCP/IP]]
-[[TFO]](TCPファストオープン)
-[[SPDY]]
-[[DCTCP]](データセンターTCP)
-[[パケット]]
-ハーフオープン
-[[UDP]]