Network & Communication
디지털 통신의 물리적 전송부터 응용 계층 프로토콜, 그리고 현대적 API 패러다임을 정의하는 학습 노드입니다.
Article
M
Me
hyunyoun's Blog
network-communicationnetworkcommunicationnetwork-foundationssystem-overviewlearningarchitecturereference-model11 min read
1. Overview
네트워크 및 통신(Network & Communication, NC)은 독립된 컴퓨팅 노드들이 광역망(WAN) 또는 로컬망(LAN)에서 데이터를 안전하고 효율적으로 교환하기 위한 전송 표준과 연결 기술을 다룹니다. 본 카테고리는 물리적 신호 전달을 추상화한 패킷 통신 모델부터 신뢰성 있는 패킷 전송 엔진(TCP/UDP), 전 세계적 라우팅 체계인 IP, 그리고 최상위 응용 프로토콜인 HTTP/3 및 RPC 패러다임을 탐구합니다.
CS2023의 Networking and Communication (NC) 지식 영역을 근간으로 삼아, 데이터 캡슐화의 원리부터 클라우드 기반 가상 네트워킹(VPC)과 에지 컴퓨팅을 위한 최적화 기술까지 체계적으로 다룹니다.
과거의 NC가 정적인 장비 설정에 그쳤다면, 현대의 NC는 모바일 환경의 잦은 IP 변경과 꼬리 지연시간(Tail Latency) 극복을 위해 UDP 기반의 QUIC 프로토콜, 서비스 메시(Service Mesh) 간의 gRPC 양방향 스트리밍, 그리고 제로 트러스트(Zero-Trust) 기반의 mTLS 등 소프트웨어 중심 네트워크(SDN)로 진화하고 있습니다.
2. Scope & Boundaries
In-Scope
- 네트워크 계층 모델: OSI 7-Layer 및 TCP/IP 4-Layer 모델의 책임 경계, 캡슐화(Encapsulation) 및 디캡슐화 메커니즘.
- 프로토콜 엔진 인터널: IP 주소 체계(CIDR, Subnetting), 라우팅(BGP/OSPF), TCP 혼잡 제어 알고리즘(Cubic, BBR), TCP 흐름 제어, UDP 비신뢰 전송 모델.
- 응용 및 API 표준: HTTP/1.1 ~ HTTP/3(QUIC) 차이, REST API 성숙도 모델, gRPC(Protobuf) 기반 이진 직렬화, WebSocket 실시간 양방향 통신.
- 인프라 및 보안 통신: DNS 질의 과정, Load Balancing(L4/L7 차이), CDN 캐싱, TLS 1.2/1.3 핸드셰이크 구조.
Out-of-Scope
- 물리 계층 하드웨어 설계: 라우터나 스위치의 ASIC 논리 회로 설계, 광케이블 신호 변조 → 02. CAES 노드로 위임.
- 분산 상태 동기화 및 아키텍처 논리: 합의 알고리즘(Raft)을 통한 비즈니스 데이터 일관성, 마이크로서비스 경계 설정 → 07. SADS 노드로 위임.
- 웹 프론트엔드 최적화: 브라우저 렌더링 파이프라인, DOM 조작 최적화 → 14. WET 노드로 위임.
Boundaries
- NC는 데이터 패킷의 '전송(Delivery)' 그 자체와 **'통로(Carrier)'**의 신뢰성·보안·효율성에 집중합니다. 전달된 데이터의 페이로드(Payload)를 바탕으로 비즈니스 상태를 바꾸는 논리적 합의는 시스템 아키텍처(07. SADS)의 영역입니다.
- 운영체제(03. OSSM)가 '소켓(Socket) API'를 커널 수준에서 어떻게 구현하는지 다룬다면, NC는 그 소켓을 통해 나간 패킷이 '어떤 규약(Protocol)'을 거쳐 지구 반대편으로 전달되는지를 다룹니다.
3. Counterexample
- 단순한 쉘 명령어 숙달:
curl -v나ping을 실행하여 결과만 확인하는 과정은 툴 활용 단계입니다. 첫 번째 요청에서 ARP 지연이 어떻게 발생했는지, 혹은 DNS 재귀적 조회(Recursive Query) 과정에서 어떤 홉(Hop)을 거치는지Wireshark캡처 패킷 단위로 분석하는 것이 NC의 공학적 핵심입니다. - 고수준 라이브러리에 맹목적 의존: 단순히 Python
requests나 JSfetchAPI를 호출하는 능력을 넘어, 하부에서 일어나는 TCP 3-way 핸드셰이크 지연(RTT), TLS 세션 재개(Session Resumption), HTTP/2 헤더 압축(HPACK) 오버헤드를 진단하고 병목을 찾아낼 수 있어야 합니다. - 대역폭(Bandwidth)과 지연 시간(Latency)의 혼동: 인터넷 속도 측정이 1Gbps라고 해서 1KB 데이터를 보내는 데 1마이크로초가 걸리는 것은 아닙니다. 빛의 속도로 인한 물리적 지연(Latency) 한계를 명확히 구분하고, 파이프라이닝이나 멀티플렉싱으로 이를 어떻게 우회하는지 이해해야 합니다.
4. Prerequisites
- 운영체제 (Basic): 커널의 네트워크 스택(Network Stack) 처리 구조 및 동기/비동기, 차단(Blocking)/비차단(Non-blocking) I/O 소켓 프로그래밍 모델 이해. (P1
) - 수리와 컴퓨팅 논리 (Basic): CIDR 표기 기반의 이진수 비트 연산(서브넷 마스크 계산) 및 확률론적 대기행렬 이론(Queueing Theory) 기초. (P1
) - 컴퓨터 구조 (Recommended): 메인 메모리와 NIC(Network Interface Card) 간의 DMA(Direct Memory Access) 전송 및 인터럽트 병목 메커니즘. (P1
)
5. Learning Map
6. Learning Topics
Basic
Core Topic 01: 계층 모델과 패킷 캡슐화 (Layered Models & Encapsulation)
- Why to Learn: 애플리케이션 접속 불가 현상이 발생했을 때, 하드웨어 선로 문제(L1), IP 라우팅 문제(L3), 포트 차단(L4), 인증서 만료(L7) 등 문제 구간을 수학적으로 격리하여 빠르게 진단하기 위함입니다.
- What to Learn:
- Concepts: OSI 7-Layer 및 TCP/IP 4-Layer 모델, PDU(Segment, Packet, Frame), 캡슐화(Encapsulation) 및 역캡슐화, MAC 주소와 ARP 브로드캐스트.
- Skills: Ping과 Traceroute를 통한 연결성 테스트, 계층 간 데이터 전달 과정을 추적하고 각 헤더가 수행하는 제어 역할 식별.
- Tools: Wireshark,
tcpdump, Cisco Packet Tracer. - Trade-offs: 계층적 추상화의 이점(독립적 발전 및 표준화) vs 각 계층의 헤더 처리로 인한 데이터 전송 오버헤드.
- How to Learn:
- 1단계: Wireshark를 켜고 단순한 HTTP GET 요청 하나를 보냈을 때 생성되는 모든 계층의 헤더(Ethernet, IP, TCP, HTTP) 내용을 분해 분석합니다.
- 2단계: 데이터 가공 없이 패킷만 포워딩하는 장치(L2 Switch, L3 Router)가 패킷의 어느 영역까지 읽고 MAC 주소를 변환하는지 실험합니다.
- Implement: 특정 애플리케이션 통신 장애 발생 시, 하위 계층부터 상위 계층까지 진단하는 트러블슈팅(Troubleshooting) 표준 절차서.
Recommended
Core Topic 02: 전역 신뢰성 전송과 혼잡 제어 (Transport Integrity & Congestion)
- Why to Learn: 대륙을 횡단하는 불안정한 네트워크 환경에서도 데이터가 1비트도 유실되지 않음을 보장하고, 전체 네트워크 마비(Congestion Collapse)를 막기 위함입니다.
- What to Learn:
- Concepts: TCP 3-Way Handshake / 4-Way Teardown, 흐름 제어(Sliding Window), 혼잡 제어(Slow Start, Congestion Avoidance, Fast Retransmit), 혼잡 회피 알고리즘(Reno, Cubic, BBR).
- Skills: 네트워크 혼잡 상황(Congestion) 발생 시 패킷 유실(Packet Loss) 비율과 처리량(Throughput) 저하 곡선 분석.
- Tools: iPerf3,
ss -it(TCP 소켓 정보),netstat. - Trade-offs: 완벽한 재전송 보장 및 순서 보장(TCP)으로 인한 Head-of-Line Blocking 지연 vs 순서 무관/비신뢰 고속 전송(UDP) 속도.
- How to Learn:
- 1단계: 트래픽 제어 도구(
tc명령 등)로 패킷 손실률이 높은 가상 환경을 구축하고, 기존 Cubic과 구글의 BBR 알고리즘 간의 대역폭 회복 속도 차이를 벤치마크합니다. - 2단계: '지연 시간 절감'이 최우선인 서비스(게임 동기화, WebRTC 화상회의)에서 왜 TCP 대신 UDP를 선택해야 하는지 실습 데이터를 통해 증명합니다.
- 1단계: 트래픽 제어 도구(
- Implement: 특정 대역폭과 지연 시간(Bandwidth-Delay Product)을 가진 클라우드 환경에 최적화된 커널 TCP 파라미터 튜닝 제안서.
Practical
Core Topic 03: 글로벌 라우팅과 주소 지정 (Global Routing & IP)
- Why to Learn: 수십억 개의 노드로 구성된 글로벌 인터넷 환경에서 데이터 패킷이 가장 빠르고 안정적인 경로를 실시간으로 찾아가게 하기 위함입니다.
- What to Learn:
- Concepts: IPv4/IPv6 체계, CIDR 서브네팅 및 서브넷 마스크 연산, NAT(Network Address Translation), 내부 라우팅(OSPF) vs 외부 라우팅(BGP).
- Skills: 비즈니스 조직 규모에 맞춘 계층적 IP 서브넷 설계, BGP(Border Gateway Protocol) 자율 시스템(AS) 라우팅 전파 원리 분석.
- Tools:
traceroute/mtr,route print/ip route, BGP Looking Glass. - Trade-offs: 정적 라우팅(Static Routing)의 관리적 단순성과 보안성 vs 동적 라우팅(Dynamic Routing)의 유연성 및 수렴(Convergence) 지연 오버헤드.
- How to Learn:
- 1단계: 사내망 구축 시나리오를 바탕으로 CIDR 계산기를 이용해 부서별(호스트 수별) 가장 효율적인 서브넷 범위를 산출하고 할당합니다.
- 2단계: AS(Autonomous System) 간의 라우팅 홉(Hop)을 추적(
mtr)하여 특정 국가나 ISP의 망 연결 상태를 워칭하고 최적 경로를 도출합니다.
- Implement: 가상 사설망(VPC) 내 다중 가용 영역(Multi-AZ)을 활용하는 고가용성 L3 서브넷 토폴로지 설계안.
Core Topic 04: 현대적 웹 프로토콜과 고성능 API (Web protocols & API)
- Why to Learn: 수천 개의 마이크로서비스가 연결된 환경에서 통신 직렬화/역직렬화 비용을 최소화하고, 보안이 적용된 상태에서도 극도의 짧은 지연 시간을 확보하기 위함입니다.
- What to Learn:
- Concepts: HTTP/1.1 vs HTTP/2(Multiplexing, HPACK), HTTP/3(QUIC 0-RTT 연결), gRPC(Protobuf 바이너리 직렬화), TLS 1.3 암호화 핸드셰이크, mTLS.
- Skills: REST(JSON)와 gRPC(Protobuf) 중 비즈니스 요구사항에 맞는 통신 모델 선정, API 레이턴시 병목(TLS Handshake Time 등) 진단.
- Tools: Wireshark, gRPCui / Postman, TLS Inspector,
curl --http3. - Trade-offs: 텍스트 기반 요청(JSON/REST)의 디버깅 가독성 및 범용성 vs 바이너리 기반 요청(Protobuf/gRPC)의 압도적 네트워크 전송 및 파싱 성능.
- How to Learn:
- 1단계: 동일한 데이터셋을 JSON과 Protobuf 포맷으로 각각 전송하며, 페이로드 크기(Payload Size) 차이와 서버의 CPU 파싱 오버헤드를 측정 비교합니다.
- 2단계: 네트워크 패킷 손실이 10% 이상 발생하는 가혹 환경 시뮬레이터에서 HTTP/2(TCP)와 HTTP/3(UDP 기반 QUIC)의 처리량(Throughput) 저하율을 벤치마킹합니다.
- Implement: 마이크로서비스 간 전 구간 암호화(mTLS)가 적용되고 Protobuf를 활용한 클라우드 네이티브 통신 인터페이스(API) 설계 가이드.
Advanced
Core Topic 05: 분산 메시징 및 이벤트 스트리밍 (Messaging & Streaming)
- Why to Learn: 동기식 API 호출의 연쇄 장애(Cascading Failure)를 방지하기 위해 시스템 간 결합도를 낮추고, 초당 수백만 건의 이벤트를 처리하는 메시지 버퍼를 구축하기 위함입니다.
- What to Learn:
- Concepts: Pub/Sub 물리 모델, 순차 추가 전용 로그(Append-only Log), 파티셔닝(Partitioning), 오프셋(Offset), 메시지 전송 보장 수준(At-most, At-least, Exactly-once).
- Skills: 대규모 트래픽 폭주 시 메시지 큐를 이용한 충격 흡수(Buffering) 설계 및 파티셔닝을 통한 컨슈머 수평 확장(Scale-out).
- Tools: Apache Kafka, RabbitMQ (AMQP), AWS SQS/SNS.
- Trade-offs: 비동기 스트리밍의 매우 높은 시스템 전체 처리량(Throughput) 및 유연성 vs 즉각적인 데이터 정합성 보장의 어려움(Eventual Consistency의 복잡도).
- How to Learn:
- 1단계: 주문 시스템과 결제 시스템 사이에 메시지 브로커(RabbitMQ)를 두어, 결제 시스템이 다운되더라도 주문 데이터가 큐에 안전하게 보관(Durability)되는 아키텍처를 시뮬레이션합니다.
- 2단계: 카프카(Kafka) 클러스터에서 특정 브로커 노드를 강제로 중단시켰을 때 리더 선출(Leader Election)과 컨슈머 그룹의 리밸런싱(Rebalancing)이 일어나는 과정을 추적합니다.
- Implement: 피크 타임에도 데이터 유실을 0.001% 이하로 억제하며 초당 10만 건 이상의 이벤트를 처리하는 고신뢰 스트리밍 파이프라인 아키텍처.
Core Topic 06: SDN 및 가상 네트워킹 (SDN & Cloud Networking)
- Why to Learn: 클라우드 환경에서 물리적 라우터 장비 없이 복잡한 가상 네트워크(VPC)를 프로그래밍 방식으로 구축하고, 트래픽 흐름을 소프트웨어로 동적 제어하기 위함입니다.
- What to Learn:
- Concepts: 제어 평면(Control Plane) vs 데이터 평면(Data Plane)의 분리, 네트워크 가상화 터널링(VXLAN/GENEVE), BGP를 이용한 GSLB(Global Server Load Balancing).
- Skills: 가상 오버레이 망(Overlay Network) 논리적 설계 및 트래픽 양에 따른 전역 서버 부하 분산(L7 LB, GSLB) 최적화.
- Tools: Mininet, Cloud Virtual Networks (AWS VPC, Azure VNet), OpenFlow, Cilium(eBPF 기반 CNI).
- Trade-offs: 중앙 컨트롤러를 통한 일관된 정책 제어 및 강력한 네트워크 자동화 역량 vs 제어 계층 장애 시 전체 네트워크의 마비(SPOF 임계점 위험).
- How to Learn:
- 1단계: SDN 에뮬레이터(Mininet)를 활용하여 컨트롤러에서 Python 코드로 동적 패킷 라우팅 경로를 실시간 변경하는 실습을 수행합니다.
- 2단계: Anycast IP 기술이 전 세계 사용자에게 어떻게 가장 가까운 Edge 서버를 찾아주는지 Traceroute 명령어로 국가별 물리 라우팅 경로를 분석합니다.
- Implement: 글로벌 멀티 리전(Multi-region) 서비스 확장을 위해 선언적 인프라(IaC)로 정의된 고탄력 가상 네트워크 토폴로지 구성도.
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)을 제공하는 구조를 설계했는가?