返信

ネットワーク屋さん,こんにちわ。

かなり理解が進んだように思いますが,
ちょっと惜しい部分もあるので補足します。

ネットワーク屋さんは通信動作のエンドっていうことを考えたことありますか?
つまり,一つの通信動作がどこで始まり,どこで終わるかという話です。
たとえば,下のようなネットワークでサーバからクライアントまでパケットを
運ぶ動作を考えてみましょう。

サーバ-----イーサネット-----ルータ-----イーサネット-----クライアント

まず,サーバからルータまでイーサネットでパケットを運びますよね。
このときのイーサネットの動作はルータで終わります。
だから,このイーサネットの動作はサーバとルータがエンドになります。
そして,新たにルータからクライアントまでイーサネットでパケットを運ぶ動作があり,
クライアントにパケットが届きます。
ここでのエンドはルータとクライアントです。

このように,イーサネットの観点で見ると通信動作はルータの両側で別々のものになりますが,
IPの観点から見ると,違った格好になります。
つまり,サーバからルータにパケットが届いたところでIPが終わるのではなく,
ルータで中継した後,クライアントに届いたところで終わります。
だから,IPのエンドはサーバとクライアントになります。

TCPとHTTPSの関係もこれと似ており,
TCPの方は二つの通信動作があり,そのエンドは
 WebサーバとProxy
 Proxyとクライアント
になります。(このエンドがソケットというわけです。)
ところがHTTPSの方は通信動作が一つで,Webサーバとクライアントがエンドになります。
HTTPSのデータはProxyに届いたところで終わりではなく,
そこから中継されてクライアント(あるいはWebサーバ)に
届いたところ終わることになります。
そして,HTTPSはエンドで暗号化と復号化を行いますから,
暗号を掛け,解くのはエンドのWebサーバとクライアントになり,
Proxy(SSLトンネル)は暗号化されたデータを単純に中継するだけ,
というわけです。

通信を理解するときは,このエンドという考え方が重要で,
これが分かると,一つ一つの技術的な要素を分解して考えられるようになります。
そして,複雑そうに見えるものでも,実は,
単純なものの組み合わせに過ぎない,ということがわかると思いますよ。

それから,

>「何が分かっていないか」がわかっていない
>「何を勘違いしているか」がわかっていない

わからないときっていうのは,そういうものですから,
気にすることはありません。
わかろうという気持ち重要で,それは伝わってきてますから,大丈夫ですよ。

<code>Only

  • 使用できるHTMLタグ: <code>
  • 文字で図を描く場合に<code>と</code>で囲んでください
画像認証
機械的なスパムメッセージ送信を防止するために画像認証を設けています。ご協力ください。
Image CAPTCHA
Enter the characters shown in the image.