最近は AWS などの台頭により、アプリケーションエンジニアがインフラまで扱うケースが増えてきました。
今までインフラをさわった経験のない方が AWS を学ぼうとすると、ネットワークや Linux の基礎知識が壁となります。
この記事では、そういった方に向けてネットワークの入門書をまとめました。
ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識
ネットワークの入門書で最も有名な本だと思います。
「○○はなぜ○○か」シリーズの 1 つで、Web サーバとクライアントのやりとりを深掘りしながらネットワークの仕組みを理解していく内容になっています。
情報量も多いので 1 周読んだだけで全て理解するのは難しいかもしれませんが、何周か読むことでネットワークの基礎をしっかり学ぶことができます。
手元に置いておく価値のある一冊です。
このシリーズでは
- 『コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~』
- 『プログラムはなぜ動くのか 第3版 知っておきたいプログラムの基礎知識』
- 『オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識』
あたりも非常に有名なオススメの書籍です。
まだ読んでいないものがある方は、是非読んでみてください。
マスタリングTCP/IP―入門編―(第6版)
こちらもネットワークの入門書としてよくオススメされる有名な書籍です。
1 つ目に紹介した『ネットワークはなぜつながるのか』よりも各知識が体系的にまとまっており、『ネットワークはなぜつながるのか』でネットワークの概要を理解した後に 2 冊目として読むのがオススメです。
自分の考えでは、この 2 冊くらいの内容をおさえておけば、アプリケーションエンジニアとしては十分だと思います。
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
こちらはネットワークの入門書ではありませんが、紹介させていただきます。
AWS の入門書で、ネットワーク (VPC) やサーバー (EC2) のハンズオンをできる書籍です。
『ネットワークはなぜつながるのか』を読むなどしてネットワークの基礎知識を身に付けたら、実際に手を動かしてみたいところです。
インフラエンジニアやネットワークエンジニアの方であればネットワーク機器のエミュレータなどで学習するケースが多いと思いますが、アプリケーションエンジニアの方は AWS で学習するのがちょうどいいと思います。
こちらの書籍の内容の通り、VPC や EC2 を構築し、NAT や DB との疎通くらいまでできるようになれば、AWS の入門として必要なネットワークの知識を一通り身に付けたことになります。
まとめ
アプリケーションエンジニアが AWS などを学ぶ前提としてネットワークの知識をつけたい場合、この記事で紹介した 3 冊が非常にオススメです。
『ネットワークはなぜつながるのか』や『マスタリングTCP/IP』はある程度ボリュームもありますが、これだけ知っておけばひとまず先の学習に進めます。 多くの方がオススメしている 2 冊なので、是非手にとってみてください。
暗号技術について学ぶには
ネットワークについて学ぶうえでは、SSL / TLS などの暗号技術の基礎知識も必要になります。
暗号技術の入門書については以下の記事にまとめているので、ぜひ参照ください。