TCP、UDP、およびHTTPの関係

著作権:gitboy https://blog.csdn.net/weixin_40160543/article/details/89608040

TCP、UDP、およびHTTPの関係

ネットワーク層、トランスポート層及びアプリケーション層:1、TCP / IPプロトコルスイートは3層に分割することができるです。

ネットワーク層プロトコルIP、ICMPプロトコル、ARPプロトコル、RARPプロトコル、およびBOOTPプロトコルで。

TCPプロトコルおよびトランスポート層でのUDPプロトコル。

アプリケーション層のFTP、HTTP、TELNET、SMTP、DNSおよびその他のプロトコル。

したがって、HTTP自体は、ローカルブラウザにウェブサーバハイパーテキスト転送プロトコルから送信されるプロトコルです。

TCPは、テキストベースのネットワークプロトコルTCPプロトコルは、トランスポート層に属しています。

TCPとUDPはトランスポート層に属し、TCPとUDPは、重要な違いがあり、同じです。

図2に示すように、HTTPプロトコルは、要求/応答モデルに基づいています。まず、TCPコネクションにより、クライアントとサーバーを確立し、サーバに要求を送信し、リクエストはリクエストメソッド、URI、およびMIME形式のメッセージを関連するプロトコルのバージョンが含まれています。サーバは、メッセージのプロトコルバージョンを含むステータスライン、及び故障コードと関連するMIMEメッセージの成功パターンで応答します。

すべてのHTTPリクエスト/レスポンスの新しいTCP接続を確立するためのHTTP / 1.0、そのHTMLページのコンテンツや画像、あなたが含まれているTCPリンクの短期複数を確立する必要があります。TCP接続は、3ウェイハンドシェイクが必要になります確立されています。

また、適切な伝送速度を得るために、TCPは、余分な時間ループリンク(RTT)を費やす必要があります。すべてのリンクは、このような定期的な費用の必要性を確立し、それが実際の有用なデータではありませんが、リンクの信頼性を確保するため、持続可能なリンクを実現するためのHTTP / 1.1の方法しています。HTTP / 1.1は、唯一の繰り返し要求/応答メッセージのシリーズを送信するため、リンク確立の通常のリンクコストの数を減らし、それを使用するためにTCPリンクを確立します。

ここでは、3ウェイハンドシェイクについてのプロセスを繰り返す必要があります。

最初のハンドシェイク:接続が確立され、クライアントが送信シンへのパケット(SYN = j)をサーバ、及び入射SYN_SENTのサーバーが確認するのを待っている状態と、SYN:同期シーケンス番号(シーケンス番号の同期)。

第ハンドシェーク:サーバーが受信シン顧客のSYNを確認する必要があり、パケット(ACK = + J. 1)、それ自体がSYNパケットを送信しながら(SYN = K)、すなわち、SYN + ACKパケット、その後にサーバSYN_RECVの状態。 ACK:確認応答文字(謝辞)

第三のハンドシェーク:クライアントが受信するサービスのSYN + ACKパケットを、サーバが(ACK肯定応答パケットを送信するC K = K用+ 1)に、このパケットが送信され、クライアントとサーバーESTABLISHED(TCP接続が成功した)状態スリーウェイハンドシェイクを完了します。

3.結論:HTTPプロトコル自体はあるが、最終的にはTCPに基づいているが。しかし、現状では、HTTPプロトコルのTCP + UDPミックスに基づいて研究されました。

それは何ソケットですか?

ソケットアプリケーション層とインタフェースのセットである抽象化層を、通信する中間ソフトウェアTCP / IPプロトコルスイート。デザインモードでは、ソケットは、実際にファサードパターンであり、それはTCP / IPプロトコルスイートは、ユーザーのためのソケットインタフェースの背後に隠されているの複雑さで、シンプルなインタフェースがすべてセットで、ソケットが指定を遵守するために、データを整理してみましょう合意。

 

 

TCP(伝送制御プロトコル、伝送制御プロトコル)

それは公式の送信前に、と言うと、データを受信することで、接続ベースのプロトコルであり、そして相手が信頼性の高い接続を確立する必要があります。TCP接続は、3「対話」を経なければならない限り、あなたは、このプロセスを理解することができないようすることができ、導入の我々ここだけの単純な画像、非常に複雑であるプロセス、確立することができます。ホストAがホストBへの接続要求パケットを送信します:のは、簡単な手順で3回、この対話を見てみましょう「?私は、あなたにデータを送信することができますしたい」これが最初の対話であり、ホストBは、Aが合意された接続を送信ホストしますパケット(同期が領収書、コーディネートに送信して2つのホストである)の同期が必要です。これは2番目の対話であり、その後、ホストを識別するために、データパケットを送信し、ホスト「はい、あなたが送ったのか?」 B要件同期:これが第三の対話である「私は、あなたが今、今脂肪よ!」。目的3「対話」は、同期データパケットを送受信することで、3「対話」した後、正式に開催されたAは、ホストBにデータを送信

 

UDP(ユーザーデータプロトコル、ユーザーデータグラムプロトコル)

TCPは、該当する契約です。それはお互いに接続を確立しますが、パケットを入れていない、非接続指向のプロトコルである過去に直接送信されます!

UDPは、転送データ量の少ない、あまり厳しいアプリケーション環境の信頼性に適用されます。たとえば、私たちはしばしばコマンドの原理は、データ場合、パケットの受信を確認するために、他のホストとピアにUDPパケットを送信することで、実際には通常の2つのホスト、「ピング」とのTCP / IP通信かどうかをテストするために「ピング」コマンドを使用します。パケットが戻ってきてタイムリーなフィードバックを到着したかどうか、そしてネットワークが渡すことです。例えば、デフォルトでは、パケット4(図2)を送信する「ピング」動作。あなたが見ることができるように、パケットの数は、(受信確認パケットを送り返します、他のホストが受信したため)、パッケージ4が受信された4つのパッケージを送りました。これは完全にUDPプロトコルはコネクション指向のプロトコル、プロセスの接続が確立されていないことを示しています。UDPプロトコルのプロセスが接続されていないため、通信は、それが結果ハイであるが、このためには、TCPプロトコルの信頼性ほど高くありません。UDPメッセージの使用上のQQは、その時々の状況は、メッセージが表示され受信できません。

 

TCP、UDPプロトコル協定との違い

TCP UDP

非接続指向コネクション指向接続されています

信頼性と信頼性のない伝送の信頼性

大量のデータが少量のデータを転送するアプリケーション

速い遅いです

おすすめ

転載: blog.csdn.net/weixin_40160543/article/details/89608040