네트워크 기초

IP와 라우팅

meellon 2026. 6. 30. 05:10

학습 목표

네트워크 계층(IP)호스트 간 패킷 전달을 담당함을 설명할 수 있다.

IPv4 주소·CIDR·서브넷 마스크로 네트워크·호스트 구분을 설명할 수 있다.

라우터포워딩 테이블로 다음 홉을 고르는 방식을 설명할 수 있다.

ip route, ip addr로컬 라우팅을 확인할 수 있다.

문제 상황

  • ping 192.168.1.50은 되는데 ping 10.0.1.20Network unreachable
    • 같은 LAN인지 다른 서브넷인지 모른다
  • 서버에 IP를 192.168.1.10/24로 잡았는데 게이트웨이를 비웠다
    • 외부(8.8.8.8)로 나갈 경로가 없다
  • kubectl·Terraform에 /16, /24가 나온다
    • 몇 개 호스트까지인지 이 안 온다
  • TCP는 포트까지 봤다 — 그 전에 패킷이 어느 호스트로 가는지는 IP

전송 계층(9~12편)은 프로세스(포트) 까지. 호스트(머신) 까지는 네트워크 계층IP와 라우팅이다.

1. 네트워크 계층과 IP

IP(Internet Protocol)호스트 간 데이터그램을 best-effort로 전달한다. TCP/UDP 세그먼트는 IP 패킷(payload) 안에 실린다.

계층 식별·전달 단위
애플리케이션 메시지 (HTTP, DNS …)
전송 세그먼트/데이터그램 + 포트
네트워크 IP 패킷 + IP 주소
링크 프레임 + MAC (이후 편)
  • IPv4 — 32비트 주소 (본 편), IPv6 — 128비트 (15편 개요)
  • 비연결·비신뢰 — 순서·유실은 상위(TCP) 또는 앱이 처리
  • TTL — 홉마다 감소, 0이면 폐기 — 루프 방지

2. IPv4 주소

주소는 32비트8비트씩 네 덩어리로 표기한다 (점십진).

표기
점십진 192.168.1.10
이진 11000000.10101000.00000001.00001010
의미 인터넷에서 호스트(인터페이스) 식별
  • 한 호스트에 NIC 여러 개IP 여러 개 (인터페이스마다)
  • 0.0.0.0, 255.255.255.255특수 주소 — 브로드캐스트·미지정
  • 공인 IP vs 사설 IP (RFC 1918) — 15편 NAT와 연결

3. CIDR과 서브넷

주소 공간을 네트워크 prefix + 호스트 ID로 나눈다. CIDR/숫자로 prefix 길이를 적는다.

표기 의미
192.168.1.0/24 상위 24비트가 네트워크, 하위 8비트 호스트
마스크 /24255.255.255.0
네트워크 주소 호스트 비트 전부 0192.168.1.0
브로드캐스트 호스트 비트 전부 1192.168.1.255
사용 가능 호스트 보통 .1 ~ .254 (254개, /24 예)
192.168.1.10/24
  네트워크: 192.168.1.0/24
  호스트:   10 (마지막 옥텟)
  같은 서브넷: 192.168.1.0 ~ 192.168.1.255 (개념상)
prefix 호스트 비트 대략 호스트 수 (/24 기준 개념)
/32 0 1 (호스트 1개)
/24 8 ~254
/16 16 ~65k
/8 24 ~16M
  • 서브넷팅 — 하나의 블록을 여러 /24 등으로 쪼개 운영·보안·라우팅 단순화
  • 클라우드 VPC 10.0.0.0/16 안에 서브넷 10.0.1.0/24중첩 prefix

4. 같은 서브넷 vs 라우터 경유

목적지 IP가 내 인터페이스와 같은 prefix직접 전달(링크 계층, ARP — 16편). 다르면 기본 게이트웨이(라우터) 로 보낸다.

Host A  192.168.1.10/24
   |  dest 192.168.1.50  → same subnet → direct (ARP)
   |  dest 10.0.1.20     → via default gw 192.168.1.1 (router)
Router  192.168.1.1  |  10.0.1.1
   |  forwarding table lookup → next hop / interface
Host B  10.0.1.20/24
단계 동작
호스트 dest IP와 자기 mask로 같은 네트워크인지 판단
직접 같은 서브넷 — ARP로 MAC 해석 후 프레임 전송
간접 default route 또는 specific routenext hop으로 IP 패킷
라우터 포워딩 테이블에서 longest prefix match 로 출력 인터페이스·다음 홉 결정
  • Longest prefix match0.0.0.0/0(default)보다 10.0.1.0/24더 구체적이면 후자 선택
  • 라우팅 프로토콜(OSPF, BGP)은 테이블을 채우는 방법 — 여기서는 포워딩

5. 포워딩 테이블 (개념)

라우터·호스트는 목적지 prefix → next hop / interface 매핑을 갖는다.

Destination Next hop Interface 설명
192.168.1.0/24 eth0 직접 연결 서브넷
10.0.1.0/24 eth1 직접 연결
0.0.0.0/0 203.0.113.1 eth1 default — 그 외 전부
  • 호스트는 보통 connected + default via 게이트웨이 두 줄이면 충분
  • 라우터는 수천·수십만 prefix (BGP) — ASIC 하드웨어 포워딩

6. 관측

# 인터페이스 IP·prefix
ip -4 addr show eth0
# inet 192.168.1.10/24 ...

# 라우팅 테이블
ip route show
# 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
# default via 192.168.1.1 dev eth0

# 특정 목적지 경로 (Linux)
ip route get 10.0.1.20
# macOS
netstat -rn -f inet | head
route -n get 10.0.1.20
  • scope link — 같은 링크(서브넷) 직접
  • via — 다음 홉 라우터 IP
  • Metric — 여러 경로 시 우선순위 (작을수록 선호)

7. TCP/UDP와의 연결

App  →  TCP/UDP (src/dst port)  →  IP (src/dst addr)  →  link (MAC)
  • curl https://93.184.216.34 — DNS 후 dest IP가 라우팅 입력
  • Connection refused — IP는 도착, 포트에 프로세스 없음 (9편)
  • No route to host / Network unreachable라우팅 단계 실패

8. 정리

  • IP는 호스트(인터페이스) 간 데이터그램 전달 — 32비트 IPv4 주소
  • CIDR /n — 네트워크·호스트 구분, 서브넷 운영 단위
  • 같은 prefix → 직접, 다르면 게이트웨이·라우터 포워딩
  • Longest prefix match — 구체적인 route가 우선

다음에 다룰 것

  • ICMP과 진단
  • ping, traceroute, Path MTU

해당 내용은 Computer Networking: A Top-Down Approach, 8/E (James Kurose, Keith Ross) 의 내용을 기반으로 합니다.

'네트워크 기초' 카테고리의 다른 글

NAT와 IPv6 개요  (0) 2026.07.02
ICMP과 진단  (0) 2026.07.01
TCP 심화  (0) 2026.06.29
TCP 기초  (0) 2026.06.28
UDP  (0) 2026.06.27