BOOTP - Bootstrap Protocol

What is BOOTP?

BOOTP stands for Bootstrap Protocol. It is a network protocol used by a device to automatically obtain an IP address and other network configuration settings (like gateway and DNS) from a BOOTP server when it boots up.

Why is BOOTP useful?

  • BOOTP was designed to help diskless workstations and other devices:
    • Automatically get their IP address, default gateway, and boot file location.

    • Boot over the network without needing manual configuration.

    • Simplify network setup in large environments.

How it works?

  • Device boots up – It doesn’t have an IP address or configuration.

  • Sends a BOOTP request – A broadcast message is sent to find a BOOTP server.

  • Server responds – The BOOTP server replies with the device’s IP address and other settings.

  • Optional boot file – The server can also provide the location of a boot file (e.g., for loading an OS).

Where is BOOTP used?

  • Diskless workstations – To boot operating systems over the network.

  • Network devices – Like routers or switches during initial setup.

  • Embedded systems – That need to auto-configure on startup.

  • Legacy systems – In environments where DHCP is not used.

Which OSI Layer does BOOTP belong to?

  • Application Layer (Layer 7)

  • BOOTP defines application-level messaging between clients and servers.

  • It provides IP configuration and bootstrapping services, which are implemented in software.

  • While it uses UDP at the Transport Layer (Layer 4), its logic and structure are defined at Layer 7.

  • In this section, you are going to learn

  • Terminology

  • Version Info

BOOTP Version

RFC

Year

Core Idea / Contribution

BOOTP

RFC 951

1985

Defined a protocol for diskless clients to

automatically obtain an IP address, the

address of a boot server, and the name of a

boot file. It replaced RARP and introduced

relay agent support for multi-subnet

environments.

  • setup

  • setup

BOOTREQUEST Packet

S.No

Protocol Packets

Description

Size(Bytes)

1

BOOTREQUEST

sent by a client to request configuration information

~576 bytes

(including options)

op

Message type: 1 = BOOTREQUEST

1

htype

Hardware type: 1 = Ethernet

1

hlen

Hardware address length: 6 for Ethernet

1

hops

Set to 0 by client, used by relay agents

1

xid

Transaction ID, a random number chosen by the client

4

secs

Seconds elapsed since client started trying to boot

2

flags

Flags (e.g., broadcast flag)

2

ciaddr

Client IP address (if already known)

4

yiaddr

“Your” IP address (assigned by the server)

4

siaddr

Server IP address

4

giaddr

Gateway IP address (used by relay agents)

4

chaddr

Client hardware address (MAC address)

16

sname

Optional server host name

64

file

Boot file name

128

options

Optional vendor-specific area (used by DHCP too)

variable (up to 64)

BOOTREPLY Packet

S.No

Protocol Packets

Description

Size(Bytes)

2

BOOTREPLY

server’s response to a BOOTREQUEST from a client

~576 bytes

(including options)

op

Message type: 2 = BOOTREPLY

1

htype

Hardware type: 1 = Ethernet

1

hlen

Hardware address length: 6 for Ethernet

1

hops

Set to 0 by client, used by relay agents

1

xid

Transaction ID, a random number chosen by the client

4

secs

Seconds elapsed since client started trying to boot

2

flags

Flags (e.g., broadcast flag)

2

ciaddr

Client IP address (if already known)

4

yiaddr

“Your” IP address (assigned by the server)

4

siaddr

Server IP address

4

giaddr

Gateway IP address (used by relay agents)

4

chaddr

Client hardware address (MAC address)

16

sname

Optional server host name

64

file

Boot file name

128

options

Optional vendor-specific area (used by DHCP too)

variable (up to 64)

S.no

Use Case

Description

1

Diskless Workstations

BOOTP allows diskless computers to boot over the network by

providing them with an IP address and the location of a boot image.

2

Network Booting (PXE)

BOOTP is used in Preboot Execution Environment (PXE) to help

devices boot from a network server instead of local storage.

3

Embedded Systems

Devices like routers or IoT systems use BOOTP to obtain network configuration during startup.

4

Thin Clients

BOOTP helps thin clients retrieve their operating system or configuration files from a central server.

5

Legacy Network Environments

In older or static IP-based networks, BOOTP is still used for simple IP address assignment without the complexity of DHCP.

6

Boot Servers in Isolated Networks

BOOTP is useful in closed or isolated networks where DHCP is not available or needed.

7

Relay Agent Configuration

BOOTP supports relay agents, allowing centralized IP management across multiple subnets.

S.no

Feature

Description

1

Static IP Assignment

BOOTP assigns a fixed IP address to a client based on its MAC address, unlike DHCP which can assign dynamic IPs.

2

Boot File Delivery

Provides the name and location of a boot file to diskless

clients, enabling network-based booting.

3

Gateway and Subnet Info

Supplies clients with default gateway and subnet mask

information for proper network communication.

4

Relay Agent Support

Allows BOOTP requests to be forwarded across subnets using

relay agents, enabling centralized IP management.

5

No Lease Time

IP addresses assigned via BOOTP are permanent

(no expiration), making it suitable for static environments.

6

Simple Configuration

BOOTP servers are easy to configure and maintain, especially in small or legacy networks.

7

Compatibility with DHCP

DHCP is backward-compatible with BOOTP, allowing DHCP

servers to respond to BOOTP clients.

8

Low Overhead

BOOTP is lightweight and efficient, ideal for embedded systems

and minimal network environments.

Static IP Assignment - Testcases

#

Test Case

Description

Expected Result

1

Assign static IP to known MAC

MAC exists in config

Correct IP assigned

2

Assign static IP to unknown MAC

MAC not in config

No IP assigned

3

Assign static IP to duplicate MAC

Duplicate entry

Conflict or error logged

4

Assign static IP with invalid MAC format

Malformed MAC

Request rejected

5

Assign static IP with uppercase MAC

Case-insensitive match

IP assigned

6

Assign static IP with lowercase MAC

Case-insensitive match

IP assigned

7

Assign static IP with mixed-case MAC

Case-insensitive match

IP assigned

8

Assign static IP with leading/trailing spaces

Input sanitation

IP assigned

9

Assign static IP with broadcast MAC

FF:FF:FF:FF:FF:FF

Request ignored

10

Assign static IP with multicast MAC

01:00:5E:xx:xx:xx

Request ignored

11

Assign static IP to MAC with reserved IP

Reserved IP in config

IP assigned

12

Assign static IP to MAC with IP outside subnet

Misconfigured IP

Request rejected

13

Assign static IP to MAC with IP in DHCP pool

Overlap with DHCP

Conflict warning

14

Assign static IP to MAC with IP in BOOTP range

Valid config

IP assigned

15

Assign static IP to MAC with IP already in use

IP conflict

Error logged

16

Assign static IP to MAC with IP in ARP cache

IP reused

Conflict detected

17

Assign static IP to MAC with IP in routing table

Static route exists

IP assigned

18

Assign static IP to MAC with subnet mismatch

Wrong subnet

Request rejected

19

Assign static IP to MAC with gateway mismatch

Invalid gateway

Request rejected

20

Assign static IP to MAC with valid boot file

TFTP boot

Boot file delivered

21

Assign static IP to MAC with invalid boot file

File not found

Boot fails

22

Assign static IP to MAC with no boot file

Optional boot

IP assigned only

23

Assign static IP to MAC with valid hostname

Hostname resolved

IP assigned

24

Assign static IP to MAC with invalid hostname

DNS failure

IP assigned, no name

25

Assign static IP to MAC with duplicate hostname

Conflict

Warning logged

26

Assign static IP to MAC with long hostname

Boundary test

IP assigned

27

Assign static IP to MAC with special characters in hostname

Input validation

IP assigned or rejected

28

Assign static IP to MAC with empty hostname

Optional field

IP assigned

29

Assign static IP to MAC with valid vendor class

Option matched

IP assigned

30

Assign static IP to MAC with unknown vendor class

Option ignored

IP assigned

31

Assign static IP to MAC with BOOTP relay

Routed request

IP assigned

32

Assign static IP to MAC with direct broadcast

Local subnet

IP assigned

33

Assign static IP to MAC with unicast reply

Server responds directly

IP assigned

34

Assign static IP to MAC with broadcast reply

Server broadcasts

IP assigned

35

Assign static IP to MAC with multiple BOOTP servers

Redundant servers

First response wins

36

Assign static IP to MAC with server down

No response

Client retries

37

Assign static IP to MAC with server restart

Persistent config

IP reassigned

38

Assign static IP to MAC with config reload

Dynamic update

IP assigned

39

Assign static IP to MAC with config error

Syntax error

Server fails to start

40

Assign static IP to MAC with config backup

Restore config

IP assigned

41

Assign static IP to MAC with logging enabled

Audit trail

Assignment logged

42

Assign static IP to MAC with logging disabled

Silent mode

No logs generated

43

Assign static IP to MAC with packet capture

Wireshark

BOOTP packet visible

44

Assign static IP to MAC with firewall enabled

Port 67/68 open

IP assigned

45

Assign static IP to MAC with firewall blocking BOOTP

Port blocked

No IP assigned

46

Assign static IP to MAC with VLAN tagging

Tagged request

IP assigned

47

Assign static IP to MAC with trunk port

Multi-VLAN support

IP assigned

48

Assign static IP to MAC with rogue BOOTP server

Unauthorized server

IP conflict risk

49

Assign static IP to MAC with BOOTP over VPN

Remote client

IP assigned

50

Assign static IP to MAC with BOOTP over NAT

NAT traversal

IP assigned or fails depending on config

Boot File Delivery - Testcases

#

Test Case

Description

Expected Result

1

Provide valid boot file name and path

Standard config

Boot file delivered

2

Provide empty boot file name

No file specified

Boot fails or skipped

3

Provide non-existent boot file

File not found

Boot fails

4

Provide boot file with incorrect path

Invalid location

Boot fails

5

Provide boot file with relative path

Relative to TFTP root

Boot file delivered

6

Provide boot file with absolute path

May be rejected

Boot fails or ignored

7

Provide boot file with long filename

Boundary test

Boot file delivered or rejected

8

Provide boot file with special characters

Input validation

Boot fails or succeeds

9

Provide boot file with spaces in name

Quoting required

Boot file delivered

10

Provide boot file with uppercase extension

Case-insensitive match

Boot file delivered

11

Provide boot file with lowercase extension

Standard format

Boot file delivered

12

Provide boot file with .bin extension

Binary image

Boot file delivered

13

Provide boot file with .img extension

Disk image

Boot file delivered

14

Provide boot file with .pxe extension

PXE boot

Boot file delivered

15

Provide boot file with .iso extension

ISO image

Boot fails (unsupported)

16

Provide boot file with incorrect permissions

TFTP access denied

Boot fails

17

Provide boot file with read-only access

Valid for TFTP

Boot file delivered

18

Provide boot file with no read access

Permission error

Boot fails

19

Provide boot file from TFTP server

Standard setup

Boot file delivered

20

Provide boot file from HTTP server

Unsupported protocol

Boot fails

21

Provide boot file from FTP server

Unsupported protocol

Boot fails

22

Provide boot file with valid TFTP server IP

Correct delivery

Boot file delivered

23

Provide boot file with invalid TFTP server IP

Unreachable

Boot fails

24

Provide boot file with unreachable TFTP server

Network issue

Boot fails

25

Provide boot file with firewall blocking TFTP

Port 69 blocked

Boot fails

26

Provide boot file with TFTP server down

Service unavailable

Boot fails

27

Provide boot file with TFTP server restarted

Service restored

Boot file delivered

28

Provide boot file with TFTP server on different subnet

Routed access

Boot file delivered

29

Provide boot file with TFTP server on same subnet

Direct access

Boot file delivered

30

Provide boot file with VLAN tagging

Tagged traffic

Boot file delivered

31

Provide boot file with trunk port

Multi-VLAN support

Boot file delivered

32

Provide boot file with BOOTP relay

Routed request

Boot file delivered

33

Provide boot file with BOOTP broadcast

Local subnet

Boot file delivered

34

Provide boot file with BOOTP unicast reply

Direct response

Boot file delivered

35

Provide boot file with BOOTP broadcast reply

Broadcast response

Boot file delivered

36

Provide boot file with multiple BOOTP servers

Redundant setup

First response used

37

Provide boot file with server hostname instead of IP

DNS resolution

Boot file delivered

38

Provide boot file with invalid server hostname

DNS failure

Boot fails

39

Provide boot file with DNS server unreachable

Name resolution fails

Boot fails

40

Provide boot file with DHCP server instead of BOOTP

Compatibility test

Boot file may not be delivered

41

Provide boot file with PXE client

PXE boot test

Boot file delivered

42

Provide boot file with legacy BIOS client

Legacy boot

Boot file delivered

43

Provide boot file with UEFI client

Compatibility test

Boot file delivered or fails

44

Provide boot file with logging enabled

Audit trail

Boot file request logged

45

Provide boot file with logging disabled

Silent mode

No logs generated

46

Provide boot file with packet capture

Wireshark

Boot file name visible

47

Provide boot file with corrupted BOOTP packet

Malformed request

Boot fails

48

Provide boot file with retry mechanism

TFTP retry

Boot file eventually delivered

49

Provide boot file with checksum validation

File integrity

Boot file verified

50

Provide boot file with client timeout

No response

Boot fails

Gateway and Subnet Info - Testcases

#

Test Case

Description

Expected Result

1

Provide valid gateway and subnet mask

Standard config

Client receives correct info

2

Provide empty gateway field

No default route

Client uses local subnet only

3

Provide empty subnet mask

Undefined subnet

Client may fail to route

4

Provide invalid gateway IP

Malformed address

Client ignores gateway

5

Provide invalid subnet mask

Malformed mask

Client fails to configure

6

Provide gateway outside subnet

Misconfigured route

Client may not reach gateway

7

Provide gateway inside subnet

Valid config

Client routes correctly

8

Provide subnet mask 255.255.255.0

/24 network

Client configures correctly

9

Provide subnet mask 255.255.0.0

/16 network

Client configures correctly

10

Provide subnet mask 255.0.0.0

/8 network

Client configures correctly

11

Provide subnet mask 255.255.255.255

Host-only

Client cannot route

12

Provide subnet mask 0.0.0.0

Invalid

Client fails to configure

13

Provide gateway with unreachable IP

Network unreachable

Client cannot route

14

Provide gateway with loopback IP

127.0.0.1

Client misroutes traffic

15

Provide gateway with broadcast IP

255.255.255.255

Client misroutes traffic

16

Provide gateway with multicast IP

224.0.0.1

Client misroutes traffic

17

Provide gateway with APIPA IP

169.254.x.x

Client misroutes traffic

18

Provide subnet mask with non-contiguous bits

Invalid mask

Client rejects config

19

Provide gateway with valid DNS

DNS reachable

Client can resolve names

20

Provide gateway with no DNS

No name resolution

Client uses IP only

21

Provide subnet mask with classful IP

Legacy config

Client configures correctly

22

Provide subnet mask with classless IP

CIDR support

Client configures correctly

23

Provide gateway with VLAN tagging

Tagged traffic

Client routes correctly

24

Provide gateway with trunk port

Multi-VLAN support

Client routes correctly

25

Provide gateway with BOOTP relay

Routed request

Client receives correct info

26

Provide gateway with BOOTP broadcast

Local subnet

Client receives correct info

27

Provide gateway with BOOTP unicast reply

Direct response

Client receives correct info

28

Provide gateway with BOOTP broadcast reply

Broadcast response

Client receives correct info

29

Provide gateway with multiple BOOTP servers

Redundant setup

First response used

30

Provide gateway with server down

No response

Client retries

31

Provide gateway with server restart

Persistent config

Client receives info again

32

Provide gateway with config reload

Dynamic update

Client receives updated info

33

Provide gateway with config error

Syntax error

Server fails to start

34

Provide gateway with config backup

Restore config

Client receives info

35

Provide gateway with logging enabled

Audit trail

Gateway info logged

36

Provide gateway with logging disabled

Silent mode

No logs generated

37

Provide gateway with packet capture

Wireshark

Gateway info visible

38

Provide gateway with firewall enabled

Port 67/68 open

Client receives info

39

Provide gateway with firewall blocking BOOTP

Port blocked

Client receives no info

40

Provide gateway with DHCP server

Compatibility test

Client receives info

41

Provide gateway with PXE client

Boot + route

Client receives info

42

Provide gateway with legacy BIOS client

Legacy boot

Client receives info

43

Provide gateway with UEFI client

Compatibility test

Client receives info

44

Provide gateway with DNS suffix

Domain search

Client resolves names

45

Provide gateway with static route

Predefined path

Client routes correctly

46

Provide gateway with default route only

0.0.0.0/0

Client routes all traffic

47

Provide gateway with multiple routes

Policy routing

Client uses default

48

Provide gateway with unreachable subnet

Invalid config

Client cannot route

49

Provide gateway with overlapping subnet

Conflict

Client misroutes traffic

50

Provide gateway with NAT device

Translated traffic

Client routes through NAT

Relay Agent Support - Testcases

#

Test Case

Description

Expected Result

1

Send BOOTP request from client on remote subnet

Relay agent present

Request forwarded

2

Send BOOTP request from client on local subnet

No relay needed

Server responds directly

3

Send BOOTP request with no relay agent

Different subnet

Request not received by server

4

Configure relay agent with correct server IP

Valid setup

Request forwarded

5

Configure relay agent with incorrect server IP

Misconfigured

Request dropped or misrouted

6

Configure relay agent with multiple server IPs

Redundant setup

Request forwarded to all

7

Configure relay agent with unreachable server IP

Network issue

Request dropped

8

Configure relay agent with broadcast forwarding

Broadcast to server subnet

Request received

9

Configure relay agent with unicast forwarding

Direct to server

Request received

10

Configure relay agent with firewall blocking port 67

BOOTP blocked

Request not forwarded

11

Configure relay agent with firewall allowing port 67

BOOTP allowed

Request forwarded

12

Configure relay agent with VLAN tagging

Tagged traffic

Request forwarded correctly

13

Configure relay agent with trunk port

Multi-VLAN support

Request forwarded correctly

14

Configure relay agent with routing enabled

Inter-subnet routing

Request forwarded

15

Configure relay agent with routing disabled

No path to server

Request dropped

16

Configure relay agent with logging enabled

Audit trail

Forwarding logged

17

Configure relay agent with logging disabled

Silent mode

No logs generated

18

Configure relay agent with packet capture

Wireshark

Relay info visible

19

Configure relay agent with BOOTP relay option 82

Relay agent info added

Server processes correctly

20

Configure relay agent without option 82

Basic forwarding

Request forwarded

21

Configure relay agent with malformed option 82

Invalid format

Server may reject request

22

Configure relay agent with multiple interfaces

Multi-subnet support

Requests forwarded from all

23

Configure relay agent with interface down

No forwarding

Request dropped

24

Configure relay agent with interface up

Active forwarding

Request forwarded

25

Configure relay agent with high latency link

Delayed forwarding

Request eventually received

26

Configure relay agent with dropped packets

Network issue

Request lost

27

Configure relay agent with retry mechanism

Resend on failure

Request eventually forwarded

28

Configure relay agent with BOOTP server restart

Persistent config

Requests forwarded again

29

Configure relay agent with BOOTP server down

No response

Request forwarded but no reply

30

Configure relay agent with BOOTP server on same subnet

No relay needed

Direct response

31

Configure relay agent with BOOTP server on different subnet

Relay required

Request forwarded

32

Configure relay agent with DHCP server

Compatibility test

Request forwarded

33

Configure relay agent with PXE client

Boot request

Request forwarded

34

Configure relay agent with legacy BIOS client

Legacy boot

Request forwarded

35

Configure relay agent with UEFI client

Compatibility test

Request forwarded

36

Configure relay agent with BOOTP broadcast

Relay forwards broadcast

Server receives request

37

Configure relay agent with BOOTP unicast

Relay forwards unicast

Server receives request

38

Configure relay agent with BOOTP relay on router

Integrated relay

Request forwarded

39

Configure relay agent with BOOTP relay on switch

Layer 3 switch

Request forwarded

40

Configure relay agent with BOOTP relay on firewall

Security device

Request forwarded

41

Configure relay agent with BOOTP relay on virtual appliance

VM-based relay

Request forwarded

42

Configure relay agent with BOOTP relay on cloud gateway

Cloud network

Request forwarded

43

Configure relay agent with BOOTP relay on edge device

Remote site

Request forwarded

44

Configure relay agent with BOOTP relay on SD-WAN

Overlay network

Request forwarded

45

Configure relay agent with BOOTP relay on mesh network

Distributed forwarding

Request forwarded

46

Configure relay agent with BOOTP relay on wireless controller

Wi-Fi clients

Request forwarded

47

Configure relay agent with BOOTP relay on VPN gateway

Remote access

Request forwarded

48

Configure relay agent with BOOTP relay on NAT device

Translated traffic

Request forwarded or fails

49

Configure relay agent with BOOTP relay and multiple clients

Concurrent requests

All forwarded correctly

50

Configure relay agent with BOOTP relay and server load balancing

Multiple servers

Request distributed

No Leasetime - Testcases

#

Test Case

Description

Expected Result

1

Assign IP via BOOTP

Static assignment

IP remains unchanged

2

Reboot client after BOOTP assignment

Persistence test

Same IP reassigned

3

Disconnect and reconnect client

Network rejoin

Same IP reassigned

4

Power cycle client

Hardware reset

Same IP reassigned

5

Wait 24 hours after assignment

Time-based test

IP still valid

6

Wait 7 days after assignment

Long-term test

IP still valid

7

Wait 30 days after assignment

Extended test

IP still valid

8

Simulate lease expiration

No lease timer

IP remains assigned

9

Check for lease renewal request

BOOTP client

No renewal sent

10

Check for lease expiration in logs

BOOTP server

No expiration logged

11

Assign IP to printer

Static device

IP remains fixed

12

Assign IP to server

Infrastructure device

IP remains fixed

13

Assign IP to embedded system

IoT device

IP remains fixed

14

Assign IP to VoIP phone

Static endpoint

IP remains fixed

15

Assign IP to network camera

Surveillance device

IP remains fixed

16

Assign IP to switch management interface

Network device

IP remains fixed

17

Assign IP to firewall

Security appliance

IP remains fixed

18

Assign IP to access point

Wireless device

IP remains fixed

19

Assign IP to legacy BIOS PXE client

Boot test

IP remains fixed

20

Assign IP to UEFI PXE client

Boot test

IP remains fixed

21

Assign IP to client with BOOTP relay

Routed request

IP remains fixed

22

Assign IP to client on VLAN

Tagged traffic

IP remains fixed

23

Assign IP to client with trunk port

Multi-VLAN

IP remains fixed

24

Assign IP to client with static MAC

MAC-based match

IP remains fixed

25

Assign IP to client with dynamic MAC

MAC changes

IP not reassigned

26

Assign IP to client with spoofed MAC

Duplicate MAC

Conflict or error

27

Assign IP to client with duplicate MAC

Conflict test

Error or warning

28

Assign IP to client with no MAC

Invalid request

No IP assigned

29

Assign IP to client with invalid MAC

Format error

No IP assigned

30

Assign IP to client with BOOTP over VPN

Remote access

IP remains fixed

31

Assign IP to client with BOOTP over NAT

Translated traffic

IP may not persist

32

Assign IP to client with BOOTP over wireless

Wi-Fi client

IP remains fixed

33

Assign IP to client with BOOTP over wired

Ethernet client

IP remains fixed

34

Assign IP to client with BOOTP over mesh

Mesh network

IP remains fixed

35

Assign IP to client with BOOTP over SD-WAN

Overlay network

IP remains fixed

36

Assign IP to client with BOOTP over satellite

High-latency link

IP remains fixed

37

Assign IP to client with BOOTP over LTE

Mobile network

IP remains fixed

38

Assign IP to client with BOOTP over 5G

Wireless WAN

IP remains fixed

39

Assign IP to client with BOOTP over MPLS

Enterprise WAN

IP remains fixed

40

Assign IP to client with BOOTP over cloud VPN

Cloud infra

IP remains fixed

41

Assign IP to client with BOOTP and logging enabled

Audit trail

No lease expiration logged

42

Assign IP to client with BOOTP and logging disabled

Silent mode

No lease info logged

43

Assign IP to client and capture packets

Wireshark

No lease time field

44

Assign IP to client and inspect BOOTP response

Protocol analysis

No lease duration present

45

Assign IP to client and simulate DHCP client

Lease request sent

No response from BOOTP server

46

Assign IP to client and simulate DHCP server

Lease conflict

BOOTP IP remains static

47

Assign IP to client and simulate BOOTP server restart

Persistent config

IP reassigned

48

Assign IP to client and simulate config reload

Dynamic update

IP reassigned

49

Assign IP to client and simulate server failover

Redundant server

Same IP reassigned

50

Assign IP to client and simulate network outage

Reconnect after recovery

Same IP reassigned

Simple Configuration - Testcases

#

Test Case

Description

Expected Result

1

Configure BOOTP server with one client

Basic setup

Server starts successfully

2

Configure BOOTP server with multiple clients

Small network

Server handles all entries

3

Configure BOOTP server with static IP mapping

MAC-to-IP

IP assigned correctly

4

Configure BOOTP server with minimal parameters

IP, MAC only

Server functions correctly

5

Configure BOOTP server with hostname

Optional field

Server starts successfully

6

Configure BOOTP server with boot file

Optional field

Server starts successfully

7

Configure BOOTP server with gateway info

Optional field

Server starts successfully

8

Configure BOOTP server with subnet mask

Optional field

Server starts successfully

9

Configure BOOTP server with comments in config

Readable config

Server ignores comments

10

Configure BOOTP server with whitespace formatting

Readable config

Server parses correctly

11

Configure BOOTP server with invalid MAC format

Syntax error

Server rejects config

12

Configure BOOTP server with duplicate MAC entries

Conflict

Server logs warning

13

Configure BOOTP server with duplicate IPs

Conflict

Server logs error

14

Configure BOOTP server with missing fields

Incomplete entry

Server skips entry

15

Configure BOOTP server with valid syntax

Clean config

Server starts successfully

16

Configure BOOTP server with invalid syntax

Parsing error

Server fails to start

17

Restart BOOTP server after config change

Dynamic update

Server loads new config

18

Reload BOOTP config without restart

Hot reload

Server updates entries

19

Backup BOOTP config file

Maintenance task

File saved successfully

20

Restore BOOTP config from backup

Recovery test

Server starts with restored config

21

Configure BOOTP server on Linux

Common OS

Server runs successfully

22

Configure BOOTP server on Windows

Compatibility test

Server runs successfully

23

Configure BOOTP server on embedded system

Lightweight setup

Server runs successfully

24

Configure BOOTP server on virtual machine

Virtualized environment

Server runs successfully

25

Configure BOOTP server on container

Docker test

Server runs successfully

26

Configure BOOTP server with GUI tool

User-friendly setup

Server configures easily

27

Configure BOOTP server with CLI tool

Manual setup

Server configures easily

28

Configure BOOTP server with text editor

Simple config

Server parses file correctly

29

Configure BOOTP server with default settings

Minimal setup

Server runs successfully

30

Configure BOOTP server with custom port

Advanced config

Server listens on new port

31

Configure BOOTP server with logging enabled

Debugging

Logs generated

32

Configure BOOTP server with logging disabled

Silent mode

No logs generated

33

Configure BOOTP server with packet capture

Wireshark

BOOTP packets visible

34

Configure BOOTP server with firewall enabled

Port 67 open

Server receives requests

35

Configure BOOTP server with firewall blocking

Port 67 closed

Server does not receive requests

36

Configure BOOTP server with relay agent

Routed setup

Server receives forwarded requests

37

Configure BOOTP server with static routing

Multi-subnet

Server reachable

38

Configure BOOTP server with DNS integration

Optional

Server starts successfully

39

Configure BOOTP server with TFTP integration

Boot file delivery

Server starts successfully

40

Configure BOOTP server with PXE client

Legacy boot

Server responds correctly

41

Configure BOOTP server with legacy BIOS client

Compatibility test

Server responds correctly

42

Configure BOOTP server with UEFI client

Compatibility test

Server responds correctly

43

Configure BOOTP server with IPv4 only

Standard config

Server runs successfully

44

Configure BOOTP server with IPv6

Unsupported

Server ignores config

45

Configure BOOTP server with hostname resolution

Optional

Server starts successfully

46

Configure BOOTP server with MAC filtering

Security feature

Server restricts access

47

Configure BOOTP server with access logs

Monitoring

Logs show client activity

48

Configure BOOTP server with error logs

Troubleshooting

Logs show config issues

49

Configure BOOTP server with backup rotation

Maintenance

Logs archived

50

Configure BOOTP server in test lab

Simulation

Server runs with minimal setup

Compatability with DHCP - Testcases

#

Test Case

Description

Expected Result

1

BOOTP client requests IP from DHCP server

Compatibility test

IP assigned

2

BOOTP client requests boot file from DHCP server

PXE boot

Boot file delivered

3

BOOTP client on same subnet as DHCP server

Direct communication

IP assigned

4

BOOTP client on different subnet via relay

Routed request

IP assigned

5

BOOTP client with valid MAC in DHCP config

Static mapping

Correct IP assigned

6

BOOTP client with no entry in DHCP config

Dynamic pool

IP assigned from pool

7

BOOTP client with malformed request

Protocol error

DHCP server ignores

8

BOOTP client with broadcast request

Standard behavior

DHCP server responds

9

BOOTP client with unicast request

Direct response

IP assigned

10

BOOTP client with Option 53 set to 1 (DISCOVER)

DHCP compatibility

Server responds

11

BOOTP client with no Option 53

Legacy format

DHCP server still responds

12

BOOTP client with Option 60 (vendor class)

Vendor-specific

DHCP server processes

13

BOOTP client with Option 82 (relay info)

Relay agent support

DHCP server processes

14

BOOTP client with Option 67 (boot file)

PXE boot

Boot file delivered

15

BOOTP client with Option 66 (TFTP server)

PXE boot

Server IP delivered

16

BOOTP client with Option 1 (subnet mask)

Network config

Mask delivered

17

BOOTP client with Option 3 (gateway)

Network config

Gateway delivered

18

BOOTP client with Option 6 (DNS)

Network config

DNS delivered

19

BOOTP client with Option 15 (domain name)

Network config

Domain delivered

20

BOOTP client with Option 12 (hostname)

Hostname delivery

Name delivered

21

BOOTP client with Option 28 (broadcast address)

Network config

Address delivered

22

BOOTP client with Option 54 (server identifier)

DHCP server ID

Delivered

23

BOOTP client with Option 51 (lease time)

Not applicable

Ignored by client

24

BOOTP client with Option 58/59 (renewal/rebind)

Not applicable

Ignored by client

25

BOOTP client with Option 43 (vendor-specific)

Optional

Ignored or processed

26

BOOTP client with DHCP server failover

Redundant servers

IP still assigned

27

BOOTP client with DHCP server restart

Persistent config

IP reassigned

28

BOOTP client with DHCP server config reload

Dynamic update

IP reassigned

29

BOOTP client with DHCP server on Linux

Compatibility test

IP assigned

30

BOOTP client with DHCP server on Windows

Compatibility test

IP assigned

31

BOOTP client with ISC DHCP server

Open-source test

IP assigned

32

BOOTP client with Cisco DHCP server

Enterprise test

IP assigned

33

BOOTP client with pfSense DHCP server

Firewall test

IP assigned

34

BOOTP client with Fortinet DHCP server

Security appliance

IP assigned

35

BOOTP client with DHCP server in cloud

Cloud-hosted

IP assigned

36

BOOTP client with DHCP server in VM

Virtualized test

IP assigned

37

BOOTP client with DHCP server in container

Docker test

IP assigned

38

BOOTP client with DHCP server on VLAN

Tagged traffic

IP assigned

39

BOOTP client with DHCP server on trunk port

Multi-VLAN

IP assigned

40

BOOTP client with DHCP server behind NAT

Translated traffic

IP assigned

41

BOOTP client with DHCP server over VPN

Remote access

IP assigned

42

BOOTP client with DHCP server over SD-WAN

Overlay network

IP assigned

43

BOOTP client with DHCP server over mesh

Distributed network

IP assigned

44

BOOTP client with DHCP server and logging enabled

Audit trail

Request logged

45

BOOTP client with DHCP server and logging disabled

Silent mode

No logs generated

46

BOOTP client with packet capture

Wireshark

DHCP response visible

47

BOOTP client with firewall blocking DHCP

Port 67/68 blocked

No IP assigned

48

BOOTP client with firewall allowing DHCP

Port open

IP assigned

49

BOOTP client with DHCP server using static leases

MAC-based match

Correct IP assigned

50

BOOTP client with DHCP server using dynamic pool

No static entry

IP assigned from pool

Low Overhead - Testcases

#

Test Case

Description

Expected Result

1

Use BOOTP on embedded Linux device

Lightweight OS

IP assigned successfully

2

Use BOOTP on microcontroller with TCP/IP stack

Minimal resources

IP assigned successfully

3

Use BOOTP on IoT sensor

Low memory footprint

IP assigned successfully

4

Use BOOTP on industrial PLC

Real-time system

IP assigned successfully

5

Use BOOTP on network printer

Embedded firmware

IP assigned successfully

6

Use BOOTP on IP camera

Surveillance device

IP assigned successfully

7

Use BOOTP on VoIP phone

Lightweight OS

IP assigned successfully

8

Use BOOTP on smart switch

Embedded OS

IP assigned successfully

9

Use BOOTP on legacy BIOS PXE client

Boot-time IP

IP assigned successfully

10

Use BOOTP on UEFI PXE client

Compatibility test

IP assigned successfully

11

Use BOOTP with no lease management

No timers

IP remains assigned

12

Use BOOTP with no renewal logic

Stateless client

IP remains valid

13

Use BOOTP with no client-side config

Plug-and-play

IP assigned automatically

14

Use BOOTP with no GUI

CLI-only setup

Server runs successfully

15

Use BOOTP with minimal config file

Few lines

Server starts successfully

16

Use BOOTP with no database backend

Flat file config

Server functions correctly

17

Use BOOTP with no logging

Silent mode

Server runs with low resource use

18

Use BOOTP with minimal CPU usage

Embedded CPU

Server/client operate efficiently

19

Use BOOTP with minimal RAM usage

<1MB RAM

Server/client operate efficiently

20

Use BOOTP with no disk writes

Read-only system

Server/client operate correctly

21

Use BOOTP with no encryption overhead

Plain UDP

Fast response

22

Use BOOTP with no TLS/SSL

Lightweight protocol

Fast response

23

Use BOOTP with UDP only

No TCP stack

IP assigned successfully

24

Use BOOTP with no retries

Single request

IP assigned successfully

25

Use BOOTP with 1-packet exchange

Minimal traffic

IP assigned successfully

26

Use BOOTP with no option negotiation

Fixed config

IP assigned successfully

27

Use BOOTP with no dynamic allocation

Static IPs only

IP assigned successfully

28

Use BOOTP with no lease tracking

Stateless server

IP assigned successfully

29

Use BOOTP with no client-side logs

Silent client

IP assigned successfully

30

Use BOOTP with no DNS integration

IP-only config

IP assigned successfully

31

Use BOOTP with no gateway config

Local subnet only

IP assigned successfully

32

Use BOOTP with no subnet mask config

Default mask

IP assigned successfully

33

Use BOOTP with no boot file

IP only

IP assigned successfully

34

Use BOOTP with boot file

Optional feature

Boot file delivered

35

Use BOOTP with no relay agent

Same subnet

IP assigned successfully

36

Use BOOTP with relay agent

Routed request

IP assigned successfully

37

Use BOOTP with no VLAN tagging

Flat network

IP assigned successfully

38

Use BOOTP with VLAN tagging

Tagged traffic

IP assigned successfully

39

Use BOOTP with no NAT

Direct routing

IP assigned successfully

40

Use BOOTP with NAT

Translated traffic

IP assigned successfully

41

Use BOOTP with no firewall

Open network

IP assigned successfully

42

Use BOOTP with firewall allowing UDP 67/68

Allowed traffic

IP assigned successfully

43

Use BOOTP with packet capture

Wireshark

Minimal packet size

44

Use BOOTP with 1 client

Minimal load

Server performs efficiently

45

Use BOOTP with 10 clients

Small network

Server performs efficiently

46

Use BOOTP with 100 clients

Medium network

Server performs efficiently

47

Use BOOTP with 1000 clients

Stress test

Server handles load (if optimized)

48

Use BOOTP with embedded server (e.g., BusyBox)

Lightweight binary

Server runs successfully

49

Use BOOTP with no GUI tools

CLI-only

Server/client operate correctly

50

Use BOOTP in air-gapped network

Isolated setup

IP assigned successfully

  • Reference links