Network & Communication
디지털 통신의 물리적 전송부터 응용 계층 프로토콜, 그리고 현대적 API 패러다임을 정의하는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts9 min read
1. Overview
네트워크 및 통신(Network & Communication, NC)은 독립된 컴퓨팅 노드들이 광역망 또는 로컬망에서 데이터를 안전하고 효율적으로 교환하기 위한 전송 표준과 연결 기술을 다룹니다. 본 카테고리는 물리적 신호 전달부터 신뢰성 있는 패킷 전송 엔진(TCP/UDP), 전 세계적 주소 체계인 IP, 그리고 최상위 응용 프로토콜인 HTTP/3 및 RPC 패러다임을 탐구합니다.
CS2023의 Networking and Communication (NC) 지식 영역을 근간으로 삼아, 데이터 캡슐화의 원리부터 클라우드 기반 가상 네트워킹과 에지 컴퓨팅을 위한 최적화 기술까지 체계적으로 다룹니다.
2. Scope & Boundaries
In-Scope
- 네트워크 계층 모델: OSI 7-Layer 및 TCP/IP 4-Layer 모델의 책임과 상호 작용 메커니즘.
- 프로토콜 엔진 인터널: IP 주소 체계(P2P/Subnet), TCP 혼잡 제어(Cubic, BBR), UDP 비신뢰 전송 모델.
- 응용 및 API 표준: HTTP/1.1~3(QUIC), REST 수준 모델, gRPC(Protobuf), 통신 보안(TLS 1.3).
- 소프트웨어 정의 인프라: SDN, Load Balancing(L4/L7), CDN 캐싱 및 에지 네트워킹 전략.
Out-of-Scope
- 물리 계층 하드웨어 설계: 라우터나 스위치의 ASIC 논리 회로 설계 (02. CAES 노드로 위임).
- 분산 상태 동기화 논리: 합의 알고리즘을 통한 비즈니스 데이터 일관성 (07. SADS 노드로 위임).
- 웹 UI 컴포넌트 개발: HTML/CSS 기반의 레이아웃 및 렌더링 최적화 (14. Web 노드로 위임).
Boundaries
- NC는 데이터의 '전송(Delivery)' 그 자체와 **'통로(Carrier)'**의 효율성에 집중하며, 이 통로를 통해 전달된 데이터의 의미론적 처리는 시스템 아키텍처에서 담당합니다.
3. Counterexample
- 단순한 쉘 명령어 숙달: 'curl -v'나 'ping'을 실행하는 과정은 툴 활용 단계입니다. 왜 첫 번째 요청에서 ARP 지연이 발생했는지, 혹은 DNS 재귀적 조회 과정에서 어떤 호흡 주기가 걸리는지 분석하는 것이 NC의 공학적 핵심입니다.
- 고수준 API 라이브러리 사용: 단순히
fetchAPI를 호출하는 능력을 넘어, 하부에서 일어나는 TCP 윈도우 크기 조정, 인증서 체인 검증, 헤더 압축(HPACK) 오버헤드를 진단하고 성능 병목을 찾아낼 수 있어야 합니다.
4. Prerequisites
- 운영체제 (Basic): 커널의 네트워크 스택 인터럽트 처리 방식 및 비차단(Non-blocking) I/O 소켓 모델 이해. (P1
) - 수리 논리 (Basic): CIDR 표기 기반의 서브넷 계산 및 확률론적 대기행렬 이론(Queueing Theory) 기초. (P1
) - 컴퓨터 구조 (Recommended): NIC(Network Interface Card)와 메인 메모리 간의 DMA 전송 및 패킷 버퍼 관리 원리. (P1
)
5. Learning Map
- Network Foundations: OSI 및 TCP/IP 모델을 통해 데이터 캡슐화와 계층적 추상화의 물리적 원리를 익힙니다. (P1
) - Transport & Reliability: 패킷 유실과 지연 상황에서도 데이터 무결성을 보장하는 TCP/UDP 전송 엔진을 배웁니다. (P1
) - Global Routing & IP: IP 주소 지정과 BGP/OSPF 알고리즘을 통해 글로벌 데이터 경로를 설계하는 역량을 갖춥니다. (P1
) - Web protocols & API: HTTP/3, gRPC 및 mTLS를 통해 현대적 서비스 간의 고성능 통신 규약을 구축합니다. (P1
) - Messaging & Streaming: 비동기 메시지 큐와 분산 이벤트를 통해 대규모 데이터 고속도로의 전송 역학을 이해합니다. (Industry
) - SDN & Cloud Networking: 소프트웨어 정의 네트워크를 통해 물리 장비 없이도 복잡한 가상 망을 프로그래밍합니다. (Industry
)
6. Learning Topics
Basic
Core Topic 01: 계층 모델과 패킷 캡슐화 (Layered Models & Encapsulation)
- Why to Learn: 통신 장애가 발생했을 때 하부 물리망부터 상위 애플리케이션까지 체계적으로 문제 구간을 격리하여 진단하기 위함입니다.
- What to Learn:
- Concepts: OSI 7-Layer vs TCP/IP 모델, PDU(Segment, Packet, Frame), 캡슐화 및 역캡슐화.
- Skills: 계층 간 데이터 전달 과정을 추적하고 각 헤더가 수행하는 제어 역할(Error check, Routing) 식별.
- Tools: Wireshark,
tcpdump, Packet Tracer. - Trade-offs: 계층적 추상화의 이점(표수화) vs 각 계층 헤더 추가로 인한 데이터 오버헤드.
- How to Learn:
- 1단계: Wireshark를 켜고 단순한 HTTP GET 요청 하나를 보냈을 때 생성되는 모든 계층의 헤더 내용을 분해 분석합니다.
- 2단계: 데이터 가공 없이 패킷만 포워딩하는 장치(L2/L3)가 패킷의 어느 영역까지 읽고 수정하는지 실험합니다.
- Implement: 특정 프로토콜 스택에서의 데이터 단위 변천 과정을 도식화한 네트워크 프로토콜 맵.
Recommended
Core Topic 02: 전역 신뢰성 전송과 혼잡 제어 (Transport Integrity & Congestion)
- Why to Learn: 불안정한 네트워크 환경에서도 데이터가 유실되지 않음을 보장하고, 전체 네트워크 붕괴를 막기 위한 전송률 조절 전략을 수립하기 위함입니다.
- What to Learn:
- Concepts: TCP 3-Way Handshake, Sliding Window, Slow Start, 혼잡 회피 알고리즘(Reno, BBR).
- Skills: 네트워크 혼잡 상황(Congestion) 발생 시 처리량(Throughput) 저하 지점 진단.
- Tools: iPerf,
ss -it(TCP info), 시뮬레이션 환경 (NS-3 기초). - Trade-offs: 완벽한 재전송 보장(Reliability) vs UDP와 같은 비신뢰 고속 전송(Speed).
- How to Learn:
- 1단계: 패킷 손실률이 높은 가상 환경을 구축하고 TCP 버전에 따른 대역폭 회복 속도 차이를 벤치마크합니다.
- 2단계: '지연 시간 절감'이 우선인 서비스(게임, 화상회의)에서 UDP/QUIC가 왜 유리한지 실습 데이터를 통해 증명합니다.
- Implement: 특정 대역폭과 지연 시간을 가진 환경에 최적화된 커널 TCP 파라미터 튜닝 제안서.
Practical
Core Topic 03: 글로벌 라우팅과 주소 지정 (Global Routing & IP)
- Why to Learn: 수억 개의 노드로 구성된 글로벌 인터넷 환경에서 데이터가 가장 빠르고 최적화된 경로를 찾아가게 하기 위함입니다.
- What to Learn:
- Concepts: IPv4/IPv6 공존 물리, CIDR 서브네팅, BGP(Border Gateway Protocol) 자율 시스템 전파.
- Skills: 대규모 서브넷 마스크 설계 및 다중 경로 환경에서의 라우팅 메트릭 최적화.
- Tools:
traceroute,route print, BGP Looking Glass. - Trade-offs: 정적 라우팅의 단순성 vs 동적 라우팅의 유연성 및 수렴(Convergence) 시간 오버헤드.
- How to Learn:
- 1단계: CIDR 계산기를 이용해 특정 호스트 수에 맞는 가장 효율적인 서브넷 범위를 산출합니다.
- 2단계: AS(Autonomous System) 간의 전파 경로를 분석하여 특정 국가나 ISP의 망 연결 상태를 워칭합니다.
- Implement: 특정 기업망의 트래픽을 지역별로 분산하기 위한 고수준 L3 토폴로지 설계안.
Core Topic 04: 현대적 웹 프로토콜과 고성능 API (Web protocols & API)
- Why to Learn: 수천 개의 마이크로서비스가 연결된 환경에서 통신 비용을 최소화하고 보안 가시성을 확보하기 위함입니다.
- What to Learn:
- Concepts: HTTP/3 QUIC의 0-RTT 연결, gRPC 바이너리 직렬화, mTLS 상호 인증 물리.
- Skills: REST와 gRPC 중 비즈니스 요구사항에 맞는 통신 모델을 선정하고 레이턴시 병목을 진단하기.
- Tools: Wireshark, gRPCui, TLS Inspector.
- Trade-offs: 텍스트 기반 요청의 가독성 vs 바이너리 기반 요청의 압도적 전송 성능.
- How to Learn:
- 1단계: 동일한 데이터를 JSON과 Protobuf로 전송하며 패킷 크기와 CPU 사용량의 상관관계를 측정합니다.
- 2단계: 패킷 손실이 10% 이상인 가혹 환경에서 HTTP/2와 HTTP/3의 처리량 변화를 벤치마킹합니다.
- Implement: 전 구간 암호화(mTLS)가 적용된 클라우드 네이티브 서비스 간 통신 설계 가이드.
Advanced
Core Topic 05: 분산 메시징 및 이벤트 스트리밍 (Messaging & Streaming)
- Why to Learn: 시스템 간 결합도를 낮추고 초당 수백만 건의 데이터를 실시간으로 처리하는 메시지 고속도로를 구축하기 위함입니다.
- What to Learn:
- Concepts: Pub/Sub 물리 모델, 순차 로그(Append-only Log) 물리학, 메시지 전송 보장 수준(At-least/Exactly-once).
- Skills: 대규모 트래픽 폭주 시 메시지 큐를 이용한 버퍼링 설계 및 파티셔닝을 통한 수평 확장.
- Tools: Apache Kafka, RabbitMQ, NATS.
- Trade-offs: 높은 메시지 처리량(Throughput) vs 즉각적인 데이터 정합성(Strong Consistency).
- How to Learn:
- 1단계: 메시지 브로커를 사이에 두고 두 서비스가 비동기로 데이터를 교환하는 아키텍처를 시뮬레이션합니다.
- 2단계: 카프카 클러스터에서 특정 노드를 중단시켰을 때 리더 선출과 오프셋 복구가 일어나는 물리 과정을 추적합니다.
- Implement: 데이터 유실을 0.001% 이하로 억제하는 고신뢰 이벤트 스트리밍 파이프라인 설계도.
Core Topic 06: SDN 및 가상 네트워킹 (SDN & Cloud Networking)
- Why to Learn: 클라우드 상에서 물리적 장비 없이도 복잡한 가상 네트워크(VPC)를 구축하고, 트래픽 흐름을 소프트웨어로 동적 제어하기 위함입니다.
- What to Learn:
- Concepts: Control Plane vs Data Plane 분리, VXLAN 터널링, BGP를 이용한 GSLB(Global Server Load Balancing).
- Skills: 가상 오버레이 망 설계 및 서비스 규모 확장에 따른 전역 부하 분산 경로 최적화.
- Tools: Mininet, Cloud Virtual Networks (VPC, Subnet), OpenFlow 인터페이스.
- Trade-offs: 중앙 제어의 강력한 관리 능력 vs 제어 계층 장애 시 전체 네트워크 마비 임계점.
- How to Learn:
- 1단계: 직접 SDN 컨트롤러를 통해 동적으로 패킷 라우팅 경로를 실시간 변경하는 실습을 수행합니다.
- 2단계: Anycast IP 기술이 전 세계 사용자에게 어떻게 가장 가까운 서버를 찾아주는지 Traceroute로 물리 경로를 분석합니다.
- Implement: 멀티 리전(Multi-region) 서비스 확장을 위한 고탄력 가상 네트워크 토폴로지 설계안.
7. Terminology
8. References
Primary References
- [P1] CS2023: NC — Networking and Communication Knowledge Areas.
- [P5] SFIA v9: Network Design — 네트워크 엔지니어링 설계 및 운영 기술 역량.
Secondary References
- [Kurose & Ross] Computer Networking: A Top-Down Approach — 현대 네트워크 교육의 표준 실천서.
- [Tanenbaum] Computer Networks — 네트워크 아키텍처 전반을 다루는 학술 교과서.
Industry References
- [Cloudflare Learning] How the Internet works — 실무에서 발생하는 네트워크 이슈와 해결책 가이드.
- [Google SRE Book] Communication Patterns — 구글 스케일의 안정적인 글로벌 통신 운영 원칙.
9. Final Checklist
Primary Checklist
- 특정 통신 지연 발생 시 로컬 시스템, 게이트웨이, 외부망 중 어느 구간의 문제인지 진단 도구로 식별할 수 있는가? (P1-NC)
- IP 가용 대역폭을 효율적으로 관리하기 위해 서브네팅(Subnetting) 및 CIDR 설계를 정확히 수행했는가? (P1-NC-NW)
Secondary Checklist
- 서비스의 지연 시간 민감도와 데이터 중요도에 따라 TCP와 UDP 중 최적의 프로토콜을 선택하고 근거를 제시했는가?
- HTTP/2 및 HTTP/3의 멀티플렉싱(Multiplexing) 메커니즘이 웹 페이지 로딩 속도에 미치는 영향을 측정했는가?
Industry Checklist
- 클라우드 네이티브 환경에서 서비스 간 보안 통신을 위해 mTLS 상호 인증 프로토콜을 구현하고 적용했는가?
- Anycast IP 및 CDN 전략을 활용하여 전역 사용자에게 낮은 지연 시간(Low Latency)을 제공하는 구조를 설계했는가?