TCP/IP アニメーション , Webサイト,SSL
Webサイト,SSLこのシーンは,PCでWebサイトを表示する方法を示しています。「Webサイトデータ」とは,公開されているWebサーバーPC内に保存されている,公開用データの塊のことです。私達は契約しているISP(インターネットサービスプロバイダー)を介してそのサーバーにアクセスすることで,そのデータを取得することができます。PCがサーバーPCにアクセスする前に,自身のグローバルIPアドレスと宛先のグローバルIPアドレスを取得する必要があります。それらを取得するには,DHCP,NAT,DNSを使用する必要があります。詳しい説明はシーン'LAN,DHCP,NAT'または'DNS'をご覧下さい。両方のIPアドレスを取得した後,PCはWebサーバーにアクセスできるようになります。その間の通信はTCPまたはUDPに従って実行されています。これらの内,実際の多くの通信はTCPで実行されています。TCPの簡単な手順は,1最初に送る側と受け取る側の間にTCPコネクションが確立される。2.Webデータが送信され,受信者は毎回応答する。3.通信終了後にコネクションが閉じられる,となります。現在セキュリティのためにTCP通信ではSSLが普及しています。これを使用した場合,宛先URIは'http://www'ではなく'https://www'と記述されます。*TCP通信内のコードビット'ACK'は,最初の通信の後,常に送信されます。したがって,'ACK'があまり意味を持たない場合,'ACK'に関する説明とログはこのアプリでは省略されています。
HTTPブラウザでWebサイトを表示します。1.PC : Webサイト'http://www.ogumo.co.jp'にアクセスします。2.PC : (SYN)TCPコネクションの確立を要求します。3.Server : (ACK)コネクションOK。(SYN)TCPコネクションの確立を要求します。4.PC : (ACK)コネクションOK。5.PC : (PSH)データを送信して下さい。6.Server : (ACK)OK。(PSH)Webサイトのデータを送信します。7.PC : (ACK)受信しました。8.Server : (PSH)データを送信します。9.PC : (ACK)受信しました。10.Server : (PSH)これが最後のデータです。全てのデータが送信されました。11.PC : (ACK)OK。12.PC : (FIN)コネクションを終了します。13.Server : (ACK)OK。14.Server : (FIN)コネクションを終了します。15.PC : (ACK)OK。16.PC : コネクションが終了しました。HTTPSブラウザでSSLのWebサイトを表示します。1.PC : SSLを使用してWebサイト'https://www.ogumo.co.jp'にアクセスします。2.PC : (SYN)TCPコネクションの確立を要求します。3.Server : (ACK)コネクションOK。(SYN)TCPコネクションの確立を要求します。4.PC : (ACK)コネクションOK。5.PC : PCがSSLでアクセスすることを通知し,暗号化するために使用可能なアルゴリズムも通知します。6.Server : サーバーはデジタル証明書を自身の秘密鍵で暗号化します。7.Server : サーバーは公開鍵とデジタル証明書を送信します。そして使用するアルゴリズムを通知します。8.PC : Webブラウザ内のCA共通鍵を使用して,デジタル証明書を復元します。9.PC : 公開鍵がHTTPSサイトから送信された事を確認しました。10.PC : PCとサーバーの両方で新しい共通キーを作成するために,乱数データを作成します。11.PC : 公開鍵を使用して乱数データを暗号化します。12.PC : 暗号化された乱数データを送信します。13.Server : 暗号化された乱数データを受信しました。14.Server : サーバーの秘密鍵を使用して乱数データを復元します。15.両方 : サーバーとPCの両方が乱数データから2種類の共通キーを作成します。16.両方 : 共通キーが作成されました。PCの2つのキーとサーバーの2つのキーは同じです。17.PC : この後,データパケットは送信前にクライアント共通鍵で暗号化されます。18.PC : (PSH)データを送信して下さい。19.Server : 暗号化されたリクエストはクライアント共通鍵で復元されます。20.Server : この後,Webデータは送信前にサーバー共通鍵で暗号化されます。21.Server : (ACK)+(PSH)データを送信します。22.PC : 暗号化されたデータはサーバー共通鍵で復元されます。23.PC : (ACK)受信しました。24.Server : (PSH)データを送信します。25.PC : (ACK)受信しました。26.Server : (PSH)これが最後のデータです。全てのデータが送信されました。27.PC : (ACK)OK。28.Server : ACKを受信しました。29.PC : (FIN)SSLを使用せずにコネクションを終了します。30.Server : (ACK)OK。31.Server : (FIN)コネクションを終了します。32.PC : (ACK)OK。33.PC : コネクションが終了しました。
|