DHCP(동적 호스트 구성 프로토콜) 기본 정보
17376 단어 DHCP
개요
DHCP(Dynamic Host Configuration Protocol)는 RFC 1541(RFC 2131로 대체됨)에 정의된 표준 프로토콜로 서버가 클라이언트에게 IP 주소와 구성 정보를 동적으로 할당할 수 있도록 합니다.일반적으로 DHCP 서버는 클라이언트에게 다음과 같은 기본 정보를 최소한 제공합니다.
•
IP 주소
•
서브넷 마스크
•
기본 게이트웨이
도메인 이름 서비스(DNS) 서버의 주소와 Windows 인터넷 이름 서비스(WINS) 서버의 주소 등 다른 정보도 제공할 수 있다.시스템 관리자는 DHCP 서버를 클라이언트에 할당하는 옵션을 구성합니다.
클라이언트가 DHCP 정보를 수신한 후 처음 초기화하도록 구성되면 서버와의 대화가 시작됩니다.
다음은 클라이언트와 서버 간의 대화에 대한 요약 테이블이며 마지막 열은 패킷 수준의 절차 설명입니다.
Source Dest Source Dest Packet
MAC addr MAC addr IP addr IP addr Description
-----------------------------------------------------------------
Client Broadcast 0.0.0.0 255.255.255.255 DHCP Discover
DHCPsrvr Broadcast DHCPsrvr 255.255.255.255 DHCP Offer
Client Broadcast 0.0.0.0 255.255.255.255 DHCP Request
DHCPsrvr Broadcast DHCPsrvr 255.255.255.255 DHCP ACK
DHCP 클라이언트와 DHCP 서버 간의 자세한 대화는 다음과 같습니다.
DHCPDISCOVER
클라이언트가 DHCPDISCOVER 패킷을 전송합니다.다음은 네트워크 모니터의 캡처 정보에서 발췌한 것으로, DHCPDISCOVER 패킷의 IP 및 DHCP 섹션을 보여줍니다.IP 섹션에서 Destination 주소는 255.255.255.255이고 Source 주소는 0.0.0입니다.DHCP 섹션에서는 패키지를 Discover 패키지로 식별하고 네트워크 카드의 물리적 주소를 사용하여 두 곳에서 클라이언트를 식별합니다.CHADDR 필드와 DHCP의 값 참고: Client Identifier 필드는 동일합니다.
IP:ID = 0x0; Proto = UDP; Len: 328
IP:Version = 4 (0x4)
IP:Header Length = 20 (0x14)
IP:Service Type = 0 (0x0)
IP:Precedence = Routine
IP:...0.... = Normal Delay
IP:....0... = Normal Throughput
IP:.....0.. = Normal Reliability
IP:Total Length = 328 (0x148)
IP:Identification = 0 (0x0)
IP:Flags Summary = 0 (0x0)
IP:.......0 = Last fragment in datagram
IP:......0. = May fragment datagram if necessary
IP:Fragment Offset = 0 (0x0) bytes
IP:Time to Live = 128 (0x80)
IP:Protocol = UDP - User Datagram
IP:Checksum = 0x39A6
IP:Source Address = 0.0.0.0
IP:Destination Address = 255.255.255.255
IP:Data:Number of data bytes remaining = 308 (0x0134)
DHCP:Discover (xid=21274A1D)
DHCP:Op Code (op) = 1 (0x1)
DHCP:Hardware Type (htype) = 1 (0x1) 10Mb Ethernet
DHCP:Hardware Address Length (hlen) = 6 (0x6)
DHCP:Hops (hops) = 0 (0x0)
DHCP:Transaction ID (xid) = 556223005 (0x21274A1D)
DHCP:Seconds (secs) = 0 (0x0)
DHCP:Flags (flags) = 0 (0x0)
DHCP:0............... = No Broadcast
DHCP:Client IP Address (ciaddr) = 0.0.0.0
DHCP:Your IP Address (yiaddr) = 0.0.0.0
DHCP:Server IP Address (siaddr) = 0.0.0.0
DHCP:Relay IP Address (giaddr) = 0.0.0.0
DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E
DHCP:Server Host Name (sname) = <Blank>
DHCP:Boot File Name (file) = <Blank>
DHCP:Magic Cookie = [OK]
DHCP:Option Field (options)
DHCP:DHCP Message Type = DHCP Discover
DHCP:Client-identifier = (Type:1) 08 00 2b 2e d8 5e
DHCP:Host Name = JUMBO-WS
DHCP:Parameter Request List = (Length:7) 01 0f 03 2c 2e 2f 06
DHCP:End of this option field
DHCPOFFER
DHCP 서버는 DHCPOFFER 패킷을 전송하여 응답합니다.다음 캡처 정보의 IP 섹션에서 Source 주소는 현재 DHCP 서버 IP 주소이고 Destination 주소는 브로드캐스트 주소 255.255.255입니다.DHCP 섹션에서는 패키지를 Offer로 식별합니다.YIADDR 필드는 서버가 클라이언트에게 제공하는 IP 주소로 채워집니다.CHADDR 필드에는 요청을 보낸 클라이언트의 물리적 주소가 여전히 있습니다.또한 DHCP Option Field 섹션에서는 서버가 IP 주소와 함께 보내는 다양한 옵션을 볼 수 있습니다.이 경우 서버는 서브넷 마스크, 기본 게이트웨이(라우터), 임대 시간, WINS 서버 주소(NetBIOS 이름 서비스) 및 NetBIOS 노드 유형을 전송합니다.
IP:ID = 0x3C30; Proto = UDP; Len: 328
IP:Version = 4 (0x4)
IP:Header Length = 20 (0x14)
IP:Service Type = 0 (0x0)
IP:Precedence = Routine
IP:...0.... = Normal Delay
IP:....0... = Normal Throughput
IP:.....0.. = Normal Reliability
IP:Total Length = 328 (0x148)
IP:Identification = 15408 (0x3C30)
IP:Flags Summary = 0 (0x0)
IP:.......0 = Last fragment in datagram
IP:......0. = May fragment datagram if necessary
IP:Fragment Offset = 0 (0x0) bytes
IP:Time to Live = 128 (0x80)
IP:Protocol = UDP - User Datagram
IP:Checksum = 0x2FA8
IP:Source Address = 157.54.48.151
IP:Destination Address = 255.255.255.255
IP:Data:Number of data bytes remaining = 308 (0x0134)
DHCP:Offer (xid=21274A1D)
DHCP:Op Code (op) = 2 (0x2)
DHCP:Hardware Type (htype) = 1 (0x1) 10Mb Ethernet
DHCP:Hardware Address Length (hlen) = 6 (0x6)
DHCP:Hops (hops) = 0 (0x0)
DHCP:Transaction ID (xid) = 556223005 (0x21274A1D)
DHCP:Seconds (secs) = 0 (0x0)
DHCP:Flags (flags) = 0 (0x0)
DHCP:0............... = No Broadcast
DHCP:Client IP Address (ciaddr) = 0.0.0.0
DHCP:Your IP Address (yiaddr) = 157.54.50.5
DHCP:Server IP Address (siaddr) = 0.0.0.0
DHCP:Relay IP Address (giaddr) = 0.0.0.0
DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E
DHCP:Server Host Name (sname) = <Blank>
DHCP:Boot File Name (file) = <Blank>
DHCP:Magic Cookie = [OK]
DHCP:Option Field (options)
DHCP:DHCP Message Type = DHCP Offer
DHCP:Subnet Mask = 255.255.240.0
DHCP:Renewal Time Value (T1) = 8 Days, 0:00:00
DHCP:Rebinding Time Value (T2) = 14 Days, 0:00:00
DHCP:IP Address Lease Time = 16 Days, 0:00:00
DHCP:Server Identifier = 157.54.48.151
DHCP:Router = 157.54.48.1
DHCP:NetBIOS Name Service = 157.54.16.154
DHCP:NetBIOS Node Type = (Length: 1) 04
DHCP:End of this option field
DHCPREQUEST
클라이언트는 DHCPREQUEST를 보내 DHCPOFFER에 응답합니다.다음 캡처 정보의 IP 섹션에서 클라이언트의 Source 주소는 0.0.0.0이고 패킷의 Destination은 255.255.255.255입니다.클라이언트가 서버에서 제공한 주소를 사용할 수 있는 확인을 받지 못했기 때문에 클라이언트는 0.0.0.0을 보류합니다.여러 DHCP 서버가 응답하고 클라이언트를 위한 Offer가 예약되어 있을 수 있기 때문에 Destination 주소는 여전히 방송됩니다.이렇게 하면 다른 DHCP 서버는 제공된 주소를 해제하고 사용 가능한 주소 풀로 되돌릴 수 있음을 알 수 있습니다.DHCP 섹션에서는 패키지를 Request로 식별하고 DHCP:Requested Address 필드를 사용하여 제공된 주소를 확인합니다.DHCP: Server Identifier 필드에는 임대차 계약을 제공하는 DHCP 서버의 IP 주소가 표시됩니다.
IP:ID = 0x100; Proto = UDP; Len: 328
IP:Version = 4 (0x4)
IP:Header Length = 20 (0x14)
IP:Service Type = 0 (0x0)
IP:Precedence = Routine
IP:...0.... = Normal Delay
IP:....0... = Normal Throughput
IP:.....0.. = Normal Reliability
IP:Total Length = 328 (0x148)
IP:Identification = 256 (0x100)
IP:Flags Summary = 0 (0x0)
IP:.......0 = Last fragment in datagram
IP:......0. = May fragment datagram if necessary
IP:Fragment Offset = 0 (0x0) bytes
IP:Time to Live = 128 (0x80)
IP:Protocol = UDP - User Datagram
IP:Checksum = 0x38A6
IP:Source Address = 0.0.0.0
IP:Destination Address = 255.255.255.255
IP:Data:Number of data bytes remaining = 308 (0x0134)
DHCP:Request (xid=21274A1D)
DHCP:Op Code (op) = 1 (0x1)
DHCP:Hardware Type (htype) = 1 (0x1) 10Mb Ethernet
DHCP:Hardware Address Length (hlen) = 6 (0x6)
DHCP:Hops (hops) = 0 (0x0)
DHCP:Transaction ID (xid) = 556223005 (0x21274A1D)
DHCP:Seconds (secs) = 0 (0x0)
DHCP:Flags (flags) = 0 (0x0)
DHCP:0............... = No Broadcast
DHCP:Client IP Address (ciaddr) = 0.0.0.0
DHCP:Your IP Address (yiaddr) = 0.0.0.0
DHCP:Server IP Address (siaddr) = 0.0.0.0
DHCP:Relay IP Address (giaddr) = 0.0.0.0
DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E
DHCP:Server Host Name (sname) = <Blank>
DHCP:Boot File Name (file) = <Blank>
DHCP:Magic Cookie = [OK]
DHCP:Option Field (options)
DHCP:DHCP Message Type = DHCP Request
DHCP:Client-identifier = (Type:1) 08 00 2b 2e d8 5e
DHCP:Requested Address = 157.54.50.5
DHCP:Server Identifier = 157.54.48.151
DHCP:Host Name = JUMBO-WS
DHCP:Parameter Request List = (Length:7) 01 0f 03 2c 2e 2f 06
DHCP:End of this option field
DHCPACK
DHCP 서버는 DHCPACK로 DHCPREQUEST에 응답하여 초기화 주기를 완료합니다.Source 주소는 DHCP 서버 IP 주소이며 Destination 주소는 255.255.255.255입니다.YIADDR 필드는 클라이언트의 주소를 포함하고 CHADDR 및 DHCP:Client Identifier 필드는 요청한 클라이언트의 네트워크 카드의 물리적 주소입니다.DHCP Option 섹션에서는 패킷을 ACK로 식별합니다.
IP:ID = 0x3D30; Proto = UDP; Len: 328
IP:Version = 4 (0x4)
IP:Header Length = 20 (0x14)
IP:Service Type = 0 (0x0)
IP:Precedence = Routine
IP:...0.... = Normal Delay
IP:....0... = Normal Throughput
IP:.....0.. = Normal Reliability
IP:Total Length = 328 (0x148)
IP:Identification = 15664 (0x3D30)
IP:Flags Summary = 0 (0x0)
IP:.......0 = Last fragment in datagram
IP:......0. = May fragment datagram if necessary
IP:Fragment Offset = 0 (0x0) bytes
IP:Time to Live = 128 (0x80)
IP:Protocol = UDP - User Datagram
IP:Checksum = 0x2EA8
IP:Source Address = 157.54.48.151
IP:Destination Address = 255.255.255.255
IP:Data:Number of data bytes remaining = 308 (0x0134)
DHCP:ACK (xid=21274A1D)
DHCP:Op Code (op) = 2 (0x2)
DHCP:Hardware Type (htype) = 1 (0x1) 10Mb Ethernet
DHCP:Hardware Address Length (hlen) = 6 (0x6)
DHCP:Hops (hops) = 0 (0x0)
DHCP:Transaction ID (xid) = 556223005 (0x21274A1D)
DHCP:Seconds (secs) = 0 (0x0)
DHCP:Flags (flags) = 0 (0x0)
DHCP:0............... = No Broadcast
DHCP:Client IP Address (ciaddr) = 0.0.0.0
DHCP:Your IP Address (yiaddr) = 157.54.50.5
DHCP:Server IP Address (siaddr) = 0.0.0.0
DHCP:Relay IP Address (giaddr) = 0.0.0.0
DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E
DHCP:Server Host Name (sname) = <Blank>
DHCP:Boot File Name (file) = <Blank>
DHCP:Magic Cookie = [OK]
DHCP:Option Field (options)
DHCP:DHCP Message Type = DHCP ACK
DHCP:Renewal Time Value (T1) = 8 Days, 0:00:00
DHCP:Rebinding Time Value (T2) = 14 Days, 0:00:00
DHCP:IP Address Lease Time = 16 Days, 0:00:00
DHCP:Server Identifier = 157.54.48.151
DHCP:Subnet Mask = 255.255.240.0
DHCP:Router = 157.54.48.1
DHCP:NetBIOS Name Service = 157.54.16.154
DHCP:NetBIOS Node Type = (Length: 1) 04
DHCP:End of this option field
클라이언트가 이전에 DHCP에 할당된 IP 주소가 있고 클라이언트가 재부팅되면 클라이언트는 특수한 DHCPREQUEST 패키지에서 이전에 빌린 IP 주소를 특정하게 요청합니다.소스 주소는 0.0.0.0이고 Destination 주소는 브로드캐스트 주소 255.255.255.255입니다.Microsoft 클라이언트는 이전에 할당된 주소로 DHCP Option Field DHCP:Requested Address 필드를 채웁니다.RFC를 준수하는 클라이언트는 CIADDR 필드를 요청된 주소로 채웁니다.두 경우 모두 Microsoft DHCP 서버에서 사용할 수 있습니다.
IP:ID = 0x0; Proto = UDP; Len: 328
IP:Version = 4 (0x4)
IP:Header Length = 20 (0x14)
IP:Service Type = 0 (0x0)
IP:Precedence = Routine
IP:...0.... = Normal Delay
IP:....0... = Normal Throughput
IP:.....0.. = Normal Reliability
IP:Total Length = 328 (0x148)
IP:Identification = 0 (0x0)
IP:Flags Summary = 0 (0x0)
IP:.......0 = Last fragment in datagram
IP:......0. = May fragment datagram if necessary
IP:Fragment Offset = 0 (0x0) bytes
IP:Time to Live = 128 (0x80)
IP:Protocol = UDP - User Datagram
IP:Checksum = 0x39A6
IP:Source Address = 0.0.0.0
IP:Destination Address = 255.255.255.255
IP:Data:Number of data bytes remaining = 308 (0x0134)
DHCP:Request (xid=2757554E)
DHCP:Op Code (op) = 1 (0x1)
DHCP:Hardware Type (htype) = 1 (0x1) 10Mb Ethernet
DHCP:Hardware Address Length (hlen) = 6 (0x6)
DHCP:Hops (hops) = 0 (0x0)
DHCP:Transaction ID (xid) = 660034894 (0x2757554E)
DHCP:Seconds (secs) = 0 (0x0)
DHCP:Flags (flags) = 0 (0x0)
DHCP:0............... = No Broadcast
DHCP:Client IP Address (ciaddr) = 0.0.0.0
DHCP:Your IP Address (yiaddr) = 0.0.0.0
DHCP:Server IP Address (siaddr) = 0.0.0.0
DHCP:Relay IP Address (giaddr) = 0.0.0.0
DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E
DHCP:Server Host Name (sname) = <Blank>
DHCP:Boot File Name (file) = <Blank>
DHCP:Magic Cookie = [OK]
DHCP:Option Field (options)
DHCP:DHCP Message Type = DHCP Request
DHCP:Client-identifier = (Type:1) 08 00 2b 2e d8 5e
DHCP:Requested Address = 157.54.50.5
DHCP:Host Name = JUMBO-WS
DHCP:Parameter Request List = (Length:7) 01 0f 03 2c 2e 2f 06
DHCP:End of this option field
이때 서버가 응답할 수도 있고 응답하지 않을 수도 있습니다.Windows NT DHCP 서버의 비헤이비어는 사용 중인 운영 체제 버전 및 기타 요소(예: 수퍼 도메인)에 따라 다릅니다.서버가 클라이언트가 이 주소를 계속 사용할 수 있도록 결정하면 DHCPREQUEST에 대해 묵묵부답이나 ACK를 보냅니다.서버가 클라이언트가 이 주소를 소유할 수 없다고 결정하면 NACK가 전송됩니다.
IP:ID = 0x3F1A; Proto = UDP; Len: 328
IP:Version = 4 (0x4)
IP:Header Length = 20 (0x14)
IP:Service Type = 0 (0x0)
IP:Precedence = Routine
IP:...0.... = Normal Delay
IP:....0... = Normal Throughput
IP:.....0.. = Normal Reliability
IP:Total Length = 328 (0x148)
IP:Identification = 16154 (0x3F1A)
IP:Flags Summary = 0 (0x0)
IP:.......0 = Last fragment in datagram
IP:......0. = May fragment datagram if necessary
IP:Fragment Offset = 0 (0x0) bytes
IP:Time to Live = 128 (0x80)
IP:Protocol = UDP - User Datagram
IP:Checksum = 0x2CBE
IP:Source Address = 157.54.48.151
IP:Destination Address = 255.255.255.255
IP:Data:Number of data bytes remaining = 308 (0x0134)
DHCP:NACK (xid=74A005CE)
DHCP:Op Code (op) = 2 (0x2)
DHCP:Hardware Type (htype) = 1 (0x1) 10Mb Ethernet
DHCP:Hardware Address Length (hlen) = 6 (0x6)
DHCP:Hops (hops) = 0 (0x0)
DHCP:Transaction ID (xid) = 1956644302 (0x74A005CE)
DHCP:Seconds (secs) = 0 (0x0)
DHCP:Flags (flags) = 0 (0x0)
DHCP:0............... = No Broadcast
DHCP:Client IP Address (ciaddr) = 0.0.0.0
DHCP:Your IP Address (yiaddr) = 0.0.0.0
DHCP:Server IP Address (siaddr) = 0.0.0.0
DHCP:Relay IP Address (giaddr) = 0.0.0.0
DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E
DHCP:Server Host Name (sname) = <Blank>
DHCP:Boot File Name (file) = <Blank>
DHCP:Magic Cookie = [OK]
DHCP:Option Field (options)
DHCP:DHCP Message Type = DHCP NACK
DHCP:Server Identifier = 157.54.48.151
DHCP:End of this option field
그런 다음 클라이언트가 프로세스를 검색하기 시작하지만 DHCPDISCOVER 패킷은 동일한 주소를 대여하려고 시도합니다.많은 상황에서 tth 클라이언트는 같은 주소를 얻을 수 있지만 얻지 못할 수도 있습니다.
IP:ID = 0x100; Proto = UDP; Len: 328
IP:Version = 4 (0x4)
IP:Header Length = 20 (0x14)
IP:Service Type = 0 (0x0)
IP:Precedence = Routine
IP:...0.... = Normal Delay
IP:....0... = Normal Throughput
IP:.....0.. = Normal Reliability
IP:Total Length = 328 (0x148)
IP:Identification = 256 (0x100)
IP:Flags Summary = 0 (0x0)
IP:.......0 = Last fragment in datagram
IP:......0. = May fragment datagram if necessary
IP:Fragment Offset = 0 (0x0) bytes
IP:Time to Live = 128 (0x80)
IP:Protocol = UDP - User Datagram
IP:Checksum = 0x38A6
IP:Source Address = 0.0.0.0
IP:Destination Address = 255.255.255.255
IP:Data:Number of data bytes remaining = 308 (0x0134)
DHCP:Discover (xid=3ED14752)
DHCP:Op Code (op) = 1 (0x1)
DHCP:Hardware Type (htype) = 1 (0x1) 10Mb Ethernet
DHCP:Hardware Address Length (hlen) = 6 (0x6)
DHCP:Hops (hops) = 0 (0x0)
DHCP:Transaction ID (xid) = 1053902674 (0x3ED14752)
DHCP:Seconds (secs) = 0 (0x0)
DHCP:Flags (flags) = 0 (0x0)
DHCP:0............... = No Broadcast
DHCP:Client IP Address (ciaddr) = 0.0.0.0
DHCP:Your IP Address (yiaddr) = 0.0.0.0
DHCP:Server IP Address (siaddr) = 0.0.0.0
DHCP:Relay IP Address (giaddr) = 0.0.0.0
DHCP:Client Ethernet Address (chaddr) = 08002B2ED85E
DHCP:Server Host Name (sname) = <Blank>
DHCP:Boot File Name (file) = <Blank>
DHCP:Magic Cookie = [OK]
DHCP:Option Field (options)
DHCP:DHCP Message Type = DHCP Discover
DHCP:Client-identifier = (Type:1) 08 00 2b 2e d8 5e
DHCP:Requested Address = 157.54.51.5
DHCP:Host Name = JUMBO-WS
DHCP:Parameter Request List = (Length:7) 01 0f 03 2c 2e 2f 06
DHCP:End of this option field
클라이언트가 DHCP 서버에서 얻은 DHCP 정보에는 이 정보와 연관된 임대 계약 기간이 있습니다.임대차 계약은 DHCP 할당에 대한 정보를 클라이언트가 사용할 수 있는 기간을 정의합니다.임대 계약 기간이 특정 시점에 도달하면 클라이언트는 DHCP 정보를 업데이트하려고 시도합니다.
Windows 또는 Windows for Workgroups 클라이언트에서 IP 정보를 보려면 IPCONFIG 유틸리티를 사용합니다.클라이언트가 Windows 95인 경우 WINIPCFG를 사용합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Raspberry Pi의 Node-RED에서 DHCP 패킷 캡처그래서 Wifi에 연결했을 때 DHCP의 패킷을 포착하면 네트워크에 연결된 순간을 알 수 있을까 생각했습니다. DHCP의 패킷은 UDP의 브로드캐스트로 날아오므로 포착할 수 있다고 생각했습니다. Node-RED에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.