From a174da0637abfd3d30c74554ce02d9adc88a0793 Mon Sep 17 00:00:00 2001 From: lim-jaein Date: Tue, 21 Apr 2026 22:04:18 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[Ch.10]=20=EB=84=A4=ED=8A=B8=EC=9B=8C?= =?UTF-8?q?=ED=81=AC=20=E2=80=94=20=EC=9E=84=EC=9E=AC=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../img.png" | Bin 0 -> 22167 bytes .../network-basics.html" | 882 ++++++++++++++++++ 2 files changed, 882 insertions(+) create mode 100644 "ch10-\353\204\244\355\212\270\354\233\214\355\201\254/img.png" create mode 100644 "ch10-\353\204\244\355\212\270\354\233\214\355\201\254/network-basics.html" diff --git "a/ch10-\353\204\244\355\212\270\354\233\214\355\201\254/img.png" "b/ch10-\353\204\244\355\212\270\354\233\214\355\201\254/img.png" new file mode 100644 index 0000000000000000000000000000000000000000..34131178f506c3bf451565bb5027d91b8dc89a71 GIT binary patch literal 22167 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 literal 0 HcmV?d00001 diff --git "a/ch10-\353\204\244\355\212\270\354\233\214\355\201\254/network-basics.html" "b/ch10-\353\204\244\355\212\270\354\233\214\355\201\254/network-basics.html" new file mode 100644 index 0000000..0be0276 --- /dev/null +++ "b/ch10-\353\204\244\355\212\270\354\233\214\355\201\254/network-basics.html" @@ -0,0 +1,882 @@ + + + + + + 네트워크 기초 — 주니어 백엔드 개발자 필수 지식 + + + + + + +
+
+
+
+
📡 주니어 백엔드 개발자 필수 지식
+

네트워크 기초

+

노드부터 프로토콜까지
실무에서 반드시 알아야 할 핵심 개념 정리

+
+ 10장 + 8개 챕터 +
+
+
+ + +
+
+
CHAPTER 01
+

네트워크의 기본 구성요소

+
+
+
+
🖥️
+
노드 (Node)
+
데이터를 송수신하는 모든 장치. 휴대폰, 노트북, 서버 등 네트워크에 연결된 모든 기기가 노드입니다.
+
+
+
📦
+
패킷 (Packet)
+
전송 데이터의 기본 단위. 헤더(발신자·수신자 정보)와 페이로드(실제 데이터)로 구성됩니다.
+
+
+
🔀
+
라우터 (Router)
+
서로 다른 네트워크 간 패킷을 전달하는 장치. 목적지 주소에 따라 다음 라우터를 선택해 전달합니다.
+
+
+ +
+ +
+ +
+ 헤더 (IP Header) + 출발지 IP: 192.168.0.10 + 목적지 IP: 223.130.192.248 +
+ +
+
페이로드 (Payload)
+ +
+ +
+ TCP 헤더 + 출발지 포트: 54321 + 목적지 포트: 443 + 순서 번호: 1 +
+ +
+
페이로드 (HTTP)
+
GET /search?q=뭐먹지 HTTP/1.1
+
Host: www.naver.com
+
+
+
+
+
+
+
+ + +
+
+
CHAPTER 02
+

IP 주소와 도메인

+

노드끼리 통신하려면 서로를 구분할 주소가 필요합니다. 그 주소 체계가 IP이고, 사람이 기억하기 쉽게 이름을 붙인 것이 도메인입니다.

+
+
+
+
📍 IP 주소
+
    +
  • IPv4: 1바이트 × 4 블록 (예: 223.130.192.248), 각 블록 0~255
  • +
  • IPv6: 32비트 → 128비트 확장, IPv4 주소 고갈 대응
  • +
  • IPv4 아직 주류 → 사설IP + NAT 덕분에 고갈 지연
  • +
+
+
+
🌐 도메인 & DNS
+
    +
  • DNS: 도메인명 → IP 변환 (인터넷 전화번호부)
  • +
  • 계층 구조: www.naver.com = com(1) > naver(2) > www(3)
  • +
  • hosts 파일이 DNS보다 우선 적용
  • +
  • 도메인 하나 → 여러 IP → 부하 분산 가능
  • +
+
+
+
+

+ 💡 hosts 파일 위치 — Linux: /etc/hosts  |  Windows: C:\Windows\System32\drivers\etc\hosts +

+
+
+
+ + +
+
+
CHAPTER 03
+

고정 IP vs 동적 IP

+

IP 주소는 어떻게 할당될까요? 서버처럼 항상 같은 주소가 필요한 경우도 있고, 가정용 기기처럼 접속할 때마다 자동으로 받는 경우도 있습니다.

+
+
+
+
🔒 고정 IP
+
    +
  • IP 주소가 변하지 않음
  • +
  • 직접 수동 지정
  • +
  • 주 사용처: 서버
  • +
  • 외부에서 항상 같은 주소로 접근 가능
  • +
  • 관리 비용이 동적 IP 대비 높음
  • +
+
+
+
🔄 동적 IP와 DHCP
+
    +
  • 네트워크 연결 시마다 IP 자동 할당
  • +
  • 주 사용처: 가정용 공유기
  • +
  • IP 주소 효율적 재활용 가능
  • +
+
+

📋 DHCP 서버 (Dynamic Host Configuration Protocol)

+

IP 설정을 자동으로 배포하는 서버. 가정용 공유기가 이 역할을 담당합니다.

+
+
IP 주소
+
게이트웨이
+
서브넷 마스크
+
DNS 서버 주소
+
+
+
+
+
+
+ + +
+
+
CHAPTER 04
+

공인 IP vs 사설 IP

+

그런데 IP 주소라고 다 같은 게 아닙니다. 전 세계에서 접근 가능한 주소와, 특정 네트워크 안에서만 쓰는 주소가 따로 존재합니다.

+
+
+
+
🌍 공인 IP (Public IP)
+
    +
  • 인터넷에서 접속 가능한 전 세계 유일한 주소
  • +
  • 방화벽 없으면 누구나 접근 가능
  • +
  • ISP(Internet Service Provider)가 할당
  • +
  • 클라우드 서버, 웹 서버에 사용
  • +
+
+
+
🏠 사설 IP (Private IP)
+
    +
  • 특정 네트워크 내부에서만 유효
  • +
  • 외부에서 직접 접근 불가
  • +
  • 사설 IP 대역:
  • +
  • 192.168.x.x
  • +
  • 10.x.x.x
  • +
  • 172.16.x.x ~ 172.31.x.x
  • +
  • 다른 네트워크에서 같은 사설 IP → 충돌 없음
  • +
+
+
+
+
+ + +
+
+
CHAPTER 05
+

NAT — 네트워크 주소 변환

+

사설 IP는 외부 인터넷으로 직접 나갈 수 없습니다. 나가려면 공인 IP로 변환이 필요하고, 반대로 외부 요청이 내부 서버에 도달하려면 다시 사설 IP로 되돌려야 합니다.

+

사설 IP ↔ 공인 IP 간 주소를 변환하는 기술. IPv4 고갈 문제를 해결하는 핵심 메커니즘입니다.

+ + +
+ SNAT — Source NAT +

내부 → 외부: 사설 IP를 공인 IP로 변환. 공유기(라우터)가 담당.

+
+
📱 휴대폰
192.168.1.10
+
+
🔀 공유기
SNAT 적용
+
+
📡 공인 IP
218.39.xx.xxx
+
+
🌐 인터넷
+
+
+ + +
+ DNAT — Destination NAT +

외부 → 내부: 공인 IP를 사설 IP로 변환. 로드밸런서·방화벽이 담당.

+
+
🧑‍💻 클라이언트
58.221.x.x
+
+
⚖️ 로드밸런서
DNAT 적용
+
+
🖥️ 서버 1
10.1.1.101
+
/
+
🖥️ 서버 2
10.1.1.102
+
+
+ +
+

+ 💡 실무 예시 — musinsa.com 로 들어온 요청을 로드밸런서가 DNAT으로 여러 내부 서버에 트래픽을 분배합니다. +

+
+
+
+ + +
+
+
CHAPTER 06
+

VPN — 가상 사설 네트워크

+

사설 IP는 외부에서 직접 접근할 수 없습니다. 그럼 개발자가 집에서 회사 서버에 안전하게 접속하려면 어떻게 해야 할까요?

+
+

공용 네트워크에서 서로 다른 네트워크 간 암호화된 연결(터널)을 제공하는 기술

+ +
+

📌 VPN이 필요한 이유

+
    +
  • 서버 네트워크의 노드들은 사설 IP → 외부에서 직접 접근 불가
  • +
  • 모든 서버에 공인 IP를 매핑하면 심각한 보안 위험
  • +
  • 집·카페 등 외부 환경에서도 사무실 내부 네트워크처럼 안전하게 접근
  • +
+
+ +
+
🧑‍💻 개발자 PC
외부 환경
+
+
🔐 VPN 클라이언트
+
+ 🔒 암호화 터널 + ──────→ +
+
🏢 VPN 장비
사내 네트워크
+
+
🖥️ 서버 네트워크
내부 접근
+
+
+
+ + +
+
+
CHAPTER 07 — 1/2
+

TCP vs UDP

+

주소 체계를 알았다면, 이제 데이터를 실제로 어떻게 주고받을지 규칙이 필요합니다. 연결을 맺고 신뢰성을 보장할 것인지, 아니면 빠른 속도를 선택할 것인지에 따라 프로토콜이 나뉩니다.

+
+
+ + +
+
🔗 TCP Transmission Control Protocol
+
    +
  • 연결 기반 — 전송 전 3-Way Handshake 필요
  • +
  • 패킷 순서 보장, 유실 시 재전송
  • +
  • 높은 신뢰성, 상대적으로 느림
  • +
  • HOL(Head-of-Line) 블로킹 문제
  • +
  • 사용: HTTP, SMTP, FTP
  • +
+
+

3-WAY HANDSHAKE

+ + + + + + + + + + 클라이언트 + 서버 + + + + + SYN + + + SYN-ACK + + + ACK + ✓ 연결 완료 — 데이터 전송 시작 + +
+
+ + +
+
⚡ UDP User Datagram Protocol
+
    +
  • 비연결 — 연결 과정 없이 즉시 전송
  • +
  • 순서·유실 보장 없음
  • +
  • 빠른 속도, 낮은 오버헤드
  • +
  • 사용: DNS, VoIP, 게임, 스트리밍
  • +
+
+

CONNECTIONLESS

+ + + + + + + 클라이언트 + 서버 + + + + + Data 1 + + + Data 2 + + + Data 3 + 💨 유실 + + + Data 4 + ⚡ 재전송 없음 — 속도 우선 + +
+
+
+
+
+ + +
+
+
CHAPTER 07 — 2/2
+

QUIC — HTTP/3의 기반

+

TCP는 신뢰성이 있지만 느리고, UDP는 빠르지만 신뢰할 수 없습니다. 둘의 장점만 합치면? 그것이 QUIC입니다.

+
+ + +
+
+
🔗 TCP에서
+
순서 보장 · 재전송
혼잡 제어
+
+
+
+
+
⚡ UDP에서
+
빠른 전송
낮은 오버헤드
+
+
+
+
🚀 QUIC
+
신뢰성 + 속도
TLS 1.3 내장
+
+
+ + +
+ + +
+

🔄 연결 수립 속도 개선

+

TCP는 3-Way Handshake (1 RTT)TLS 1.2 Handshake (2 RTT)를 따로따로 수행. QUIC는 둘을 한 번에 처리합니다.

+
+
+
HTTP/2 (TCP 3-Way + TLS 1.2)
+
+
+
+
+
+
+ 3 RTT +
+
+
+
QUIC (연결 + 암호화 동시)
+
+
+
+
+
+
+ 1 RTT +
+
+
+
+ + +
+

🚧 HOL (Head-of-Line) 블로킹 해결

+

HTTP/2는 TCP 위에서 멀티플렉싱을 구현했지만, TCP 레벨에서는 하나의 패킷 유실이 전체 스트림을 멈춥니다. QUIC는 스트림을 완전히 독립 처리합니다.

+ +
+ +
+
HTTP/2 (TCP)
+
+
+ S1 +
+
+
+ S2 +
+ 🚫 +
+
+
+ S3 +
⏳ 대기
+
+
+
+ +
+
HTTP/3 (QUIC)
+
+
+ S1 +
+
+
+ S2 +
+ 🚫 +
재전송
+
+
+ S3 +
✓ 독립!
+
+
+
+
+
+
+
+
+ + +
+
+
CHAPTER 07 — 보충
+

빠른 TCP가 아닌 UDP 일까?

+

QUIC = Quick TCP UDP Internet Connections — 왜 TCP가 아닌 UDP일까?

+
+ +
+
+

❌ TCP 헤더 — 너무 복잡하다

+ +
+
+

✅ UDP 헤더 — 빈 도화지

+ +
+
+ +
+ 💡 +

TCP는 오랜 역사 동안 수많은 표준이 정의되고 다양한 OS·브라우저·하드웨어에 구현되어 있습니다. 각기 다른 이해관계자들의 요구사항을 동시에 충족하기도 어렵고, 수정이 사실상 불가능합니다. 그래서 하얀 도화지 같은 UDP가 선택되었고, 그 위에 혼잡 제어·흐름 제어·오류 제어 등 신뢰성 로직을 직접 구현한 것이 QUIC입니다.

+
+
+
+ + +
+
+
+
+
THANK YOU
+

감사합니다 🙌

+
+ 노드 · 패킷 · 라우터 + IP · DNS · NAT · VPN + TCP · UDP · QUIC +
+

주니어 백엔드 개발자 스터디 — 10장 네트워크

+
+
+ + + + + From 9eb3c919fa380767bb1fac0ed66f1dd754e5f7d0 Mon Sep 17 00:00:00 2001 From: lim-jaein Date: Sun, 31 May 2026 16:30:11 +0900 Subject: [PATCH 2/2] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4253b8c..9af0650 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ | 3 | Ch.7 | IO 병목, 어떻게 해결하지 | 손주선 | | 4 | Ch.8 | 실무에서 꼭 필요한 보안 지식 | | | 5 | Ch.9 | 최소한 알고 있어야 할 서버 지식 | | -| 5 | Ch.10 | 모르면 답답해지는 네트워크 기초 | | +| 5 | Ch.10 | 모르면 답답해지는 네트워크 기초 | 임재인 | | 6 | Ch.11 | 자주 쓰는 서버 구조와 설계 패턴 | | ---