DHCP 프로토콜 요약

DHCP 동적 호스트 구성 프로토콜에서는, 간단히 말하자면, UDP 프로토콜의 네 가지에 기초하여 기능의 자동 IP 어드레스 획득에 제공된다;

이 프로토콜의 전체 워크 플로우의 다음 설명 :

(1) 클라이언트는 검색 패킷을 세 개의 브로드 캐스트 패킷을 모두 0의 소스 IP 주소를 전송한다;

탐색 패킷하는 IP 주소의 할당을 수신 (2) 서버는 IP 주소를 찾아 행한다 때 발견을 검출하여 ARP

이 유휴 IP 주소, 패킷 그룹을 제공 한 후, 내부 IP 주소, 클라이언트의 MAC 주소, 임대 시간과 다른 정보와 함께 클라이언트로 전송;

(3) (일반적으로) 응답을 선택하고 서버에 요청 메시지를 전송합니다 제공하는 메시지를 수신 한 후 클라이언트도있을 것입니다

주소 충돌이 ip가 때 ARP 프로브, 그리고, IP ​​주소의 사용을 종료 한 후 발견을 다시 보내도록 서버에 거절 메시지를 보낼 것입니다;

클라이언트는 IP 어드레스를 사용하려면, ACK를 수신 한 후 (4) 서버는 확인 ACK 패킷의 어드레스를 송신한다;

--- 위의 프로세스 메시지는 방송이다;

(5) 클라이언트가 다른 임대가 만료 성공적으로 계속 사용, 임대 기간의 IP 주소 갱신의 1/2과 3/4 시간을 시작하려고 시도합니다

계속 사용할 수 없습니다, 당신은 IP 주소 및 재전송 검색을 캐스팅 할 필요가;

(6) 클라이언트는 IP 주소의 사용을 포기 언제든지 해제 메시지를 보낼 수 있습니다;

 

우리가 집중하는 서버에서 구현 문제의 일부 :

비트 어레이를 구축 1. 또는 파티션 비트 어드레스 태그 어레이에 분배 될 수 없다;

썩은 실현을 비교하는 각각 발견 요청을받은 후, 임의의 주소 먼저, 다음 각 주소를 찾을 수있는 목록을 임대,

임대가 분배되어 있는지 여부를 확인하려면, 가까운 한계에 할당 된 주소가있을 N 때 더 나은 시작 성능을하지만 * N 탐색

크게 성능에 영향을 케이스;

사용 비트 배열 (32)과 각각 반복하는 방법을 직접 0xffffffff의 범위를 찾을 수 없습니다, 다음 비트에 따라 유휴 찾아, 주소를 보유하고

비트함으로써 유휴 어드레스를 결정하는 단계; 단지 N / 32의 최대 탐색, 성능이 크게 향상 될 것이다;

2. 가장 오래된 임대 :

때때로, 클라이언트가 조립 라인에서 할 수 있으며, 서버의 주소 풀을 모두 사용 된 경우이 시간에 서버를 통지하지 않았다, 당신은 초기 선택할 수 있습니다

이미 사용, IP 주소가 새 클라이언트에 할당 된 경우 IP를 탐지하여 ARP에서 할당 된 임대, 여기에 목록을 임대 관련

유지, 갱신 또는 따라서 첫 번째 노드에 직접 액세스 할 수 있도록, 각 보간 방법은 꼬리를 사용하도록 더 추가가 반드시 가장 오래된 임대, 쇼트닝이다

순회 시간;

3.arp 충돌 방지 :

ARP는 여기 충돌을 넣어 ARP 전송 된 동일한 IP 주소의 탐지를 방지하기 위해 우선, ARP 캐시 주소 정보의 일부를 저장 주로;

제한 시간은 아직 발견 충돌, 메시지를 보낼 수있는 제공하지 않는 경우는 일반적으로 타이머를 사용하는 것이 충돌 방지를하여 ARP, 그렇지 않으면 필요가보고 계속

사용 가능한 IP 주소는, 비트 배열에 표시 갈등 필요로하는 경우, 이전의 충돌을 감지 할 수있는 다음 노트의 주소를 찾을;

4.offer 보웬 및 ACK 패킷 처리리스 :

송신 쿠폰, 그것은 정식리스 ACK의 송신된다리스에 삽입리스트 tmplease 할당 즉, 태그를 생성 할 때;

특정 테스트 도구에서 예외, 기존 IP 주소의 제안은 삭제됩니다 원래 임대의 주소와 다시 추가 인 경우

이 도구는 ARP 응답하지 않기 때문에, 그것은 삭제됩니다, 시나리오, IP 주소가 발견으로,이 시간을 할당하고 있으며, 충돌이 감지되지

임대, 전송을 제공하지만, 그가 주소, 그렇게하지 응답, 실수로 삭제 된 임대의 결과를 IP를 갖고 있음을 발견 오프, 이것은 소문자 하가 발생할 수 있습니다

동기 비정상적인 상황의 일부;

추천

출처www.cnblogs.com/98pyh/p/11953355.html