JAVAインターンシップ求人検索ネットワークプログラミング

一般的なネットワークモデル

アプリケーション層

トランスポート層:TCP、UDP

ネットワーク層:IP

データリンク層

物理層

問題1:TCPプロトコルとUDPプロトコル

TCP:1. TCPプロトコルを使用する前に、TCP接続を確立して送信データチャネルを形成する必要があります。2。送信前に「3ウェイハンドシェイク」方式を使用しているため、信頼性が高く、3。接続で大量のデータを送信できます。4。送信が完了した後、接続を解放する必要がありますが、これは非効率的です

UDP:1.接続を確立せずにデータ、ソース、および宛先をデータパケットにカプセル化します。2。各データパケットは64kを超えることはできません。3。確認せずにブロードキャストして送信できます。4。効率的な送信後にリソースを解放する必要はありません高い。

質問2:TCPの3ウェイハンドシェイクと4つの手を振る

TCPスリーウェイハンドシェイク

最初のハンドシェイク:クライアントは、syn = xパケットをサーバーに送信します。syn:同期シーケンス番号

2番目のハンドシェイク:サーバーはsynパケットを受け入れ、確認応答パケットack = x + 1を生成し、独自のsyn = yパケットを送信するため、サーバーはsyn + ackパケットを送信し、サーバーのステータスはSYN_RECVです。

3番目のハンドシェイク:クライアントはsyn + ackを受信し、確認応答パケットack = y + 1を送信します。この時点で、接続は正常に確立され、クライアントとサーバーはESTABLISHED状態です。

TCPの4つの波

最初の手の波:クライアントはFINを送信します。FINは、クライアントからサーバーへのデータ送信を閉じ、サーバーの確認を待つために使用されます。終了フラグビットFIN = 1およびシーケンス番号seq = u。

2番目の波:サーバーがこのFINを受信すると、サーバーはACKを送信し、ACKが1増加することを確認します。

3番目の波:サーバーはサーバーとクライアントの接続を閉じ、FINをクライアントに送信しました。

4番目の波:FINを受信した後、クライアントは確認のためにACKメッセージを送り返し、確認シーケンス番号seqを受信したシーケンス番号に1を加えた値に設定します。シャットダウンを実行する最初のパーティはアクティブシャットダウンを実行し、他方のパーティはパッシブシャットダウンを実行します。

元の記事を111個公開 60のような 70,000 +ビュー

おすすめ

転載: blog.csdn.net/Haidaiya/article/details/105577066
おすすめ