Skip to main content

OmniTWAG Performance Benchmarks

Control-plane authentication and signalling throughput of the Trusted WLAN Access Gateway.

Test environment

CPUIntel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (16 cores)
RuntimeElixir 1.17.0 / Erlang OTP 27 (JIT) (erts 15.0.1)
Measurement1 s warmup + 3 s measure + 1 s memory per op
Commitmain @ 631cd77

Throughput is reported as ips (iterations per second — higher is faster). Avg and Median are per-call latency in microseconds; the median is the better estimate of typical steady-state latency. Mem/op is the heap memory allocated per call.

Full authentication (end-to-end)

The topline figure: each scenario chains the complete per-attach sequence — EAP Identity decode, authentication-vector handling, the EAP-AKA' key hierarchy, challenge build, MAC, response decode, and MAC verification — so its throughput (ips) is complete attaches, i.e. sessions, per second per core. Local mode computes the authentication vector on-box (Milenage); STa mode receives it from the HSS over SWx/STa.

ScenarioThroughput (ips)Avg (µs)Median (µs)Mem/op
Full EAP-AKA' attach — STa mode (vector from HSS)17,06258.6153.267,048 B
Full EAP-AKA' attach — local mode (vector computed on-box)12,21181.8976.7510,560 B

Cryptography

Per-authentication cryptographic operations: SIM authentication-vector generation (Milenage), the EAP-AKA' key hierarchy (CK'/IK', session keys, MAC), ERP fast re-authentication keys, and the generic 3GPP key-derivation function.

OperationThroughput (ips)Avg (µs)Median (µs)Mem/op
EAP-AKA' build Challenge packet (encode)206,5504.841.92456 B
WLCP key derivation (EMSK -> WLCP key)203,7064.913.1172 B
EAP-AKA' compute MAC (HMAC-SHA-256/16)192,0325.213.7772 B
EAP-AKA' derive CK'/IK'185,9695.383.91328 B
3GPP generic KDF (HMAC-SHA-256)168,4795.943.81248 B
ERP derive rMSK (per re-auth)105,3489.497.38376 B
ERP full fast re-auth (rRK -> rIK -> rMSK)65,45615.2813.12520 B
Milenage compute_all (RES, CK, IK, AK, MAC-A)52,19519.1615.633,544 B
EAP-AKA' derive_keys (MK -> all session keys)35,70028.0125.351,552 B
EAP-AKA' full auth crypto (CK'/IK' + all keys)26,84037.2631.611,808 B
OperationWhat it does
EAP-AKA' build Challenge packetEncodes the EAP-Request/AKA'-Challenge (AT_RAND, AT_AUTN, AT_KDF, AT_MAC).
WLCP key derivationDerives the WLCP protection key from the EMSK (multi-connection mode).
3GPP generic KDFHMAC-SHA-256 key-derivation function used across the key hierarchy.
EAP-AKA' compute MACHMAC-SHA-256 AT_MAC over an EAP packet, truncated to 16 bytes.
EAP-AKA' derive CK'/IK'Transforms CK/IK into CK'/IK' bound to the access-network name.
ERP derive rMSKPer-re-auth session key for EAP Re-authentication (RFC 6696).
ERP full fast re-authFull rRK → rIK → rMSK derivation chain for a fast re-auth.
Milenage compute_allOne AKA authentication vector: RES, CK, IK, AK, MAC-A.
EAP-AKA' derive_keysExpands the master key into K_encr, K_aut, K_re, MSK, EMSK.
EAP-AKA' full auth cryptoCK'/IK' derivation plus the full session-key expansion.

Packet codecs

Signalling-plane encode/decode operations: EAP packet parsing, WLCP (TS 24.244) message handling for multi-connection mode, and the MPPE key attribute built on every RADIUS Access-Accept.

OperationThroughput (ips)Avg (µs)Median (µs)Mem/op
WLCP decode (PDN Connection Request)2,933,5390.340.27448 B
WLCP encode + decode round-trip1,217,5550.820.59608 B
WLCP encode (PDN Connection Request)1,210,1840.830.40160 B
EAP decode Identity packet267,4463.742.411,136 B
MPPE build VSA (Send-Key, RC4 + MD5)89,18611.217.641,296 B
OperationWhat it does
WLCP decodeParses a WLCP PDN Connection Request from the wire.
WLCP encodeSerialises a WLCP PDN Connection Request to the wire.
WLCP encode + decode round-tripEncode then decode of one WLCP message.
EAP decode Identity packetParses an EAP Identity response (NAI extraction).
MPPE build VSABuilds the MS-MPPE-Send-Key RADIUS VSA (RC4 + MD5) carrying the MSK.