Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Network] 24. DHCP 서버의 역할을 간단히 설명해주세요. #63

Open
nathan29849 opened this issue Nov 7, 2022 · 1 comment
Labels
NETWORK 네트워크 질문

Comments

@nathan29849
Copy link
Member

nathan29849 commented Nov 7, 2022

24. DHCP 서버의 역할을 간단히 설명해주세요.

키워드

DHCP, Broadcast, IP Address, DNS, Host

@nathan29849 nathan29849 added the NETWORK 네트워크 질문 label Nov 7, 2022
@nathan29849
Copy link
Member Author

nathan29849 commented Nov 7, 2022

DHCP란?

  • Dynamic Host Configuration Protocol
  • 호스트가 자신의 IP 주소를 자동으로 얻도록 도와주는 것
  • DHCP 서버는 IP주소 뿐만 아니라, 인터넷 접속에 필요한 정보들(Subnet mask, Gateway IP 주소, DNS 주소 등)을 설정해서 호스트에게 전달

DHCP의 특징

  • Application Layer의 Protocol
  • 전송 프로토콜로 UDP를 사용

호스트가 IP를 획득하는 과정

image

  1. Discover: DHCP 서버를 알지 못하는 호스트는 source 주소를 0.0.0.0, destination 주소를 255.255.255.255로 하여 접속했다는 메시지를 전송한다.
    • 이 때. 255.255.255.255는 Broadcast IP를 의미한다. (즉, 네트워크 안의 모든 컴퓨터들이 해당 메시지를 수신하게 된다.)
  2. Offer: DHCP 서버가 이 메시지를 수신하게 되면, 새 클라이언트 접속을 파악하고, 사용 가능한 IP 주소를 broadcasting 방식으로 알려준다.
    • 이 때, IP 주소 뿐만 아니라 Subnet mask, Gateway IP, DNS 주소 등도 함께 전달한다.
  3. Request: 클라이언트(호스트)는 Offer 메시지를 수신하면, transaction ID를 체크하여 자신의 Discover 메시지에 대한 응답임을 확인한다. 그리고 할당된 IP 주소를 사용한다는 요청인 DHCP Request 메시지를 Discover와 같은 방식으로 broadcast한다.
  4. ACK: Request 메시지를 수신한 DHCP 서버는 ACK를 호스트에게 전달하여 IP 할당이 완료되었음을 클라이언트(호스트)에게 알린다.
    • 이 때, lifetime을 지정해 주는데, 이는 IP 주소를 사용할 수 있는 시간을 의미한다.
    • request-ACK를 거치는 이유는 DHCP 서버가 여러 대 있을 수 있기 때문이고, Offer 메시지 또한 여러 개일 수 있다. 클라이언트(호스트)는 하나를 선택하여 Request 메시지를 보내게 된다.

Reference

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NETWORK 네트워크 질문
Projects
None yet
Development

No branches or pull requests

1 participant