Открыть сервисСервис

Нод — узел компьютерной сети

Нод (от англ. 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
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru