Нод — узел компьютерной сети¶
Нод (от англ. node) — узел компьютерной сети или топологической сети; любой адресуемый объект (устройство, точка соединения или программный компонент), способный обмениваться данными посредством сетевых протоколов. В широком смысле нодом называется любой объект, участвующий в распределённой системе, — от физического устройства до виртуального сервиса. Термин широко применяется в телекоммуникации, блокчейне, распределённых вычислениях и программной инженерии.
¶Происхождение термина
Слово происходит от англ. node («узел»), восходящего к лат. nodus — «узел, связка». В теории графов нод (вершина) — это точка, соединённая рёбрами с другими точками; сетевая терминология перенесла это понятие на физические и логические объекты сети. В русскоязычной технической литературе используется как транслитерация «нод», так и калька «узел»; в разговорной речи и сленге криптосообщества закрепилось именно «нод».
¶Нод в компьютерных сетях
В телекоммуникации нодом называется любое активное устройство, подключённое к сети и выполняющее функции передачи, коммутации или маршрутизации данных. К нодам относятся:
- компьютеры и серверы;
- сетевые коммутаторы и маршрутизаторы;
- точки беспроводного доступа;
- мобильные устройства;
- устройства Интернета вещей.
Каждый нод имеет сетевой адрес (например, IP-адрес) и может выступать как отправителем, так и получателем данных. В одноранговых (P2P) сетях каждый нод одновременно является клиентом и сервером, что отличает такую архитектуру от клиент-серверной, где функции разделены.
¶Нод в блокчейне
В блокчейн-сетях нод — это компьютер, запустивший программное обеспечение, которое поддерживает работу блокчейна: хранит полную или частичную копию реестра транзакций, проверяет блоки и транзакции, а при необходимости участвует в консенсусе. Различают несколько типов нодов:
| Тип нода | Описание |
|---|---|
| Полный (full node) | Хранит всю историю блокчейна, проверяет все блоки и транзакции самостоятельно |
| Лёгкий (light node) | Хранит только заголовки блоков, доверяет проверку полным нодам |
| Архивный (archive node) | Хранит все блоки начиная с генезиса, включая промежуточные состояния |
| Валидатор (validator) | Участвует в создании новых блоков и подтверждении транзакций в механизмах Proof-of-Stake |
| Майнер (miner) | Участвует в создании блоков в механизмах Proof-of-Work |
Запуск собственного нода в криптовалютных сетях позволяет не полагаться на сторонние RPC-сервисы, получать более высокий уровень приватности и самостоятельно проверять корректность состояния сети. В России майнинг с 2024 года законодательно отнесён к предпринимательской деятельности и регулируется соответствующими правилами.
¶Нод в распределённых вычислениях
В распределённых системах и кластерах нод — это отдельный вычислительный узел: физический сервер, виртуальная машина или контейнер, участвующий в общей вычислительной задаче. Примеры систем, построенных на концепции нодов:
- кластеры высокопроизводительных вычислений (например, на базе SLURM);
- системы оркестрации контейнеров (Kubernetes, где нод — это рабочая машина в кластере);
- распределённые базы данных (Cassandra, ClickHouse), где данные реплицируются между нодами;
- сетевые протоколы (IPFS, BitTorrent), где нод участвует в обмене файлами.
¶Нод в программной инженерии
Термин применяется и вне сетевого контекста. В языке программирования JavaScript нодом называется объект-элемент дерева (узел DOM). В языке Python пакет node традиционно используется для обозначения узлов абстрактного синтаксического дерева. В графовых базах данных (Neo4j и аналоги) нод — это вершина графа, к которой привязаны свойства и связи.
¶См. также
¶Источники
- Таненбаум Э., Уэзеролл Д. — «Компьютерные сети»
- Нараянан А. и др. — «Bitcoin and Cryptocurrency Technologies»
- RFC 1122 — Requirements for Internet Hosts
- Документация Kubernetes: Nodes
