본문 바로가기
IT공부

서버 엔지니어링 — 네트워크 기초 정리

by 왕진 2026. 4. 23.
반응형

 

 

Server Engineering · Network

서버 엔지니어링 관점에서 본
네트워크 기초 완전 정리

IP · DNS · Subnet · NAT · Gateway · Routing · ARP — 실무까지 연결
용어 용어 정리
IP인터넷에서 사용하는 주소
DNS도메인을 IP로 바꿔주는 시스템
Subnet같은 네트워크인지 판단하는 기준
ARP같은 네트워크에서 상대를 찾는 방법
Gateway외부로 나가는 출구
NAT내부 IP를 외부 IP로 바꿔주는 기술
Routing패킷이 목적지까지 가는 경로
Public IP외부에서 접근 가능한 주소
Private IP내부에서만 사용하는 주소

반응형
1 IP (Internet Protocol)
IP는 네트워크에서 어떤 역할을 수행하는가?

IP는 네트워크에서 장치를 식별하는 논리적 주소이자, 데이터를 목적지까지 전달하는 규칙이다. OSI 7계층 중 3계층(네트워크 계층)에 해당하며, 데이터를 패킷 단위로 분할해 전송한다.

집 주소 = IP 주소 택배 = 패킷 택배 기사가 주소 보고 배달 = 라우터가 IP 보고 전달
특성 설명
비연결성 매 패킷을 독립적으로 전송 — 경로가 매번 달라질 수 있음
비신뢰성 패킷 손실·순서 보장 없음 — 그건 TCP의 역할
주소 기반 라우팅 IP 주소를 보고 다음 경유지(라우터)를 결정
IP 주소는 왜 필요한가?

컴퓨터에는 주소가 두 가지 있다. MAC 주소와 IP 주소다.

MAC 주소
  • 비유: 아파트 동호수
  • 같은 네트워크 안에서만 유효
  • 하드웨어에 고정
IP 주소
  • 비유: 도로명 주소
  • 인터넷 전체에서 유효
  • 유동적으로 변경 가능

MAC 주소는 같은 건물 안에서만 통하지만, IP 주소는 전국 어디서도 찾아올 수 있는 주소다. 그래서 인터넷 통신에는 IP가 반드시 필요하다.

※ 실무 포인트
  • IP 충돌(Duplicate IP) 발생 시 → 통신 장애
  • Routing 문제 발생 시 → 특정 IP만 접속 불가
  • 로그 분석 시 접속 IP = 사용자 추적의 핵심

2 IP Class
IP Class는 어떤 기준으로 나뉘는가?

IPv4 주소(32비트)를 첫 번째 옥텟(8비트)의 값 범위로 클래스를 구분한다.

클래스 첫 옥텟 범위 서브넷 마스크 호스트 수 설계 용도
A 1 ~ 126 /8 약 1,670만 국가/대기업
B 128 ~ 191 /16 약 65,534 대학/기관
C 192 ~ 223 /24 254 일반 기업/가정
D 224 ~ 239 멀티캐스트 전용
E 240 ~ 255 연구/예약
※ 127.x.x.x는 루프백(loopback) 주소로 예약 — 127.0.0.1localhost인 이유
Class A/B/C는 각각 어떤 용도로 설계되었는가?

처음 설계 당시의 논리는 단순했다. "큰 회사는 주소를 많이 줘야 하고, 작은 회사는 조금만 줘도 되겠지." 그런데 현실에서는 잘 맞지 않았다. 직원이 5,000명인 회사가 Class B를 받으면 65,534개 중 실제로 5,000개만 쓰고 나머지 60,000개 이상이 낭비된다. 그래서 현재는 Class 방식을 거의 사용하지 않고 CIDR 방식이 표준이 됐다.

※ 실무 포인트
  • 현재는 Class 기반 설계 거의 사용 안 함
  • 대신 CIDR 기반으로 필요한 만큼만 유연하게 할당

 

3 IPv4 vs IPv6
왜 IPv6가 등장했는가?

IPv4는 32비트 주소 체계로 약 43억 개의 주소만 제공한다. 스마트폰, IoT 기기, 서버 급증으로 2011년 IANA에서 IPv4 주소가 사실상 고갈됐다. IPv6는 이 문제를 근본적으로 해결하기 위해 등장했다.

항목 IPv4 IPv6
주소 길이 32비트 128비트
표기 방식 192.168.0.1 2001:db8::1
주소 개수 약 43억 3.4×10³⁸ (사실상 무한)
NAT 필요 여부 필요 거의 불필요
보안 IPSec 선택적 IPSec 기본 내장
브로드캐스트 있음 없음 (멀티캐스트로 대체)
IPv6 전환이 느린 이유는 무엇인가?

이사를 생각해보면 쉽다. 이삿짐만 옮기면 끝이 아니라 주소록도 바꾸고 공과금 주소도 바꾸고 온갖 곳에 새 주소를 등록해야 한다. 네트워크도 마찬가지다.

이유 설명
하위 호환 불가 IPv4와 IPv6는 직접 통신 안 됨 — 변환 계층(듀얼스택, 터널링) 필요
인프라 교체 비용 라우터, 방화벽, 로드밸런서 등 전체 장비 업그레이드 필요
NAT의 역설 IPv4 부족을 NAT가 임시 해결해줘서 긴박감이 낮음
레거시 시스템 오래된 OS·임베디드 장비는 IPv6 미지원
※ 실무 포인트
  • AWS, GCP 등 클라우드에서 IPv6 지원 점점 확대
  • Kubernetes에서도 IPv6 지원 점진적 확장 중

4 Public IP vs Private IP
Public IP와 Private IP의 차이는 무엇인가?
아파트로 비유하면 — Public IP = 아파트 단지 주소 (외부에서 찾아옴) / Private IP = 각 호수 (단지 안에서만 의미 있음)
항목 Public IP Private IP
범위 전 세계 고유 로컬 네트워크 내에서만 유효
인터넷 직접 통신 가능 불가능 (NAT 필요)
할당 주체 IANA → ISP → 사용자 네트워크 관리자 자유 할당
중복 여부 전 세계 유일 다른 네트워크에서 중복 가능
Private IP를 사용하는 이유
이유 설명
IPv4 주소 절약 Public IP 1개 뒤에 수백 개 기기를 NAT로 연결 가능
보안 내부 기기가 인터넷에 직접 노출되지 않음
네트워크 격리 내부를 논리적으로 분리해 관리 용이
Class별 Private IP 대역
클래스 대역 범위
A 10.0.0.0/8 10.0.0.0 ~ 10.255.255.255
B 172.16.0.0/12 172.16.0.0 ~ 172.31.255.255
C 192.168.0.0/16 192.168.0.0 ~ 192.168.255.255
※ 공유기 기본 IP가 192.168.0.1 또는 192.168.1.1인 이유가 바로 Class C Private 대역이기 때문

※ RFC 1918은 1996년 IETF(인터넷 표준화 기구)가 발표한 문서 번호다. "이 대역은 인터넷으로 내보내지 않을 주소로 지정한다"고 규정한 표준이고, 그 문서 번호가 이름처럼 굳어진 것이다. 날짜가 아니라 규약 번호다.
※ 실무 포인트 — 서버 배치 구조
  • 인터넷 → [Public] Load Balancer / Bastion Host
  • [Private] App Server / DB Server

5 NAT (Network Address Translation)
NAT란 무엇인가?

집 안의 기기들은 모두 Private IP를 쓰지만, 인터넷에 나갈 때는 하나의 Public IP로 나가야 한다. 공유기가 이 변환을 담당하는 게 NAT다.

회사 대표 전화번호는 1개인데 직원이 100명이다. 외부 전화 → 대표번호로 수신 → 교환원이 누가 전화했는지 기억 → 응답 오면 해당 직원에게 연결. NAT = 이 교환원 역할
노트북
192.168.1.100
스마트폰
192.168.1.101
스마트TV
192.168.1.102
공유기 (NAT)
Private → Public 변환
인터넷
Public IP: 1.2.3.4

세 기기가 모두 같은 Public IP로 나가지만, 공유기가 포트 번호로 구분해서 응답을 맞는 기기로 돌려준다. 이 기록표를 NAT 테이블이라고 한다.

클라우드 종류 역할
Internet Gateway VPC → 인터넷 직접 양방향 연결
NAT Gateway Private 서브넷 → 인터넷 단방향 출구 (들어오는 건 차단)

6 Subnet Mask & CIDR
Subnet Mask는 무엇을 의미하는가?

IP 주소에서 어디까지가 네트워크 주소이고 어디서부터가 호스트 주소인지 구분하는 32비트 마스크다. 쉽게 말하면 "이 IP가 우리 동네인지 아닌지 판단하는 기준"이다.

IP: 192.168.1.100 서브넷 마스크: 255.255.255.0 (/24) |← 네트워크(24비트) →|← 호스트(8비트) →| AND 연산 결과 → 네트워크 주소: 192.168.1.0
상황 판단 동작
192.168.1.50 (앞 3자리 같음) 같은 동네 ARP로 직접 전달
8.8.8.8 (앞 3자리 다름) 다른 동네 Gateway로 전달
CIDR은 무엇이며 왜 등장했는가?

CIDR(Classless Inter-Domain Routing)은 Class 기반의 주소 낭비 문제를 해결하기 위해 1993년 등장했다. 피자로 비유하면, 8조각 또는 12조각으로만 팔던 걸 원하는 조각 수로 잘라주는 것이다.

Class 방식 (낭비)
5,000개 필요한 회사
→ Class B 받으면 65,534개
60,000개 이상 낭비
CIDR 방식 (효율)
5,000개 필요한 회사
→ /13으로 8,192개만 할당
최소한의 낭비
CIDR 서브넷 마스크 전체 IP 사용 가능 IP 용도
/8 255.0.0.0 16,777,216 16,777,214 대규모 네트워크
/16 255.255.0.0 65,536 65,534 VPC 전체 네트워크
/24 255.255.255.0 256 254 일반 서브넷
/30 255.255.255.252 4 2 라우터 간 P2P 링크
※ 실무 포인트 — AWS VPC 설계
  • VPC: 10.0.0.0/16 → 전체 네트워크
  • 서브넷: 10.0.1.0/24 (AZ-a) / 10.0.2.0/24 (AZ-b) / 10.0.3.0/24 (AZ-c)
  • AWS는 /24 기준 256 - 5(AWS 예약) = 251개 실제 사용 가능

7 Subnetting
Subnetting은 왜 필요한가?
이유 설명
브로드캐스트 감소 패킷이 불필요하게 모든 장치에 전파되는 것 방지
보안 격리 부서별·역할별 네트워크 논리 분리
IP 효율적 사용 필요한 만큼만 할당
장애 범위 격리 문제를 서브넷 단위로 제한
IP 개수는 어떻게 계산하는가?
사용 가능한 호스트 수 = 2^(32 - CIDR 숫자) - 2 예) 192.168.1.0/24 → 2^8 = 256 → 256 - 2 = 254개 → 192.168.1.0 = 네트워크 주소 (사용 불가) → 192.168.1.255 = 브로드캐스트 주소 (사용 불가) → 192.168.1.1 ~ .254 = 호스트 할당 가능
Web 서버
10.0.1.0/24 · Public
App 서버
10.0.2.0/24 · Private
DB 서버
10.0.3.0/24 · Private (엄격 격리)

8 ARP (Address Resolution Protocol)
ARP는 무엇인가?

DNS가 "도메인 → IP"를 찾아주는 거라면, ARP는 "IP → MAC 주소"를 찾아주는 프로토콜이다. 실제로 같은 네트워크 안에서 데이터를 전달할 때는 MAC 주소로 전달하기 때문에 필요하다.

"3반 김철수한테 편지 전달해줘" (IP = 3반 김철수)
→ 실제로는 얼굴을 봐야 알잖아요 (MAC = 얼굴)
→ "3반에서 김철수 누구야?" 하고 외침 (ARP 요청 — 브로드캐스트)
→ 김철수가 "저요!" 하고 손을 든다 (ARP 응답)
→ 이후 MAC 주소를 ARP 테이블에 저장 (캐시)
※ 실무 포인트
  • 같은 IP에 두 기기가 응답 → IP 충돌 오류 발생
  • arp -a 명령어로 현재 ARP 테이블 확인 가능

9 Gateway
Gateway는 어떤 역할을 하는가?

Gateway는 서로 다른 네트워크를 연결하는 출입구이자, 어디로 보낼지 판단하는 라우팅 역할도 한다. 아파트 단지에서 나가려면 반드시 정문을 통과해야 하는 것과 같다.

내 PC
192.168.1.100
목적지가 다른 네트워크
Gateway (공유기/라우터)
192.168.1.1
NAT 수행 후 인터넷으로
인터넷
상황 동작
목적지가 같은 서브넷 ARP로 직접 전달
목적지가 다른 서브넷 Default Gateway로 전달
왜 Gateway가 없으면 외부 통신이 불가능한가?

Gateway 설정이 없으면 컴퓨터 입장에서는 "정문이 어딘지 모르는 상태"다. 다른 네트워크로 나가는 길을 아예 모르니 인터넷 통신이 완전히 차단된다.

※ 실무 포인트
  • 증상: "내부끼리는 되는데 인터넷이 안 돼요"
  • 확인 명령어: ip route 또는 route -n

10 Routing
Routing은 어떤 역할을 하는가?

Routing은 패킷이 목적지까지 가는 경로를 결정하는 것이다. 서울에서 부산까지 내비게이션이 최적 경로를 알려주듯, 라우터가 패킷의 다음 경유지를 결정한다.

내 PC
공유기
(Gateway)
ISP
라우터
인터넷
백본
목적지
서버
TTL (Time To Live) — 패킷에 포함된 숫자. 라우터를 하나 거칠 때마다 -1 감소 → 0이 되면 폐기. 무한 루프 방지용.
※ 실무 포인트
  • traceroute 명령어로 실제 경유 라우터 확인 가능
  • 라우팅 설정 잘못 → 패킷이 목적지 못 찾고 루프 발생
실무 상황 — 라우팅 테이블

상황: 서버에서 외부 API 호출이 안 됨 (결제 API, 지도 API 등)

이해하는 경우
사무실 (SW팀)
서버에서 외부 API 호출이 안 나가요. Gateway 쪽 문제거나 라우팅 테이블 확인해보실 수 있을까요?
필드 엔지니어
확인해보니 default route가 없네요.
사무실 (SW팀)
아 그럼 외부로 나가는 경로가 없는 상태네요. 기본 경로 Gateway로 잡아주세요.
필드 엔지니어
네 0.0.0.0/0 → 192.168.1.1 추가했습니다. 외부 API 정상 호출됩니다.
※ 서버 → 어디로 가야할지 모름 → 라우팅 테이블 없음 → Gateway로 못 나감 → 라우팅 테이블 추가로 해결
못 알아듣는 경우
사무실 (SW팀)
라우팅 테이블 확인해보실래요?
필드 엔지니어
인터넷은 연결돼 있는데요?
사무실 (SW팀)
외부 API 안 되는 건 경로 문제일 수 있어요.
필드 엔지니어
그럼 DNS 바꿔볼까요?
※ 문제 못 찾음 · 시간 낭비 — 라우팅 문제 = "어디로 가야 할지 모르는 상태"

11 DNS (Domain Name System)
DNS는 왜 필요한가?

컴퓨터는 IP 주소로만 통신하지만, 사람은 숫자를 기억하기 어렵다. DNS는 도메인 이름을 IP 주소로 변환하는 인터넷 전화번호부다.

도메인은 어떻게 IP로 변환되는가?
1
브라우저/OS 캐시 확인이전에 조회한 기록이 있으면 바로 사용
2
Recursive Resolver에 질의ISP 또는 8.8.8.8 같은 공개 DNS 서버
3
Root Name Server".com 담당 TLD 서버 주소" 반환
4
TLD Name Server (.com)"naver.com 권한 서버 주소" 반환
5
Authoritative Name Server"223.130.200.107" 반환
6
Resolver가 TTL 동안 캐시 후 전달브라우저가 해당 IP로 접속
레코드 역할 예시
A 도메인 → IPv4 example.com → 1.2.3.4
AAAA 도메인 → IPv6 example.com → 2001:db8::1
CNAME 도메인 → 다른 도메인 (별칭) www → example.com
MX 메일 서버 지정 mail.example.com
TXT 도메인 인증, SPF 등 v=spf1 ...
※ 실무 포인트
  • 배포 후 "왜 아직 예전 주소로 접속되지?" → DNS TTL 캐시 때문
  • 서버 이전 전 TTL 값을 미리 낮춰두면 전파 단축
  • 어떤 PC는 되고 어떤 PC는 안 되는 이유 → 캐시 상태가 다르기 때문
  • 확인 명령어: nslookup, dig

12 전체 흐름 정리

브라우저에 naver.com을 입력하는 짧은 순간, 아래 모든 과정이 자동으로 동작한다.

1
DNS 조회naver.com → 223.130.200.107 변환 (캐시 확인 → 없으면 DNS 서버 질의)
2
서브넷 확인목적지가 다른 네트워크 → Gateway로 전달 결정
3
ARPGateway MAC 주소 확인 후 패킷 전달
4
NAT 수행공유기가 Private IP → Public IP로 변환 후 인터넷으로 내보냄
5
Routing인터넷 라우터들이 IP 보고 경로 결정하며 목적지 방향으로 전달
6
방화벽 통과443 포트 허용 확인 → 통과
7
로드밸런서여러 서버 중 하나로 요청 분배
8
서버 응답TCP 연결 → 데이터 반환 → 역순으로 돌아와 화면에 표시

13 실무 장애 포인트
증상 의심 원인 확인 방법
도메인 접속 안 됨 DNS 문제 (미전파·TTL) nslookup / dig
내부 OK / 인터넷 안 됨 Gateway 설정 오류 ip route
외부에서 서버 접근 불가 NAT / 방화벽 오류 Security Group 확인
내부 서버끼리 통신 불가 Subnet 설정 오류 라우팅 테이블 확인
IP 충돌 오류 Duplicate IP (ARP) arp -a
특정 IP만 접속 불가 Routing 문제 traceroute

14 네트워크 장애 5단계 체크리스트

상황: "서버 접속 안됨 / 인터넷 안됨 / API 호출 안됨" — 아래 순서대로 보면 대부분 문제를 잡는다.

1
DNS 확인 — "이름이 맞는가?" 증상: 도메인으로 접속 안됨, IP로는 됨 확인: nslookup google.com → IP 안 나오면 DNS 문제 해결: DNS 서버 변경 (8.8.8.8 등)
2
Gateway 확인 — "출구가 있는가?" 증상: 내부 통신 OK, 인터넷만 안됨 확인: ip route → default via 없으면 문제 해결: 기본 게이트웨이 설정
3
Routing 확인 — "길이 맞는가?" 증상: 특정 IP만 안됨, 특정 네트워크만 안됨 확인: traceroute 8.8.8.8 → 중간에서 끊기면 라우팅 문제 해결: 라우팅 테이블 수정
4
NAT 확인 — "외부로 나가는가?" 증상: 내부 → 외부 통신 안됨, 외부 API 호출 실패 확인: iptables -t nat -L → MASQUERADE 규칙 존재 여부 해결: NAT 설정 추가, 클라우드면 NAT Gateway 확인
5
포트 / 방화벽 확인 — "열려있는가?" 증상: 외부에서 접속 안됨, 내부에서는 됨 확인: ss -tuln → 포트 열려있는지, 방화벽 허용 여부 해결: 포트 열기, 방화벽 정책 수정, 포트포워딩 설정
증상 의심 원인
도메인 안됨 DNS
인터넷 안됨 Gateway
특정만 안됨 Routing
외부 호출 안됨 NAT
외부 접속 안됨 포트 / 방화벽

15 포트포워딩 (Port Forwarding)
포트포워딩이란 무엇인가?

외부에서 들어온 요청을 내부의 특정 기기로 전달해주는 설정이다. 공유기는 Public IP 하나로 내부 기기를 여러 개 감추고 있는데, 외부 요청이 들어왔을 때 "이 포트는 내부 이 기기로 넘겨라"고 지정하는 게 포트포워딩이다.

공유기 = 아파트 경비실. 외부 택배가 도착했을 때 경비원이 "101호 것"이라고 판단해서 전달해주는 것 = 포트포워딩
외부 요청
1.2.3.4:80
공유기
포트포워딩 규칙 확인
80포트 → 192.168.1.100으로
내부 서버
192.168.1.100:80
실무 상황 — 포트포워딩

상황: 외부에서 집/회사 서버 접속 안 됨 (웹서버, NAS, CCTV 등)

이해하는 경우
사무실 (SW팀)
외부에서 서버 접속이 안 됩니다. 포트포워딩 설정 확인해보실 수 있을까요?
필드 엔지니어
공유기 확인해보니 80 포트가 열려있지 않네요.
사무실 (SW팀)
그럼 외부 요청이 내부 서버까지 못 들어가는 상태네요. 192.168.1.100으로 80 포트 포워딩해주세요.
필드 엔지니어
설정했습니다. 외부에서 접속 정상입니다.
※ 외부 → 공유기까지 도착 → 내부 누구에게 줄지 모름 → 포트포워딩 설정으로 해결
못 알아듣는 경우
사무실 (SW팀)
포트포워딩 확인해주세요.
필드 엔지니어
서버 켜져 있는데요?
사무실 (SW팀)
외부에서 접속이 안 돼요.
필드 엔지니어
IP 맞는데요? 192.168.1.100.
※ 외부/내부 개념 구분 못함 · NAT 구조 이해 없음 — 포트포워딩 문제 = "들어온 요청을 내부에 못 넘기는 상태"
구분 라우팅 테이블 포트포워딩
방향 내부 → 외부 외부 → 내부
문제 밖으로 못 나감 안으로 못 들어옴
원인 경로 없음 전달 대상 없음
해결 Gateway 설정 포트포워딩 설정
※ 라우팅: "어디로 가야 하지?"  |  포트포워딩: "누구한테 넘겨야 하지?"

실무 실무 상황 — 이해하는 사람 vs 못 알아듣는 사람
상황 1 — 이해하는 경우
사무실 (SW팀)
지금 서버 접속 안 되는 거 NAT 문제 같아요. Public IP로 안 나가고 있는 것 같은데 확인해보실 수 있어요?
필드 엔지니어
네 확인해보니 Gateway는 정상인데 NAT 테이블 안 잡혀있네요.
사무실 (SW팀)
그럼 Private IP에서 Public IP로 변환이 안 되는 상태네요. NAT 설정 다시 잡아주세요.
필드 엔지니어
네 NAT 설정 반영했습니다. 외부 접속 정상입니다.
※ 키워드 이해 (NAT, Gateway) · 흐름 이해 · 문제 위치 바로 특정 · 빠른 해결
상황 2 — 못 알아듣는 경우
사무실 (SW팀)
NAT 문제 같아요.
필드 엔지니어
NAT요…? 그게 뭐죠…
사무실 (SW팀)
내부 IP가 외부 IP로 바뀌는 거요.
필드 엔지니어
IP는 있는데요… 192.168.1.100인데요?
사무실 (SW팀)
그건 Private IP고요… Public IP로 나가야 합니다.
필드 엔지니어
아… 그럼 인터넷 문제 아닌가요?
※ 용어 이해 부족 · 문제 위치 못 찾음 · 시간 낭비 · 해결 지연

핵심 한 줄 요약

IP인터넷 세계의 집 주소
DNS이름 → 주소 찾기 (전화번호부)
Subnet Mask이 IP가 우리 동네인지 판단하는 기준
ARP동네 안에서 실제 기기(MAC 주소) 찾기
Gateway동네 밖으로 나가는 유일한 출구
NAT내부 주소 → 외부 주소 번역기
Routing패킷의 내비게이션
TCP확실하게 전달 (등기 우편)
UDP빠르게 전달 (전단지 배포)
반응형

댓글