ディレクトリ
利用スリーウェイハンドシェイクは、二人はそれを行うことはありませんなぜ
なぜそれが握手閉じているときに、接続が、3ウェイハンドシェイクのとき
スレッドとプロセスの違い
- プロセスがリソース割り当ての最小単位であり、スレッドは、プログラム実行の最小単位であります
- プロセスは、各プロセスを開始し、それ自体の別個のアドレス空間を有し、システムは、コードセグメント、スタックとデータセグメントを維持するためにデータテーブルを設定し、それのためにアドレス空間を割り当てます。あるスレッドがはるかに小さいよりもCPU切替処理は、スレッドを作成すると同時に、かかるので、スレッドは、オーバーヘッドプロセスよりもはるかに小さい、共有プロセスデータ空間であります
- スレッド、同じプロセスを共有グローバル変数、静的変数やその他のデータ内のスレッド、およびプロセス間通信との間のより便利な通信は、方法(IPC)通信で行います。しかし、どのように同期と相互排他を処理するためには、マルチスレッド・プログラムを書くことの難しさです。
ハードリンクとソフトリンクとの違い
各ファイルは、(物理ディスクブロックの代わりに)iノードへのポインタを作成され、次のことができls -i
、それを表示します。
それだけでなく、iノードへのポインタを作成することにより、他のファイルへのハードリンクを作成することです。あなたは、ファイル/ハードリンクを削除すると、それは根本的なiノードへのポインタを削除します。すべてのiノードポインタが削除された場合、あなたは本当にファイルを削除します。
ソフトの接続は、別の種類のファイルで、それを保存、それは絶対パスへのアクセスに置き換えられます、ファイルのフルパスです
プロセス内のスレッドを見ます
ps -T -p <pid>
各フォルダのサイズ、フォルダ見ます
du --max-depth=1 -h
CPUの負荷を意味
ある期間にわたるプロセスの割合CPUは、処理され、処理されるのを待っている、治療の最大総数は、CPUが処理されます。マルチコアCPUのために、最大LOADは、コアの最大数です。
使用して、top
かつtop -Hp
比較的大きなスレッドのCPU使用率を見つけ、その後、使用jstack
するJavaプログラムをトラブルシューティングします
TCP / IP
理論OSI 7層ネットワーク通信モデルであり、TCP / IPは、4層のネットワークプロトコルの実際の動作です。TCP / IPが含まれています:
- ネットワークインターフェース層、ホストがネットワークに接続されたプロトコルを使用しなければなりません
- ネットワーク層は、従って、ホストは、任意のネットワークへのパケット、および独立してターゲットに送信されたパケットを送信することができます。IPプロトコル
- トランスポート層は、放射源SO及び宛先ピアエンティティは、セッション・マシンであってもよいこと。TCPおよびUDPプロトコル
- アプリケーション層は、すべてハイレベルのプロトコルが含まれ、FTP / TELNET / SMTP / DNS / NNTP / HTTP
HTTP
HTTPはTCP / IPアプリケーション層プロトコル[プロトコル]です。これは、データパケットの送信に関連していない、クライアントとサーバとの間で所定のメインの通信フォーマットは、情報交換は、最も一般的に使用されるインターネットプロトコルであります
特長:
- シンプルで速いです。リソースのみを決定することができるであろう要求法[]と[リソース]経路を通過する必要があります
- フレキシブル、送信任意のタイプの[データ]
- 接続、一般唯一要求接続、接続がアクティブの終了後に放出されていないが、HTTP1.1キープアライブを送信し、同じTCP接続要求を複数多重化するために使用することができる何
- クライアントがサーバにHTTPリクエストを送信した後ステートレスでは、サーバーは私たちを介してデータを送信しますが、任意の情報を記録しません。クッキーので、セッションが持っていました。
TCP
TCPは、バイトストリームのトランスポート層[プロトコル]でTCP / IPプロトコルに基づいて、接続指向の、信頼性が高いです
接続を確立するには、次の3ウェイハンドシェイク
- 接続が確立されると、クライアントはサーバーにSYNパケット(SYN = j)を送信し、確認するためにサーバーを待って、SYN_SENT状態になり、SYN:同期シーケンス番号(同期シーケンス番号)。
- SYNサーバがパケットを受信し、あなたはそれ自体が、すなわち、SYN + ACKパケット(SYN = K)SYNパケットを送信しながら、サーバが状態SYN_RECVに入り、SYN(ACK = J + 1)顧客を確認しなければなりません。
- クライアントがサーバにSYN + ACKパケットを受信したサーバは、受信確認パケットACK(ACK = K + 1)を送信し、このパケットは、スリーウェイハンドシェイクを完了するために、ESTABLISHED(TCP接続が成功した)状態に、クライアントとサーバに送られます。
利用スリーウェイハンドシェイクは、二人はそれを行うことはありませんなぜ
無効な接続の作成につながったネットワークの問題への遅延を回避するには。例えば、クライアントは、サーバー接続は、接続要求したらあなたは、3ウェイハンドシェイクを使用しない場合、接続要求は、最後に到達する前に失ったが、本鎖のネットワークノードで長時間、およびその後の接続解除サービスにされていない送信しますしかし、接続要求が期限切れになった、サーバー側のリソースが無駄になります。
接続を閉じる:フォー振っ
- アプリケーション通知は、ホストA TCPデータが既に送信された場合、TCPセグメントは、ホストBの追加マーク(FIN英語仕上げを表す)にFINパケットと共に送ら。
- ホストBは、直ちにFINセグメントAとホストに応答しないFINセグメントを受信するが、肯定応答ACKシーケンス番号XianxiangホストA、独自の対応するアプリケーションに通知しながら送信した後:パートナー近い接続(第1の送信を目的)は、この期間内にACKを防ぐ他のFINセグメントを再送することです。
- アプリケーションホストBがTCPに語った:私は完全に閉じ、接続したい、TCPは、ホストAにFINセグメントを送信します
- ホストAは、FINセグメントを受信した後、ホストBへ送信するACKは、接続の完全な放出を表します。
なぜそれが握手閉じているときに、接続が、3ウェイハンドシェイクのとき
端末が受信したときにSYNサーバークライアント端末接続要求メッセージは、SYN + ACKパケットを直接送信することができるからです。ACKメッセージを応答するために使用される、SYNなどがパケットを同期させるために使用されます。サーバー側FINパケットを受信したときにでも、接続はおそらくSOCKETは、それが最初のACKパケットにのみ応答、話したクライアント側、することができます近くにすぐにない、閉鎖された「あなたは私が受け取ったFINメッセージを送信します。」すべての私のサーバーメッセージの終わりを介して送信されているだけになるまで、私はFINパケットを送信することができますので、一緒に送信することはできません。これは、4段階のハンドシェイクが必要です。
スライディングウィンドウ
トランスポート層用スライディングウィンドウ、それによって、その目的は、浸漬され、従って速すぎる送信レートを防止する、送信側の伝送速度を制御するフロー制御の尺度、送信元その広告ウィンドウサイズによって受信機です。
シリアル番号の次のバイトを受信する1つを期待N、受信者は、データの前のn-1バイトを受信した表す:ACKは、2つの非常に重要な情報を含んでいます。データのバイト数は、ウィンドウフロー制御をスライディングの基本原理である相手に送信することができる方法ACKを受信した後、送信者は、2つのデータを含むように、第2、現在のウィンドウのサイズmは、計算することができます。
TCPスライディング・ウィンドウ(例えば、メモリ不足)必要な場合、TCPスタックTCPによる通知APIが低減される受信ウィンドウを動的なアプリケーションです。次に、TCPプロトコルスタックは、ウィンドウの端に次のセグメントに送られる新しいウィンドウサイズ通知が遅い伝送速度の目的を達成するために、端末変更に透過窓を通知される含みます。
そして、UDPの違い
- TCPは、QQのように、信頼性の高い接続指向のデータストリーム伝送を提供し、非接続指向を提供するために、UDPデータストリームの信頼性の低い伝送
- TCPは接続なし待機するので、はるかに少ない動作、データセキュリティ、UDPのデータ転送速度を必要とするが、その安全性は、一般的に持っています
- プロトコル(FTP / SMTP / HTTP)TCPの対応、UDP(DNS)
HTTPS
HTTPSプロトコルはSSL + HTTPから構成されているプロトコルは、送信、送信中のデータの盗難を防止するために、HTTPプロトコルのセキュリティよりネットワーク認証プロトコル、変更、データの整合性を保証する暗号化することができ、それは大幅に仲介を増加させます攻撃コスト。
暗号化プロセス:
- こんにちは - 握手こんにちは、クライアントへのメッセージの送信を開始します。SSL暗号スイートとクライアントがサポートする最大のさまざまなバージョンを含む、SSLを介してクライアントに接続されたすべての情報サーバを、含まれているために。こんにちは、サーバは、1つの暗号化とSSLのバージョンを使用するには、最後に含め、クライアントのニーズ同様の情報を含むメッセージを返します。
- 証明書の交換 - 今接続が確立され、サーバーがSSL証明書によって、彼の身元を証明しなければなりません。SSL証明書は、所有者名、関連付けられた属性(ドメイン名)、公開鍵証明書、デジタル署名と証明書の有効性についての情報を含むデータの様々な含まれています。内容が変更されていることを確認するために、CAおよびデジタル署名を検証されていないことをクライアントがチェックされます。サーバがクライアントの身元を証明する証明書を要求することができますが、これが唯一の敏感なアプリケーションで発生していることに注意してください。
- 鍵交換は、 - (クライアントは対称鍵を生成し、対称鍵は、その後、公開鍵サーバのSSL証明書のインナーチューブを使用して暗号化された非対称RSA公開鍵暗号化アルゴリズムを使用すると、その後復号化するために、サーバの秘密鍵を使用して、サーバーにサーバーに送信されます。このハンドシェイクフェーズは完了している)、またはキーを決定するために、クライアントとサーバ側の両方でDH交換アルゴリズムが使用されます。キーは、相互に合意したシンプルな、対称鍵です。このプロセスは、非対称暗号化し、サーバーの公開鍵/秘密鍵に基づいています。
- 暗号化通信 - サーバとクライアント上で暗号化された実際の情報は、こんにちは、ステージを決定するために使用されているアルゴリズム、対称暗号化アルゴリズムを使用することです。暗号化と復号化キーの対称暗号化アルゴリズムは非常に単純です。このキーは、クライアントでの第三段階に基づいており、サーバは良いが交渉してきました。非対称暗号化アルゴリズムとは対照的に、公開鍵/秘密鍵が必要です。