【のーど】

ノード とは?

💡 ネットワークや木構造の「接続点」、文脈によって指すものが変わる多義語
📌 このページのポイント
ノード — ネットワークの接続点 PC ノード1 サーバー ノード2 ルーター ノード3 スマホ ノード4 プリンタ ノード5 ネットワーク ネットワークに接続されたすべての機器が「ノード」
ノード(ネットワーク接続点)のイメージ
ひよこ ひよこ

ノードって色々な意味があるの?

ペンギン先生 ペンギン先生

そう、文脈によって全然違うものを指す。ネットワークでは「接続された機器(サーバ・スイッチ)」、Kubernetesでは「Podを動かす仮想マシン」、ツリー構造では「親子関係のある要素(DOMHTMLタグなど)」、ブロックチェーンでは「取引を検証する参加ノード」など。

ひよこ ひよこ

Kubernetesのノードって何?

ペンギン先生 ペンギン先生

Kubernetesクラスターを構成する仮想マシン(またはベアメタルサーバ)のこと。コントロールプレーンノード(クラスター管理担当)とワーカーノード(実際にアプリが動くPodを実行)がある。クラウドではノードがEC2インスタンスに対応する。

ひよこ ひよこ

DOMのノードは?

ペンギン先生 ペンギン先生

HTMLの`

`・`

`などのタグ・テキスト・コメントがすべてDOMノード。JavaScriptで`document.getElementById('xxx')`で取得するのがDOMノード。親ノード・子ノード・兄弟ノードという関係性でHTML文書を木構造として表現している。

ひよこ ひよこ

Node.jsのNodeは何のノードなの?

ペンギン先生 ペンギン先生

サーバサイドJavaScriptの実行環境で、元々は「ネットワーク上で動くプロセス(ノード)」というイメージから名付けられたんだ。ブラウザでしか動かなかったJavaScriptをサーバでも使えるようにしたのがNode.jsの革命的なポイントだよ。

ひよこ ひよこ

ノードって色々な場面で出てくるけど、共通点はあるの?

ペンギン先生 ペンギン先生

ネットワークツリーの中の1つの接続点・構成要素」という意味が共通しているよ。面白いのは、LinkedListのノード(データ+次のノードへのポインタ)やニューラルネットワークのノード(ニューロン)もあること。文脈によって全然違うものを指すから、「何のノード?」と確認する癖をつけるといいよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
ノードって出てきたら「ネットワーク木構造・グラフの接続点・頂点、文脈によってサーバ・DOM要素・データ構造の要素などを指す」と思えばOK!
📖 おまけ:英語の意味
「Node」 = 節・結び目
💬 ラテン語のnodus(結び目)に由来。ネットワーク理論・グラフ理論の用語で「接続点」を表す。コンピュータネットワークの文脈では1970年代のARPANETから使われている
← 用語集にもどる