一般的なネットワークモデル
アプリケーション層
トランスポート層: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を加えた値に設定します。シャットダウンを実行する最初のパーティはアクティブシャットダウンを実行し、他方のパーティはパッシブシャットダウンを実行します。