- Amazon.co.jp ・電子書籍 (349ページ)
感想・レビュー・書評
-
Linuxを使ってネットワークの概要を学ぶという趣旨の本。
『Network Namespace』という機能を初めて知った。Linux上に仮想的なネットワーク環境を作れるという機能らしい。
その『Network Namespace』の機能を利用してネットワークの仕組みを解説してあって、非常に分かりやすいと思った(本来なら手を動かして学ぶほうがいいのだけど、自分は読んだだけ)。
MACアドレスで、場合によっては過去に使ったことのあるアドレスを、新しい製品で再び使う事もあると書かれてあって、ちょっと驚いたけど、有限なわけだからそれも仕方がないのか。そもそも、48ビットのうち、上位24ビットはベンダーごとに割り当てられてるとのことだけど、上位12ビットぐらいでいいんじゃないのかと思わなくない(多分、ベンダー一つにつき上位24ビットが一つというわけではないと思うのだけど)。
後、NAPTの説明のことで、ICMPにはヘッダにポートがないので、エコーリクエストとエコーリプライのヘッダに存在するIdentifierを使っていると書かれてあって、ちょっと驚いた。そもそも今までそういう疑問を抱いてはいだかったのだけれども、いろいろ工夫されてるんだなぁ。
それと、IPv4の枯渇というのは、残りが一定数(具体的には約1677万個)に達した時点で宣言すると書かれてあって、そういうことだったのかと驚いた。だいぶ前に枯渇したというニュースになったけど、何で今でも普通に使えてるのだろうと思ってたけど、そういうことだったのか(それだけではないと思うけど)。
なお、TCP/IPの世界ではバイトオーダーをビッグエンディアンに統一しているそう。今まで意識したことなかったけど、そうだったのか。対してIntel CPUはリトルエンディアンなので、だいたいデスクトップアプリケーションはリトルエンディアンで考えないといけないのだろうと思うと、ややこしいと思う。詳細をみるコメント0件をすべて表示 -
TCP/IPやMACアドレスとの関係、ルートテーブルやNATといった概念について、UNIXの基本的なコマンドを使って実際に手を動かして試しながら知ることができる内容。後半にはソケット通信の簡易的な実装もある。
VirtualBoxでの仮想環境を実行環境の一例として記載いただいているが、実演のコマンドはWSLでも実行可能であった。
何となくでしか理解できていなかった部分、とりわけUDP/TCPの違いや、イーサネットの仕組み、ARP、NATといった仕組みについての理解が進んだことは大きかった。本筋のネットワーク関係以外でも、ip netnsコマンドをはじめ、そのほかCLIツールの存在、VirtualBox環境の構築に使うVagrantであったりと、勉強になることは多かった。 -
基本情報技術者の勉強をしていたとき、ネットワーク章がダントツで分からなくただただ答えを暗記していたが、この本を読むと理解できるようになった!
筆者は比喩表現がほんとうに上手い。
ネットワークの仕組みを荷物の配送に例えてもらうだけで感覚的に仕組みがわかるようになった。専門用語もメタファーを使って置き換えることでクリアできる。ネットワーク苦手な人も多いと思うでエンジニアであれば1度手に取ると良いだろう。 -
Linux環境一つで、ネットワークの動きを確認でき、初学におすすめします。
-
プリントアウト版を手元においている。
-
実際にコマンドを打ちながらTCP/IP周りについて勉強できる。料理のコースに例えて話が進むのはわかりやすいが、一方で図解などあまりないので、初心者にはイメージしづらいかも。
-
タイトル通り、Linux で手を動かしながら TCP/IP ネットワークに関わる基本的なことを学習できる本です。
macOS や Windows 向けにも VM で Linux を動かす方法が書かれているので、一通りの環境で試せるはずです。
一通りの開発経験はあるけど、ネットワークに関する知識はとても曖昧という自分みたいなエンジニアにはおすすめだと思います。
一方、Linux のコマンドラインの知識はある程度ないと厳しい内容だとは思います。
プログラミングについても最低限の知識がないと最後のあたりは厳しいです。
一通り TCP/IP を学ぶために最低限の知識を説明したあと、手元で手軽に実験できるように Network Namespace の解説から始まり、Ethernet、トランスポート層(UDP、TCP)、アプリケーション層(HTTP、DNS、DHCP)、NAT(Source NAT、Destination NAT)、ソケットプラグラミングといった項目を学べます。
知ってることでも手を動かしながら学ぶと、やはりこれまで知らなかった発見があります。
例えば、traceroute がどのように実現されているのかとか知らなかったので、勉強になりました。
ネットワーク系の技術書は重い本が多い一方、この本は入門者向けに手軽におすすめできる本だと思いました。 -
Network Namespaceを知ることができた。
-
ネットワークのことが少し理解できた。