msksgm’s blog

msksgm’s blog

Webエンジニアです。日々の勉強記録、技術書感想、美術観賞感想を投稿します。

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

概要

Linux で動かしながら学ぶ TCP/IP ネットワーク入門を読みました。 感想を書きます。

前提

目的

本書を読んだ背景は以下です。

  • 2023年10月〜12月の目標の注力分野の 1 つにネットワーク・Linux を掲げていた
  • SRE に関心があるので、ネットワーク周りの知見を深めたかった
  • ネットワークの知識はほとんど初心者で、学んだ知識も読み物ベースだったので、手を動かしながら学べる内容を優先した

事前知識

ネットワークの知識は以下ぐらいです。普段は Web アプリケーションエンジニアとして勤務しているため、基本的な HTTP の知識は持っています。

読了時間

本書の構成は下表の 10 章構成となっています。 1 ・9 ・10 章を除くと、7 章を 1 つの章に 1.5 ~ 2.5 時間で読んだので、だいたい 10.5 ~ 17.5 時間で読みました。 ネットワークの用語は単語レベルでは意味を知っていたので、手を動かしてなにをしているのか理解するのに時間をかけていました。

タイトル
1 はじめに
2 TCP/IP とは
3 Network Namespace
4 イーサネット
5 トランスポート層プロトコル
6 アプリケーション層のプロトコル
7 NAT
8 ソケットプログラミング
9 おわりに
10 付録

所有している PC が Apple Silicon の M1 Max のため、AWS の EC2 を利用しました。 マシンイメージは Ubuntu 20.04 LTS を利用し、勉強を開始するたびに新規作成し終了のとき破棄していたので、数百円程度ですみました。

本書を読む前に著者の書籍紹介にも目を通しました。

blog.amedama.jp

感想

TCP/IP の内容を、詳細な解説とサンプルコードによって、手を動かしながら学ぶことができる非常に良い書籍でした。 今まで学んできたネットワークの知識を本書で手を動かしながら学ぶことができたので、確実に理解を深めることができたと考えています。 今後初学者にネットワークの知識を学びたいと聞かれたら、読み物ベースで 1 冊学んだあとに、手を動かしながら読む書籍として本書を強く推薦します。

具体的に良かった点は 2 点あります。
1 点目は、基礎的な部分を手を動かしながら学べることです。 Linux を利用することで Network Namespace を利用しながら、ネットワークを簡単に構築できて、簡単に捨てられます。 自分はネットワーク初心者ですので、ネットワークを学ぶには物理的に用意したりパブリッククラウドを利用する必要があると考えていました。 しかし、本書の内容で大きな準備も不要で基礎的な部分を繰り返し学べて良かったです。
2 点目は、サンプルコードが充実していることです。 特に、本書で説明されているネットワークを構築する手順が 1 行ずつまとめられているだけでなく、呼び出すだけですべて再現されるスクリプトが用意されていることが好印象でした。 最初に学ぶときには逐一実行して、復習のために再確認したいときには、自動で再構築できるため、理解を深める一助になっていたと考えています。

ネットワーク初学者が最初に本書を読んでも良いですが、個人的には、ほかの読み物ベースのネットワーク入門書([改訂新版]3 分間ネットワーク基礎講座など)を一冊読むことをお勧めします。 本書でもネットワーク用語の解説がありますが、まずは一通り単語と意味を知ったあとに、本書で手を動かすと良い補完になり理解を深められると考えています。

次に関連で勉強すること

引き続きネットワーク系の書籍を読み進めていきます。 現段階では以下の書籍を考えています。 今回は、手を動かしながら学ぶ書籍でしたので、次回は読み物の書籍を読もうと考えています。読み物の書籍の度に本書を読んでも良いのではないかと考えています。 また、ネットワークスペシャリストの受験も検討しています。

まとめ

ネットワーク初学者が手を動かしながらネットワークを学べる良い書籍でした。 サンプルコードがすばらしく、繰り返し復習できる内容となっています。 ネットワークを学びたい初学者にお勧めの本がないか聞かれたときには、本書と[改訂新版]3 分間ネットワーク基礎講座をお勧めします。 次は、読み物に戻って、マスタリング TCP/IP―入門編を読みます。