네트워크와 도커 개념 요약

김현우·2025년 4월 8일
post-thumbnail

네트워크 기본부터 도커까지 주요 개념 간단 정리


1. 공인망 vs 사설망

  • 공인망은 인터넷에 직접 연결되는 네트워크
  • 사설망은 내부 전용망. 외부에서 직접 접근 불가
  • 공인 IP는 ISP가 제공함
  • 사설망에서는 사설 IP 사용됨

2. 사설 IP 주소 대역 (RFC1918)

  • 클래스 A: 10.0.0.0/8
  • 클래스 B: 172.16.0.0/12
  • 클래스 C: 192.168.0.0/16
  • 외부에서 접근 불가. NAT 통해 통신해야 함

3. CIDR (서브넷 표현)

  • 예: 192.168.0.0/24 → 256개 주소 가능
  • /24는 서브넷 마스크 255.255.255.0 의미
  • 유연한 네트워크 구성 가능하게 함

4. 네트워크 인터페이스 vs 포트

  • 인터페이스는 네트워크 출입구 역할. eth0, lo 등 있음
  • 포트는 인터페이스 위에서 앱을 구분하는 번호
  • 예: 127.0.0.1:3000 → 3000포트에서 실행 중

5. NAT와 포트포워딩

  • NAT는 사설 IP ↔ 공인 IP 변환함
  • 포트포워딩은 외부 포트를 내부 포트로 연결
  • 장점: 공인 IP 절약, 보안 향상
  • 단점: 설정 복잡, 실시간 통신(P2P)에 제약 생김

6. 인바운드 vs 아웃바운드

  • 인바운드는 외부에서 내부로 들어오는 트래픽
  • 아웃바운드는 내부에서 외부로 나가는 트래픽
  • 방화벽이나 보안 설정 시 자주 구분됨

7. DNS

  • 도메인 이름을 IP로 변환하는 시스템
  • 계층적 구조 가짐
  • 질의 순서: 로컬 캐시 → ISP DNS → 루트 DNS
  • 예: google.com → 142.x.x.x

8. 도커 컨테이너 가상화

  • 컨테이너는 OS 커널 공유하는 격리된 실행 환경
  • VM보다 가볍고 빠름
  • 파일 시스템, 네트워크, 프로세스는 격리됨
  • DevOps, CI/CD 환경에서 많이 사용됨

9. 가상 인터페이스 (veth)

  • 도커 컨테이너 네트워크 연결에 사용됨
  • veth pair는 호스트와 컨테이너를 연결하는 인터페이스 쌍
  • 브릿지 네트워크 내부에서 사용됨

10. iptables (리눅스 방화벽)

  • 리눅스 커널에서 동작하는 방화벽 도구
  • 패킷 필터링, NAT, 포트포워딩 등 설정 가능
  • 도커 내부에서도 사용됨
# 포트포워딩 예시 (8080 → 3000으로 연결)
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 3000

11. docker network 관련 명령어

# 네트워크 목록 확인
docker network ls

# 컨테이너 네트워크 정보 확인
docker inspect <container_id>

# 커스텀 브릿지 네트워크 생성
docker network create --driver bridge my_net

# 컨테이너 네트워크 연결
docker network connect my_net <container_name>

# 네트워크에서 분리
docker network disconnect my_net <container_name>

마무리

네트워크 개념과 도커 환경에서의 네트워크 동작 이해하는 데 도움 되었으면 좋겠음
실무, 프로젝트, 인프라 구성 전 꼭 정리해두는 걸 추천함

0개의 댓글