こんにちは、しょうぞうです
10月は資格試験の勉強をメインで行っていたため、あまり読書をすることができませんでした。
なので今月は1冊しか本を読んでいません。
最近気付いたんですが、スマホはやはり麻薬ですね。
試験日までもう少しなので、思い切ってスマホを封印するような生活を送っているのですが、やってみると本を読む時間は増える・ニュースを読む時間も増える・インプットした内容を頭の中で思い出しながら反芻する時間も増えるでメリットばかりでした。
動画や配信など普段見ている媒体をスマホからPCに変更するだけでもかなり有意義な時間を使えました。
ネットワークはなぜつながるのか
試験の勉強を行なっていて、ネットワークに関してあまりにも知らなすぎるということで巷で有名なこの1冊を手に取ってみました。
率直な感想としては、難しすぎる!
筆者は丁寧に細かく噛み砕いて解説してくれているのですが、何回も繰り返し読み返してやっと理解できるような内容でした。
最初の方はなんとか理解しましたが(理解しないと先の話が全然わからない)、第4、5章のLAN接続の部分はまだ理解し切れていないです。
ハードウェアの話になるとすぐに話が追えなくなってしまいます。
なので、もう一度繰り返して読んでみたいと思います。
備忘録として、本の最後に記載されているユーザーがURLを叩いてサーバーからデータが返ってくる道筋まとめみたいなものを書いておきます。
この記事を読み返して全体像を思い出すのに役立てたいと思います。
——————–第一章——————–
ユーザーがURLを入力する
↓
そのURLをブラウザが解析してHTTPメッセージを作り、Socketライブラリに渡す
↓
Socektライブラリは、受け取ったHTTPメッセージを送信データとしてプロトコル・スタックに渡す
——————–第二章——————–
TCPは、送信データをパケットの長さに合わせて分割してTCPヘッダーを付加し、IPに渡す
↓
IPは、TCPから受け取ったパケットにIPヘッダーを付加する。さらに、MACアドレスを調べてMACヘッダーも付加してからLANドライバに渡す
↓
LANドライバは、IPから送信パケットを受け取り、それをLANアダプタに渡し、送信するように指示する
↓
LANアダプタは、イーサネットが送信可能な状態になるのを見計らって、パケットを電気信号に変換してツイストペア・ケーブルに送り出す
——————–第三章——————–
信号は、ツイストペア・ケーブルの中をとって、リピータ・ハブに届く
↓
リピータ・ハブは信号を全ポートばらまく。するとそれがスイッチング・ハブに届く
↓
スイッチング・ハブは、届いたパケットの宛先MACアドレスの値と自分の中にあるアドレス・テーブルを照合して出力先ポートを判断し、そのポートにパケットを中継する
——————–第四章——————–
インターネット接続用ルーターは、届いたパケットの宛先IPアドレスの値と自分の中にある経路表の内容を照合して出力ポートを判断し、そのポートにパケットを中継する
↓
インターネット接続用ルーターがインターネットに出力したパケットにはPPPoEヘッダーとPPPヘッダーがついている
↓
ADSLモデムに届いたパケットは、そこでATMセルに分割される
↓
ADSLモデムは、ATMセルに分割した後、電気信号に変換して電話線に送り出す
↓
ADSLモデムが送り出した信号は、電柱の電話線をとおて、電話局のDSLAM(局用集合モデム)に届く
↓
DSLAMは、受信した電気信号をATMセルの形に戻してブロードバンド・アクセス・サーバーに送る
↓
ブロードバンド・アクセス・サーバーが中継したパケットはL2TPヘッダーがつき、トンネルの中を流れていく
↓
トンネルの出口にあるトンネリング用ルーターにパケットが届いたら、L2TPヘッダーとPPPヘッダーが外され、インターネットを通り抜けてWebサーバー側に流れていく
——————–第五章——————–
サーバー側のLANには、ファイアウォールがあり、それで入ってきたパケットを検査し、通過させるべきか、遮断させるべきか判断する
↓
Webサーバーの手前にキャッシュ・サーバーを設ける場合、ファイアウォールを通過したパケットをキャッシュ・サーバーが横取りする。ユーザーがリクエストしたページがキャッシュ・サーバーに保管されていれば、キャッシュ・サーバーがWebサーバーに変わって、そのページを送り返す
↓
キャッシュ・サーバーにページが保管されていなければ、そこでリクエストが転送されWebサーバーに届く
——————–第六章——————–
Webサーバーにパケットが届いたら、LANアダプタとLANドライバが連携してパケットを受信し、プロトコル・スタックに渡す
↓
プロトコル・スタックは、IPヘッダーとTCPヘッダーを順に検査し、誤りがなければ、パケットからHTTPメッセージの断片を取り出して元の形に戻す
↓
元の形に戻したHTTPメッセージは、Socketライブラリを介して、Webサーバーに渡す
↓
Webサーバーは受け取ったHTTPメッセージの内容を解析し、そこに書いてある依頼内容に従ってデータを取り出して、クライアントに送り返す
振り返ってみると、四章が理解できていない部分なのでまた読み返して理解を深めたいと思います。
まとめ
今回は、ネットワークに関しての本を読んでみました。
ネットワークの基礎の基礎だと思うのですが、かなり難しかったです。
エンジニアとして、ネットワークがどのようにつながっているのか即座に答えられないのはどうかと思っていたので読んで本当によかったです。
来月はデータベースの本を読もうかと考えています。
以上!
コメント