← posts/b.log()

blog92@web:~$ cat posts/network-15-checklist.md

NETWORK3 min read

풀스택 개발자를 위한 네트워크 15장 — 정리: 풀스택 개발자 네트워크 체크리스트

시리즈 전체를 개념·설계·운영 세 묶음의 점검 목록으로 압축했다. 각 항목이 낯설다면 해당 장으로 돌아가면 된다. 다음 단계 학습 제안도 함께 담았다.

15장에 걸쳐 살펴본 내용을 점검용 목록으로 정리합니다. 각 항목이 낯설게 느껴진다면 해당 장으로 돌아가세요.

장별 다시 보기

1장. 네트워크의 기본 구조 — 패킷, 프로토콜, 계층 모델 2장. 링크 계층 — MAC, 스위치, ARP, VLAN 3장. 네트워크 계층 — IP, 서브넷, NAT, 라우팅 4장. 전송 계층 — TCP와 UDP, 포트, 소켓 5장. DNS — 이름이 주소가 되기까지 6장. HTTP — 웹의 언어와 그 진화 7장. TLS와 HTTPS — 암호화와 신뢰의 구조 8장. 브라우저 보안 모델 — SOP, CORS, 쿠키 9장. 실시간 통신 — Polling, SSE, WebSocket, WebRTC 10장. 인프라 구성요소 — 프록시, 로드밸런서, CDN, 게이트웨이 11장. 컨테이너와 클라우드 네트워크 12장. 네트워크 성능과 안정성 설계 13장. 네트워크 보안과 폐쇄망 환경 14장. 실전 트러블슈팅 15장. 정리 — 풀스택 개발자 네트워크 체크리스트 (이 글)

개념

  • OSI 계층별로 주소 체계(MAC, IP, 포트, 도메인)를 구분해 설명할 수 있다
  • CIDR 표기에서 네트워크 범위와 호스트 수를 계산할 수 있다
  • 사설 IP, NAT가 서버·WebRTC·레이트 리밋에 미치는 영향을 안다
  • TCP 3-way/4-way 핸드셰이크와 TIME_WAIT, CLOSE_WAIT의 의미를 안다
  • TCP와 UDP의 차이, TCP가 바이트 스트림이라는 사실을 안다
  • DNS 조회 과정, 레코드 타입, TTL과 캐싱의 영향을 안다
  • HTTP 메서드의 멱등성과 상태 코드(특히 401/403, 502/504)를 구분한다
  • HTTP/1.1, 2, 3의 차이와 HOL Blocking을 설명할 수 있다
  • TLS의 인증서 체인, SNI, 사설 CA 신뢰 구조를 안다
  • Origin, SOP, CORS preflight, 쿠키 SameSite의 동작을 안다

설계

  • 요구사항에 맞게 Polling/SSE/WebSocket/WebRTC를 선택할 수 있다
  • 리버스 프록시 뒤에서 클라이언트 IP와 프로토콜을 올바르게 처리한다
  • 모든 네트워크 호출에 타임아웃을 두고, 계층별로 정렬한다
  • 멱등한 요청만 백오프+지터로 재시도한다
  • HTTP 클라이언트와 DB 연결을 재사용한다
  • 정적 리소스와 API 응답에 알맞은 캐시 정책을 설정한다
  • 헬스체크(liveness/readiness)와 Graceful Shutdown을 구현한다
  • 외부 입력 URL을 서버가 호출할 때 SSRF를 방어한다

운영

  • 컨테이너 네트워크(서비스 이름 DNS, 포트 매핑, 바인딩 주소)를 정확히 다룬다
  • 외부에 노출되면 안 되는 포트를 노출하지 않는다
  • 방화벽 정책을 5-tuple 기준으로 명확히 요청할 수 있다
  • 폐쇄망 배포 시 외부 의존성, 대역 충돌, 시간 동기화를 점검한다
  • 인증서 만료를 모니터링한다
  • dig, nc, curl -v, ss, tcpdump, openssl s_client로 계층별 진단을 할 수 있다

마치며

네트워크는 한 번에 외우는 지식이 아니라, 장애를 겪을 때마다 한 계층씩 선명해지는 지식입니다. 이 시리즈의 목적은 모든 세부사항을 암기하는 것이 아니라, 문제가 생겼을 때 "지금 어느 계층의 문제인가?"를 먼저 묻는 습관을 만드는 것입니다.

다음 단계로 추천하는 학습:

  1. Wireshark로 실제 HTTPS 요청 하나를 캡처해 DNS → TCP → TLS → HTTP 흐름을 직접 확인하기
  2. Docker Compose로 Nginx + 앱 + DB를 구성하고, 의도적으로 설정을 틀려 502/504/ECONNREFUSED를 재현하기
  3. 간단한 WebSocket 채팅 서버를 Nginx 뒤에 배포하고 타임아웃·하트비트 실험하기
  4. 사설 CA를 만들어 내부 도메인 HTTPS를 구성하고, Node.js/Java/브라우저에서 각각 신뢰시키기
  5. 『HTTP 완벽 가이드』, 『High Performance Browser Networking』(Ilya Grigorik, 온라인 무료 공개)으로 심화 학습
COMMENTS (…)

댓글을 불러오는 중이에요.

NEW COMMENT0 / 1000
⌘↵ 전송

blog92@web:~$ cd ..