マスタリングTCP/IPを読んだ

マスタリングTCP/IP 入門編 第6版 を読みました。

言わずと知れたバイブル的な存在ですよね。実は3年くらい前のIT業界で働き始めの頃に読んでみたことがあるんですが、書いていることのイメージが出来ず読むのが苦痛でしかなかった覚えがあります。あれから3年ほどたった今回は一通り内容を理解できました。エンジニアには想像力が必要と言われますが、当時は想像するにも知識不足からその取っ掛かりがなく挫折に至ったのかなと思います。

なので、”入門”とは書いてるもののある程度の前提知識を要するので、全くの初学者(web, インターネットの知識がないなど)だと読みこなすのは難しいのかなと個人的には思いました。

読んだ感想ですが、とても面白かったです。通信を成り立たせるためのプロトコルの仕様や、パケットの伝送方法などを図解で説明してあり、アプリケーション層のエンジニアが普段意識しないようなネットワークの裏側の動きをよく理解することができました。ただ、分量が多いので、全て暗記するような使い方ではなく、一通り全体像を頭に入れた後に辞書的に参照するのが良さそうです。

忘備録的に、各章の概要だけ簡単にまとめてみます。

第1章 ネットワーク基礎知識

コンピュータネットワークやインターネットが登場するに至った歴史的な背景や、通信を実現するためのOSI参照モデルの概要が書かれています。どんな技術にも言えますが、どのような経緯があって今の仕様になっているのかを知ることは、学習の効率が上がると思うのでこの辺が詳しく書かれているのはよかったです。

第2章 TCP/IP基礎知識

前章で説明されたOSI参照モデルと比較しながら、事実上のその実装であるTCP/IPモデルの概要を解説しています。通信の抽象的なモデルであるOSI参照モデルを、「じゃあ実際どんな風に現実世界で動いているの?」ということ(TCP/IPモデル)と合わせて説明されているのがよかったです。

第3章 データリンク

OSI参照モデルの2層目であるデータリンク層の役割と、実際の挙動を解説しています(イーサネット・ATM・POSなど)。

第4章 IPプロトコル

OSI参照モデルの3層目であるネットワーク層を構成するIP, ICMPなどの仕様、またIPアドレスやパケットの分割/再構築の仕組みについて詳細に解説している。普段業務でpingコマンドなどで間接的にICMPを使ってますが、それが裏でどのような動きをしているのかを詳しく書いてあるのが個人的に面白かったです。

第5章 IPに関する技術

前章の内容をさらに広げ、DNSDHCP・NATなど外部と通信するために必要な技術・プロトコルの仕様について解説しています。

第6章 TCPUDP

TCPUDPについて解説しています。TCPはコネクション型、UDPコネクションレス型ですが、実際どのようにしてそれらが実現されているのかを詳細に説明しています。

第7章 ルーティングプロトコル(経路制御プロトコル)

ルーターが特定のIPアドレスにパケットを正しく届けるための仕組み(ルーティング)を解説しています。かなり実践的な内容を含んでいる印象でした。

第8章 アプリケーションプロトコル

OSI参照モデルの最上層であるアプリケーション層でのプロトコル各種(TELNET, SSH, FTP, MIME, SMTP, POPなど)の仕様やWWWについて解説されています。

第9章 セキュリティ

最後はセキュリティについて。ファイアウォールVPN、それらで用いられる認証・暗号技術について解説されています。

というような感じで、各章構成されています。