TCPプロトコルTCPプロトコル

TCPプロトコル

ON。投稿2019年5月17日夜06時49分  タコ夫の 読み(17)コメント(0)編集コレクション   

TCPプロトコルフルネーム: 伝送制御プロトコル(伝送制御プロトコル)、名前が示唆するように、データの伝送の制御のある程度です。

TCPヘッダー:

  

16ビットソースポート番号/宛先ポート番号:: 16は、プロセスに、プロセスがどこへ行くか、そこからデータを表しています。

16ビット数:このセグメント内の最初のデータバイトのシーケンス番号を示します

16ビットの確認応答番号:有効ACKフラグが1の場合のみ。確認応答番号が受信された所望のバイト数を示します

4ヘッダ長:: TCPヘッダは4バイト(32ビット)の数を示します

図6は、その名の通り、::リザーブ最初念のために、保存します

シックスフラッグス:

URG:緊急ポインタが有効な識別であるACK:識別番号、有効な確認PSHを:直ちに離れるデータバッファからのプロンプト受信端への適用は、TCP読み取るRST :.我々は、接続のパケット識別子を再確立するために必要で含有リセットRSTと呼ばセグメントSYN:識別情報を含む接続我々 SYNパケットを確立するための要求は、同期セグメントと呼ばれる。FIN:終了の通知、端部は端部セグメントと呼ばれる識別子を含む我々 FINパケット脱落されます。 
 
 
 
 

16ビットウィンドウサイズは:ウィンドウのバイトの容量を表し、ウィンドウが2 ^ 16--1 = 65535バイトの標準TCPの最大値であります

16ビットのチェックサム::送信者によって満たされ、CRC検査の形、等検証が端末によって受信されない場合、データが問題であると考えられる。チェックサムは、本明細書TCPヘッダだけでなくを含む、TCPは、データ部分を含みます。

16 ::緊急ポインタは、緊急データであり、データのどの部分を識別するために使用されます。

TCP 3ウェイハンドシェイク:

  

  1. クライアントは、サーバにSYN(SEQ = X)パケットを送信SYN_SEND状態に入ります。
  2. SYNパケットを受信したサーバは、SYN(SEQ = Y)ACK(ACK = X + 1)パケットに対する応答は、SYN_RECV状態に入ります。
  3. クライアントがサーバーのSYNパケット、応答ACK(ACK = Y + 1)パケットを受信し、設立された状態に入ります。

TCP 4ウェイハンドシェイク:

  

  (1)近くにアプリケーション・プロセスの最初の呼び出し、実装「アクティブオフ」(アクティブクローズ)の端部が前記しました。エンドTCPは、データ送信が完了すると示す、FIN部分断面を送信します。
  (2)これを行うにはFIN「パッシブシャットダウン」(受動近い)ピア受信し、FINはTCPによって確認しました。
  注:受信がFINのアプリケーションの受信側を意味するため、ファイル(エンドオブファイル)の受信端は、受信するために他のデータアプリケーションプロセスに並んで待つ必要後、アプリケーション・プロセスの受信側に送られるようにFINを兼ね追加のプロセスデータは、もはや相手コネクタで受信することはできません。
  (3)ファイル、アプリケーション・プロセスのこの端部を受ける期間は、ソケットを閉じるために、そのコールを終了します。そのTCPにつながっまた、これはFINを送信します。
  (4)がFINを確認するために、この最終オリジナルFIN送信側TCP(アクティブ近くの、すなわち、その端部)を受信します。
 
TCPステートマシン:
  

CLOSED状態に(1)初期状態。

(2)LISTEN:パッシブオープンに、サーバーの状態の変更は、(聞く)LISTEN。パッシブオープンの概念:一端接続されたアプリケーションは、オペレーティングシステムに通知着信接続を確立したいです。この時間は、オペレーティングシステムは、接続のエンドへの接続を確立します。対応する接続​​がアクティブです:接続を確立するために、オペレーティング・システムに指示するためのイニシアチブにより、アプリケーションのオープン要求。

(3)SYNRECVD:サーバはSYN、SYN状態を受信し、送信SYN ACK。

(4)SYN_SENTY:アプリケーションはSYN、SYN_SENT状態を送信します。

(5)が成立:ACKの受信後SYNRECVD、状態がESTABLISHED、SYN ACKを受信SYN_SENTは、ACK確立状態を送信します。

(6)CLOSE_WAIT:ACK、CLOSE_WAIT状態を送信する、FINを受信した後、サーバ、データ送信が完了するまで、サーバは、この時点で送信されるデータは、伝送は、その後、存在する場合、この時点で、サーバは、FIN、状態変数を送信しますLAST_ACKとして;

(7)FIN_WAIT_1; ESTABLISHEDから状態 - > FIN_WAIT_1アプリケーションは、TCP接続を切断する準備ができて、FINを送信します。

(8)FIN_WAIT_2:エンドアプリケーションサーバのみACK信号を受信した、FIN信号が受信されない、データ伝送サーバーが記載されており、その後の時間半接続。

(9)TIME_WAIT:この状態を入力するには、2つの方法があります:1、にFIN_WAIT_1:アプリケーション・ポートは、サーバポートに送信(FIN_WAIT_2のみACKを受信したとして、データは、説明を送信してきたのではなく)FIN + ACKを受信しますACK; 2、FIN_WAIT_2へ:アプリケーションのポートはFINを受信し、サーバーにACKを送信し、TIME_WAITがACKパケットの再送信のための信頼性の高い全二重TCP接続は、失われる可能性があります達成するために閉鎖され、連続が必要です2 MSL(最大パケット寿命):2 MSLの時間内に、TIME_WAITを入力した後、アプリケーション・ポートを想定し、FINを受けていない、ACKが受信した最後の問題のアプリケーションを示す図である。そうでなければ、二つのMSLに固有であろうこれは、ACKパケットを受信します。

フロー制御:

輻輳制御: 

  

  スロースタートアルゴリズムは思考です:接続はネットワークパケットの数が多いために確立された後に元のTCPは、これは簡単に輻輳を発生し、排出されるネットワークルータのバッファスペースにつながることができます送信されます。したがって、新たに確立された接続は、データパケットを大量に送信を開始することができず、徐々にしかデータの量を増加させるこれらの現象の発生を回避するために、ネットワークの状態に応じて、各時間を送りました。新しい接続、CWndの最大セグメント(MSS)のサイズに初期化するときにセグメントが確認されたときに具体的に、送信側は、輻輳ウィンドウサイズに応じてデータの送信を開始し、CWndのは、1 MSSまで増加しましたサイズ。このように、徐々に輻輳ウィンドウCWNDを増加させます。

  輻輳回避アルゴリズムのアイデア:ある輻輳ウィンドウ、ゆっくりと成長を、聞かせて、RTTはなく倍増の、輻輳ウィンドウcwndの送信者を加えたものを入れて往復時間を介して各。このような輻輳ウィンドウ直線法律遅い成長。

  長い肯定応答パケットが他の理由で失われないことができるが、それらは判断できないので、ように混雑している確認応答に基づいてネットワークの輻輳を(受信されていないかを決定するために、送信者と同じスロースタートフェーズ中か輻輳回避フェーズ、対処するために)、スロースタート閾値は、時に輻輳送信ウィンドウの半分のサイズに表示されるように設定されて置きます。そして、輻輳ウィンドウは1、スロースタートアルゴリズムの実行に設定されています。目的は、混雑のルータが処理されたパケットキューのバックログに十分な時間を持っているので、こと、迅速にネットワーク内のホストに送信されたパケットの数を減らすことです。

TCPプロトコルフルネーム: 伝送制御プロトコル(伝送制御プロトコル)、名前が示唆するように、データの伝送の制御のある程度です。

TCPヘッダー:

  

16ビットソースポート番号/宛先ポート番号:: 16は、プロセスに、プロセスがどこへ行くか、そこからデータを表しています。

16ビット数:このセグメント内の最初のデータバイトのシーケンス番号を示します

16ビットの確認応答番号:有効ACKフラグが1の場合のみ。確認応答番号が受信された所望のバイト数を示します

4ヘッダ長:: TCPヘッダは4バイト(32ビット)の数を示します

図6は、その名の通り、::リザーブ最初念のために、保存します

シックスフラッグス:

URG:緊急ポインタが有効な識別であるACK:識別番号、有効な確認PSHを:直ちに離れるデータバッファからのプロンプト受信端への適用は、TCP読み取るRST :.我々は、接続のパケット識別子を再確立するために必要で含有リセットRSTと呼ばセグメントSYN:識別情報を含む接続我々 SYNパケットを確立するための要求は、同期セグメントと呼ばれる。FIN:終了の通知、端部は端部セグメントと呼ばれる識別子を含む我々 FINパケット脱落されます。 
 
 
 
 

16ビットウィンドウサイズは:ウィンドウのバイトの容量を表し、ウィンドウが2 ^ 16--1 = 65535バイトの標準TCPの最大値であります

16ビットのチェックサム::送信者によって満たされ、CRC検査の形、等検証が端末によって受信されない場合、データが問題であると考えられる。チェックサムは、本明細書TCPヘッダだけでなくを含む、TCPは、データ部分を含みます。

16 ::緊急ポインタは、緊急データであり、データのどの部分を識別するために使用されます。

TCP 3ウェイハンドシェイク:

  

  1. クライアントは、サーバにSYN(SEQ = X)パケットを送信SYN_SEND状態に入ります。
  2. SYNパケットを受信したサーバは、SYN(SEQ = Y)ACK(ACK = X + 1)パケットに対する応答は、SYN_RECV状態に入ります。
  3. クライアントがサーバーのSYNパケット、応答ACK(ACK = Y + 1)パケットを受信し、設立された状態に入ります。

TCP 4ウェイハンドシェイク:

  

  (1)近くにアプリケーション・プロセスの最初の呼び出し、実装「アクティブオフ」(アクティブクローズ)の端部が前記しました。エンドTCPは、データ送信が完了すると示す、FIN部分断面を送信します。
  (2)これを行うにはFIN「パッシブシャットダウン」(受動近い)ピア受信し、FINはTCPによって確認しました。
  注:受信がFINのアプリケーションの受信側を意味するため、ファイル(エンドオブファイル)の受信端は、受信するために他のデータアプリケーションプロセスに並んで待つ必要後、アプリケーション・プロセスの受信側に送られるようにFINを兼ね追加のプロセスデータは、もはや相手コネクタで受信することはできません。
  (3)ファイル、アプリケーション・プロセスのこの端部を受ける期間は、ソケットを閉じるために、そのコールを終了します。そのTCPにつながっまた、これはFINを送信します。
  (4)がFINを確認するために、この最終オリジナルFIN送信側TCP(アクティブ近くの、すなわち、その端部)を受信します。
 
TCPステートマシン:
  

CLOSED状態に(1)初期状態。

(2)LISTEN:パッシブオープンに、サーバーの状態の変更は、(聞く)LISTEN。パッシブオープンの概念:一端接続されたアプリケーションは、オペレーティングシステムに通知着信接続を確立したいです。この時間は、オペレーティングシステムは、接続のエンドへの接続を確立します。対応する接続​​がアクティブです:接続を確立するために、オペレーティング・システムに指示するためのイニシアチブにより、アプリケーションのオープン要求。

(3)SYNRECVD:サーバはSYN、SYN状態を受信し、送信SYN ACK。

(4)SYN_SENTY:アプリケーションはSYN、SYN_SENT状態を送信します。

(5)が成立:ACKの受信後SYNRECVD、状態がESTABLISHED、SYN ACKを受信SYN_SENTは、ACK確立状態を送信します。

(6)CLOSE_WAIT:ACK、CLOSE_WAIT状態を送信する、FINを受信した後、サーバ、データ送信が完了するまで、サーバは、この時点で送信されるデータは、伝送は、その後、存在する場合、この時点で、サーバは、FIN、状態変数を送信しますLAST_ACKとして;

(7)FIN_WAIT_1; ESTABLISHEDから状態 - > FIN_WAIT_1アプリケーションは、TCP接続を切断する準備ができて、FINを送信します。

(8)FIN_WAIT_2:エンドアプリケーションサーバのみACK信号を受信した、FIN信号が受信されない、データ伝送サーバーが記載されており、その後の時間半接続。

(9)TIME_WAIT:この状態を入力するには、2つの方法があります:1、にFIN_WAIT_1:アプリケーション・ポートは、サーバポートに送信(FIN_WAIT_2のみACKを受信したとして、データは、説明を送信してきたのではなく)FIN + ACKを受信しますACK; 2、FIN_WAIT_2へ:アプリケーションのポートはFINを受信し、サーバーにACKを送信し、TIME_WAITがACKパケットの再送信のための信頼性の高い全二重TCP接続は、失われる可能性があります達成するために閉鎖され、連続が必要です2 MSL(最大パケット寿命):2 MSLの時間内に、TIME_WAITを入力した後、アプリケーション・ポートを想定し、FINを受けていない、ACKが受信した最後の問題のアプリケーションを示す図である。そうでなければ、二つのMSLに固有であろうこれは、ACKパケットを受信します。

フロー制御:

輻輳制御: 

  

  スロースタートアルゴリズムは思考です:接続はネットワークパケットの数が多いために確立された後に元のTCPは、これは簡単に輻輳を発生し、排出されるネットワークルータのバッファスペースにつながることができます送信されます。したがって、新たに確立された接続は、データパケットを大量に送信を開始することができず、徐々にしかデータの量を増加させるこれらの現象の発生を回避するために、ネットワークの状態に応じて、各時間を送りました。新しい接続、CWndの最大セグメント(MSS)のサイズに初期化するときにセグメントが確認されたときに具体的に、送信側は、輻輳ウィンドウサイズに応じてデータの送信を開始し、CWndのは、1 MSSまで増加しましたサイズ。このように、徐々に輻輳ウィンドウCWNDを増加させます。

  輻輳回避アルゴリズムのアイデア:ある輻輳ウィンドウ、ゆっくりと成長を、聞かせて、RTTはなく倍増の、輻輳ウィンドウcwndの送信者を加えたものを入れて往復時間を介して各。このような輻輳ウィンドウ直線法律遅い成長。

  長い肯定応答パケットが他の理由で失われないことができるが、それらは判断できないので、ように混雑している確認応答に基づいてネットワークの輻輳を(受信されていないかを決定するために、送信者と同じスロースタートフェーズ中か輻輳回避フェーズ、対処するために)、スロースタート閾値は、時に輻輳送信ウィンドウの半分のサイズに表示されるように設定されて置きます。そして、輻輳ウィンドウは1、スロースタートアルゴリズムの実行に設定されています。目的は、混雑のルータが処理されたパケットキューのバックログに十分な時間を持っているので、こと、迅速にネットワーク内のホストに送信されたパケットの数を減らすことです。

おすすめ

転載: www.cnblogs.com/nothingness404/p/11923094.html