노드 (컴퓨터 과학)
노드 (Node)는 컴퓨터 과학에서 광범위하게 사용되는 용어로, 네트워크, 자료 구조, 분산 시스템 등 다양한 맥락에서 특정한 역할을 수행하는 지점을 의미한다. 일반적으로 노드는 다른 노드와 연결될 수 있으며, 데이터를 저장하고 전달하거나, 연산을 수행하는 등의 기능을 가진다.
개요
노드는 그 맥락에 따라 다양한 의미를 지닌다. 예를 들어, 트리 자료 구조에서 노드는 데이터를 담는 기본 단위이며, 부모 노드와 자식 노드 간의 관계를 통해 계층적인 구조를 형성한다. 그래프 자료 구조에서는 노드를 정점(Vertex)이라고도 하며, 노드 간의 연결은 간선(Edge)으로 표현된다. 네트워크에서는 컴퓨터, 서버, 라우터 등 네트워크에 연결된 모든 장치를 노드라고 부를 수 있다.
주요 특징
- 연결성: 노드는 다른 노드와 연결될 수 있으며, 이러한 연결을 통해 데이터를 주고받거나, 관계를 형성한다. 연결 방식은 유선, 무선, 논리적 연결 등 다양하게 존재한다.
- 데이터 저장: 노드는 데이터를 저장할 수 있으며, 저장된 데이터는 다른 노드로 전달되거나, 노드 자체에서 활용될 수 있다.
- 연산 수행: 노드는 데이터를 처리하고 연산을 수행할 수 있다. 네트워크 노드의 경우, 패킷 라우팅, 트래픽 관리 등의 연산을 수행하며, 트리 노드의 경우, 데이터 검색, 삽입, 삭제 등의 연산을 수행할 수 있다.
- 주소 (Address): 네트워크 환경에서 노드는 고유한 주소를 가지며, 이 주소를 통해 다른 노드와 통신할 수 있다. IP 주소, MAC 주소 등이 대표적인 예이다.
활용 분야
- 자료 구조: 트리, 그래프, 연결 리스트 등의 자료 구조에서 데이터를 구성하는 기본 단위로 활용된다.
- 네트워크: 컴퓨터 네트워크에서 데이터를 주고받는 장치 (예: 컴퓨터, 서버, 라우터, 스위치 등)를 의미한다.
- 분산 시스템: 분산 데이터베이스, 분산 컴퓨팅 환경 등에서 작업을 분담하고 데이터를 공유하는 개별적인 시스템 또는 프로세스를 의미한다.
- 블록체인: 블록체인 네트워크를 구성하는 각 참여자(컴퓨터)를 노드라고 부른다.
같이 보기
- 트리 (자료 구조)
- 그래프 (자료 구조)
- 네트워크
- 분산 시스템
- 블록체인