これは何か
もみじあめさんという方が書いた『Linux で動かしながら学ぶ TCP/IPネットワーク入門』を読んだ感想を書いていく。
私について
- ソフトウェアエンジニア(web・モバイル・VRフロントエンド)3年程度
- ネットワーク初心者(『マスタリングTCP/IP―入門編―(第6版)』を読了した程度)
TCP/IPについて、全然手触り感がないと感じていたところ、こちらの書に出会った。
良いと感じた点
1. なんと言っても初めての「ping」

一番最初のコマンドであるが、「通信できた...!」という嬉しさ。
エンジニア始めたての頃、httpsの「200 OK」が初めて帰ってきた時の感覚に近い。
ここでは、以下の内容が書かれている
- 3回通信し、パケットロスなしで3回応答が帰ってきた
- rttの部分を見ると、平均7.5ミリ秒で通信している
『マスタリングTCP/IP』では感じられなかった「手触り感」を見事に解決してくれた。
2. ルーターの仕組みも理解できる
なぜ繋がるのか?を自分で「繋がりを作る」ことで理解できる。
以下の2枚の画像のように、簡単なネットワークから、複雑なネットワーク構成まで手動で作る体験ができた。
また、普通に考えると、ネットワークを作るにはPCが複数台必要なのだが、
本書で紹介されている「Network Namespace」を利用すると、システムから切り離された(独立した)ネットワーク環境を、一つのPCに乱立させることができる。
3. コードがあることで理解が進みやすい
以下は、(正直に言って)実際に手元で動かしていないのだが、手元で動かすためのコードがあることで、非常に理解しやすいと感じた。
- イーサネット(データリンク層・物理層)
- UDP・TCP(トランスポート層)
- NAT(グローバルIPをプライベートで共有する)
参考
『Linux で動かしながら学ぶ TCP/IPネットワーク入門』もみじあめ(著)
https://www.amazon.co.jp/dp/B08SH41SL6/