### ###### 一歩ずつ。
TCP プロトコルについて簡単に紹介しましょう。 TCP (伝送制御プロトコル) は、コネクション指向で信頼性の高い、バイト ストリーム ベースのトランスポート層プロトコルです。複雑ではありますが、プログラマーと運用保守担当者の両方が知っておく必要がある基本的なスキルです。
内容: ポート番号 [16 ビット]、シーケンス番号 [32 ビット]、オフセット [4 ビット]、予約済み [6 ビット]、フラグ [6 ビット]、ウィンドウ サイズ (ウィンドウ) [16 ビット]、チェックサム [16 ビット]、緊急ポインタ [16 ビット]、TCP オプション
- TCP 接続では、同じ接続を表すために 4 つのタプル (src_ip、src_port、dst_ip、dst_port) が必要です。正確には、これは 5 つのタプルで、1 つはプロトコルです。ただし、ここでは TCP プロトコルについてのみ説明しているため、ここでは 4 倍についてのみ説明します。
- シーケンス番号
- はパケットのシーケンス番号です。
はネットワークパケットの並べ替えの問題を解決するために使用されます。
確認応答番号 - はACKです - 受信を確認するために使用され、
はパケットを失わないという問題を解決するために使用されます。
Window は Advertized-Window - とも呼ばれ、有名なスライディング ウィンドウ (Sliding Window) でもあります。
はフロー制御を解決するために使用されます 。
TCP フラグ - (パケットのタイプ)
は、主に TCP ステート マシン を制御するために使用されます。 URG: 緊急ポインタは有効です
ACK: 確認シーケンス番号は有効です PSH: 受信機はこのセグメントをできるだけ早くアプリケーション層に渡す必要があります RST : 接続の再構築 SYN: 接続の開始に使用される同期シーケンス番号 FIN: 発信者が送信タスクを完了 (アクティブに終了) スリーウェイ ハンドシェイクが確立されました Link
1. 要求側 (クライアント) は、クライアントが接続するサーバーのポートを示すために SYN=1 を送信します。TCP SYN=1 の場合はデータを伝送できないと規定されていますが、シーケンス番号が消費されるため、初期シーケンス番号 seq を seq=x として乱数として宣言します。
なぜ 3 ウェイ ハンドシェイクなのかを詳しく見てみましょう。
クライアントによって送信された最初の接続要求メッセージ セグメントは失われませんでしたが、特定のネットワーク ノードに長時間留まったため、接続が解放されてからサーバーに到達するまでに一定の時間が遅延しました。これは、かなり前に期限が切れたメッセージ セグメントであることが判明しました。ただし、サーバーはこの無効な接続要求セグメントを受信すると、それがクライアントによって再度送信された新しい接続要求であると誤って認識します。したがって、確認メッセージ セグメントをクライアントに送信し、接続の確立に同意します。 「スリーウェイ ハンドシェイク」が使用されていないと仮定すると、サーバーが確認を送信する限り、新しい接続が確立されます。クライアントは接続を確立するリクエストを発行していないため、サーバーの確認には注意を払わず、サーバーにデータを送信しません。しかし、サーバーは新しいトランスポート接続が確立され、クライアントがデータを送信するのを待っていると考えます。このようにして、サーバーの多くのリソースが無駄になります。 「スリーウェイハンドシェイク」方式を採用することで、上記の現象を防ぐことができます。たとえば、先ほどの状況では、クライアントはサーバーの確認に確認を送信しません。サーバーは確認を受信できないため、クライアントが接続の確立を要求しなかったことを認識します。 "
これは非常に明白で、サーバーが待機してリソースを浪費することがなくなります。
では、なぜ 4 つの波があるのでしょうか?
TCP プロトコルは、A 接続型で、信頼性が高く、バイト ストリーム ベースのトランスポート層通信プロトコルです。TCP は全二重モードです。つまり、ホスト 1 が FIN セグメントを送信するとき、それはホスト 1 に送信するデータがないことだけを意味します。1 はホスト 2 に、そのすべてのデータが送信されたことを伝えます。送信されました。ただし、ホスト 1 はこの時点でもホスト 2 からのデータを受け入れることができます。ホスト 2 が ACK メッセージ セグメントを返した場合、ホスト 1 には送信するデータがないことがすでにわかっていることを意味します。ただし、ホスト 2 は引き続きホストにデータを送信できます。 1; ホスト 2 も FIN セグメントを送信すると、ホスト 2 には送信するデータがないことを意味し、送信するデータがないことをホスト 1 に伝え、お互いが喜んで TCP 接続を終了します。 4 つの別れの原理を正しく理解するには、4 つの別れの間の状態の変化を理解する必要があります。
以上がリンクを確立するための TCP 3 方向ハンドシェイクとリンクを切断するための 4 方向ウェーブの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
