DHCP를 통해 IP 주소를 얻는 데 몇 초가 걸리는 이유는 무엇입니까?


24

CPU가 초당 수백만 개의 작업을 처리 할 수 ​​있고 라우터에 핑하는 데 몇 밀리 초가 걸리는 경우 호기심으로 인해 DHCP를 통해 네트워크 구성을 얻는 데 몇 초가 걸리는 이유는 무엇입니까?

하나의 WiFi 라우터와 약 5 개의 장치가있는 가정 환경에서는 5-10 초와 같은 시간이 드물지 않습니다.

답변:


22

DHCP 서버에서 DHCP 임대를 실제로 획득하는 것 외에도 (일반적으로 시간이 오래 걸리지 않음) 일부 서버는 실제로 전달하기 전에 먼저 전달할 IP 주소를 핑 (Ping)하여 이미 없는지 확인합니다. 네트워크에서 사용 중-시간이 초과되는 데 몇 초가 걸립니다. 클라이언트는 때때로 IP 주소 충돌을 방지하기 위해 동일한 작업을 수행하므로 시간이 더 걸립니다. 그런 다음 일부 클라이언트는 DNS 항목 등을 등록합니다.


3
내 직장의 dhcp 서버는 ARP 요청을 사용하여 IP 충돌을 감지합니다.
erichui

9

DHCP는 브로드 캐스트 메시지를 전송하기 때문에 초기 요청 중에 단일 서버가 아니라 네트워크의 모든 장치와 일련의 트랜잭션을 포함하므로 시간이 조금 더 걸릴 수 있습니다.

DHCP의 RFC를 확인하면

http://www.faqs.org/rfcs/rfc2131.html

일련의 협상과 관련된 내용을 명확하게 볼 수 있습니다. 처음에 클라이언트는 LAN의 모든 장치에 DHCPDISCOVER를 보낸 다음 dhcp 서비스를 실행하는 서버는 DHCPOFFER 메시지를 반환합니다. 클라이언트는 하나를 선택하기 전에 사용 가능한 모든 dhcp 서버로부터 응답을 받기를 기다릴 수도 있습니다. 그런 다음 IP 공급자로 선택한 서버를 나타내는 식별자와 함께 DHCPREQUEST를 보냅니다. 마지막으로 모든 구성 매개 변수와 함께 DHCPACK을 얻습니다. 이것은 RFC의 "3.1 클라이언트-서버 상호 작용-네트워크 주소 할당"에 대한 요약 일뿐입니다.

내 경험상 dhcp는 많은 노드가 연결된 대규모 LAN 설정에서 주로 오랜 시간이 걸립니다. 단일 DHCP 서버 (예 : WIFI 라우터)와 하나 또는 두 개의 PC가있는 홈 네트워크에서는 매우 빠릅니다.


하나의 WiFi 라우터와 약 5 개의 장치가있는 홈 네트워크에서는 약 5-10 초가 걸리며 상당히 느립니다. 그러나 설명 주셔서 감사합니다.
보렉 버나드

단일 DHCP 서버가 있는지 확인하십시오. 장치가 5 개인 경우 dhcp 서버의 각 장치에 IP를 예약 할 수 있습니다. 그러나 궁금한 점이 있으면 tcpdump를 사용하여 실제 협상을보고 지연의 원인을 확인할 수 있습니다.
다니엘 t.

dhcp 서버에 따라 네트워크 활동 또는 CPU 속도에 관계없이 몇 초가 걸릴 수 있습니다. 이는 서버가 먼저 네트워크에 쿼리하여 주소가 클라이언트에 제공되기 전에 사용 중인지 확인하고 응답이 도착하기까지 잠시 기다려야하기 때문입니다. 이 타임 아웃은 지연의 일부이며 가장 조용한 네트워크에서도 존재합니다.
ʇsәɹoɈ

2

DHCP 서버에서 빠른 응답을 원할 때 발견 한 두 가지 이유와 솔루션.

1) DHCP가 할당하려는 주소를 핑했습니다. 3 초 지연이 추가되었습니다. MAC 주소를 IP 주소로 매핑하도록 DHCP 구성을 변경하여이를 제거했습니다. 이것은 기본적으로 정적 주소를 할당하기 위해 DHCP를 사용합니다. 이것은 나를 위해 3 초 지연을 제거했습니다.

2) 나는 고립 된 네트워크를 가지고 있지만 때때로 이것을 얻을 수 있습니다. DNS 조회가 수행되어 DHCP에서 IP 주소를 얻는 데 몇 초의 지연이 발생했습니다. DHCP 서버 설정에는 도메인 및 DNS 서버에 대한 옵션이 있습니다. DNS 옵션과 위의 변경 사항을 제거한 후 DHCP 서버에서 즉시 회신을 받았습니다. (**)

이 문제는 설정에서 찾은 것입니다. 마일리지가 다를 수 있습니다.

건배

LB

(**) DNS 조회 실패로 인해 지연이 발생하여 이상한 충격을 일으켜 머리를 긁는 결과를 초래할 때마다 1 페니를 지불하면 많은 돈을 벌었습니다.


1

나는 당신이 어떤 scenary를 가지고 있는지 모르지만, 실제 세계에서는 방화벽 뒤에 많은 요청과 함께 오래된 서버 (dhcp 서버는 항상 가장 오래된 하드웨어가있는 서버 :)에서 IP 주소를 얻습니다. , 하나 이상의 라우터 / 스위치 ... 대기 시간, CPU 전원 ... 및 Windows 세계에서 dhcp 구현은 우리가 원하는만큼 효율적이지 않습니다!.


1
"Windows 세계에서 dhcp 구현은 원하는만큼 효율적이지 않습니다!." 여기서 말한 것을 백업 할 문서 나 출처가 있습니까?
mfinni

아니요, 예를 들어 ... Linux는 장애 조치 DHCP 옵션을 매우 쉽게 제공합니다. Windows의 기본 제공 Active Directory 기능 외에도 잠재적 인 보안 문제로 고려해야 할 몇 가지 사항이 있습니다.
C_Sense

2
나는 당신이 너무 많은 인터넷 게시물을 읽은 채로 과장된 것을 과장했다고 생각합니다. "마이크로 소프트." "왜?" "모두가 그렇게 말합니다."
joeqwerty

Windows DHCP 서버에서 겹치는 DHCP 범위를 수행 할 수 있습니다. win2k8 R2에는 새로운 장애 조치 옵션도 있습니다. 아마 리눅스가 그것보다 낫습니다. 그 중 어느 것도 "효율성"과 관련이 없습니다. 그리고 Windows DHCP의 "보안 문제"는 무엇입니까? 나는 당신에게 출처를 물었고 대신 당신은 더 많은 주장을 던졌습니다.
mfinni

0

dhcp에 성능 문제가 발생한 경우;

  1. 네트워크 대기 시간 확인
  2. 패킷 캡 DHCP 협상을보십시오. 어떤 조치가 오래 걸리는지 확인할 수 있어야합니다. (DHCP 서버에 문제가있을 수 있습니다. 누가 누구를 기다리고 있습니까?)
  3. dhcp 서버로드 및 로그를 검사하십시오.

홈 네트워크 시나리오이므로 질문을 업데이트했습니다.
보렉 버나드

ಠ_ಠ 그렇다면 SUPERUSER에게 물어보십시오.
Ablue

어쩌면 네트워킹과 관련이 있기 때문에 여기에 가장 좋은 곳이 있습니까?
Kedare

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.