The term “IP helper” actually refers to two completely different things depending on whether you’re talking about a router or a Windows PC. This guide covers both so you don’t confuse them.

The ip helper-address command (DHCP relay)

On a router or Layer 3 switch, an IP helper address turns the device into a DHCP relay agent. DHCP relies on broadcasts, and routers do not forward broadcasts between subnets. So when your DHCP server lives on a different subnet (or VLAN) than the clients, those clients’ DHCP requests would never reach it on their own. Configuring an IP helper address tells the router to catch those broadcasts and forward them as a unicast to the DHCP server’s address.

On Cisco IOS the command is applied to the client-facing interface, for example ip helper-address 10.0.0.5. When the relay forwards the request, it stamps its own interface IP into the packet’s GIADDR (gateway IP address) field so the server knows which subnet the client is on and which address pool to use. You can configure more than one helper address for redundancy - the first server to respond wins.

It forwards more than just DHCP

A common surprise is that ip helper-address does not only forward DHCP. By default it relays eight UDP broadcast services:

  • Time - port 37
  • TACACS - port 49
  • DNS - port 53
  • BOOTP/DHCP server - port 67
  • BOOTP/DHCP client - port 68
  • TFTP - port 69
  • NetBIOS Name Service - port 137
  • NetBIOS Datagram Service - port 138

You can fine-tune this list with the global ip forward-protocol udp [port] command to add a port, or no ip forward-protocol udp [port] to stop forwarding one you don’t want (NetBIOS is a frequent candidate for removal). Note that service dhcp, which is enabled by default, must remain on for the relay to function.

The Windows “IP Helper” service (iphlpsvc)

Confusingly, Windows ships a built-in service that is also called “IP Helper,” but it is unrelated to the router command above. The Windows IP Helper service (service name iphlpsvc) provides tunnel connectivity for IPv6 transition technologies - 6to4, ISATAP, Teredo, and IP-HTTPS - which carry IPv6 traffic over an IPv4 network. It also exposes APIs that let applications read and modify the local network configuration and be notified when it changes.

You manage it like any other Windows service through Services (services.msc): find “IP Helper,” open it, and use the General tab to set its startup type or to stop and start it. It is safe to leave at its default on most systems. Some administrators disable it when they don’t use IPv6 tunneling, though doing so can affect features such as DirectAccess and WSL 2 networking.

Should you change these settings?

Configuring an ip helper-address is a task for someone comfortable with router configuration and TCP/IP, usually a network administrator. Likewise, disabling the Windows IP Helper service should be done deliberately, since other features may depend on it. When in doubt, leave the defaults in place.

Sources