Linux Namespaces

Linux Namespace 리눅스 네임스페이스는 프로세스를 실행할 때 시스템의 리소스를 분리해서 실행하도록 도와주는 기능으로, 현대 컨테이너 기반 운영체제 가상화 기술의 기반이 되는 기술이다. 하나의 시스템에서 프로세스들은 기본적으로 시스템의 리소스들을 공유해서 실행하게 되는데, 이는 하나의 root namespace라고 생각할 수 있다. 실제로도 프로그램 실행 시 PID 1번 (launchd 혹은 systemd) 프로세스의 자식 프로세스들로 부팅이 되기 때문에, 모두가 단일 네임스페이스 내에서 동작하고 있다고 생각할 수 있다. 이러한 네임스페이스는 /proc/{PID}/ns 파일을 확인해서 현재 프로세스에서 사용 중인 네임스페이스의 고유 ID를 확인하도록 할 수 있다....

May 12, 2025

[Computer Networks] Data Plane

해당 글은 Computer Networks: Top-Down Approach 에 대해 읽고 정리한 글입니다. 책과 동일한 순서로 정리하지 않습니다. Router 라우터 내부에는 입력 포트와 출력 포트, 이를 이어주는 스위치 구조로 이루어진 데이터 평면(하드웨어)이 존재하며, 그 위에는 이를 제어하기 위한 라우팅 프로세스가 있는 제어 평면(소프트웨어)이 존재한다. 입력 포트 입력 포트는 1~2계층의 기능을 수행한다. 기본적으로 입력 포트의 입력 링크에서 물리적인 비트를 받는다. 또한 반대편에서는 물리적인 비트를 내보낸다. 또한 입력 포트는 들어오는 링크의 반대편에 있는 링크 계층과 상호 운용하기 위해 필요한 링크 계층을 추가적으로 수행하게 되는데, 이는 미들박스로서 표시된다 (나는 미들박스를 우선적으로 미들웨어로 치환하여 생각했다....

April 9, 2025

[Computer Networks] SDN Basic

Software Defined Network (SDN) is a new paradigm of network architecture that allows streamlined traffic control by detaching controlling part from each switch and merge it into one control tower which is called as controller. This article deeply introduces a whole basic information of SDN and also offers cutting-edge technologies of it, too. Traditional Network Architecture In previous times, many organizations that have their own network(it can be virtual/physical, public/private network,,,and everything) are struggling with packet controls....

March 24, 2025

[Computer Networks] More About Keep Alive

Compare the two Keep-Alive techniques of TCP and HTTP. TCP Keep Alive TCP Keep-Alive is a mechanism that works on the transport layer (L4), which checks if the remaining TCP socket is still in use. If not, it disconnects and frees idle resources. Purpose These are the main purposes of TCP Keep-Alive. Detect dead connections: Detect if the other host has shut down abnormally or is disconnected due to network issues....

March 18, 2025

[System Programming] More about RVMA

Google Scholar RVMA is a new approach for data access which is useful in distributed systems. It overcomes remain restrictions in RDMA and behaves properly in distributed & large scale systems. This article summarize and organize key concepts of it. Remain Restrictions of RDMA RDMA is a technology that enables memory access between multiple nodes, and maximizes its benefits when used in large scale computing architectures that distinguish between data nodes and worker nodes in distributed networks....

March 12, 2025

[System Programming] More about RDMA

Study of RDMA (Remote Direct Memory Access) Intro RDMA is technology to transfer data efficiently in network, enables data exchanged between multiple device mem eory buffer without OS or CPU’s interruptions. It contributes significantly in RDMA는 네트워크 상에서 데이터를 효율적으로 전달하기 위한 기술로, 여러 기기 간 메모리 전송에서 OS나 CPU의 개입 없이 데이터를 교환하도록 한다. 이 기술은 고성능 컴퓨팅, 빅데이터 처리, 분산 시스템 등 여러 영역에서의 성능 향상에 크게 기여하고 있다....

March 11, 2025

[Networks] Unix Socket

Unix socket Unix 소켓은 동일 호스트 내에서 프로세스 간 통신 (IPC, Inter-Process Communication)을 가능하게 하는 기능이다. 이는 네트워크 소켓과 유사한 API를 사용하지만, TCP/IP프로토콜을 사용하지 않고 로컬 파일 시스템을 기반으로 작동한다. Unix 도메인 소켓(UDS)는 주로 성능 및 메모리 효율성을 위해 사용되며, TCP소켓보다 더 빠른 통신을 지원한다. 특징 및 장점 로컬 통신: 동일 호스트 내에서 통신이므로, 속도가 빠르다. FS기반: 이는 포트를 통해 연결되지 않고, 파일시스템의 경로를 통해 식별되어 일반적인 파일처럼 다룰 수 있다....

November 30, 2024

[Computer Networks] Local and Private Network IPs

In general, developers often use non-public IP like 192.168.1.111, 127.0.0.1…etc. What’s the difference between them? And why there are various ranges for Private usage IPs? Loopback IP At first, Let’s talk about Loopback IP. Loopback IP, which helps individual host to interconnect between processes using port number, is defined in RFC3330. Be specific, it includes range of 127.0.0.0/8 and we use 127.0.0.1 (as known as localhost) in common. That means we can use other CIDR blocks like 127....

November 23, 2024

Base Policy

BASE 원칙 BASE원칙은 설계 철학 중 하나로, 분산 시스템 내에서 데이터 일관성을 완화하면서도 가용성과 성능을 극대화하기 위한 것이다. 이는 ACID원칙과는 대조적으로, 대규모 분산 시스템(특히 NoSQL)에서 자주 적용된다. BASE는 다음 세 가지 핵심 개념의 약자이다. Basically Available Soft State Eventually Consistent 아래에서 조금 더 자세히 살펴보자. Basically Available 시스템이 항상 가용성을 유지하며, 일부 노드나 부분적인 장애가 발생하더라도 대부분의 요청에 대해 응답 가능해야함을 의미한다. 네트워크 장애나 서버 장애가 시스템의 완전한 중단을 초래하지 않음....

November 23, 2024

CAP & Consistency Model

CAP이론과 일관성 모델 CAP이론은 분산 시스템에서 다음 세 가지 속성을 동시에 만족할 수 없음을 설명한다. 일관성: 모든 노드가 같은 데이터를 반환함. 가용성: 모든 요청이 응답 받을 수 있음. 네트워크 분할 허용: 네트워크 장애에도 시스템이 동작함. 분산 시스템 설계자는 이 중 두 가지를 선택해야 하고, 선택에 따라 적합한 일관성 모델을 결정해야한다. CP(Consistency & Partition Tolerance) 강한 일관성을 유지하지만 일부 요청이 거부될 수 있음 (Zookeeper) 데이터의 정확성과 신뢰성이 중요한 곳에서 적합하다. 특히 금융 시스템에서 쓰인다....

November 23, 2024