「Linuxで動かしながら学ぶTCP/IPネットワーク入門」感想

「Linuxで動かしながら学ぶTCP/IPネットワーク入門」という本を読んだのでメモ。
(以下は著者のブログのようです)
blog.amedama.jp

なぜ読んだか

  • Prime Readingで無料だったから
  • ネットワーク系を勉強したいと言ったら友人にお勧めされた「マスタリングTCP/IP」がかなり分厚かったので、読み切る自信がなかったがこれなら読めそうと思ったから
  • ネットワーク系への苦手意識があったから

どんな内容だったか

Ubuntuの仮想環境を構築して、pingでの送信元/送信先IPアドレスの様子や、3ウェイハンドシェイクのフラグの様子を見たりと実際の通信の中身を見ながら、TCP/IPの4つの層をそれぞれ学んでいく。
あくまで入門編なので広く浅くと言ったところ。「DNSって何?もっと知りたい!」とかなったらネットで調べるか、DNSについて取り上げた本で勉強する必要がある。

感想

全般

ネットワークのやりとり内容を観察しながらいろんなプロトコルの動きを見れて、理論だけで終わらず実際の様子を見ることで記憶に定着した気がする。IPv4前提だったので、IPv6の解説をしている本もあればいいなあと思った。
コラムも結構充実してて、確かに気になる!という話題やコラムを読むことでさらに理解が進んだ。

電子書籍での購入だったため分厚さがどのくらいかはわからないが、割と手軽にサクッと読めた。1章分も多過ぎず少な過ぎずで自分の集中力が途切れないちょうどいいくらいでキリよく読み進められた。

その他

『3分間ネットワーク基礎講座』がイラストや話し言葉でとってもわかりやすかったけど実際のやり取りの様子を手を動かして見るというのはないので(僕の記憶)、その部分をこの本が補ってくれるっていう感じでセットものとして読むと良さそうな気がする。また、この『Linuxで動かしながら...』だけだと、「具体的な動きが追えてわかるような気がするんだけどなんかわからない、イメージが掴めない・・・」となるかもしれず、イラスト等でイメージを掴む部分は『3分間...』で補ってく、という形が良いかもしれない。
『3分間...』がGUI, 『Linuxで動かしながら...』がCUIってイメージか。

この3分間ネットワーク基礎講座(シリーズ?)、DNSとかルーティングなどに特化した版もあるので、『Linuxで動かしながら...』を読みつつ気になったところはこのシリーズの該当の本を読むとより理解が進むと思う。

なお『3分間...』はド文系のひよっこ社員だった頃の自分でも読めたが、『Linuxで動かしながら...』はシェルの操作等若干基礎知識・技能がないと読み進めるにはしんどいかもしれない。

環境構築について

  • VirtualBoxを1回も使ったことがない人は勉強がてらVirtualBoxで環境構築するのは良いと思う。
  • VirtualBox使ったことあるし・・という人は、dockerでちゃちゃっと構築してさっさと読み進めたほうが良さそう。
  • 以下はDockerでの環境構築用コマンドだけど、後から思い返しているだけなのでうまくいかないかも
$docker pull ubuntu:latest  
$docker run --privileged -it -d ubuntu:latest 
$docker ps ※動いているコンテナID取得
$docker exec -it コンテナID bash 
(以降は#apt-get updateなど、sudoを消したコマンドを実施)

※wgetでスクリプト取得して動かすときも、「sudo 」は置換して消すなりしたスクリプトにした上で動かす必要があります。

注意事項

  • タブレットで読んでてフォーマットが崩れたのか、本のコマンドでちょこちょこハイフンが表示されていないという現象があった(iPadのKindleアプリ利用)
  • ハイフンが消えていることに気づかずに表示されてるものそのまま打ち込んでエラー、という場合があったので、その場合はコマンドをネットで調べて正しい記述方法を調べるのもまたいい勉強になりそう。

この本をお勧めする人

  • ネットワーク全然よくわからないって人(だけどシェルとかLinux触ったことあるよって人)
  • 基本/応用情報処理技術者試験の勉強をしている人