콘텐츠로 바로가기

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 라이브러리 사용: 단순히 fetch API를 호출하는 능력을 넘어, 하부에서 일어나는 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

  1. Network Foundations: OSI 및 TCP/IP 모델을 통해 데이터 캡슐화와 계층적 추상화의 물리적 원리를 익힙니다. (P1)
  2. Transport & Reliability: 패킷 유실과 지연 상황에서도 데이터 무결성을 보장하는 TCP/UDP 전송 엔진을 배웁니다. (P1)
  3. Global Routing & IP: IP 주소 지정과 BGP/OSPF 알고리즘을 통해 글로벌 데이터 경로를 설계하는 역량을 갖춥니다. (P1)
  4. Web protocols & API: HTTP/3, gRPC 및 mTLS를 통해 현대적 서비스 간의 고성능 통신 규약을 구축합니다. (P1)
  5. Messaging & Streaming: 비동기 메시지 큐와 분산 이벤트를 통해 대규모 데이터 고속도로의 전송 역학을 이해합니다. (Industry)
  6. 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: 특정 프로토콜 스택에서의 데이터 단위 변천 과정을 도식화한 네트워크 프로토콜 맵.

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

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Encapsulation, 캡슐화 상위 레이어의 데이터에 해당 레이어의 제어 정보(헤더)를 감싸 데이터 단위를 형성하는 과정입니다. 기본 구조/번역 OSI 7-Layer vs. Decapsulation 단순히 물리적으로 데이터를 압축하는 기술로 오해함 Primary core
Congestion Control, 혼잡 제어 네트워크 전체의 패킷 폭주를 막기 위해 송신측의 데이터 전송률을 지능적으로 조절하는 기법입니다. 권장 신뢰성 Slow Start vs. Flow Control 수신측 버퍼 용량에 맞추는 '흐름 제어'와 혼동하기 쉬움 Primary core
QUIC UDP를 기반으로 하되 TCP의 신뢰성과 TLS의 보안성을 결합하여 연결 지연을 획기적으로 낮춘 프로토콜입니다. 실무 성능 혁신 HTTP/3 vs. TCP, TLS UDP이기 때문에 데이터 유실이 발생할 것이라고 착각함 Industry, IETF core
SDN (Software Defined NW) 하드웨어가 아닌 소프트웨어를 통해 네트워크의 제어 경로와 데이터 경로를 분리 및 관리하는 기술입니다. 심화 관리 자동화 Control Plane vs. Legacy Routing 단순히 네트워크 설정을 스크립트로 짜는 수준으로 오해 Industry Networking Foundation core

8. References

Primary References

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)을 제공하는 구조를 설계했는가?