An iterative lookup is where Alice’s computer does all the work.
For now we assume that Alice’s computer has been pre-programmed with the address of one or more root name servers. These are the only addresses that Alice’s computer needs to know to start.
Alice’s computer sends a DNS Query message to a root name server asking for either “Bob.Example.org” or simply “org”.
The root server will return with one or more IP addresses of the “org” name servers.
With this information in hand, Alice’s computer now sends another query to one of the “org” name servers asking for either “Bob.Example.org” or simply “Example.org”.
The “org” name server will return with one or more IP addresses for the “Example.org” name server.
Now Alice’s computer has more specific information to use and sends a third DNS Query to an “Example.org” name server requesting “Bob.Example.org”.
The Example.org” name server will return with the specific or authoritative response that “Bob.Example.org” is at 10.2.2.2.
Note that Bob’s computer is not involved in the process and will not know that it is occurring.