ILMI-Based Server Discovery for ATMARP
Extracted elements (13)
ILMI-based server discovery was introduced because static configuration of ATMARP is cumbersome, error-prone, and prevents diskless hosts from using ATMARP at all. Dynamic discovery via the Service Registry MIB eliminates the requirement for at least one statically configured ATM address per host or router.
The service registry table is indexed by atmfSrvcRegPort, atmfSrvcRegServiceID, and atmfSrvcRegAddressIndex, allowing multiple servers of the same service type on the same port to be listed and prioritized by index value for redundancy.
PAR (PNNI Augmented Routing) and its proxy mechanism (Proxy PAR) can distribute ATMARP server addresses and manage service registry tables network-wide, but are complementary to ILMI-based discovery. Hosts and routers can continue using ILMI-based or Proxy PAR-based discovery without changes to the mechanism defined in this memo.
An ATMARP client with no local configuration (e.g., a diskless workstation) must use the row with the lowest index value if multiple ATMARP servers are listed in the service registry table.
An ATMARP server shall be locally configured. The ATMARP server may retrieve the ATMARP service registry data to validate the results; if an incorrect row is retrieved, the error may be flagged in a locally significant way.
ATM switches must support the Service Registry MIB (as defined in ILMI Specification Version 4.0) to support the existing framework for IP over ATM.
ATMARP clients that have local IP configuration must use a row in the service registry table that has the appropriate IP address matching their configured network address and mask.
The ATMARP client must attempt to utilize the primary ATMARP server (lowest index value) before utilizing a secondary ATMARP server. Administrators must ensure that listed ATMARP servers are synchronized.
An ATMARP client queries the service registry table via ILMI using SNMP GetNext to sweep beginning with {Port=0, ServiceID=atmfSrvcRegATMARP OID, Index=0}, holding port number and serviceID constant. Port number 0 indicates 'this port' within ILMI.
The ATMARP service OID within the ATM Forum Service Registry MIB is atmfSrvcRegATMARP ::= { 1.3.6.1.4.1.353.1.5.3 }. This OID is used to locate appropriate rows in the service registry table, not to name managed objects.
The Service Registry MIB table row (AtmfSrvcRegEntry) contains five fields: atmfSrvcRegPort (ATM port number), atmfSrvcRegServiceID (OID identifying the service type), atmfSrvcRegATMAddress (full ATM address of the service), atmfSrvcRegAddressIndex (integer to differentiate multiple rows), and atmfSrvcRegParm1 (protocol-specific parameter string).
The server discovery mechanism relies on the ILMI management framework for security. The service registry MIB is defined with read-only access, so any user-side device may query it but cannot modify it via ILMI. Modification requires local configuration on the ATM switch.
The ATMARP service parameter string (atmfSrvcRegParm1) encodes: ar$pro (16 bits, protocol type), ar$plen (8 bits, length of protocol address), ar$addr (plen octets, network address in network byte order), and ar$mask (plen octets, network mask in network byte order). For IPv4, ar$pro=0x0800 and ar$plen=4; for IPv6, ar$pro=0x86DD and ar$plen=16.