1일 1CS(Computer Science)

정적 IP 주소 할당 방식과 동적 IP 주소 할당 방식의 차이점을 설명해주세요.

표자 2025. 6. 30. 10:12

🌐 정적 IP vs 동적 IP: 어떤 걸 써야 할까?

백엔드 개발하다 보면 서버 설정할 때 IP 주소를 어떻게 할당할지 고민하게 되죠! 🤔 특히 Node.js 서버를 AWS나 클라우드에 배포할 때 말이에요. 정적 IP와 동적 IP의 차이를 알아보겠습니다.

🏠 정적 IP: 집 주소처럼 고정된 주소

정적 IP는 수동으로 직접 설정하는 방식이에요. 마치 집 주소처럼 한 번 정하면 바뀌지 않죠!

아파트 입주로 비유하면 🏢
정적 IP는 "101동 1001호"처럼 정확한 주소를 미리 정해두는 거예요. 누구든 이 주소만 알면 항상 같은 곳을 찾을 수 있죠.

정적 IP 설정에 필요한 것들

  • IP 주소: 192.168.1.100 (내 컴퓨터 주소)
  • 서브넷 마스크: 255.255.255.0 (우리 동네 범위)
  • 게이트웨이: 192.168.1.1 (동네 출입구)
  • DNS: 8.8.8.8 (주소록 서비스)

단점: 관리가 번거로워요 😅

  • 컴퓨터가 100대면 100번 일일이 설정해야 함
  • "어? 이 IP 누가 쓰고 있지?" 하며 중복 문제 발생
  • 새 직원이 오면 또 수동으로 설정

🎲 동적 IP: 자동으로 배정받는 임시 주소

동적 IP는 DHCP가 자동으로 할당해주는 방식이에요.

호텔 체크인으로 비유하면 🏨
동적 IP는 호텔에 가서 "빈 방 아무거나 주세요"라고 하는 거예요. 프론트에서 사용 가능한 방을 자동으로 배정해주죠. 다음에 또 오면 다른 방을 줄 수도 있고요!

🤝 DHCP 4단계 과정: 마치 호텔 예약 시스템

1️⃣ Discover (찾기): "여기 DHCP 서버 있나요?"

새로 연결된 기기가 네트워크에 대고 외쳐요: "IP 주소 줄 수 있는 분 계세요~?" 📢

2️⃣ Offer (제안): "이 IP 어때요?"

DHCP 서버가 답해요: "192.168.1.50번 어때요? 24시간 쓸 수 있어요!" 💝

3️⃣ Request (요청): "그걸로 할게요!"

기기가 다시 네트워크에 알려요: "192.168.1.50번으로 정했어요, 다른 분들도 알아두세요!" 🙋‍♂️

4️⃣ ACK (승인): "확정!"

DHCP 서버가 최종 확인: "네, 192.168.1.50번 24시간 동안 쓰세요!" ✅

💡 언제 뭘 써야 할까?

🔒 정적 IP를 쓸 때

  • 웹 서버: 도메인이 항상 같은 IP를 가리켜야 함
  • 데이터베이스 서버: 백엔드에서 DB 연결 시 고정 주소 필요
  • 프린터: 사무실에서 모든 직원이 찾을 수 있어야 함
  • API 서버: 외부에서 호출할 때 주소가 바뀌면 안 됨

🎯 동적 IP를 쓸 때

  • 직원 노트북: 매일 다른 IP여도 인터넷만 되면 OK
  • 개발 환경: 로컬에서 테스트할 때
  • 일반 사용자: 카페 와이파이, 집 인터넷
  • 임시 서버: 개발용 테스트 서버

🚀 실제 개발에서 알아두면 좋은 팁

1. 클라우드에서는 탄력적 IP ☁️
AWS에서는 Elastic IP로 정적 IP를 서버에 붙였다 뗐다 할 수 있어요. 서버가 죽어도 IP는 유지!

2. 로드밸런서 뒤에서는 동적 IP도 OK ⚖️
사용자는 로드밸런서 주소만 알면 되니까, 내부 서버들은 동적 IP여도 괜찮아요.

3. 환경변수로 IP 관리 🔧
Next.js나 Node.js에서 process.env.DB_HOST로 IP를 환경변수로 관리하면 배포 환경마다 다르게 설정 가능!

4. Docker에서의 네트워크 🐳
컨테이너들은 내부적으로 동적 IP를 받지만, 서비스 이름으로 통신해서 IP를 몰라도 돼요.

🎭 실제 업무 상황

사내 개발팀 시나리오 💼

  • 개발자 노트북들: 동적 IP (매일 다른 IP여도 상관없음)
  • 개발 서버: 정적 IP (팀원들이 접속할 고정 주소 필요)
  • 데이터베이스: 정적 IP (백엔드 코드에서 연결 설정)
  • 프린터: 정적 IP (모든 직원이 찾을 수 있도록)

⚡ DHCP 임대 갱신: 호텔 연박 같은 개념

IP 주소도 임대 기간이 있어요! 보통 24시간인데, 만료되기 전에 자동으로 "연장해주세요!" 하고 요청해서 계속 쓸 수 있어요. 마치 호텔에서 연박하는 것처럼요! 🏨


📝 면접 답변

"정적 IP 주소 할당 방식과 동적 IP 주소 할당 방식의 차이점을 설명해주세요."

"정적 IP는 관리자가 수동으로 IP를 고정 할당하는 방식이고, 동적 IP는 DHCP가 자동으로 임시 할당하는 방식입니다. 정적 IP는 주소가 변하지 않아 서버나 고정 서비스에 적합하지만 관리 부담이 크고, 동적 IP는 관리가 편하지만 주소가 변할 수 있어 일반 클라이언트에 적합합니다. DHCP는 Discover-Offer-Request-ACK 4단계로 IP를 할당하며, 임대 기간이 있어 주기적으로 갱신됩니다."

 


정적 IP 주소 할당 방식과 동적 IP 주소 할당 방식의 차이점을 설명해주세요.

백엔드와 관련된 질문이에요.

네트워크에서 호스트에게 IP를 할당하는 방식은 크게 정적 할당 방식과 동적 할당 방식이 존재합니다.

정적 할당 방식은 호스트에게 IP를 할당할 때 수동으로 설정하는 것을 의미합니다. 일반적으로 정적으로 IP를 할당하기 위해서는 부여하고자 하는 IP 주소, 자신의 네트워크의 서브넷마스크, 자신의 게이트웨이, DNS 주소가 필요합니다. 만약, IP 주소를 정적으로만 할당한다면 호스트의 수가 많아질수록 IP 할당이 번거로워질 수 있으며, 중복 IP를 입력하는 등 실수를 유발할 수 있습니다. 이러한 경우에 동적 할당 방식을 사용할 수 있는데요.

동적 할당은 호스트 IP를 자동으로 할당하는 방식이라는 점에서 정적 할당 방식과 차이가 있습니다. 동적 할당 방식은 주로 DHCP(Dynamic Host Configuration Protocol) 을 사용합니다. 동적 할당 방식은 DHCP를 이용해 현재 사용하지 않는 IP를 호스트에게 임대해줍니다. 따라서, 동적 할당 방식을 사용하는 경우에는 IP 주소가 고정적이지 않으며, 바뀔 가능성이 존재합니다. 또한, IPv4에 대한 DHCP는 DHCPv4, IPv6에 대한 DHCP는 DHCPv6가 존재합니다.

DHCP를 이용한 IP 주소 할당 과정은 어떻게 되나요? 🤔

DHCP를 이용한 동적 할당 방식은 호스트와 DHCP 서버(일반적으로 라우터)간에 통신으로 이루어집니다. 크게 4가지 단계로 나누어 IP 주소를 할당합니다. (Discover, Offer, Request, Acknowledgment)

  • Discover 단계에서 호스트는 Discover 메시지를 브로드캐스팅하여 DHCP 서버를 찾습니다.
  • Offer 단계에서 DHCP 서버는 Offer 메시지를 호스트에게 전송합니다. Offer 메시지에는 호스트에게 할당해 줄 IP 주소와 임대 기간이 포함되어 있습니다.
  • Request 단계에서 호스트는 DHCP Offer 메시지에 대한 응답을 수행합니다. 호스트는 Request Message를 브로드캐스팅합니다.
  • Acknowledgment 단계에서 DHCP 서버는 ACK 메시지를 호스트에게 전송하여 IP 임대를 승인합니다.

위 과정이 모두 끝난 이후 클라이언트는 할당받은 IP 주소를 자신의 IP 주소로 설정하고 임대 기간 동안 사용할 수 있습니다. 임대 기한이 만료된 경우 DHCP 과정을 다시 반복해야 하지만, DHCP 임대 갱신(DHCP Lease Renewal) 을 통해서 임대 기간을 연장할 수 있습니다.

728x90