시스템 성능엔지니어링의 150p 네트워킹
인프런 - 외워서 끝내는 네트워크 핵심이론
소켓
현대 커널은 내장된 네트워크 프로토콜 스택을 제공하여 시스템이 네트워크를 통해 통신하고 분산 시스템 환경에 참여할 수 있게 합니다.
사용자 수준의 어플리케이션은 소켓을 통해 네트워크에 접근합니다.
소켓 : 프로그래밍 가능한 종단점으로 데이터 전송을 위해 사용
리눅스 커널 관점에서 소켓 = 파일입니다.
소켓, 파일, FD
리눅스는 모든 입출력(I/O)을 통일된 방식으로 처리합니다.
FD = 파일 디스크립터 (번호)
프로세스는 I/O 통로를 숫자로 접근합니다.
FD는 프로세스가 I/O를 하기위한 번호입니다.
0 = stdin
1 = stdout
2 = stderr
3 = socket
4 = pipe
5 = /var/log/app.log
file 구조체 = FD가 가리키는 커널 객체
위에서 프로세스가 FD=3 (socket)을 읽으려고 한다면, 아래와 같이 처리됩니다.
ex. 프로세스는 시스템 콜로 커널에 요청합니다 (send, recv, close)
프로세스
↓ (FD 번호)
FD(3)
↓
struct file → 프로세스 관점의 I/O 창구, 마치 세션,창구같은 역할 (여러개 생성)
↓
inode → 커널 관점의 “실체 정보” , 파일의 본체
↓
socket → 실제 네트워크 객체
containerd.sock
TCP/IP 네트워크 소켓이 아닌 UNIX Domain Socket (UDS)
UNIX 도메인 소켓의 대표 특징
- 파일 시스템 경로를 갖는다 (/run/...)
- 동일한 리눅스 커널 안에서만 통신됨
- → 원격 네트워크 연결 불가
- TCP/IP 사용 안 함
- → IP, 포트, 라우팅, 패킷 분할/재조립 없음
- 성능 매우 빠름
- → 커널 내부 메모리 복사 수준
TCP 프로토콜이 아닌 gRPC over Unix Domain Socket 을 사용
같은 노드내 통신이므로 UDS를 사용합니다.
# 컨테이너 생성과정
kubelet
↓ (CRI 요청: gRPC) # uds로 CRI plugin에 접근 (Client)
containerd-shim (CRI plugin) # CRI plugin = gRPC server 역할
↓ (gRPC over Unix Domain Socket) # kubelet요청을 containerd 내부 API호출로 변환 (번역)
containerd daemon # daemon이 runc를 통해 수행
↓ (runc 실행 등)
컨테이너 생성 (PID1)
gRPC
https://digitalbourgeois.tistory.com/214
[gRPC] gRPC란 무엇인가?
gRPC는 Google이 개발한 오픈 소스 원격 프로시저 호출(Remote Procedure Call, RPC) 프레임워크입니다. gRPC는 네트워크를 통해 클라이언트와 서버 간에 함수 호출을 할 수 있도록 설계된 시스템으로, 마치
digitalbourgeois.tistory.com
원격 함수 호출 (Remote Procedure Call)
gRPC는 애플리케이션 레벨 프로토콜:
- 클라이언트/서버 구조
- 함수 호출처럼 원격 프로세스를 호출
- Protobuf 기반 직렬화
- 스트리밍 지원
- 보통 HTTP/2 위에서 동작
- CreateContainer() 함수 좀 실행해줘 라는 식의 API 호출 시스템.
TCP/IP 통신과정
inflearn 강의 참조
외워서 끝내는 네트워크 핵심이론 - 기초| 널널한 개발자 - 인프런 강의
현재 평점 4.9점 수강생 7,971명인 강의를 만나보세요. TCP/IP에서 HTTP까지! 네트워크에 대한 기본 이론이 부족한 분들이 '외워서'라도 전공 이론을 이해하고자 희망하는 분들을 위해 준비한 강의입
www.inflearn.com

네트워크 장애 시나리오
1. 물리단에서 Loss (유실)
2. Re-transmission
ACK - 중복 -> 송신측 ACK 재전송
3. Out of order : 1-2-4 , 3???
TCP스택에서 (운영체제) 재조립
4. Zero Window
: socket(kernel) 버퍼의 여유공간 = window size
송수신속도보다 버퍼 비워지는 속도가 느리다, 데이터 전송x
'SRE' 카테고리의 다른 글
| 시스템성능엔지니어링 #top명령어2 (0) | 2025.12.22 |
|---|---|
| 시스템성능엔지니어링 #top명령어1 #커널 #유닉스 (0) | 2025.12.18 |
| 시스템성능엔지니어링 #OS-스케줄러, 파일시스템 (1) | 2025.12.01 |
| 시스템성능엔지니어링 #context switch (1) | 2025.11.26 |
| 시스템성능엔지니어링 #1 (1) | 2025.11.20 |