Computer-Sience41 [Data-Structure] 머클트리(Merkel Tree) 머클 트리 : 머클 트리는 1979년 랄프 머클(Ralph Merkle)에 의해 발명된 이진트리 구조로, 암호학적 해시 함수를 이용하여 대량의 데이터를 효율적으로 검증할 수 있도록 설계되었다. 블록체인과 분산 시스템에서 핵심적인 역할을 하며, 데이터 무결성을 보장하는 강력한 도구로 사용된다. 머클 트리 구조 :머클 트리는 다음과 같은 트리 구조를 가지고 있다. 머클 트리가 만들어지는 순서 : 1. 해시 계산: 말단의 각 데이터 블록에 대해 암호학적 해시 함수(SHA-256 등)를 적용하여 고정 길이의 해시값을 생성 - 위 사진 기준으로, 거래 (1)과 거래 (2)와 같은 Leaf Node의 해시 값을 생성 2. 페어링: 인접한 두 해시값을 이용하여 상위 노드를 생성 - 거래 (1)과 .. 2025. 5. 30. [Network] BPF(Berkeley Packet Filter) / eBPF(extended BPF) BPF(Berkeley Packet Filter) BPF(Berkeley Packet Filter)는 1992년에 개발된 네트워크 패킷 필터링 메커니즘이며, 패킷과 syscall에 대한 기본 필터링을 수행하기 위한 두 개의 32비트 레지스터가 있는 작은 바이트코드이다. 커널은 업데이트가 자주 일어나는 편이 아니며, 특정 기능을 추가하려면 커널을 빌드해야 하는 피곤한 상황이 발생하지만, BPF를 활용하면 사용자가 정의한 코드를 기반으로 사용자 공간에서 커널의 코드를 활용할 수 있다. 일반적으로는 모든 네트워크 패킷이 커널에서 사용자 공간(User Space)으로 복사되어 처리되었기에 이는 많은 시스템 리소스를 소모했고, BPF는 커널 내에서 직접 패킷을 필터링하는 방식을 활용하여 필요한 패킷만.. 2025. 3. 10. [Network] LDAP(Lightweight Directory Access Protocol) LDAP : LDAP(Lightweight Directory Access Protocol)은 TCP/IP 상에서 운용되는, 디렉터리 서비스에 액세스하여 자원을 조회하고 수정하기 위한 응용 프로토콜이며, 이름에서 볼 수 있는 것처럼 네트워크 상의 디렉터리 서비스 표준인 X.500의 DAP(Directory Access Protocol)의 경량화 버전이다. LDAP의 적절한 예시로 [전화번호부]가 있다.- 2000년도 초반까지는 개인 신상 정보가 일부 기록된 [전화번호부]가 존재했다. 옛 전화번호부에는 [ㄱㄴㄷ...] 순의 일련의 단어(이름)로 구성되어 있고, 이름마다 각 개인의 "전화번호"와 "주소"와 같은 개인 정보가 기입되어 있다. 즉, "홍길동"이라는 디렉토리 안에 개인의 특성을 가지는 "전화.. 2025. 2. 7. [Algorithm] 다익스트라(Dijkstra) 알고리즘 다익스트라 알고리즘 다익스트라 알고리즘은 1959년 네덜란드의 컴퓨터 과학자 에츠허르 다익스트라가 개발한 최단 경로 탐색 알고리즘이다. 이 알고리즘은 그래프에서 한 정점에서 다른 모든 정점까지의 최단 거리를 구하는 데 사용되며, 실 생활에 사용되는 예시로는 최단 거리 알고리즘답게 내비게이션 시스템, 네트워크 라우팅 등과 같은 곳에 사용된다. 위 예제는 1번 노드(a)에서 5번 노드(b)로 가는 최단 거리를 구하는 과정을 나타낸 것이다. 기준이 되는 노드에서 방문하지 않은 각 노드 간의 거리를 계산하고, 이를 통하여 가장 낮은 거리로 계산되는 각 노도의 경로를 모두 계산하게 되는 것이다. 예제 아래는 heapq를 활용하여, 위의 예제를 다익스트라 알고리즘을 코드로 구현한 것이다. import hea.. 2024. 11. 27. [CS] NTP(Network Time Protocol) NTP 시간은 현대 컴퓨팅 시스템에서 가장 중요한 요소 중 하나이며 분산 시스템, 로그 분석 등 많은 영역에서 정확한 시간 동기화가 필수적으로 요구된다. 분산된 환경에서의 시간 동기화를 가능하게 하는 것이 바로 NTP(Network Time Protocol)이다. NTP는 컴퓨터 시스템 간의 시간 동기화를 위하여 개발이 된 네트워킹 프로토콜이다.. 데이비드 밀스(David L. Mills)가 1985년에 개발한 이후, 현재는 널리 사용되는 인터넷 프로토콜 중 하나이다. 주로 UDP 포트 123을 사용하며, Miliseconds 단위의 정확도로 시간을 동기화할 수 있다. 동작 원리 NTP는 클라이언트와 동기화 서버 간의 패킷을 교환하여 시간을 동기화한다. 아래의 4 단계를 거쳐서 동기화가 이루어진다... 2024. 11. 19. [Network] ICMP / IGMP ICMP (Internet Control Message Protocol) ICMP는 IP 네트워크의 진단과 제어를 담당하는 프로토콜이다. OSI 모델의 네트워크 계층(Layer 3)에서 작동하며, IP 패킷의 전송 과정에서 아래와 같은 역할을 수행한다. 오류 메시지 전달: IP 패킷 전송 중 발생하는 다양한 오류 상황을 보고네트워크 상태 진단: 호스트 간의 연결성과 라우팅 경로 확인네트워크 디버깅: 네트워크 문제 해결을 위한 진단 정보 제공라우팅 최적화: 더 효율적인 경로 정보를 호스트에게 제공 특징오류 보고: 패킷 전송 실패, 경로 문제 등을 알림네트워크 진단: ping, traceroute 등의 도구를 통한 연결성 테스트흐름 제어: 패킷의 속도 조절 및 혼잡 제어에 관여 IGMP (Interne.. 2024. 11. 13. 이전 1 2 3 4 ··· 7 다음