類似の攻撃法だが、システムのリソース管理によって効果を和らげることができる[23]。存在する脆弱性を利用した改良型DoS攻撃の分析を行っている[24]。コネクション乗っ取り[編集]詳細は「TCPシーケンス番号予測攻撃」を参照TCPセッションを盗聴できパケットをリダイレクトできる攻撃者は、TCPコネクションを乗っ取ることができる。その場合、攻撃者は進行中の通信からシーケンス番号を読み取り、ストリームにおける次のセグメントを装った偽のセグメントを作る。そのような簡単な乗っ取りで、通信中の一方に1つのパケットを誤って受け取らせることができる。受け取ったホストが余分なセグメントへの確認応答をコネクションのもう一方に返すと、同期が失われる。ARPまたはルーティング攻撃を組合わせることで、乗っ取ったTCPコネクションの制御を完全に奪うことができる[25]。登場する以前は異なるIPアドレスを真似ることは難しくなく、初期シーケンス番号は容易に推測可能だった。そのため攻撃者はARP/ルーティング攻撃を併用することなく、適当な一連のパケットを受信者に送信し、異なるIPアドレスからのものだと信じさせることができた。その際、偽装したIPアドレスの本来のホストがダウンしていれば十分であり、Dos攻撃でそのホストをダウンさせればよかった。以上のような理由から、初期シーケンス番号のランダムな選択が行われるようになった。(コンピュータネットワーク)」を参照TCPはポート番号をホスト上の送受信アプリケーションの識別に使う。対応付けられており、一部のポート番号は送受信アプリケーションによって予約されている。受信したTCPセグメントは、送信元IPアドレスと送信元ポートと宛先IPアドレスと送信先ポートの組み合わせによって特定のTCPコネクションに属すると識別される。異なる送信元ポートから同じ送信先ポートへのコネクションを複数同時に確立できるので、サーバは複数のクライアントに対して同時にサービスを提供できる。割り当てを行っており、主にシステムレベルや重要なプロセスで使われている。サーバとして動作する有名なアプリケーションは、それらのポートを使いコネクション確立要求を待ち受けているのが一般的である。レジスタードポート番号は一般にエンドユーザー用アプリケーションが送信元のエフェメラルポートとしてサーバに接続するのに使うが、サードパーティが登録した名前を持ったサービスの識別にも使われている。ダイナミック/プライベートポート番号もエンドユーザーのアプリケーションで使えるが、一般にそのような使い方は少ない。ダイナミック/プライベートポート番号は、それを使っている特定のTCPコネクションでしか意味を持たない。発展[編集]TCPは複雑なプロトコルである。バージョン4が登場して以来、基本的動作はほとんど変わっていない。輻輳を防ぐための新たなアルゴリズムを提示している。