Dictionaries
The RADIUS server machines must have a way of relating which attribute corresponds to which attribute number and expected type. It also must be aware of any vendor-specific attributes it must support to contact the RADIUS client equipment that is operating in the same environment. Much like a dictionary of the English language contains words, their word types (verb, noun, preposition, etc.), and their definitions, a RADIUS dictionary keeps track of the properties of all standard and the appropriate vendor-specific attributes.
The commonly found RADIUS flexibility is extended to the dictionary implementation. Dictionaries can be stored in flat text files, in databases, or by just about any other means—the only constraint here is the accessibility of the information to the RADIUS server. While more exotic means of storing the file are not out of the question, experience shows that by far the two most common methods of storing the dictionary information are in text files and databases.
Here is an excerpt of a common flat text file dictionary:
# ATTRIBUTE-NAME TYPE #-------------------------------------- 1 User-Name STRING 2 User-Password STRING 3 CHAP-Password STRING 4 NAS-IP-Address IPADDR 5 NAS-Port INT 6 Service-Type ENUM 7 Framed-Protocol ENUM 8 Framed-IP-Address IPADDR 9 Framed-IP-Netmask IPADDR 10 Framed-Routing ENUM
Tip
Earlier in this chapter, I said that RADIUS implementations have enough information so that the text name of each attribute doesn’t need to be ...