まず、3つの段階でのトランスポートの接続
-
TCPはコネクション指向のプロトコルであり、
-
トランスポート接続の3つの段階があります。
- 接続が確立されています
- データ転送
- 接続解除
-
次の3つの質問に対処するための接続確立プロセス
- 各当事者のために、互いの存在を確認することができます
- 双方が(例えば、最大パケット長、最大ウィンドウサイズ、等のような)多数のパラメータをネゴシエートできるようにするには
- トランスポートエンティティのリソースに割り当てることができます
-
クライアント - サーバモード
- クライアントサーバモードを使用してTCP接続を確立
- 開始の接続を確立するためのアプリケーション・プロセスが呼び出されます
客户(client)
- 接続を確立するためのアプリケーション・プロセスが呼び出されるために受動的に待っています
服务器
二、TCPコネクションの確立
- TCP接続が確立されると呼ばれるプロセス
握手
- ハンドシェイク交換は、クライアントとサーバの間の3つのTCPセグメントを必要とします。コール
三报文握手
(送信- >確認- >再確認)
第一步
:画像は要求のSYNフラグフィールドは、接続を確立するために、前記与えられた、この数のメッセージデータバイトがX(ある这个x是随便定的,在释放连接中这个seq序号是不能随便定的
)、実際のデータバイトには存在しない、唯一のヘッダ部分は、データ部分は空であります。第二步
:あなたが同意する場合B TCPセグメントに対する要求を受信した後、次いで、SYN = 1、= 1そうACK(すなわち、使用する肯定応答メッセージで、Bセグメントを確認応答を送り返す标志确认号有效
。番号= X + 1つのACKを(確認)、确认号是指期望收到的下一个字节序号,这里也说明了前面x个已经收到了
)このパケットシーケンス番号seq = Yを所有しています。データセクションは空のままです。第三步:
ACK = 1、確認応答番号のACKが= Y + 1(同様に、Yは、バイトが受信示すBであってもよい)パケット段落Bに送信パケットを受信します。连接建立成功:
TCP A通知上位アプリケーション・プロセスは、接続が確立されています。
TCPコネクションの解放
- リリースプロセスをより接続プロセスよりも複雑
- データ転送が完了した後、通信、両当事者は、接続(クライアントまたはサーバ)を放出することができます
- TCPは、コネクション解放過程であります
四报文握手
- B、およびBに転送されるデータが突然解散する準備ができて、上に行きたくありませんでした。
- B、アクティブ近いTCP(転送される前のデータ)へのデータの送信を停止
- Aは、データセグメント、要求パケット、FIN。1 =(Bに送信する
标志着这段报文是请求释放连接的报文
)、SEQ = U(这个u不是随便定的,因为前面A和B是在传输数据的,传输的数据字节的最后一个序号就是u
)は、Bは、肯定応答を待っています。 - Bは、Aに確認応答パケット、ACK = 1、SEQ = V送信し 、ACK = U + 1。ハイレベルのアプリケーション・プロセスに通知TCPサーバー・プロセス(
告诉它们A不会再发数据过来了
)。ケースが放出に対するB方向に接続され、TCP接続が半分閉じた状態です。B若发送数据,A仍要接收
。 - Bは、Aが切断要求を送信するだけのようにA、およびそのアプリケーションプロセスにデータを送信しない場合は、プロセスを繰り返します。
- ときにAまたはBの送信確認メッセージ確認断線することができない、すぐ近くの接続は、近くに2MSL時間を待たなければなりません。(MSL ----最大セグメント寿命最大パケット寿命)
1.他のセグメントに到達することに送られ、最終的な確認メッセージを確実にするために。
この接続時にネットワークから消え、すべてのセグメントを生成するために2(紛失や到着通過)。