詳細なTCPプロトコル

1.TCPプロトコルの概要。

TCPプロトコルは、接続指向で信頼性の高いネットワークトランスポートレイヤープロトコルです。どちらの当事者が相手にメッセージを送信しても、接続が確立された後、メッセージを送信する前に3方向のハンドシェイクが行われます。また、メッセージの送信者は、メッセージが最終的に正確に配信されたかどうかを確認できます。TCPは、バイトコードを介してデータを送信する信頼性の高いバイトストリームサービスを提供します。

2.TCPプロトコルのスリーウェイハンドシェイク。

クライアントとサーバーを介して一般的な方法でスリーウェイハンドシェイクを理解できます。クライアントはサーバーにメッセージを送信する必要があります。最初に、クライアントとサーバーがスリーウェイハンドシェイクを実行します。スリーウェイハンドシェイクは、サーバーとクライアントの両方が自分自身を認識していることを確認する必要があります。相手との読み取りおよび書き込み機能は正常であり、これに基づいてデータ送信を行うことができます。

1.クライアントはSYNをサーバーに送信します(クライアントはサーバーに「メッセージを送信します」と通知します)。このとき、サーバーがこのメッセージを受信すると、クライアントの書き込みが完了したことを意味します。

2.サーバーはSYN + ACKをクライアントに送信します(サーバーはクライアントに次のように通知します:「メッセージを受信しました。書き込み機能は正常です。メッセージを送信しました。書き込み機能が正常かどうかを確認してください」 )、この時点でクライアントがメッセージを受信した場合、それはクライアントの書き込みおよび読み取り機能が正常であり、サーバーの書き込み機能が正常であることを意味しますが、サーバーの読み取り機能は検証されていません。

3.クライアントはサーバーにACKを送信し(クライアントはサーバーに「書き込み機能は正常です」と通知します)、サーバーはこの時点でサーバーの読み取り機能も正常であることを示すメッセージを受信します。このとき、それがクライアントであるかどうかサーバーの読み取りおよび書き込み機能は引き続き正常であり、サーバーはこの時点で接続を確立することに同意し、両方の当事者がリソースを開いてメッセージを送信できます。

 

3つのハンドシェイク

3.TCPプロトコルの4つの波。

TCPプロトコルの4つの波は、実際には両方の当事者によるリソースの解放であり、リソースの解放は両方の当事者によって合意される必要があり、一方の当事者のみがリソースの解放に同意することは無効です。

1.クライアントはFINをサーバーに送信し、サーバーに「私はあなたと別れたい」と伝えます。

2.サーバーはFIN + ACKをクライアントに送信し、クライアントに「OK、わかりました」と伝えます。

3.サーバーは、送信するデータが実際にはないことを検出し、FINをクライアントに送信して、クライアントに「私もあなたと別れたい」と伝えます。

4.信頼できる送信に基づいて、クライアントはサーバーにACKを送信することを要求し、サーバーに「両方の当事者が解散することを決定しました」と伝えます。

 

4回振る

第四に、UDPプロトコルの特徴。

UDPプロトコルは接続がなく、IPとポート番号がわかっている限り、メッセージを送信でき、接続を確立するためにハンドシェイクを渡す必要はありません。さらに、UDPプロトコルには確認メカニズムがなく、クライアントはサーバーから送信されたメッセージが正常に送信されたかどうかを知りません。ただし、UDPは送信メッセージでメッセージ全体を送信し、分割もマージも行いません。UDPプロトコルは送信が簡単で効率的ですが、比較するとあまり信頼性がありません。

5.TCPプロトコルとUDPプロトコルの違い。

1. TCPは接続に基づいており、UDPには接続がありません。

2. TCPはより多くのシステムリソースを必要としますが、UDPはより少ないリソースを必要とします。

3. TCPプロトコルはストリーミングプロトコルであり、UDPはデータグラムモードです。

4. TCPは信頼性が高く、データ送信を保証し、UDPはパケットを失う可能性があります。

5. TCPプロトコルはデータの順序を保証しますが、UDPはデータの順序を保証しません。

 

 

 

おすすめ

転載: blog.csdn.net/wzs535131/article/details/108373497