[network] DHCP에 대해 알아보자

개발하는 곰댕이·2021년 4월 10일
0

Netwhat

목록 보기
5/6

1. DHCP(Dynamic Host Configuration Protocol)란?

  • DHCP는 사용자에게 IP주소, 서브넷마스크, 기본 게이트웨이 및 DNS정보 등 네트워크 설정을 사용자에게 자동으로 제공해주는 프로토콜로써 네트워크 기기의 수가 많아질 수록 각종 IP 및 네트워크 관리가 어려워 지는데 DHCP는 DHCP서버에 설정되어있는 정보들을 자동으로 사용자에게 할당해 주기 때문에 네트워크 관리를 수월하게 만들어 줍니다.

    이전 글에서 사설IP에 대해 정리할 때 말 했듯 우리가 사용하는 공유기는 NAT기술을 이용해서 여러개의 사설 ip를 사용할 수 있습니다. 그런데 그 IP들은 어떻게 관리되고, 여러대의 컴퓨터에 연결될 수 있었을까요??
    그건 공유기에도 DHCP기능이 있기 때문에 가능한 것 입니다. 물론 우리가 직접 설정해 관리할 수도 있지만 일반적인 상황에선 그럴 필요가 없죠.

2. DHCP의 장점과 단점

2.1 장점

자동으로 네트워크 설정을 해 주기 때문에 네트워크의 관리가 편하고 빠릅니다.

2.2 단점

DHCP 서버가 다운되면 네트워크의 사용이 불가능합니다.

3. DHCP 프로토콜의 동작원리

  • DHCP는 4단계에 거쳐서 동작하게 되는데 DHCP Discover, DHCP Offer, DHCP Request, DHCP Ack의 순서로 동작하게 됩니다.
    그럼 이제부터 이 동작들이 어떻게 이루어지는지 알아봅시다.

3.1 DHCP Discover

  • 메시지 방향 : 클라이언트 -> DHCP 서버
  • DHCP Discover에서는 클라이언트가 DHCP 서버를 찾는 과정입니다.
    클라이언트가 필요한 정보들과 클라이언트의 정보를 담은 메시지(DHCP packet)를 브로드캐스팅을 통해서 이더넷 망(동일한 서브넷마스크)에 DHCP 서버로 보냅니다.
  • 주요 파라미터
    • DHCP Message Type(Option 53) : DHCP 메시지(Discover는 1)
    • Client identifier(Option 61) : 클라이언트의 MAC address
    • Parameter Request List(Option 55) : 서버에 요청할 정보(서브넷마스크, 라우터, DNS 등)

3.2 DHCP Offer

  • 메시지 방향 : DHCP 서버 -> 클라이언트
  • 이제 클라이언트의 메시지를 받은 DHCP서버가 클라이언트에게 답장을 합니다.
    클라이언트가 요청한 서브넷마스크, 게이트웨이, DNS등 필요한 정보들을 담은 메시지를 전송합니다.
  • 주요 파라미터
    • Your (Client) IP address : 클라이언트가 사용할 IP
    • DHCP Message Type(Option 53) : DHCP 메시지(Offer는 2)
    • DHCP Server identifier(Option 54) : DHCP 서버의 IP정보
    • IP Address Lease Time(Option 51) : 클라이언트에게 IP를 임대해주는 시간
    • Subnet Mask(Option 1) : DHCP 서버의 서브넷마스크
    • Router(Option 3) : DHCP 서버의 라우터(Default Gateway IP 주소)
    • Domain Name server(Option 6) : DHCP 서버의 DNS IP주소

3.3 DHCP Request

  • 메시지 방향 : 클라이언트 -> DHCP 서버
  • 이제 DHCP서버에게 네트워크 정보를 선택했으니 해당 네트워크를 사용하겠다고 답을 합니다.
  • 주요 파라미터
    • Requested IP Address(Option 50) : 과거에 할당받은 IP 혹은 요청하고싶은 IP
    • DHCP Message Type(Option 53) : DHCP 메시지(Request는 3)
    • Client identifier(Option 61) : 클라이언트의 MAC address
    • Parameter Request List(Option 55) : 서버에 요청할 정보(서브넷마스크, 라우터, DNS 등)
    • DHCP Server identifier(Option 54) : DHCP 서버의 IP

3.4 DHCP Ack

  • DHCP 서버 -> 클라이언트
  • 클라이언트가 요청한 정보들을 토대로 할당될 정보(Offer에서 보낸 정보)들을 보내고 IP를 할당하게 됩니다.
  • 주요 파라미터
    • Your (Client) IP address : 클라이언트가 사용할 IP
    • DHCP Message Type(Option 53) : DHCP 메시지(Ack는 5)
    • DHCP Server identifier(Option 54) : DHCP 서버의 IP정보
    • IP Address Lease Time(Option 51) : 클라이언트에게 IP를 임대해주는 시간
    • Subnet Mask(Option 1) : DHCP 서버의 서브넷마스크
    • Router(Option 3) : DHCP 서버의 라우터(Default Gateway IP 주소)
    • Domain Name server(Option 6) : DHCP 서버의 DNS IP주소

4. DHCP 통신과정을 사진으로 보자


이런 식으로 위 정보들을 주고받으며 통신이 된다고 합니다.

참고자료

0개의 댓글