UDP Helper Address

A UDP Helper Address is a special router configuration used to forward broadcast network traffic from a client machine on one subnet to a server in another subnet. This is used primarily in business environments as way to save money by not having to buy a server for each subnet.

Usage Example

In networking every machine is given a unique IP address. Groups of machines with similar addresses are considered to be part of the same logical subnet. One method of assigning IPs is DHCP in which IPs are given out by single server machine. Normally this machine is on the same subnet as its clients and can answer to their broadcast DHCP requests. However, in some situations the server is on a different subnet. The problem with this is that most routers in their default state do not pass broadcast messages to machines outside the physical subnet. Such messages are essential to the normal operation of certain network services such as DHCP.

To resolve this a UDP Helper Address is established in the router configuration to forward broadcast network traffic from the PCs to the DHCP server. The DHCP server responds with a unicast IP address from the given range. It reserves the IP address for the time it can calculate that it can get a response. If the client responds again with a broadcast it distributes the IP address. A helper address can also be used to forward certain other UDP network configuration messages. As a result a UDP helper address is sometimes created to allow two server machines to communicate across different subnets.

Implementation

Cisco's first implementation of this protocol was introduced in version 10 of their router software.[1] It is implemented through the use of the router configuration commands ip helper-address and ip forward-protocol.

ip helper-address

To enable the forwarding of User Datagram Protocol (UDP) broadcasts, including BOOTP, received on an interface, use the ip helper-address command in interface configuration mode. To disable the forwarding of broadcast packets to specific addresses, use the no form of this command.

Syntax Description:
ip helper-address ['vrf name | global] address [redundancy' vrg-name]
no ip helper-address [vrf name | global]' address [redundancy vrg-name]

vrf name

(Optional) Enables VPN routing and forwarding (VRF) instance and VRF name.

global

(Optional) Configures a global routing table.

address

Destination broadcast or host address to be used when forwarding UDP broadcasts. There can be more than one helper address per interface.

redundancy vrg-name

(Optional) Defines the VRG group name.

Special Consideration

The use of UDP helper addresses can cause issues with some Windows based network configurations. See Microsoft's knowledge base for details.[2]

According to Microsoft these issues stem from the fact that ports 137,138 are forwarded by default on Cisco routers. Since these ports are used by NetBIOS to help determine network configuration the added broadcasts can confuse the system.

References

  1. "Cisco IOS IP and IP Routing Command Reference, Release 12.1 - IP Addressing Commands - Cisco Systems".
  2. "UDP broadcast forwarding by Cisco's IP Helper".