풀스택 개발자를 위한 네트워크 11장 — 컨테이너와 클라우드 네트워크
Docker 네트워크 드라이버와 컨테이너 안의 localhost 함정, 포트 매핑 방향과 ufw로 막히지 않는 publish, depends_on과 healthcheck, Kubernetes Service·DNS, VPC 서브넷과 보안 그룹·NACL의 차이를 다룬다.
blog92@web:~$ cd categories/network
TCP/IP·HTTP·TLS·CORS — 패킷이 오가는 길을 따라가는 기록
Docker 네트워크 드라이버와 컨테이너 안의 localhost 함정, 포트 매핑 방향과 ufw로 막히지 않는 publish, depends_on과 healthcheck, Kubernetes Service·DNS, VPC 서브넷과 보안 그룹·NACL의 차이를 다룬다.
포워드·리버스 프록시의 역할 구분, 프록시 뒤에서 클라이언트 IP와 프로토콜을 되찾는 법, L4와 L7 로드밸런서, 헬스체크와 Graceful Shutdown, CDN과 API Gateway까지 인프라 구성요소를 정리한다.
Polling·SSE·WebSocket·WebRTC를 요구사항 기준으로 비교하고, Nginx 버퍼링과 Upgrade 헤더, "정확히 60초마다 끊김"의 원인, WebRTC 시그널링과 STUN/TURN/SFU의 네트워크 포인트를 다룬다.
URL 입력부터 렌더까지의 전체 흐름을 되짚고, Origin과 SOP, CORS preflight와 credentials, 쿠키 보안 속성, CSRF·XSS를 네트워크 관점에서 정리한다. CORS 트러블슈팅 체크리스트 포함.
HTTPS가 보장하는 기밀성·무결성·인증, 인증서 신뢰 체인과 fullchain 누락 사고, TLS 1.3 핸드셰이크와 SNI·ALPN, 폐쇄망 사설 CA의 클라이언트별 신뢰 저장소 차이를 정리한다.
HTTP 메시지 구조와 메서드의 의미론, 실무에서 갈리는 상태 코드(401/403, 502/504), Cache-Control과 조건부 요청, 그리고 1.0에서 3까지의 진화와 각 버전이 해결한 HOL Blocking을 다룬다.
DNS의 계층 구조와 조회 과정, 주요 레코드 타입과 apex CNAME 제약, TTL과 애플리케이션 레벨 캐시의 함정, /etc/hosts 오버라이드, dig·getent로 확인하는 법을 정리한다.
포트와 소켓의 생애주기부터 3-way/4-way 핸드셰이크, TIME_WAIT과 CLOSE_WAIT이 알려주는 것, 재전송·흐름 제어·혼잡 제어, UDP와의 비교, 그리고 에러 코드로 계층을 읽는 법까지.
CIDR 계산법과 사설 대역, NAT가 Rate Limit·WebRTC에 미치는 영향, 라우팅 테이블과 Docker 대역 충돌, MTU·PMTU 블랙홀, IPv6 환경의 ECONNREFUSED까지 네트워크 계층을 정리한다.
MAC 주소가 "다음 홉"의 주소인 이유, 스위치의 MAC 학습, ARP로 IP에서 MAC을 찾는 과정과 ARP 캐시가 일으키는 실무 증상, 그리고 VLAN에 의한 논리적 분리를 다룬다.
회선 교환과 패킷 교환의 차이에서 출발해 OSI 7계층과 TCP/IP 4계층의 대응, 캡슐화와 역캡슐화, 그리고 방화벽·로드밸런서가 모두 기준으로 삼는 5-tuple까지 정리한다.
blog92@web:~$ cd ..