MYLan / DHCP education
Understanding DHCP through a practical field network tool.
Every device on a network needs an IP address before it can talk. This Event Tech Research guide explains how DHCP works, why it matters, and how MYLan can support temporary audio, production, and engineering networks.
Why DHCP Exists
Every device on an IP network needs a unique address to send and receive data. Without one, it cannot participate — it is invisible.
There are two ways a device can get an IP address:
Manual (Static)
Someone types the address into each device by hand. Works for small setups. Breaks at scale — one typo, one duplicate, and the network has a conflict.
Automatic (DHCP)
A server listens for new devices and hands out unique addresses from a pool. No human involvement. No duplicates. Devices just connect and work.
DHCP — Dynamic Host Configuration Protocol — is the automatic method. It has been the standard since 1993 (RFC 1531) and is used on virtually every network in the world, from home Wi-Fi to live event production.
The DORA Handshake
When a device connects to a network and needs an IP address, it performs a four-step conversation with the DHCP server. This is called DORA:
What happens at each step
1. Discover
The client has no IP address yet. It cannot send to a specific server because it does not know if one exists. So it broadcasts to the entire network: "Is there a DHCP server out there?"
This broadcast goes to the special address 255.255.255.255 on UDP port 67. Every device on the network segment receives it, but only DHCP servers respond.
2. Offer
The server receives the Discover and selects an available IP from its pool. It broadcasts an Offer back: "I can give you 192.168.1.50 with these settings."
The Offer includes the proposed IP, the subnet mask, the gateway, the DNS server, and how long the lease is valid for.
3. Request
The client broadcasts a Request confirming it wants the offered address: "Yes, I accept 192.168.1.50 from server 192.168.1.1."
This is broadcast (not unicast) because there might be multiple DHCP servers on the network. The Request tells all of them which offer was accepted.
4. Acknowledge
The server confirms the lease and commits it to its records: "Confirmed. 192.168.1.50 is yours for 8 hours."
The client can now configure its network stack with the assigned address and begin communicating on the network.
Inside a DHCP Packet
DHCP messages are carried inside UDP datagrams using the BOOTP packet format. Every message — Discover, Offer, Request, Acknowledge — uses the same structure. Click on any field group to learn what it does.
Key fields explained
Op (byte 0)
1 = BOOTREQUEST (client → server). 2 = BOOTREPLY (server → client). MYLan only processes requests and only sends replies.
Transaction ID — xid (bytes 4–7)
A random 32-bit number chosen by the client. The server copies it into the reply so the client can match responses to requests, even if multiple DORA handshakes are in flight simultaneously.
yiaddr — "Your" IP Address (bytes 16–19)
In an Offer or Acknowledge, this is the IP the server is assigning to the client. In a Discover, it is all zeros because the client has no address yet.
chaddr — Client Hardware Address (bytes 28–33)
The client's MAC address. This is how the server identifies which device is which — it is the key that the lease table is indexed by.
Magic Cookie (bytes 236–239)
The fixed value 99.130.83.99 (hex 63.82.53.63). This marks the boundary between the fixed BOOTP header and the variable DHCP options that follow. Every valid DHCP packet contains this exact sequence.
Lease Management
When a server assigns an IP, it does not give it away permanently. It creates a lease — a time-limited reservation that ties a MAC address to an IP address. This is the core data structure of any DHCP server.
Live Lease Simulator
Simulate devices connecting to a MYLan server. Watch how the lease table fills.
| Status | MAC Address | IP Address | Expires |
|---|
Why leases expire
If leases were permanent, a device that disconnected would hold its IP address forever. Over time, all addresses would be consumed by devices that are no longer on the network.
Expiry solves this. MYLan uses an 8-hour default lease. When the lease expires, the IP returns to the pool and can be assigned to the next device that connects.
Active clients renew their lease automatically before it expires — they send a new REQUEST and receive a fresh ACK with a reset timer. The user never notices this happening.
mylan-leases.json on disk. If the server stops and restarts — even mid-show — it reloads the lease table and remembers which devices have which addresses. This prevents the duplicate IP issue that affects simpler DHCP implementations.
DHCP Options
After the fixed header and magic cookie, DHCP packets carry a variable list of options — key-value pairs that configure the client. Each option has a number, a length, and a value. Click any option to learn more.
Using MYLan in the Field
MYLan is a portable DHCP server built for field deployment. It runs on Windows and macOS, requires no installation, and provides a complete DHCP service from a single executable.
Step 1 — Connect and Launch
Connect your laptop to the target network via Ethernet. Launch MYLan with elevated privileges — Run as Administrator on Windows, or sudo ./MYLan on macOS. The application window appears with the status indicator showing Idle.
If you do not run with elevated privileges, MYLan displays a warning in the footer bar. DHCP requires binding to UDP port 67, which is a privileged port on all operating systems.
Step 2 — Select Adapter and Configure
Select the correct network adapter from the dropdown. Click Refresh NICs if you plugged in after launching. Review the network configuration:
Server IP
The address MYLan assigns to itself. Default: 192.168.1.1
Subnet Mask
Defines the network boundary. Default: 255.255.255.0 (/24)
Pool Range
The range of addresses available for clients. Default: .50 – .150
Gateway
The default route for client traffic. Auto-syncs with Server IP.
DNS
Domain name resolution server. Default: 8.8.8.8 (Google Public DNS)
For Dante audio networks, a common configuration uses 10.0.0.1 with a pool of 10.0.0.10 – 10.0.0.200.
Step 3 — Start and Monitor
Click ▶ Start. MYLan configures the adapter with a static IP and begins listening for DHCP broadcasts. The status indicator turns green and the activity log begins recording.
Connect client devices. Watch the log for the DORA sequence. Each successful connection appears as four log entries (DISCOVER → OFFER → REQUEST → ACK) and a new row in the Active Leases table.
Step 4 — Stop and Tear Down
Click ■ Stop. MYLan saves all active leases to disk and closes the UDP listener. Existing clients keep their addresses for the remaining lease duration (8 hours by default).
After stopping, restore the adapter to automatic (DHCP) configuration via your OS network settings if you need to reconnect to other networks.
Troubleshooting
Click a symptom to see the diagnosis and resolution.
Test Yourself
Seven questions to check your understanding. Select the best answer for each.
