DHCPv4 - Dynamic Host Configuration Protocol for IPv4

What is DHCPv4?

DHCPv4 stands for Dynamic Host Configuration Protocol for IPv4. It is a network management protocol used to automatically assign IPv4 addresses and other configuration information (like subnet mask, default gateway, and DNS server) to devices on a network.

Why is DHCPv4 useful?

  • Eliminates the need for manual IP configuration.

  • Reduces configuration errors caused by human input.

  • Efficiently manages and reuses a limited pool of IPv4 addresses.

  • Supports dynamic, automatic, and centralized IP address assignment.

  • Ideal for networks with frequent device changes (e.g., enterprise or public networks).

How it works (DHCPv4 process):

  • Discover – The client broadcasts a DHCPDISCOVER message to locate a DHCP server.

  • Offer – The server replies with a DHCPOFFER message containing an IP address and configuration.

  • Request – The client replies with a DHCPREQUEST message to request the offered address.

  • Acknowledge – The server sends a DHCPACK to confirm the lease and configuration.

(This is often referred to as the DORA process: Discover, Offer, Request, Acknowledge)

Where is DHCPv4 used?

  • Home Networks – For automatic IP assignment via Wi-Fi routers.

  • Enterprise Networks – To manage large pools of IPs efficiently.

  • Data Centers – For dynamic provisioning of servers and virtual machines.

  • Public Networks – In hotels, airports, and cafes for guest access.

Which OSI Layer Does DHCPv4 Belong To?

  • DHCPv4 operates at the Application Layer (Layer 7) of the OSI model.

  • It provides network configuration services (like IP address assignment) to applications and users.

  • While it uses UDP (Transport Layer – Layer 4) to transmit messages, the DHCP logic (like DISCOVER, OFFER, etc.) is defined at the Application Layer.

  • It interacts with system-level services to configure network parameters dynamically.

  • In this section, you are going to learn

  • Terminology

  • Version Info

DHCPv4 Version

RFC

Year

Core Idea / Contribution

DHCPv4 v1

RFC 1531

1993

Initial definition of DHCP as an extension of BOOTP.

DHCPv4 v2

RFC 2131

1997

Updated and standardized DHCPv4; still the core specification.

DHCP Options

RFC 2132

1997

Defined DHCP options for configuration parameters.

DHCP Authentication

RFC 3118

2001

Authentication for DHCP messages.

DHCP Failover

RFC 3074 (draft)

2001

Proposed failover protocol for DHCP redundancy (not standardized).

DHCP Leasequery

RFC 4388

2006

Mechanism for querying DHCP servers about active leases.

DHCP Reconfigure

RFC 3203

2002

Allows servers to trigger client reconfiguration.

DHCP Relay Agent Info

RFC 3046

2001

Adds relay agent information to DHCP messages.

DHCPv4-over-DHCPv6

Draft (2025)

2025

Allows DHCPv4 operation over DHCPv6 infrastructure (in progress).

Setup

DHCP Offer

S.No

Protocol Packet Field

Description

Size (Bytes)

DHCP Offer

S.No

Protocol Packets

Description

Size(Bytes)

DHCP Request

S.No

Protocol Packets

Description

Size(Bytes)

DHCP Acknowledgment (ACK)

S.No

Protocol Packets

Description

Size(Bytes)

DHCP Negative Acknowledgment (NAK)

S.No

Protocol Packets

Description

Size(Bytes)

DHCP Decline

S.No

Protocol Packets

Description

Size(Bytes)

DHCP Release

S.No

Protocol Packets

Description

Size(Bytes)

DHCP Inform

S.No

Protocol Packets

Description

Size(Bytes)

S.no

Use Case

Description

1

Automatic IP Address Assignment

Assigns IP addresses dynamically to devices joining a network.

2

Centralized Network Configuration

Distributes subnet mask, gateway, DNS, and other settings from a central server.

3

IP Address Management

Efficiently manages IP address pools and lease durations.

4

Guest and BYOD Networks

Provides temporary IPs to guest devices without manual configuration.

5

VoIP and IP Phones

Automatically configures phones with IP, TFTP server, and VLAN info.

6

PXE Booting

Supports network booting of devices using DHCP options.

7

Failover and Redundancy

Ensures high availability of IP assignment using DHCP failover mechanisms.

S.No

Feature

Description

1

Dynamic IP Assignment

Automatically assigns IP addresses to clients from a defined pool

2

Lease Management

Allocates IP addresses for a limited time (lease), which can be renewed or released

3

Centralized Configuration

Distributes network settings like subnet mask, gateway, DNS, and more from a central server.

4

DHCP Options

Supports customizable options (e.g., router, DNS, domain name, boot server) via RFC 2132

5

Manual (Static) Assignment

Allows fixed IP assignment based on MAC address (reservation).

6

Relay Agent Support

Forwards DHCP messages between clients and servers across subnets (RFC 1542)

7

Authentication (Optional)

Supports authentication of DHCP messages (RFC 3118), though rarely used in practice

8

Failover Support

Provides redundancy and load balancing between DHCP servers (via drafts or vendor-specific

implementations)

9

PXE Boot Support

Enables network booting of devices using DHCP options (e.g., option 66/67)

10

Logging & Auditing

Tracks lease assignments, renewals, and client activity for monitoring and troubleshooting

Dynamic IP Assignment - Testcases

Sl.No

Test Case

Description

Expected Result

1

DHCP Discover

Client sends DHCPDISCOVER

Server responds with DHCPOFFER

2

DHCP Offer

Server sends DHCPOFFER

Offer contains IP and lease info

3

DHCP Request

Client sends DHCPREQUEST

Server responds with DHCPACK

4

DHCP Acknowledgement

Server sends DHCPACK

Client configures IP

5

DHCP Decline

Client sends DHCPDECLINE

Server marks IP as unusable

6

DHCP Release

Client sends DHCPRELEASE

IP returned to pool

7

DHCP Inform

Client sends DHCPINFORM

Server responds with config info

8

Lease Expiry

Wait for lease to expire

Client renews or releases IP

9

Lease Renewal

Client sends DHCPREQUEST

Server renews lease

10

Lease Rebinding

Client retries after no ACK

Server responds with DHCPACK

11

Multiple Clients

Connect multiple clients

All receive unique IPs

12

IP Conflict Detection

Two clients request same IP

Server resolves conflict

13

Server Unavailable

No DHCP server present

Client fails to get IP

14

Server Recovery

Restart DHCP server

Clients reconnect and renew IPs

15

IP Pool Exhaustion

Exhaust available IPs

New clients get no IP

16

Static IP Reservation

Reserve IP for MAC address

Client gets reserved IP

17

Lease Time Configuration

Set custom lease time

Client receives correct lease

18

DHCP Relay Agent

Use relay between client and server

IP assigned via relay

19

Relay Agent Option 82

Enable Option 82

Server logs relay info

20

DHCP Server Logging

Enable logging

Logs show DISCOVER, OFFER, etc.

21

DHCP Server on VLAN

Server on separate VLAN

Clients get IP if routing works

22

DHCP Client on VLAN

Client on separate VLAN

IP assigned if routing works

23

DHCP with Firewall

Block DHCP ports

IP assignment fails

24

DHCP with NAT

Clients behind NAT

Local IPs assigned

25

DHCP with VPN

Client on VPN

May get IP from VPN DHCP

26

DHCP with PXE Boot

PXE client requests IP

IP assigned for boot

27

DHCP with Wireshark

Capture DHCP packets

DISCOVER, OFFER, etc. visible

28

DHCP with Multiple Interfaces

Client with multiple NICs

Each gets separate IP

29

DHCP with MAC Filtering

Enable MAC filtering

Only allowed MACs get IP

30

DHCP with IP Filtering

Filter IP ranges

Only allowed IPs assigned

31

DHCP with DNS Options

Configure DNS in DHCP

Client receives DNS info

32

DHCP with Gateway Options

Configure gateway in DHCP

Client receives gateway info

33

DHCP with Subnet Mask

Configure subnet mask

Client receives correct mask

34

DHCP with Broadcast Flag

Client sets broadcast flag

Server responds accordingly

35

DHCP with Rapid Commit

Enable rapid commit

DISCOVER ? ACK directly

36

DHCP with Option 60

Use vendor class ID

Server responds based on ID

37

DHCP with Option 61

Use client identifier

Server identifies client

38

DHCP with Option 12

Set hostname option

Server logs hostname

39

DHCP with Option 3

Set router option

Client receives router IP

40

DHCP with Option 6

Set DNS server option

Client receives DNS IPs

41

DHCP with Option 15

Set domain name option

Client receives domain name

42

DHCP with Option 51

Set lease time option

Client receives lease duration

43

DHCP with Option 54

Server identifier option

Client identifies server

44

DHCP with Option 82 Spoofing

Spoof relay info

Server logs spoofed data

45

DHCP with Rogue Server

Add unauthorized server

Clients may get wrong IPs

46

DHCP Server Failover

Configure failover

Secondary server assigns IPs

47

DHCP Server Load Test

Simulate many clients

Server handles load

48

DHCP Server Restart

Restart server during lease

Clients retain IPs

49

DHCP Server Upgrade

Upgrade DHCP software

No disruption in IP assignment

50

DHCP Server Backup Restore

Restore from backup

IP pool and leases restored

Lease Management - Testcases

Sl.No

Test Case

Description

Expected Result

1

Lease Assignment

Assign IP to client

Client receives IP with lease time

2

Lease Expiry

Wait for lease to expire

Client releases or renews IP

3

Lease Renewal

Client sends DHCPREQUEST before expiry

Server renews lease

4

Lease Rebinding

Client retries after no ACK

Server responds with DHCPACK

5

Lease Release

Client sends DHCPRELEASE

IP returned to pool

6

Lease Decline

Client sends DHCPDECLINE

Server marks IP as unusable

7

Lease Time Configuration

Set custom lease duration

Client receives correct lease time

8

Short Lease Time

Set lease time to 1 minute

Client renews frequently

9

Long Lease Time

Set lease time to 1 week

Client retains IP for long duration

10

Lease Renewal After Reboot

Reboot client before lease expiry

Client sends DHCPREQUEST

11

Lease Renewal After Server Reboot

Reboot server during lease

Client retains lease

12

Lease Table Inspection

View server lease table

Shows active leases

13

Lease Table Cleanup

Expire leases and check table

Expired leases removed

14

Lease Conflict Detection

Assign same IP to two clients

Server resolves conflict

15

Lease Reservation

Reserve IP for MAC address

Client always gets same IP

16

Lease Renewal with Option 61

Use client identifier

Server matches lease to identifier

17

Lease Renewal with Option 50

Request specific IP

Server honors if available

18

Lease Renewal with Option 54

Server identifier option

Client renews with correct server

19

Lease Renewal with Option 82

Relay agent info

Server logs relay info

20

Lease Renewal with Broadcast Flag

Client sets broadcast flag

Server responds accordingly

21

Lease Renewal with Unicast

Client uses unicast

Server responds with ACK

22

Lease Renewal with Broadcast

Client uses broadcast

Server responds with ACK

23

Lease Renewal with No Server

Disconnect server

Client retries and rebinds

24

Lease Renewal with Multiple Servers

Multiple DHCP servers

Client renews with original server

25

Lease Renewal with Rogue Server

Add unauthorized server

Client may get wrong lease

26

Lease Renewal with Firewall

Block DHCP ports

Renewal fails

27

Lease Renewal with NAT

Client behind NAT

Local IP lease renewed

28

Lease Renewal with VPN

Client on VPN

May renew via VPN DHCP

29

Lease Renewal with VLAN

Client on different VLAN

Lease renewed if routing works

30

Lease Renewal with MAC Change

Change client MAC

Server treats as new client

31

Lease Renewal with IP Change

Change client IP manually

Server may reassign original IP

32

Lease Renewal with Time Drift

Client clock out of sync

Lease may expire early or late

33

Lease Renewal with DHCPINFORM

Client sends INFORM

Server responds with config info

34

Lease Renewal with Option 12

Set hostname

Server logs hostname

35

Lease Renewal with Option 3

Set router option

Client receives router IP

36

Lease Renewal with Option 6

Set DNS server option

Client receives DNS IPs

37

Lease Renewal with Option 15

Set domain name option

Client receives domain name

38

Lease Renewal with Option 51

Set lease time option

Client receives lease duration

39

Lease Renewal with Option 53

DHCP message type

Server identifies request type

40

Lease Renewal with Option 55

Parameter request list

Server responds with requested options

41

Lease Renewal with Option 66

TFTP server name

Client receives boot server info

42

Lease Renewal with Option 67

Bootfile name

Client receives bootfile info

43

Lease Renewal with Option 119

Domain search list

Client receives search domains

44

Lease Renewal with Option 252

Proxy autodiscovery

Client receives PAC URL

45

Lease Renewal with Logging

Enable server logs

Logs show renewal process

46

Lease Renewal with Monitoring

Monitor DHCP traffic

Renewal packets visible

47

Lease Renewal with Wireshark

Capture DHCP packets

DHCPREQUEST and DHCPACK visible

48

Lease Renewal with Load Test

Simulate many clients

Server handles lease renewals

49

Lease Renewal with Failover

Use DHCP failover setup

Secondary server handles renewal

50

Lease Renewal with Backup Restore

Restore server from backup

Lease table restored correctly

Centralized Configuration - Testcases

Sl.No

Test Case

Description

Expected Result

1

Centralized Server Setup

Configure DHCP server centrally

Clients receive IP and config from central server

2

IP Pool Configuration

Define IP range on central server

Clients receive IPs within defined range

3

Subnet Configuration

Set subnet mask centrally

Clients receive correct subnet mask

4

Gateway Configuration

Set default gateway centrally

Clients receive correct gateway

5

DNS Configuration

Set DNS servers centrally

Clients receive correct DNS IPs

6

Domain Name Configuration

Set domain name centrally

Clients receive domain name

7

Lease Time Configuration

Set lease duration centrally

Clients receive correct lease time

8

Static IP Reservation

Reserve IP for specific MAC address

Client receives reserved IP

9

Multiple Subnet Support

Configure multiple subnets

Clients receive IPs based on subnet

10

Option 3 Configuration

Set router option centrally

Clients receive router IP

11

Option 6 Configuration

Set DNS option centrally

Clients receive DNS IPs

12

Option 15 Configuration

Set domain name option

Clients receive domain name

13

Option 51 Configuration

Set lease time option

Clients receive lease duration

14

Option 66 Configuration

Set TFTP server name

Clients receive boot server info

15

Option 67 Configuration

Set bootfile name

Clients receive bootfile info

16

Option 119 Configuration

Set domain search list

Clients receive search domains

17

Option 252 Configuration

Set proxy autodiscovery URL

Clients receive PAC URL

18

Centralized Logging

Enable logging on central server

Logs show client requests and responses

19

Centralized Monitoring

Monitor DHCP activity centrally

Admin sees all lease activity

20

Centralized Lease Table

View lease table on central server

Shows all active leases

21

Lease Expiry Management

Expire leases centrally

IPs returned to pool

22

Lease Renewal Management

Renew leases from central server

Clients retain IPs

23

Lease Release Management

Release leases from central server

IPs returned to pool

24

Rogue Server Detection

Detect unauthorized DHCP servers

Alerts or logs generated

25

Configuration Backup

Backup DHCP configuration

Backup file created

26

Configuration Restore

Restore DHCP configuration

Settings restored

27

Configuration Versioning

Track changes to configuration

Version history available

28

Configuration Audit

Audit DHCP settings

Audit report generated

29

Configuration via CLI

Configure DHCP using command line

Settings applied successfully

30

Configuration via GUI

Configure DHCP using web interface

Settings applied successfully

31

Configuration via API

Configure DHCP using REST API

Settings applied successfully

32

Configuration Sync

Sync settings across multiple servers

All servers have same config

33

Configuration Validation

Validate DHCP settings

No errors reported

34

Configuration Rollback

Rollback to previous config

Previous settings restored

35

Configuration Export

Export DHCP settings to file

File created with config

36

Configuration Import

Import DHCP settings from file

Settings applied

37

Centralized Relay Configuration

Configure relay agents centrally

Relay forwards requests correctly

38

Option 82 Configuration

Configure relay info centrally

Server logs relay info

39

Centralized MAC Filtering

Set allowed MACs centrally

Only allowed clients get IP

40

Centralized IP Filtering

Set allowed IP ranges centrally

Only allowed IPs assigned

41

Centralized VLAN Configuration

Configure VLAN-specific settings

Clients on VLANs get correct config

42

Centralized Failover Setup

Configure failover DHCP server

Backup server takes over if needed

43

Centralized Load Balancing

Distribute load across DHCP servers

Requests balanced

44

Centralized DHCPINFORM Handling

Respond to INFORM requests centrally

Clients receive config info

45

Centralized Option 60 Handling

Handle vendor class ID centrally

Server responds based on ID

46

Centralized Option 61 Handling

Handle client identifier centrally

Server identifies client correctly

47

Centralized Option 12 Handling

Handle hostname option centrally

Server logs hostname

48

Centralized Option 55 Handling

Handle parameter request list centrally

Server responds with requested options

49

Centralized Option 53 Handling

Handle DHCP message types centrally

Server identifies and responds correctly

50

Centralized Configuration Test

Test full configuration setup

All clients receive correct settings

DHCP Options - Testcases

Sl.No

Test Case

Description

Expected Result

1

Option 1 Subnet Mask

Configure subnet mask option

Client receives correct subnet mask

2

Option 3 Router

Configure default gateway

Client receives correct gateway

3

Option 6 DNS Servers

Configure DNS server addresses

Client receives DNS IPs

4

Option 12 Hostname

Client sends hostname

Server logs hostname

5

Option 15 Domain Name

Configure domain name

Client receives domain name

6

Option 28 Broadcast Address

Configure broadcast address

Client receives correct broadcast address

7

Option 51 Lease Time

Set lease duration

Client receives correct lease time

8

Option 53 DHCP Message Type

Client sends message type

Server responds appropriately

9

Option 54 Server Identifier

Server includes its IP

Client identifies server

10

Option 55 Parameter Request List

Client requests specific options

Server responds with requested options

11

Option 58 Renewal Time (T1)

Configure renewal time

Client renews lease at T1

12

Option 59 Rebinding Time (T2)

Configure rebinding time

Client rebinds lease at T2

13

Option 60 Vendor Class ID

Client sends vendor ID

Server responds based on ID

14

Option 61 Client Identifier

Client sends unique ID

Server uses ID to track lease

15

Option 66 TFTP Server Name

Configure boot server

Client receives TFTP server info

16

Option 67 Bootfile Name

Configure bootfile

Client receives bootfile name

17

Option 82 Relay Agent Info

Relay adds circuit info

Server logs relay metadata

18

Option 119 Domain Search List

Configure search domains

Client receives domain list

19

Option 252 Proxy Auto Config

Configure PAC URL

Client receives proxy config URL

20

Option 44 NetBIOS Name Server

Configure WINS server

Client receives WINS IP

21

Option 46 NetBIOS Node Type

Configure node type

Client receives node type

22

Option 121 Classless Static Routes

Configure static routes

Client receives route list

23

Option 77 User Class

Client sends user class

Server responds based on class

24

Option 81 FQDN

Client sends FQDN

Server updates DNS

25

Option 93 Client Architecture

PXE client sends architecture info

Server responds with appropriate bootfile

26

Option 94 Client Network Device

PXE client sends device info

Server uses info for boot

27

Option 97 UUID/GUID

PXE client sends UUID

Server identifies client

28

Option 43 Vendor Specific Info

Send vendor-specific options

Client receives custom data

29

Option 150 TFTP Server (Cisco)

Configure Cisco TFTP server

Client receives server IP

30

Option 176 IP Phone Config

Configure IP phone options

Phone receives config

31

Option 242 VoIP Config (Avaya)

Configure VoIP settings

VoIP device receives config

32

Option 240 Custom Option

Define custom option

Client receives custom data

33

Option 210 Path Prefix

Configure path prefix

Client receives prefix

34

Option 209 Configuration File

Configure config file path

Client receives file info

35

Option 203 NIS+ Domain

Configure NIS+ domain

Client receives domain name

36

Option 202 NIS+ Servers

Configure NIS+ servers

Client receives server IPs

37

Option 17 Root Path

Configure root path for boot

Client receives path

38

Option 26 MTU Size

Configure MTU size

Client receives MTU value

39

Option 33 Static Routes

Configure static routes

Client receives route list

40

Option 40 NIS Domain

Configure NIS domain

Client receives domain name

41

Option 41 NIS Servers

Configure NIS servers

Client receives server IPs

42

Option 42 NTP Servers

Configure NTP servers

Client receives time server IPs

43

Option 64 NIS+ Domain Name

Configure NIS+ domain

Client receives domain name

44

Option 65 NIS+ Server Address

Configure NIS+ server

Client receives server IPs

45

Option 68 Mobile IP Home Agent

Configure mobile IP agent

Client receives agent IP

46

Option 69 SMTP Server

Configure SMTP server

Client receives mail server IP

47

Option 70 POP3 Server

Configure POP3 server

Client receives mail server IP

48

Option 71 NNTP Server

Configure NNTP server

Client receives news server IP

49

Option 72 WWW Server

Configure web server

Client receives web server IP

50

Option 73 Finger Server

Configure finger server

Client receives server IP

Manual (Static) Assignment - Testcases

Sl.No

Test Case

Description

Expected Result

1

Static IP Reservation

Reserve IP for a specific MAC address

Client receives the reserved IP

2

Duplicate Static IP Detection

Assign same IP to two MACs

Server flags conflict or denies second assignment

3

Static IP Outside Pool

Assign static IP outside dynamic pool

Client receives static IP

4

Static IP Inside Pool

Assign static IP within dynamic pool

IP excluded from dynamic allocation

5

Static IP with Hostname

Assign hostname with static IP

Server logs hostname

6

Static IP with Lease Time

Assign lease time to static IP

Client receives lease time

7

Static IP with DNS Options

Assign DNS servers with static IP

Client receives DNS info

8

Static IP with Gateway

Assign gateway with static IP

Client receives gateway info

9

Static IP with Subnet Mask

Assign subnet mask with static IP

Client receives correct mask

10

Static IP with Domain Name

Assign domain name with static IP

Client receives domain name

11

Static IP with Option 66

Assign TFTP server

Client receives TFTP info

12

Static IP with Option 67

Assign bootfile name

Client receives bootfile info

13

Static IP with Option 82

Assign static IP via relay

Server logs relay info

14

Static IP with Option 60

Assign based on vendor class ID

Client receives correct IP

15

Static IP with Option 61

Assign based on client identifier

Client receives correct IP

16

Static IP with Option 12

Assign based on hostname

Client receives correct IP

17

Static IP with Option 55

Client requests specific options

Server responds with static config

18

Static IP with Option 3

Assign router IP

Client receives router IP

19

Static IP with Option 6

Assign DNS IPs

Client receives DNS IPs

20

Static IP with Option 15

Assign domain name

Client receives domain name

21

Static IP with Option 252

Assign proxy config URL

Client receives PAC URL

22

Static IP with Option 119

Assign domain search list

Client receives search domains

23

Static IP with Logging

Enable logging for static assignment

Logs show static IP assignment

24

Static IP with Monitoring

Monitor static IP usage

Admin sees static lease activity

25

Static IP with Lease Expiry

Set expiry for static lease

IP released after expiry

26

Static IP with No Expiry

Set infinite lease

IP never expires

27

Static IP with MAC Filtering

Allow only specific MACs

Only allowed MACs get static IP

28

Static IP with VLAN

Assign static IP to VLAN client

Client receives correct IP

29

Static IP with VPN

Assign static IP to VPN client

Client receives correct IP

30

Static IP with NAT

Assign static IP behind NAT

Client receives local IP

31

Static IP with Firewall

Block DHCP ports

Static assignment fails

32

Static IP with PXE Boot

Assign static IP to PXE client

Client receives IP and bootfile

33

Static IP with Wireshark

Capture DHCP packets

Static assignment visible

34

Static IP with CLI Configuration

Configure static IP via CLI

Client receives correct IP

35

Static IP with GUI Configuration

Configure static IP via GUI

Client receives correct IP

36

Static IP with API Configuration

Configure static IP via API

Client receives correct IP

37

Static IP with Backup Restore

Restore static config from backup

Static IPs restored

38

Static IP with Export/Import

Export and import static config

Settings applied correctly

39

Static IP with Conflict Logging

Log IP conflicts

Conflict entries visible in logs

40

Static IP with DHCPINFORM

Client sends INFORM

Server responds with static config

41

Static IP with Option 44

Assign NetBIOS name server

Client receives WINS IP

42

Static IP with Option 42

Assign NTP server

Client receives time server IP

43

Static IP with Option 121

Assign classless static routes

Client receives route list

44

Static IP with Option 77

Assign based on user class

Client receives correct IP

45

Static IP with Option 81

Assign based on FQDN

Server updates DNS

46

Static IP with Option 93

Assign based on architecture

PXE client receives correct IP

47

Static IP with Option 97

Assign based on UUID

PXE client receives correct IP

48

Static IP with Option 209

Assign config file path

Client receives file info

49

Static IP with Option 210

Assign path prefix

Client receives prefix

50

Static IP with Option 240

Assign custom option

Client receives custom data

Relay Agent Support - Testcases

Sl.No

Test Case

Description

Expected Result

1

Relay Agent Basic Functionality

Configure DHCP relay agent

DHCP requests are forwarded to central server

2

Relay Agent IP Forwarding

Verify relay forwards client IP

Server sees client IP in relayed packet

3

Relay Agent Option 82 Injection

Enable Option 82 on relay

Server receives circuit ID and remote ID

4

Relay Agent Without Option 82

Disable Option 82

Server receives standard relay packet

5

Relay Agent with Multiple Interfaces

Relay with multiple NICs

Requests forwarded from correct interface

6

Relay Agent with VLANs

Relay between VLANs

Clients on VLANs get IPs

7

Relay Agent with Subnet Routing

Relay between routed subnets

Clients receive IPs from central server

8

Relay Agent with Firewall

Block UDP 67/68 or 67/67

DHCP fails

9

Relay Agent with NAT

Relay behind NAT

May fail due to address translation

10

Relay Agent with VPN

Relay over VPN tunnel

DHCP works if routing is correct

11

Relay Agent with DHCP Snooping

Enable DHCP snooping

Relay traffic allowed if trusted

12

Relay Agent with IGMP Snooping

Enable IGMP snooping

Relay unaffected

13

Relay Agent with Option 82 Circuit ID

Set custom circuit ID

Server logs correct circuit ID

14

Relay Agent with Option 82 Remote ID

Set custom remote ID

Server logs correct remote ID

15

Relay Agent with Option 82 Policy

Configure server to act on Option 82

Server assigns IP based on relay info

16

Relay Agent with Option 82 Stripping

Strip Option 82 at relay

Server receives no Option 82

17

Relay Agent with Option 82 Forwarding

Forward Option 82 to server

Server receives and logs Option 82

18

Relay Agent with Option 82 Insertion

Insert Option 82 at relay

Server receives Option 82

19

Relay Agent with Option 82 Override

Override existing Option 82

Server receives updated Option 82

20

Relay Agent with Logging Enabled

Enable logging on relay

Logs show forwarded packets

21

Relay Agent with Monitoring

Monitor relay traffic

DHCP packets visible

22

Relay Agent with Wireshark

Capture relay packets

Relay adds relay-agent IP and Option 82

23

Relay Agent with Multiple Servers

Relay to multiple DHCP servers

Load balanced or failover behavior observed

24

Relay Agent Failover

Primary relay fails

Secondary relay takes over

25

Relay Agent Load Balancing

Distribute requests across servers

Balanced server responses

26

Relay Agent with Static Routing

Use static routes to reach server

DHCP works if routes are correct

27

Relay Agent with Dynamic Routing

Use dynamic routing protocols

DHCP works if routes are learned

28

Relay Agent with DHCPINFORM

Forward INFORM messages

Server responds with config

29

Relay Agent with DHCPRELEASE

Forward RELEASE messages

Server updates lease table

30

Relay Agent with DHCPDECLINE

Forward DECLINE messages

Server marks IP as unusable

31

Relay Agent with DHCPDISCOVER

Forward DISCOVER messages

Server responds with OFFER

32

Relay Agent with DHCPREQUEST

Forward REQUEST messages

Server responds with ACK

33

Relay Agent with DHCPACK

Relay receives ACK from server

ACK forwarded to client

34

Relay Agent with DHCPNAK

Relay receives NAK from server

NAK forwarded to client

35

Relay Agent with DHCP Option 54

Server includes its IP

Client identifies correct server

36

Relay Agent with Option 61

Client sends client identifier

Server uses ID for lease

37

Relay Agent with Option 60

Client sends vendor class ID

Server responds accordingly

38

Relay Agent with Option 55

Client requests specific options

Server responds with requested options

39

Relay Agent with Option 12

Client sends hostname

Server logs hostname

40

Relay Agent with Option 3

Server sends router IP

Client receives correct gateway

41

Relay Agent with Option 6

Server sends DNS IPs

Client receives DNS servers

42

Relay Agent with Option 15

Server sends domain name

Client receives domain name

43

Relay Agent with Option 119

Server sends domain search list

Client receives search domains

44

Relay Agent with Option 252

Server sends proxy config URL

Client receives PAC URL

45

Relay Agent with Option 150

Server sends Cisco TFTP server

Client receives TFTP IP

46

Relay Agent with Option 67

Server sends bootfile name

PXE client receives bootfile

47

Relay Agent with Option 66

Server sends TFTP server name

PXE client receives TFTP info

48

Relay Agent with Option 43

Server sends vendor-specific info

Client receives custom data

49

Relay Agent with Option 121

Server sends classless static routes

Client receives route list

50

Relay Agent with Option 82 Validation

Validate Option 82 format

Server accepts or rejects based on policy

Authentication (Optional) - Testcases

Sl.No

Test Case

Description

Expected Result

1

Enable DHCP Authentication

Enable authentication on server and client

Authenticated exchange occurs

2

Disable DHCP Authentication

Disable authentication

Normal DHCP exchange without auth

3

Valid Authentication Key

Use correct shared secret

Client receives IP address

4

Invalid Authentication Key

Use incorrect shared secret

Server rejects request

5

Missing Authentication Option

Client omits authentication option

Server ignores or rejects request

6

Replay Attack Detection

Replay old authenticated message

Server rejects message

7

Authentication with DISCOVER

Client sends DISCOVER with auth

Server responds with OFFER

8

Authentication with REQUEST

Client sends REQUEST with auth

Server responds with ACK

9

Authentication with INFORM

Client sends INFORM with auth

Server responds with config

10

Authentication with DECLINE

Client sends DECLINE with auth

Server marks IP as unusable

11

Authentication with RELEASE

Client sends RELEASE with auth

Server releases IP

12

Authentication with NAK

Server sends NAK with auth

Client rejects lease

13

Authentication with ACK

Server sends ACK with auth

Client accepts lease

14

Authentication Algorithm - HMAC-MD5

Use HMAC-MD5 for authentication

Exchange succeeds

15

Authentication Algorithm - HMAC-SHA1

Use HMAC-SHA1 for authentication

Exchange succeeds

16

Authentication Algorithm - HMAC-SHA256

Use HMAC-SHA256 for authentication

Exchange succeeds

17

Authentication Replay Window

Configure replay detection window

Replayed messages rejected

18

Authentication Key Rotation

Rotate shared secret

Clients re-authenticate successfully

19

Authentication Key Expiry

Use expired key

Server rejects request

20

Authentication Key ID Mismatch

Use wrong key ID

Server rejects request

21

Authentication with Option 90

Include Option 90 in DHCP packet

Server validates authentication

22

Authentication with Relay Agent

Relay forwards authenticated packet

Server validates and responds

23

Authentication with Option 82

Use Option 82 with authentication

Server validates both

24

Authentication with Option 61

Use client identifier with auth

Server validates identity

25

Authentication with Option 60

Use vendor class ID with auth

Server responds accordingly

26

Authentication with Option 55

Request specific options with auth

Server responds with options

27

Authentication with Option 12

Send hostname with auth

Server logs hostname

28

Authentication with Option 3

Request router IP with auth

Server responds with gateway

29

Authentication with Option 6

Request DNS IPs with auth

Server responds with DNS

30

Authentication with Option 15

Request domain name with auth

Server responds with domain

31

Authentication with Option 119

Request domain search list with auth

Server responds with search domains

32

Authentication with Option 252

Request proxy config URL with auth

Server responds with PAC URL

33

Authentication Logging Enabled

Enable logging on server

Logs show auth success/failure

34

Authentication Monitoring

Monitor DHCP traffic

Auth packets visible

35

Authentication with Wireshark

Capture DHCP packets

Option 90 visible in packets

36

Authentication with CLI Config

Configure auth via CLI

Auth exchange works

37

Authentication with GUI Config

Configure auth via GUI

Auth exchange works

38

Authentication with API Config

Configure auth via API

Auth exchange works

39

Authentication with Backup/Restore

Backup and restore auth config

Auth settings preserved

40

Authentication with Failover

Use DHCP failover with auth

Both servers validate auth

41

Authentication with Load Balancing

Use multiple servers with auth

All validate correctly

42

Authentication with VLANs

Use VLAN-separated clients

Auth exchange works

43

Authentication with NAT

Client behind NAT

Auth exchange works if routing is correct

44

Authentication with VPN

Client over VPN

Auth exchange works

45

Authentication with Firewall

Block DHCP ports

Auth exchange fails

46

Authentication with Expired Lease

Renew expired lease with auth

Server reassigns IP

47

Authentication with Static IP

Assign static IP with auth

Client receives reserved IP

48

Authentication with Dynamic IP

Assign dynamic IP with auth

Client receives IP from pool

49

Authentication with Rogue Server

Use unauthorized server

Client rejects unauthenticated response

50

Authentication with Invalid Format

Send malformed Option 90

Server rejects request

Failover Support - Testcases

Sl.No

Test Case

Description

Expected Result

1

Failover Pair Configuration

Configure primary and secondary DHCP servers

Servers sync and share lease info

2

Failover Mode - Load Balance

Set failover mode to load balance

Both servers assign IPs

3

Failover Mode - Hot Standby

Set failover mode to hot standby

Only primary assigns IPs

4

Failover Communication Check

Verify TCP connection between servers

Connection established

5

Failover State - Normal

Both servers in normal state

IPs assigned normally

6

Failover State - Partner Down

Simulate partner down

Server enters partner-down state

7

Failover State - Communications Interrupted

Break link between servers

Servers enter communication-interrupted state

8

Failover State - Recover

Restore partner after failure

Server enters recover state

9

Failover State - Recover Done

Complete recovery

Server returns to normal

10

Failover State - Shutdown

Manually shut down failover

Server enters shutdown state

11

Lease Assignment in Normal State

Assign IP during normal state

Client receives IP

12

Lease Assignment in Partner Down

Assign IP when partner is down

Server assigns IP from its pool

13

Lease Assignment in Comm Interrupted

Assign IP during communication loss

Server assigns IP cautiously

14

Lease Assignment in Recover State

Assign IP during recovery

Server resumes normal operation

15

Lease Synchronization

Sync lease database between servers

Both servers have same lease info

16

Lease Conflict Resolution

Resolve lease conflict between servers

Conflict resolved based on timestamps

17

Failover Port Configuration

Use custom TCP port for failover

Servers communicate on new port

18

Failover Authentication

Use authentication between servers

Authenticated connection established

19

Failover Logging

Enable logging on both servers

Logs show failover events

20

Failover Monitoring

Monitor failover status

Dashboard shows server states

21

Failover with Dynamic IPs

Assign dynamic IPs during failover

Clients receive IPs

22

Failover with Static IPs

Assign static IPs during failover

Clients receive reserved IPs

23

Failover with Option 82

Relay agent adds Option 82

Server processes correctly

24

Failover with Option 61

Client uses identifier

Server assigns consistent lease

25

Failover with Option 55

Client requests specific options

Server responds with options

26

Failover with Option 3

Assign router IP

Client receives correct gateway

27

Failover with Option 6

Assign DNS IPs

Client receives DNS servers

28

Failover with Option 15

Assign domain name

Client receives domain name

29

Failover with Option 66/67

PXE boot options

Client receives boot info

30

Failover with Option 90

Use authentication option

Server validates client

31

Failover with Lease Renewal

Client renews lease during failover

Lease renewed successfully

32

Failover with Lease Rebinding

Client rebinds lease during failover

Lease rebinds successfully

33

Failover with Lease Expiry

Lease expires during failover

IP returned to pool

34

Failover with Lease Release

Client releases IP during failover

IP marked as free

35

Failover with DHCPINFORM

Client sends INFORM during failover

Server responds with config

36

Failover with DHCPDECLINE

Client declines IP during failover

Server marks IP as unusable

37

Failover with DHCPNAK

Server sends NAK during failover

Client retries

38

Failover with Rogue Server

Introduce unauthorized server

Clients may receive incorrect config

39

Failover with Firewall

Block failover TCP port

Servers enter comm-interrupted state

40

Failover with NAT

Place one server behind NAT

Failover communication fails

41

Failover with VPN

Connect servers over VPN

Failover works if routing is correct

42

Failover with VLANs

Servers on different VLANs

Failover works if routing is enabled

43

Failover with High Load

Simulate many clients

Servers handle load and sync leases

44

Failover with Server Reboot

Reboot one server

Other server continues operation

45

Failover with Network Outage

Disconnect one server from network

Other server enters partner-down

46

Failover with Time Drift

Desync clocks between servers

Lease conflicts may occur

47

Failover with Backup Restore

Restore lease DB from backup

Server resumes with correct state

48

Failover with Config Mismatch

Use different configs on servers

Failover fails or logs error

49

Failover with Option 54

Server identifier option

Client identifies correct server

50

Failover Recovery Validation

Validate full recovery process

Servers return to normal state

PXE Boot Support - Testcases

Sl.No

Test Case

Description

Expected Result

1

PXE Boot Request

PXE client sends DHCPDISCOVER

Server responds with DHCPOFFER

2

PXE Boot with Option 60

Client sends vendor class ID PXEClient

Server identifies PXE client

3

PXE Boot with Option 66

Server provides TFTP server name

Client receives TFTP server info

4

PXE Boot with Option 67

Server provides bootfile name

Client receives bootfile name

5

PXE Boot with Option 93

Client sends architecture type

Server responds with appropriate bootfile

6

PXE Boot with Option 94

Client sends network interface type

Server logs interface type

7

PXE Boot with Option 97

Client sends UUID/GUID

Server identifies client uniquely

8

PXE Boot with Option 54

Server identifier included

Client identifies correct server

9

PXE Boot with Option 53

DHCP message type used correctly

Server responds appropriately

10

PXE Boot with Option 55

Client requests specific options

Server responds with requested options

11

PXE Boot with Option 12

Client sends hostname

Server logs hostname

12

PXE Boot with Option 3

Server provides router IP

Client receives gateway

13

PXE Boot with Option 6

Server provides DNS IPs

Client receives DNS servers

14

PXE Boot with Option 15

Server provides domain name

Client receives domain name

15

PXE Boot with Option 119

Server provides domain search list

Client receives search domains

16

PXE Boot with Option 252

Server provides proxy config URL

Client receives PAC URL

17

PXE Boot with Static IP

Assign static IP to PXE client

Client receives reserved IP

18

PXE Boot with Dynamic IP

Assign dynamic IP to PXE client

Client receives IP from pool

19

PXE Boot with Relay Agent

Relay forwards PXE request

Server responds with boot options

20

PXE Boot with Option 82

Relay adds circuit/remote ID

Server logs relay info

21

PXE Boot with VLANs

PXE client on VLAN

Server assigns IP and bootfile

22

PXE Boot with NAT

PXE client behind NAT

Boot may fail due to routing

23

PXE Boot with VPN

PXE client over VPN

Boot may fail or succeed based on routing

24

PXE Boot with Firewall

Block TFTP or DHCP ports

PXE boot fails

25

PXE Boot with TFTP Server

TFTP server responds to client

Client downloads bootfile

26

PXE Boot with HTTP Boot

Use HTTP instead of TFTP

Client downloads bootfile via HTTP

27

PXE Boot with UEFI Client

UEFI PXE client requests boot

Server provides UEFI-compatible bootfile

28

PXE Boot with BIOS Client

Legacy BIOS PXE client requests boot

Server provides BIOS-compatible bootfile

29

PXE Boot with Multiple Servers

Multiple DHCP servers respond

Client selects appropriate server

30

PXE Boot with Load Balancer

Use load balancer in front of DHCP servers

Requests distributed evenly

31

PXE Boot with Failover

One DHCP server fails

Secondary server responds

32

PXE Boot with Option 43

Vendor-specific info provided

Client receives custom data

33

PXE Boot with Option 150

Cisco TFTP server option

Client receives TFTP server IP

34

PXE Boot with Option 209

Configuration file path

Client receives config file info

35

PXE Boot with Option 210

Path prefix

Client receives path prefix

36

PXE Boot with Option 211

Reboot time

Client receives reboot time

37

PXE Boot with Option 224-254

Custom vendor options

Client receives custom data

38

PXE Boot with Option 1

Subnet mask provided

Client receives correct mask

39

PXE Boot with Option 28

Broadcast address provided

Client receives broadcast address

40

PXE Boot with Option 44

NetBIOS name server

Client receives WINS server

41

PXE Boot with Option 42

NTP server provided

Client receives time server

42

PXE Boot with Option 121

Classless static routes

Client receives route list

43

PXE Boot with Option 77

User class info

Server responds based on class

44

PXE Boot with Option 81

FQDN provided

Server updates DNS

45

PXE Boot with Option 68

Mobile IP home agent

Client receives agent IP

46

PXE Boot with Option 69

SMTP server

Client receives mail server IP

47

PXE Boot with Option 70

POP3 server

Client receives mail server IP

48

PXE Boot with Option 71

NNTP server

Client receives news server IP

49

PXE Boot with Option 72

WWW server

Client receives web server IP

50

PXE Boot with Option 73

Finger server

Client receives finger server IP

Logging & Auditing - Testcases

Sl.No

Test Case

Description

Expected Result

1

Enable DHCP Logging

Turn on logging on DHCP server

Logs are generated for DHCP events

2

Disable DHCP Logging

Turn off logging

No logs are generated

3

Log DHCPDISCOVER

Client sends DISCOVER

DISCOVER logged with timestamp and MAC

4

Log DHCPOFFER

Server sends OFFER

OFFER logged with IP and MAC

5

Log DHCPREQUEST

Client sends REQUEST

REQUEST logged with requested IP

6

Log DHCPACK

Server sends ACK

ACK logged with lease details

7

Log DHCPNAK

Server sends NAK

NAK logged with reason

8

Log DHCPDECLINE

Client sends DECLINE

DECLINE logged with IP and MAC

9

Log DHCPRELEASE

Client sends RELEASE

RELEASE logged with IP and MAC

10

Log DHCPINFORM

Client sends INFORM

INFORM logged with client details

11

Log Lease Assignment

Assign IP to client

Lease assignment logged

12

Log Lease Renewal

Client renews lease

Renewal logged with new expiry

13

Log Lease Expiry

Lease expires

Expiry logged with IP and MAC

14

Log Lease Rebinding

Client rebinds lease

Rebinding logged

15

Log Lease Release

Client releases IP

Release logged with timestamp

16

Log Static IP Assignment

Assign static IP

Static assignment logged

17

Log Dynamic IP Assignment

Assign dynamic IP

Dynamic assignment logged

18

Log Option 82 Info

Relay agent adds Option 82

Circuit and remote ID logged

19

Log Option 61 Info

Client sends identifier

Identifier logged

20

Log Option 60 Info

Client sends vendor class ID

Vendor ID logged

21

Log Option 55 Info

Client requests specific options

Requested options logged

22

Log Option 66/67 Info

PXE boot options

TFTP and bootfile logged

23

Log Option 90 Authentication

Client sends authentication info

Auth status logged

24

Log Rogue DHCP Detection

Detect unauthorized server

Rogue server logged

25

Log Server Startup

Start DHCP server

Startup event logged

26

Log Server Shutdown

Stop DHCP server

Shutdown event logged

27

Log Server Crash

Simulate crash

Crash logged with error

28

Log Server Recovery

Restart server

Recovery logged

29

Log Configuration Change

Modify DHCP config

Change logged with user and timestamp

30

Log Failover Events

Trigger failover

Failover state changes logged

31

Log Communication Errors

Break server communication

Error logged with details

32

Log Unauthorized Access

Attempt unauthorized config change

Access denied and logged

33

Log DHCP Relay Events

Relay forwards request

Relay IP and client info logged

34

Log VLAN-based Assignment

Assign IP to VLAN client

VLAN ID and IP logged

35

Log VPN-based Assignment

Assign IP to VPN client

VPN client info logged

36

Log NAT-based Assignment

Assign IP behind NAT

NAT IP and MAC logged

37

Log DHCP Packet Drop

Drop malformed packet

Drop reason logged

38

Log DHCP Flood Detection

Simulate flood attack

Flood alert logged

39

Log DHCP Snooping Event

Enable DHCP snooping

Snooping events logged

40

Log Lease Conflict

Assign same IP to two clients

Conflict logged with MACs

41

Log Lease Table Export

Export lease table

Export event logged

42

Log Lease Table Import

Import lease table

Import event logged

43

Log Backup Event

Backup DHCP config

Backup logged with timestamp

44

Log Restore Event

Restore DHCP config

Restore logged with status

45

Log API Access

Access DHCP via API

API call logged with user info

46

Log CLI Access

Access DHCP via CLI

CLI command logged

47

Log GUI Access

Access DHCP via GUI

GUI session logged

48

Log Audit Trail Generation

Generate audit report

Report includes all DHCP events

49

Log Time Sync Event

Sync server time

Time sync logged

50

Log Log Rotation Event

Rotate DHCP logs

Rotation logged with archive path

  • Reference links