TCP / IP
OSI の「実現":TCP / IP
OSI 7層モデル |
TCP / IPの概念層モデル |
機能 |
TCP / IP プロトコルスイート。 |
アプリケーション層 |
アプリケーション層 |
ファイル転送、電子メール、ファイルサービス、仮想端末 |
FTP、HTTP、SMTP、SNMP、Telnetの |
プレゼンテーション層 |
データフォーマット、コード変換、データの暗号化 |
ノー |
|
セッション層 |
持ち上げたり、他の連絡先との接続を確立 |
ノー |
|
トランスポート層 |
トランスポート層 |
エンドインターフェースを提供 |
TCP、UDP |
ネットワーク層 |
ネットワーク層 |
データパケットのルーティング |
IP、ICMP、RIP、OSPF、IGMP |
データリンク層 |
リンク層 |
ヨ偶数フレームと伝送エラー検出機能アドレス |
SLIP、CSLIP、PPP、ARP、RARP |
物理層 |
物理媒体上で送信されるデータのバイナリ・データ・フォーマット |
ISO2110、IEEE802、IEEE802.2 |
一般的なTCPポート番号を持っている:HTTP 80、FTP 20/21、Telnetの23、SMTP 25、DNS 53など、一般的な予約UDPポート番号を持っている:DNS 53、BootPサーバ67(サーバ)/ 68(クライアント)、TFTP 69、 SNMP 161のように。
TCP 3ウェイハンドシェイク
TCPフラグ
URG:緊急ポインタフラグ
ACK:確認応答番号フラグ
PSH:プッシュフラグ
RST:接続フラグをリセット
SYN:同期シリアル番号、接続を確立するためのプロセス
FIN:接続を解除するための終了フラグ、(1:送信者は、もはやデータを送信しています)
以下のように「ハンドシェイク」チャートTCP 3ウェイハンドシェイクを流し、接続を確立するには、次のとおりです。
TCP / IPプロトコルでは、TCPプロトコルは、接続を確立するために、3ウェイハンドシェイクを使用して、信頼性の高い接続サービスを提供します。(すなわち、Xは上記の図シーケンス番号、yの値)
1、最初のハンドシェイクは:接続が確立され、クライアントはサーバーにSYNパケット(SYN = j)を送信し、サーバが確認するのを待つ、SYN_SEND状態になります。
2、第2ハンドシェイク:次に、サーバはSYNパケットを受信し、自身がSYNパケット(SYN = k)を送信しながら、顧客のSYN(ACK = J + 1)を確認しなければならない、すなわち、SYN + ACKパケット、SYN_RECVにサーバ状態。
図3に示すように、第三のハンドシェーク:クライアントがサーバにSYN + ACKパケットを受信すると、サーバはESTAB_LISHED状態に確認パケットACK(ACK = K + 1)、このパケットが送信され、クライアントとサーバ、完全な3ウェイハンドシェイクを送信します。
4波についてTCPの話
ウェーブ接続を終了するには、TCPのフローチャート4波は次のとおりです。
TCPは4回を使用して接続を解放するために手を振りました
1、最初の波:FINを送信するクライアントは、クライアントのサーバーへのデータ転送を閉じるために、クライアントはFIN_WAIT_1状態になります。
図2は、第二波:サーバが、FIN、ACKがクライアントを送信するために受信は、受信したシーケンス番号に1を加えていることが確認サーバCLOSE_WAIT状態に入るために、(同じSYN、FINシーケンス番号を占めます)。
3、第三の波:FINを送信するサーバは、クライアントのサーバーへのデータ転送を閉じるために、サーバはLAST_ACK状態になります。
4、第4波目:クライアントは、クライアントにFIN、TIME_WAIT状態を受信し、サーバにACKを送信し、受信したシーケンス番号+ 1の確認、サーバは、閉状態は、4つの完全な波を入射します。(クライアントが2MSL時間後にクローズされます)
TCPの接続は、実際のリリース前に2MSLを通過する必要がありますか?
確かに、あなたは十分な時間を持って、彼らはACKパケットを取得します
混乱を避けるため、新旧を接続します
UDPはじめに
UDP 特長
1は、非接続指向
図2に示すように、接続された状態を維持しない、同じメッセージの複数のクライアントの同時伝送をサポート
3、唯一のパケットヘッダの8バイト、小さいオーバヘッド
図4に示すように、スループットはデータのみ発生率、機械の伝送速度と性能によって制限されます
5、ベストエフォートは、複雑なリンク状態テーブルを維持する必要が信頼性の高い配信を保証しません
6、メッセージのメッセージ情報は、アプリケーションが分割またはマージされ、提出されていません
結論
TCP UDP
1、接続指向コネクションレス対
2、無対信頼性
3、ノー対秩序
4、(オンラインメディア放送などに適用)、高速対迅速遅い来ます
図5に示すように、8バイトの対(20バイト)の順
TCPスライディングウィンドウ
RTT とRTO
RTT:時間のために採取し、ACKに対応する受信したデータパケットを送信します
RTO:再送間隔(クライアントは、デフォルトでは、タイマーを起動し送信ACKサーバーがある時点で新しい伝送に対応するパケットを返さないとき、タイマーが起動する)(算出した経過RTT RTO)
HTTPプロフィール
ハイパーテキスト転送プロトコル(HTTP)の主な特徴
1、クライアント/サーバモデルをサポートしています
2、迅速かつ簡単に
図3に示すように、(データ伝送の任意のタイプの)フレキシブル
クライアントが.http1.1デフォルトの接続サーバーのデフォルトは、一定の時間DISCONNECTの前に長く待つ送信時間を節約するためにオフになっている応答を受信した後、4、無接続(リクエストごとの接続制限、およびサーバ・プロセスは、クライアントを要求しません)接続機能を確保
5、ステートレス(物事を処理するステートレスなプロトコル)
ステップ要求/応答
1、クライアントはWebサーバに接続します
図2に示すように、HTTPリクエストを送信します
図3は、サーバは、要求を受信し、HTTPレスポンスを返します
TCPコネクションの解放に接続されている4、
5、クライアントのブラウザは、HTMLコンテンツを解析し、
プロセスのブラウザでは、経験を入力URLのプレスを入力してください
1、DNS解決
2、TCPコネクション(あなたがIPアドレスとポートとサーバーの接続を見つけたら、TCPを確立します)
図3に示すように、HTTPリクエスト
図4に示すように、サーバは、要求を処理し、HTTPパケットを返します
5、ブラウザがページをレンダリング解析し、
図6に示すように、接続端
HTTPステータスコード
5つの可能な値
1,1××:ちょうど情報 - 要求を受信したことを示し、処理が続行
2,2××:成功 - 受け入れ、理解し、要求が正常に受信されたことを示します
3,3××:リダイレクション - 要求を満たすためには、さらなるステップを行かなければなりません
4,4××:クライアントエラー - リクエストの構文エラーや要求を達成することができません
5,5××:サーバー側のエラー - サーバーは、正当な要求を達成するために失敗しました
一般的なステータスコード
1200:正常復帰情報 - 成功
2400(不正な要求):クライアントが構文エラーを要求し、それがサーバーによって理解することができません
3,401(不正):不正な要求、ステータスコードは、WWW許可ヘッダーフィールドで使用されなければなりません
4403(禁断):サーバーが要求を受信するが、サービスを提供することを拒否しています
5404(見つからない):要求されたリソースが存在しません。
6500(内部サーバーエラー):予期しないサーバーエラーが発生しました
7503(サーバー使用できません):サーバーは現在、クライアントの要求を処理することができない、一定期間後に正常に戻ることがあります。
POSTリクエストとGETリクエスト
3つのレベルが答えます
1、HTTPパケットレベル:URLにリクエスト情報をGET、POST上のパケットボディ
図2に示すように、データベース・レベル:GET冪等のアコード(データベース操作と複数の動作は同じである)とセキュリティ、POSTは準拠していません
3、他のレベル:、キャッシュすることができGET、POSTに格納されていません
クッキーとセッションの違い
クッキーさんのプロフィール
図1は、クライアントに格納されているテキストの形式でクライアントにサーバによって送信される特別なメッセージであります
クライアントの要求は再び、クッキーがポストバックされます2、
3.サーバーが受信した場合、それは対応するエンドユーザーを生成するためにクッキーの内容を解析し、
クッキーの設定と送信処理
セッションのはじめに
図1に示すように、サーバの機構は、サーバ情報に記憶されています
2、必要な状態情報を保存し、クライアントの要求と操作セッションIDを解析
セッション実装
達成するためにクッキーを使用します
クッキーの違いとセッション
1、クッキーデータはセッションデータがサーバに保存され、顧客のブラウザに保存されています
より安全に対する2、セッションクッキー
3、負担がサーバーを軽減することを考慮しクッキーを使用する必要があります
HTTPとHTTPSの違い
1、HTTPSは、CA証明書を申請する必要があり、HTTPは必要ありません。
2、HTTPS暗号文の送信、HTTPの平文
3、異なるコネクタ、HTTPSポート443、HTTPポート80
4、HTTPS = HTTP +暗号化+認証+完全性保護、よりセキュアHTTP
ソケットについて
一般的なTCPポート番号を持っている:HTTP 80、FTP 20/21、Telnetの23、SMTP 25、DNS 53など、一般的な予約UDPポート番号を持っている:DNS 53、BootPサーバ67(サーバ)/ 68(クライアント)、TFTP 69、 SNMP 161のように。