ネットワークはなぜつながるのか

DSC_1094
戸根 勤 著「ネットワークはなぜつながるのか」を読みました。

結論:数msecの大冒険!クライアントとサーバ間の一瞬のやりとりを俯瞰視する読み応えのある一冊。

この本ではWebブラウザのアドレス欄にURLを打ち込んで、Enterキーを押した瞬間からWebサーバが応答を返すまでの一連の流れを例に、クライアントとサーバ間の通信の仕組みを1から追う形でネットワークの仕組みを解説します。

アプリ開発者が通信をするにあたってすることと言えば、ソケットを作って、それに対して書き込んだり、読んだりするだけなんですよね。
ソケットを作ると”なんか”パイプのようなものでクライアントアプリケーションとサーバが結ばれて、ソケットに対して書き込むと”なんか”サーバに送信されてしまうぐらいの認識で通信ができてしまいます。
まして、昨今様々なフレームワークを使ってアプリケーションを構築しますので、ソケットを作るということ自体アプリ開発者はしなくなっているかもしれません。
それは、アプリ開発者は通信に関するあれこれを意識しなくても良いということなんですが、じゃあアプリ開発者は通信に関する知識を全く持たなくていいかというとそういうものでもないわけで、通信に関する知識は、問題が発生したときに問題の切り分けをする一つの材料になりうるわけですよ。

とはいえ、ネットワークに関する知識は非常に膨大でかつ難解なもので、アプリ開発者が勉強するのはなかなか大変なものです。アプリ開発者(少なくとも私にとって)の通信の認識というのは”なんか”ですので。
この本は通信というボヤッとしたものを明確にしてくれます。
クライアントがソケットを作るところから、LANアダプタを通じて電気信号に変換されて、スイッチ、ルータ、インターネットを経由して、サーバに届くまでの一連の流れがはっきりします。
読むのもなかなか大変でしたが、ネットワークに対する最初のアプローチとしての本としては非常に良かったと思います。
読む中で今までモヤモヤしてものが「そうだったのか!」とはっきりしていく過程は非常に気持ちよく楽しく読めました。
ただ、先も書いたようにネットワークに関する知識は非常に膨大なので、この本の次は「マスタリングTCP/IP」シリーズなんかを読むといいかもしれません。


コメントを残す