(MPTCP)[26][27]はIETFで近年進行中の改良で、リソース利用効率と冗長性を高めるためにTCPコネクションを複数経路にする試みである。よる冗長性は、無線ネットワークでリソースの統計多重化を可能にし、TCPのスループットを劇的に高める[28]。データセンター環境にも性能面の利点をもたらす[29]。リファレンス実装[30]がLinuxカーネル向けに開発されている[31]。2009年12月に提案された拡張で、サーバをDoS攻撃から守ることを意図している。異なり、TCPCTはウィンドウスケーリングなどの他のTCP拡張と共存できる。TCPCTは、短命なTCPコネクションをサーバが多数処理しなければならないDNSSECでの必要から設計された。2010年7月に提案された拡張で、TCP自身で直接暗号化するものである。透過的に動作可能なように設計されており、設定変更は不要である。自体は認証機構を持たないが、そのための簡単なプリミティブをアプリケーションに提供する。よる最初のドラフトが公表されており、いくつかの主要プラットフォームでの実装が存在する。無線ネットワークでのTCP[編集]TCPは有線ネットワーク向けに最適化されてきた。一般にパケット喪失はネットワーク輻輳の結果と判断され、予防のために輻輳ウィンドウサイズが大幅に縮小される。無線の場合、減衰、影に入る、ハンドオーバーなどの無線特有の原因でパケットを喪失することがあり、輻輳が原因とは限らない。無線パケット喪失による(誤った)輻輳ウィンドウサイズ縮小後、輻輳回避のための保守的なウィンドウサイズの縮小も行われる可能性がある。これにより無線リンクの効率が低下する。このような問題への対策が広く研究されている。提案されている対策としては、エンドツーエンド型の対策(クライアントとサーバの修正が必要)[32]とリンク層の対策(RLPなど)とプロキシを使った対策(端点以外のネットワークの何らかの変更が必要)[32][33]がある。デバッグ[編集]LANアナライザはネットワークリンク上のTCPトラフィックをインターセプトできる機器で、リンク上を通るパケットの内容を表示でき、ネットワーク、プロトコルスタック、TCPを使っているアプリケーションのデバッグに有効である。オプションを指定でき、全パケット、TCPのステータス、ソケット上のイベントなどを出力でき、デバッグに有効である。他に、netstatもデバッグに使われる。代替となる選択肢[編集]TCPの多くの用途は適切とはいえない。(少なくとも通常の実装での)最大の問題は、喪失パケットの再送を受信してからでないと受信済みの後続のパケットをアプリケーションで利用できない点である。TCP/IPよりもファイバーチャネルプロトコルを採用することが多い。組み込みシステムでも、ネットワークブートや多数のクライアントからの簡単な要求を受け付けるサーバ(例えばDNSサーバ)でTCPの複雑さが問題となる可能性がある。技法では相対的に複雑なTCPを使わずに、遥かに単純な方法で実現している。UDPはTCPと同様にアプリケーション多重化と検査合計機構を提供するが、ストリームの構築や再送を行わず、アプリケーションにそういった機能の実装を任せている。SCTPは、TCPとよく似たストリーム指向のサービスを提供するプロトコルである。TCPより新しくさらに複雑であり、広く普及したとは言い難い。信頼性とリアルタイム性を同時に必要とする用途を意図して設計されている。TCPは広帯域環境でも問題を抱えている。ようなタイミングに基づくプロトコルの方がオーバーヘッドが小さく、うまく機能する。検査合計・フィールドは、ヘッダおよびテキストの全16ビットワードの1の補数の総和の1の補数の下位16ビットである。オクテット数が奇数の場合、最後のオクテットの右にゼロの列をパディングして16ビットワードにしてから検査合計を計算する。フィールド自体はゼロとして計算する。言い換えれば、正しくパディングした後、全16ビットワードを1の補数表現で加算していく。総和をビット毎に反転して検査合計・フィールドに挿入する。検査合計計算時には、IPv4パケットヘッダを真似た擬似ヘッダも含めて行うことになっている。擬似ヘッダを含めた検査合計計算範囲を以下に示す。緊急ポインタ256オプション(あれば)256/288+データ上のピンクの部分はIPv4ヘッダの一部である。パケット長はTCPヘッダとデータの合計の長さである。示すように変更されている。検査合計計算にIPヘッダのアドレスを含める上位層のプロトコルでは、IPv4の32ビットアドレスの代わりにIPv6の128ビットのアドレスを使うよう変更しなければならない。検査合計計算で使うIPv6ヘッダを真似た擬似ヘッダは次のようになる。ルーティングヘッダがある場合、TCPは最終のあて先アドレスを使用する。発信元ノードでは、そのアドレスはルーティングヘッダの最後の要素にあり、受信側ではIPv6ヘッダの着信アドレスフィールドにある。多くのTCP/IPスタック実装では、ネットワークカードによる自動検査合計計算を補助的に使うオプションを用意している。これによりCPUサイクルを検査合計計算に費やすコストを低減でき、ネットワーク性能を向上させることができる。送信時に検査合計計算をネットワークカードに任せていると、LANアナライザが検査合計エラーを検出することがある。2011年3月12日閲覧。2009年1月4日閲覧。2011年11月14日閲覧。2010年8月30日閲覧。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。