エンジニアが陥りがちな「LAN」の勘違い:ネットワーク構築の落とし穴を完全解説
Falsehoods Programmers Believe About LANs
Falsehoods Programmers Believe About LANs
プログラマーやインフラエンジニアが「LAN(ローカルエリアネットワーク)についてこうあるべき」と信じ込んでいる誤解や思い込みをリストアップした技術的啓蒙記事です。ネットワークは「繋がって当たり前」のインフラに見えて、実は物理層からプロトコルレベルまで、現実には予測不能な事象が多発する過酷な環境です。本書では、分散システムを構築する際に無視されがちな「LANは信頼できる」という慢心が、どのようなシステム障害を招くのか、現場の視点から紐解いていきます。ネットワークプログラミングに関わるすべての人にとって必読のチェックリストです。
DHCPサーバーは1つ存在する。
1つであってくれないと、ネットワークがめちゃくちゃになっちゃうよ。
同じサブネット上の2つのホストは、LANの外に出ることなく通信できる。
「相当バグだらけのソフトウェア」を使ってない限り、これが成り立たないことなんてあるの?
すでに疑わしい「プログラマーが信じている〜の嘘」っていうフォーマットを、さらに改悪したような感じがする。
プログラマーが信じている嘘:
プログラマーは自分の使っているモデルが完璧だと思っている。
言いたいことはわかるけど、必ずしも有益なアドバイスじゃないし、定義で遊んでるだけだよね。ESPNレベルの対立煽りって感じ。家庭用のLANなら妥当な前提も、エンタープライズLANやDMZでは当てはまらないことは多いし。
家庭用LANがRFC1918でNATなしの場合、インターネットアクセスがなくてもそれはLANと言えるよね……。
あと「MACアドレスは変更できない。MACアドレスは変更できる」という「Aかつ非A」の誤謬もそう。
なんか全体的にぐちゃぐちゃ。0.05%の事例や半端な真実を並べるより、エッジケースについて掘り下げた方が面白かったはず。
とはいえ、GNOME 2006年時代の雰囲気は好き。
[遅延]
私のLANはIPアドレスを使っている。
IPアドレスのないLANなんて聞いたことないよ。そんなのあるの?IPアドレスがないってことは、TCP/IPすら使えないってことだよね?他に代わりになるものがあるのかな?