Search the field guide, causes, requirements, and glossary

Slow or distant authentication server

Every 802.1X join waits on a series of round trips to the RADIUS server, so a slow, distant, or failing server stretches joins and full reauthentications by its round trip many times over.

On this page5 sections
  1. How it presents
  2. Why it happens
  3. How to confirm it
  4. The fix
  5. Prevent it at design time

Is this your problem? It presents like this

  • Joins and reconnects take seconds instead of a moment, and the time varies with the load on the authentication server or the path to it.
  • Roams are slow where fast roaming is off or a client falls back to a full authentication, and quick where fast roaming works.
  • Many devices across the site are affected at once, worst when they all rejoin after a power cut or network outage.
  • Access point, controller, or RADIUS logs show authentication timeouts, retransmitted Access-Requests, or failover to a backup server.
  • SSIDs that use a pre-shared key or SAE at the same site are unaffected.
Bands
2.4 GHz5 GHz5 GHz DFS6 GHz

Why it happens

An 802.1X join is a conversation with a server the radio never sees. The access point carries each EAP message to the RADIUS server inside an Access-Request and waits for the Access-Challenge that answers it. EAP is a lock step protocol: a new request cannot go out until the last response is back. Every exchange pays the full round trip to the server, so that path sets the pace of the whole join.

Certificates add exchanges. A TLS message can run past the 4,096-octet maximum RADIUS packet1, so EAP-TLS splits it into fragments, and each fragment waits to be acknowledged before the next one is sent. A long certificate chain means more round trips. A server across a WAN or in a distant data center makes each one longer. One vendor’s roaming note lists the round-trip time with the authentication server among the things that stretch a roam.

RADIUS was not built around control timeouts. The IETF’s notes on common RADIUS problems start from a user willing to wait several seconds for authentication, and recommend an initial retransmission time of 2 seconds2. The open-source hostapd access point waits 3 seconds before its first retry3, doubles the wait each time, and switches to a backup server only after 4 failed attempts. One lost packet on the way to the server costs seconds. A dead primary server costs every device that tries to join while it is down.

Fast roaming takes the server out of most roams. With key caching, a roaming client does not need to reauthenticate through EAP. The first join still runs the full exchange. After a site-wide outage, every device makes that first join together, and the same IETF notes describe 3,000 network access devices retrying every second after a power failure, enough to overwhelm most RADIUS servers. Session resumption helps a repeat join: Microsoft describes fast reconnect as refreshing a security association with a smaller number of round-trips. A validated industrial design keeps the RADIUS server in the plant’s industrial zone, at Level 34. Count the server’s round trip in your timing budget once for every exchange, not once per join.

How to confirm it

  1. Measure the round trip from the access point or controller to the RADIUS server, under normal load, and list every link in between, such as a WAN, VPN, firewall, or cloud connection.
  2. Capture one full authentication and count the Access-Request and Access-Challenge pairs. Each pair is a full round trip to the server, so multiply the count by the round trip.
  3. Check the server's log for its processing time per request and for duplicate or retransmitted requests.
  4. Record the RADIUS timeout, retry count, and dead-server settings on the access points or controller. Then make the primary server unreachable in a test window and time a device rejoining.
  5. Check the size of the certificate chain the server sends, since every EAP-TLS fragment costs another round trip.
  6. Check whether fast transition, OKC, or PMK caching is in use, and which joins still run the full exchange.

The fix

  • Put an authentication server, or a local proxy or replica of it, inside the plant's own network zone, so joins do not depend on a WAN link.
  • Enable fast transition, OKC, or PMK caching where every client model supports it, so roams skip the server.
  • Enable TLS session resumption or fast reconnect on the server and the clients, to cut the round trips in a repeat authentication.
  • Shorten the server's certificate chain where your security policy allows, so fewer fragments cross the network.
  • Tune the RADIUS timeout, retries, and dead-server detection so a failed primary is abandoned quickly, without retrying so hard that a mass rejoin floods the server.
  • Give RADIUS traffic priority on any link it shares with bulk transfers.

Prevent it at design time

  • Put the authentication server's round trip, multiplied by the number of exchanges in a full authentication, in the timing budget for every join and reauthentication.
  • Test a whole-site restart, with every device rejoining at once, and time the last one back.
  • Test failover between authentication servers before go-live, and after any change to the server or the path to it.
  • Keep plant floor authentication independent of links outside the plant.

About this page

Built from 7 sources: 3 standards bodies and labs and 4 vendor documents. Researched and drafted with AI assistance, then reviewed and approved by Ben Rutter on . How pages are made

First published
Last updated
Change history (1)
  • First published
Cite this page

Plain

Ben Rutter. "Slow or distant authentication server." OT Wireless, published October 5, 2026. https://otwireless.com/causes/authentication-server-latency/

APA 7

Rutter, B. (2026, October 5). Slow or distant authentication server. OT Wireless. https://otwireless.com/causes/authentication-server-latency/

BibTeX

@misc{rutter2026authenticationserverlatency,
  author = {Rutter, Ben},
  title = {{Slow or distant authentication server}},
  year = {2026},
  howpublished = {\url{https://otwireless.com/causes/authentication-server-latency/}},
  organization = {OT Wireless},
}