How does name resolution work in Oracle 10g? In Oracle 10g (10.2.0), there are 4 types of names resolution:


Easy Connect(10g added this new method)
Local naming
Directory 
External naming


It is said that if Easy connect is used by the clients, then it may overload the listener on the server (as client queue increases). How can this happen as it is the server's duty to distribute load from one listener to another? (Please correct me if my concepts are wrong.)

And how exactly does Directory and External naming work.
When you need to connect any database , you need to provide connection string. Oracle is the same. What you need to provide is following information basically.


Database Server Name or IP.
Database Name, Oracle SID or Service Name
Datapase Port
Username and password


First connection method is Local naming which uses Oracle Net. Before TCP/IP was standardized a lot of third party networking protocols existed. To overcome this problem, oracle used Oracle NET.  According to Oracle Documentation Local Naming : "Resolves a net service name stored in a tnsnames.ora file stored on a client". tnsnames.ora file contains 1-3 of above. Therefore you only need to provide (4) username and password. Below an example line of tnsnames.ora can be seen.

(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=my-server) (PORT=1521)))


Second easy connect is same. You provide information contained in tnsnames.ora in command line. Here host = 1 , port (2), service_name = (3). As you can see it is same as first one. You give same information to connector as before. You may skip default information like port.

CONNECT username/password@host[:port][/service_name]


http://docs.oracle.com/cd/B13789_01/network.101/b10775/naming.htm#i476040

Third is Directory Server, LDAP Server like Microsoft Active Directory. Here you provide a key and directory server gives you back connection string. You use this connection string to connect to oracle.

Fourth one is same as Directory server , you only use other network services. As explained in oracle documentation.
"Configuring External Naming Methods

External naming refers to the method of resolving a net service name, stored in a non-Oracle naming service, to a network address."
According to NIS wikipedia: "Network Information Service, or NIS is a client–server directory service protocol for distributing system configuration data ...over time other modern and secure distributed directory systems, most notably LDAP, came to replace it." 
As you can see, External Naming is same as Directory Server, only uses a different server technology (older) than LDAP.

http://docs.oracle.com/cd/B13789_01/network.101/b10775/naming.htm#i476040

These are four connection methods. I do think other than where do they get connection string information, they differ. Therefore easy connect should not have less performance than local naming.