[혼공네] 03-2. IP 주소

2026. 9. 26. 05:32·네트워크

IP 주소는 크게 네트워크 주소와 호스트 주소로 구성

  • 네트워크 주소
    • ‘네트워크를 표현하는 부분’
    • 호스트가 속한 특정 네트워크를 식별
    • 네트워크 ID, 네트워크 식별자(network identifier), 네트워크 범위 등으로 호칭
  • 호스트 주소
    • ‘호스트를 표현하는 부분’
    • 특정 호스트를 식별
    • 호스트 ID, 호스트 식별자(host identifier) 등으로 호칭

 

IP 주소에서 네트워크 주소와 호스트 주소 크기는 각각 어느 정도가 적당할까?

  • 네트워크 주소가 하나의 옥텟으로 이루어져 있다면, 한 네트워크당 호스트 주소 할당에 24비트를 사용할 수 있어서 상대적으로 많은 호스트에 IP 주소를 할당
  • 네트워크 주소가 세 개의 옥텟으로 이루어져 있다면, 네트워크당 호스트 주소 할당에 8비트를 사용할 수 있어서 상대적으로 적은 호스트에 IP 주소를 할당
  • 호스트 주소 공간을 크게 할당하면 호스트가 할당되지 않은 다수의 IP 주소가 낭비
  • 반대로 무조건 호스트 주소 공간을 작게 할당하면 호스트가 사용할 IP 주소가 부족
  • 이런 고민을 해결하기 위해 생겨난 개념이 바로 IP 주소의 클래스(class)
  • IP 주소는 43억개지만 부족하다.
  • 예전에는 43억개가 남아서 IP 주소를 클래스로 분류하였다.

 

클래스풀 주소 체계

  • 클래스
    • 네트워크 크기에 따라 IP 주소를 분류하는 기준
    • 클래스를 이용하면 필요한 호스트 IP 개수에 따라 네트워크 크기를 가변적으로 조정해 네트워크 주소와 호스트 주소를 구획
  • 클래스풀 주소 체계(classful addressing)
    • 클래스를 기반으로 IP 주소를 관리하는 주소 체계
    • D, E → 특수 네트워크이다.
  • 클래스 첫 비트 범위 네트워크:호스트 서브넷마스크
  • A 0xxx xxxx 1~126 8비트 : 24비트 255.0.0.0
  • B 10xx xxxx 128 ~ 191 16비트 : 16비트 255.255.0.0
  • C 110x xxxx 192 ~ 223 24비트 : 8비트 255.255.255.0
  • D 1110 xxxx 224 ~ 239 멀티캐스트용
  • E 1111 xxxx 240 ~ 255 실험/예약용

 

A 클래스

  • A 클래스는 B와 C 클래스에 비해 할당 가능한 호스트 주소의 수가 많음
    • 네트워크 주소는 비트 ‘0’으로 시작하고 1옥텟으로, 호스트 주소는 3옥텟으로 구성
    • 2^7(128)개의 A 클래스 네트워크가 존재할 수 있고, 2^24(16,777,216)개의 호스트 주소를 가질 수 있음
    • A 클래스로 나타낼 수 있는 IP 주소의
      • 최솟값을 10진수로 표현하면 0.0.0.0
      • 최댓값을 10진수로 표현하면 127.255.255.255
  • 이보다 작은 게 필요하다.
  • 127은 로컬 호스트라 127은 제외하고 126까지이다.
    • 127.x.x.x 대역은 루프백 주소(A클래스에서 제외)

 

B 클래스

  • B 클래스의 네트워크 주소는 비트 ‘10’으로 시작하고 2옥텟, 호스트 주소도 2옥텟으로 구성
  • 이론상으로 214(16,384)개의 B 클래스 네트워크와 각 네트워크에 속한 216(65,534)개의 호스트 주소를 가짐
  • B 클래스 IP 주소의
    • 최솟값을 10진수로 표현하면 128.0.0.0
    • 최댓값을 10진수로 표현하면 191.255.255.255
  • 따라서 가장 처음 옥텟의 주소가 128~191일 경우 B 클래스 주소임을 짐작

 

C 클래스

  • C 클래스의 네트워크 주소는 비트 ‘110’으로 시작하고 3옥텟, 호스트 주소는 1옥텟으로 구성
  • 이론상으로 221(2,097,152)개의 C 클래스 네트워크가 존재할 수 있고, 각 네트워크는 28(256)개의 호스트 주소
  • C 클래스로 나타낼 수 있는 IP 주소의
    • 최솟값을 10진수로 표현하면 192.0.0.0
    • 최댓값을 10진수로 표현하면 223.255.255.255
  • 가장 처음 옥텟의 주소가 192~223일 경우 C 클래스 주소임을 짐작

 

호스트의 주소 공간을 모두 사용할 수 있는 것은 아니다.

  • 호스트 주소가 전부 0인 IP 주소
    • 해당 네트워크 자체를 의미하는 네트워크 주소로 사용
  • 호스트 주소가 전부 1인 IP 주소
    • 브로드캐스트를 위한 주소로 사용

 

할당 가능한 주소의 개수

  • A 클래스는 이론상으로는 2^24(16,777,216)개의 주소를 호스트에 할당할 수 있지만
    • 실제로 할당 가능한 주소는 16,777,216 - 2개인 16,777,214개
  • B 클래스는 이론상 2^16(65,536)개의 주소를 호스트에 할당할 수 있지만
    • 실제로 할당 가능한 주소는 65,536 - 2개인 65,534개
  • C 클래스는 이론상 2^8(256)개의 주소를 호스트에 할당할 수 있지만
    • 실제로 호스트에게 할당 가능한 주소는 256 - 2개인 254개
  • 우리가 사용하는 것은, 일반적으로 사용하는 것은 C클래스이다.
  • 1.0.0.0 → 1까지가 하나의 마을이다. → 낭비가 너무 심하다. 관리가 어렵고 브로드캐스트가 힘들다.
  • B클래스까지도 아직도 많다.
  • C클래스도 255개이고, 이조차 많을 때도 있다. 낭비가 생긴다. 지금은 IP주소가 많이 필요하지만 과거에는 낭비가 심했다. → 클래스풀하게 IP주소를 안쓰면 되지 않나?

 

클래스리스 주소 체계(classless addressing)

  • 클래스 개념 없이(classless) 클래스에 구애받지 않고 네트워크의 영역을 나누어서 호스트에게
  • IP 주소 공간을 할당하는 방식
  • 클래스풀 주소 체계의 한계를 해결
    • 클래스별 네트워크의 크기가 고정되어 있기에 여전히 다수의 IP 주소가 낭비될 가능성
  • 클래스가 아니라 서브넷 마스크를 이용해 네트워크 주소와 호스트 주소를 구분하는 IP 주소 체계
  • 서브넷 마스크와 IP 주소 간에 비트 AND 연산을 수행하면 IP 주소 내의 네트워크 주소를 파악

 

서브넷 마스크

  • 클래스리스 주소 체계에서는 네트워크 ID와 호스트 ID를 구분 짓는 수단으로 서브넷 마스크를 이용
  • 서브넷 마스크(subnet mask)는 IP 주소상에서 네트워크 주소는 1, 호스트 주소는 0으로 표기한 비트열
    • 네트워크 내의 부분적인 네트워크(서브네트워크 subnetwork)를 구분 짓는(마스크 mask) 비트열
    • 서브네팅(subnetting) - 서브넷 마스크를 이용해 클래스를 원하는 크기로 더 잘게 쪼개어 사용하는 것
  • A, B, C 클래스의 기본 서브넷 마스크
    • A 클래스: 255.0.0.0(11111111.00000000.00000000.00000000)
    • B 클래스: 255.255.0.0(11111111.11111111.00000000.00000000)
    • C 클래스: 255.255.255.0(11111111.11111111.11111111.00000000)

 

서브네팅: 비트 AND 연산

  • 서브넷 마스크를 이용해 네트워크 주소와 호스트 주소를 구분 짓는 방법
  • IP 주소와 서브넷 마스크를 비트 AND 연산
  • 비트 AND 연산(bitwise AND operation) - 피연산자가 모두 1인 경우에는 1, 아닌 경우에는 0이 되는 연산
  • 비트 AND 연산을 통해 네트워크 주소를 알 수 있고, 나머지는 호스트 주소가 된다.
  • 사용된 서브넷 마스크에서 0이 8개이므로 호스트 주소는 8비트로 표현 가능 (위의 예시)
  • 실제로 할당 가능한 호스트 IP 주소는 192.168.219.1~192.168.219.254 (254 개)
    • 호스트 주소가 모두 0인 네트워크 주소 192.168.219.0과
    • 호스트 주소가 모두 1인 브로드캐스트 주소 192.168.219.255를 제외

 

서브넷 마스크 표기: CIDR 표기법

  • 10진수로 직접 표기
    • 255.255.255.0, 255.255.255.252 등
  • CIDR 표기법 CIDR(Classless Inter-Domain Routing notation)
    • ‘IP 주소/서브넷 마스크상의 1의 개수’ 형식으로 표기
    • 예) C 클래스의 기본 서브넷 마스크는 255.255.255.0
    • 이를 2진수로 표기하면 11111111.11111111.11111111.00000000 (1이 총 24개)
# 클래스 방식: /8 /16 /24 세가지만 사용

# CIDR 방식:  /8 ~ /30 … /31 /32
    - 60개 호스트 필요 → /26 …62개 사용가능(2^6=64-2=62)
    - 130개 → /24
    - 500개 → /23

500개 …. /23

2^(32-prefix) = 전체 주소 수
2^(32-prefix) - 2 = 사용 사능한 호스트 수

- /24 → 256
- /25 → 126
- /26 → 62
- /27 → 30

 

FLSM (Fixed Length Subnet Mask)

  • 고정 길이 서브넷 마스크
  • 네트워크를 동일한 크기의 서브넷들로 나누는 방식

 

VLSM (Variable Length Subnet Mask)

  • 가변 길이 서브넷 마스크
  • 각 부서나 네트워크의 실제 호스트 요구 수에 따라 서브넷의 크기를 다르게 나누는 방식

 

라우팅(Routing)

  • 패킷이 이동할 최적의 경로를 설정한 뒤 해당 경로로 패킷을 이동
  • 라우터(Router)
    • 멀리 떨어져 있는 호스트 간의 통신 과정에서 패킷은 서로에게 도달하기까지 여러 라우터를 거쳐서 다양한 경로로 이동
    • 패킷이 최적의 경로를 설정한 뒤 해당 경로로 패킷을 이동시킨다.
    • 라우터가 저장하고 관리하는 라우팅 테이블이 중요!
    • 라우팅 경로는 항상 달라짐
  • 홉(hop): 라우팅 도중 패킷이 호스트와 라우터 간에, 혹은 라우터와 라우터 간에 이동하는 하나의 과정

 

라우팅 테이블 (Routing Table)

  • 특정 수신지까지 도달하기 위한 정보를 명시한 일종의 표, 지도와 같은 정보
  • 우리가 보내려는 수신지에 대한 정보가 없으면 데이터를 송신하지 못한다.
    • 그러면 세상의 모든 네트워크를 다 기록해야하나?
    • 일단 모르면 기본 경로(defult pass), 기본 게이트워이(defult gateway)로 간다.
  • 라우팅 테이블에 포함된 정보
    • 수신지 IP 주소와 서브넷 마스크: 최종적으로 패킷을 전달할 대상
    • 다음 홉(next hop): 최종 수신지까지 가기 위해 다음으로 거쳐야 할 호스트의 IP 주소나 인터페이스
    • 네트워크 인터페이스: 패킷을 내보낼 통로
    • 메트릭(metric): 해당 경로로 이동하는 데에 드는 비용 → 메트릭이 낮을 수록 선호
    • 수신지가 192.168.2.0/24(호스트 IP 주소 범위 192.168.2.1~192.168.2.254)인 패킷은 eth0(인터페이스)를 통해 192.168.2.1(게이트웨이)로 전송하라는 것을 의미

 

디폴트 라우트(default route)

  • 패킷 내의 수신지 IP 주소가 라우팅 테이블에 있는 수신지 IP 주소, 서브넷 마스크 항목과 완벽하게 합치되는 경우가 있지만, 그렇지 않은 경우
  • 라우팅 테이블에 없는 경로로 패킷을 전송해야 할 때
  • 이 경우 기본적으로 패킷을 내보낼 경로를 설정하여 해당 경로로 패킷을 내보냄
  • 디폴트 라우트는 모든 IP 주소를 의미하는 0.0.0.0/0로 명시
  • 기본 게이트웨이는 호스트가 속한 네트워크 외부로 나아가기 위한 첫 번째 경로이고, 일반적으로 라우터 주소를 의미하는 경우가 많다.
  • 기본 게이트웨이로 나아가기 위한 경로가 디폴트 라우트

 

정적 라우팅과 동적 라우팅

  • 정적 라우팅(static routing)
    • 사용자가 수동으로 직접 채워 넣은 라우팅 테이블의 항목을 토대로 라우팅
    • 정적 라우팅의 취약점 → 문제 발생 여지가 많음
    • 네트워크의 규모가 커지고 관리해야 할 라우터가 늘어나면 정적 라우팅만으로는 관리가 힘듦
    • 수동으로 라우팅 테이블 항목을 입력해야 하는 정적 라우팅의 특성상 입력 실수가 발생
    • 실수 없이 입력했다 할지라도 라우팅되는 경로상에 예상치 못한 문제가 발생
  • 동적 라우팅(dynamic routing)
    • 자동으로 라우팅 테이블 항목을 만들고, 이를 이용하여 라우팅하는 방식
    • 동적 라우팅을 하면 라우팅 테이블 항목이 수시로 변할 수 있음
    • 라우팅 테이블의 항목을 수동으로 입력할 필요가 없으므로 대규모 네트워크 관리가 편리함
    • 네트워크 경로상에 문제가 발생했을 때 이를 우회할 수 있게 경로가 자동으로 갱신
  • AS(Autonomous System)
    • 하나의 기관이 운영하는 독립적인 라우터들(네트워크)의 집합
    • AS마다 인터넷상에서 고유한 ASN(Autonomous System Number, AS번호)가 할당
    • 이곳에서 ASN들을 확인할 수 있음 - https://한국인터넷정보센터.한국/jsp/business/management/asList.jsp
  • ASBR(Autonomous System Boundary Router, AS 경계 라우터)
    • 한 AS 내에는 다수의 라우터가 있으며
    • 라우터들은 AS 내부에서만 통신할 수도 있고, AS 외부와 통신할 수도 있음
    • AS 외부와 통신할 경우 AS 경계에서 AS 내외로 통신을 주고받을 수 있는 특별한 라우터를 이용
  • 라우팅 프로토콜 (동적)
    • 라우팅 프로토콜(routing protocol)
      • 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜
    • 라우팅 프로토콜의 종류
      • IGP(Interior Gateway Protocol) - AS 내부에서 수행
        • RIP와 OSPF
      • EGP(Exterior Gateway Protocol) - AS 외부에서 수행 / 대륙과 대륙..
        • BGP
    • IGP (Interior Gateway Protocol)
      • RIP - 최적의 경로를 선정하는 과정에서 거리 벡터를 사용
      • OSPF - 최적의 경로를 선정하는 과정에서 링크 상태를 사용
    • RIP - 홉 카운트! (실제 거리는 중요하지 않음)
      • 거리는 패킷이 경유한 라우터의 수, 즉 홉의 수를 의미
      • 인접한 라우터끼리 경로 정보를 주기적으로 교환하며 라우팅 테이블을 갱신
      • 이를 통해 라우터는 특정 수신지에 도달하기까지의 홉 수를 알 수 있음
      • 특정 수신지까지 도달하기 위해 ‘홉 수가 가장 적은 경로’를 최적의 경로라고 판단
      • 홉 수가 적을수록 라우팅 테이블상의 메트릭 값도 작아짐
        • 구성이 간단 → 소규모 네트워크에 적합
        • 느린 수렴
        • 최대 15개의 홉까지만 카운트 가능
    • OSPF - 링크 상태(link state) 라우팅 프로토콜
      • 링크 정보를 비롯한 현재 네트워크의 상태를 그래프 형태로 링크상태 DB에 저장해둔다.
      • 링크 상태 데이터베이스에는 라우터들의 연결 관계, 연결 비용 등 현재 네트워크의 상태를 그래프로 표현하기 위한 데이터가 저장
      • 링크 상태 데이터베이스를 기반으로 현재 네트워크 구성을 마치 지도처럼 그린 뒤에 최적의 경로를 선택
        • 라우터 간에 정보를 주기적으로 교환
        • 굉장히 빠른 수렴
        • 대규모 네트워크에 적합
        • 루프에 빠지지 않음
        • 설정이 복잡하고 무거움
      • OSPF에서는 대역폭을 기반으로 메트릭을 계산하여 최적의 경로를 결정
        • 대역폭이 높은 링크일수록 메트릭이 낮은 경로로 인식
        • OSPF는 네트워크의 구성이 변경되었을 때 라우팅 테이블이 갱신
    • EGP : BGP(Border Gateway Protocol)
      • AS 간의 통신에서 사용되는 대표적인 프로토콜 → 엄밀하게는 AS 간의 통신이 ‘가능한’ 프로토콜
      • EGP(초창기 버전) → BGP (업데이트 버전)
      • BGP는 RIP와 OSPF에 비해 최적의 경로를 결정하는 과정이 복잡하고, 일정하지 않은 경우가 많음
      • 경로 결정 과정에서 수신지 주소와 더불어 다양한 ‘속성’과 ‘정책’이 고려되기 때문임
      • BGP의 속성(attribute)은 경로에 대한 일종의 부가 정보

 

IPsec

  • 3계층 위에 있는 개념
  • 3계층에는 원래 IPsec 기능이 없다
  • IPsec - 기밀성, 무결성, 송신처 인증 → 사진
  • 무차별대입모드 → 공용 와이파이 → 무얼 아는지 다 알 수 있다. → 암호화
  • 즉 공용 와이파이가 아니라 암호화되지 않은 정보가 위험한 것이다. http 평문 통신도 마찬가지다.
  • 와이어샤크 → 만능은 아니고 잘 알려진 프로토콜 통신 패킷에 대해 파악 가능.

 

VPN

  • 원격 재택 시 사용. 외부에 있지만 내부망에서 작업하는 것처럼 하는 것이 VPN이다.
  • 본사와 지사를 VPN으로 연결
  • 터널링과 암호화를 3계층에서 처리해서 TCP/UDP를 보호
  • 3계층에 걸쳐 있다.
  • 터널링
    • VPN 터널로 본사와 지사를 연결. 매우 프라이빗하다. 우리끼리만 통신하는 것이다. 외부에서는 안보인다.
    • 진짜 터널? No! 직렬로 연결? No!
    • 통짜로 터널을 뚫는게 아니다. 물리적으로 생기는 것이 아니다.
    • 라우터들을 거쳐서 가는데 터널링이 된다 → 메세지는 똑같이 날라가는 데 확인을 할 수가 없다는 것이다. 데이터가 캡슐화되어 있다.
    • 클라이언트와 서버가 필요
      • 본사에 VPN 서버가 있고 사용하는 사람은 VPN 클라이언트가 있어야 한다.
    • 내부 IP → 공인 IP → 라우터들을 타고 다닌다. 회사에 도착해서 내부 IP 즉 내부 컴퓨터 IP로 통신한다.

 

공인 IP 주소

  • 공인 IP 주소(public IP address)는 전 세계에서 고유한 IP 주소
  • 네트워크 간의 통신, 이를테면 인터넷을 이용할 때 사용하는 IP 주소
  • 공인 IP 주소는 ISP나 공인 IP 주소 할당 기관을 통해 할당

 

사설 IP 주소와 NAT

  • 사설 IP 주소(private IP address) - 사설 네트워크에서 사용하기 위한 IP 주소
    • LAN 내의 많은 호스트는 사설 IP 주소를 사용
    • 사설 IP 주소로 사용하도록 특별히 예약된 IP 주소 공간
      • 10.0.0.0/8 (10.0.0.0 – 10.255.255.255)
      • 172.16.0.0/12 (172.16.0.0 – 172.31.255.255)
      • 192.168.0.0/16 (192.168.0.0 – 192.168.255.255)
  • 사설 IP 주소의 할당 주체는 일반적으로 라우터
    • 할당받은 사설 IP 주소는 해당 호스트가 속한 사설 네트워크상에서만 유효한 주소
    • 얼마든지 다른 네트워크상의 사설 IP 주소와 중복될 수 있음
      • 예) 사설 IP 주소 범위에 속하는 192.168.0.2라는 주소도 타 사설 네트워크 내 호스트와 얼마든지 중복
      • 따라서 192.168.0.2라는 사설 IP 주소만으로는 인터넷 접속을 비롯한 외부 네트워크 간의 통신이 어려움

 

사설 IP 주소를 사용하는 호스트가 외부 네트워크와 통신하려면?

  • NAT(Network Address Translation) - IP 주소 변환 기술
    • 주로 네트워크 내부에서 사용되는 사설 IP 주소와 네트워크 외부에서 사용되는 공인 IP 주소를 변환
    • NAT를 통해 사설 IP 주소를 사용하는 여러 호스트는 적은 수의 공인 IP 주소를 공유 가능
  • 대부분의 라우터와 (가정용) 공유기는 NAT 기능을 내장
    • 사설 네트워크상에서 만들어진 패킷 속 사설 IP 주소는 공유기를 거쳐 공인 IP로 변경되고, 외부 네트워크로 전송
    • 반대로 외부 네트워크로부터 받은 패킷 속 공인 IP 주소는 공유기를 거쳐 사설 IP 주소로 변경되어 사설 네트워크 속 호스트에 도달
    • 하나의 공인 IP로 사설 네트워크 내의 여러 기기들이 통신할 수 있음
  • 라우터 하나를 가지고 같은 강의장에서 여러 PC로 접속할 때, 모두 하나의 IP가 접속한 것으로 보인다.
  • NAT의 기능 중 하나가 사설 IP와 공인 IP를 바꿔주는 것이지, NAT가 그거 하나만을 위해서 사용하는 건 아님
  • 공인 IP를 알면 인터넷(외부 네트워크) 식별하여 DB에 접근할 수 있다.
  • 중요한 서버는 바로 공인 IP를 주지 않고, 앞에 서버를 하나 더 두고 공인 IP를 사용한다.

 

특수 IP대역

  • 0.0.0.0/8 → 현재(로컬) 네트워크
  • 127.0.0.0/8 → 로컬 호스트(Local Host), 루프백(Loopback)
  • 169.254.0.0/16 → 링크 로컬(Link Local) 컴퓨터 두 대를 LAN 케이블을 통해 직렬로 연결하면 보장받는 네트워크 대역
  • 192.168.0.0/16 → 사설 네트워크
  • 224.0.0.0/4 → 멀티캐스트

 

컴퓨터의 공인 IP 주소와 사설 IP 주소 확인

  • 현재 IP(IPv4) 주소 조회
    • 윈도우 - 명령 프롬프트(CMD)에 ipconfig
    • 맥OS - 터미널에 ifconfig를 입력
    • 만일 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 중 하나가 보인다면, 이는 사설 IP 주소
  • 네이버나 구글 검색 사이트에서 IP 주소 확인
    • 네이버 검색창에 ‘내 IP 주소’를 입력하거나 구글 검색창에 ‘what is my ip address’를 입력
    • 네이버나 구글은 여러분의 사설 IP 주소가 아닌 공인 IP 주소를 인식하기 때문에 공인 IP 주소를 표시

 

정적 IP 주소와 동적 IP 주소

  • 정적 할당
    • 정적 할당은 호스트에 직접 수작업으로 IP 주소를 부여하는 방식
    • 이렇게 할당된 IP 주소를 정적 IP 주소(static IP address)라고 함
    • 정적 IP 주소 부여
      • 윈도우나 맥OS 등의 네트워크 설정에서 IP 주소를 수동으로 설정
      • 일반적으로 부여하고자 하는 IP 주소, 서브넷 마스크, 게이트웨이(라우터) 주소, DNS 주소를 입력
    • 중요한 서버, 프린터 장비에 일반적으로 사용된다.
    • 게이트웨이의 일반적인 의미
      • 서로 다른 네트워크를 연결하는 하드웨어적/소프트웨어적 수단
    • 기본 게이트웨이(default gateway)
      • 호스트가 속한 네트워크 외부로 나가기 위한 기본적인 첫 경로(첫번째 홉)
      • 기본 게이트웨이는 내트워크 외부와 연결된 라우터(공유기)의 주소를 의미하는 경우가 많다.
      • IP 할당의 맥락에 사용된 ‘게이트웨이’라는 용어는 기본 게이트웨이를 의미한다.
      • 설정 시 ‘게이트웨이’ 항목과 ‘라우터’ 항목에는 공통적으로 기본 게이트웨이 역할을 하는 라우터(공유기)의 주소를 적어주면 된다.

 

동적 할당과 DHCP

  • IP 주소를 정적으로만 할당하다 보면 호스트의 수가 많아질 경우 관리가 곤란
    • 의도치 않게 잘못된 IP 주소를 입력할 수도 있고, 중복된 IP 주소를 입력
  • 동적 할당
    • 정적 할당과 달리 IP 주소를 직접 일일이 입력하지 않아도 호스트에 IP 주소가 동적으로 할당되는 방식
  • 동적 IP 주소(dynamic IP address) → 사용되지 않을 때는 회수된다.
  • DHCP(Dynamic Host Configuration Protocol)
    • IP 동적 할당에 사용되는 대표적인 프로토콜

 

DHCP

  • 7계층 응용계층으로, IP 동적 할당에 사용되는 대표적인 프로토콜
  • 자동 IP 할당: 네트워크에 접속할 때 수동으로 입력할 필요 없이 IP 주소를 자동으로 부여
  • 임대(Lease) 개념: IP 주소를 영구적으로 주는 것이 아니라, 일정 기간 동안만 빌려줌
  • 자원 회수 및 재사용: 장치가 네트워크를 떠나거나 꺼지면 IP 주소를 반환받아 다른 기기에 재할당하므로 IP 주소를 효율적으로 아껴 쓸 수 있음
  • DHCP를 통한 IP 주소 할당
    • IP 주소를 할당받고자 하는 호스트(이하 클라이언트)와 해당 호스트에게 IP 주소를 제공하는 DHCP 서버 (DHCP Server) 간에 메시지를 주고받음으로써 이루어짐
  • DHCP 서버의 역할은 일반적으로 라우터(공유기)가 수행하지만, 특정 호스트에 DHCP 서버 기능을
    • DHCP 서버는 클라이언트에게 할당 가능한 IP 주소 목록을 관리하다가, 클라이언트가 요청할 때 IP 주소를 할당
  • 추가할 수도 있음
  • DHCP로 할당받은 IP 주소는 사용할 기간(임대 기간)이 정해짐
    • 임대 기간은 DHCP 서버에서 설정하기 나름이지만, 일반적으로 수 시간에서 수 일로 설정
    • 임대 기간이 끝난 IP 주소는 다시 DHCP 서버로 반납
    • DHCP를 통해 IP 주소를 할당받는 것을 ‘IP 주소를 임대한다’라고 표현
  • DHCP 서버 주소와 임대 기간 확인
    • 윈도우 - 명령 프롬프트(CMD)를 열고 ipconfig /all을 입력
  • IP 주소 할당 중 클라이언트와 DHCP 서버 간에 주고받는 메시지의 종류
    1. DHCP Discover
    2. DHCP Offer
    3. DHCP Request
    4. DHCP Acknowledgment(이하 DHCP ACK)
    • 클라이언트는 DHCP 서버와 DHCP Discover, DHCP Offer, DHCP Request, DHCP ACK(①~④번)순으로 메시지를 주고받으며 IP 주소를 할당

1. DHCP Discover(클라이언트 → DHCP 서버)

  • 클라이언트는 DHCP Discover 메시지를 통해 DHCP 서버를 찾고 이는 브로드캐스트로 전송
  • DHCP Discover 메시지를 전송하는 시점에 클라이언트는 아직 IP 주소를 할당받지 못했으므로
  • 송신지 IP 주소는 0.0.0.0으로 설정됨

2. DHCP Offer(DHCP 서버 → 클라이언트)

  • DHCP 서버는 DHCP Discover 메시지를 받은 뒤 클라이언트에게 DHCP Offer 메시지를 보냄
    • 이 메시지는 클라이언트에게 할당해 줄 IP 주소를 제안하는 메시지
    • 클라이언트에게 제안할 IP 주소뿐만 아니라 서브넷 마스크, 임대 기간 등의 정보도 포함

3. DHCP Request(클라이언트 → DHCP 서버)

  • DHCP Request는 DHCP Offer 메시지에 대한 응답 - 이 또한 브로드캐스트로 전송

4. DHCP ACK(DHCP 서버 → 클라이언트)

  • DHCP 서버는 클라이언트에게 DHCP ACK 메시지를 보냄
    • 이 메시지는 마치 최종 승인과도 같은 메시지
  • DHCP ACK 메시지까지 받은 클라이언트는 이제 할당받은 IP 주소를 자신의 IP 주소로 설정한 뒤
  • 임대 기간 동안 IP 주소를 사용

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

[혼공네] 05. 응용 계층  (0) 2026.09.26
[혼공네] 04. 전송 계층  (0) 2026.09.26
[혼공네] 03-1. LAN을 넘어서는 네트워크 계층  (0) 2026.09.26
[혼공네] 02-4. 스위치(Switch)  (0) 2026.09.21
[혼공네] 02-1. 이더넷(Ethernet)  (0) 2026.09.21
'네트워크' 카테고리의 다른 글
  • [혼공네] 05. 응용 계층
  • [혼공네] 04. 전송 계층
  • [혼공네] 03-1. LAN을 넘어서는 네트워크 계층
  • [혼공네] 02-4. 스위치(Switch)
youjeong_choi
youjeong_choi
  • youjeong_choi
    youjeong
    youjeong_choi
  • 전체
    오늘
    어제
    • 분류 전체보기 (119) N
      • HTML, CSS (7)
      • JavaScript (19)
        • 모던 자바스크립트 딥다이브 (4)
      • ReactJS (17)
      • TIL (17)
      • WIL (17)
      • 알고리즘 (17)
      • 네트워크 (13) N
      • Vue (4)
      • 재료 과학 (2)
      • 정보보안 (3) N
      • 리눅스 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리액트
    알고리즘 문제
    항해99주특기
    파이썬
    익명 함수
    토스뱅크사이버보안엔지니어부트캠프
    자바스크립트
    항해99리액트
    리눅스기초
    정보보안
    항해99
    혼공스
    선언적 함수
    알고리즘
    항해99주특기리액트
    모던자바스크립트딥다이브
    멀티캠퍼스부트캠프
    부트캠프
    네트워크
    항해99 주특기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
youjeong_choi
[혼공네] 03-2. IP 주소
상단으로

티스토리툴바