Directory services provide a way to map names to addresses through specialized network databases. Some examples of directory services include DNS, ARP/RARP, file systems, and CORBA naming services. LDAP is a lightweight protocol for accessing X.500 directory services over TCP/IP. LDAP directories have a hierarchical data model and use distinguished names and attributes to uniquely identify entries. Popular APIs for accessing LDAP directories include the University of Michigan LDAP C API, Netscape LDAP SDK, Java JNDI, and Microsoft ADSI.