Saturday, October 8, 2016

CCNA Question of the Week 4

 on  with No comments 
In , ,  
This week, we had an open ended question that covers a lot of areas.  This is a take on a question that was asked during the phone screening for my first I.T. job.  As with all questions in this series, do not make assumptions, and do not answer a question that was not asked. Just answer the question as completely as your knowledge allows.

Your computer was just started and you just logged in and then loaded your favorite web browser.  No other actions have been taken on this computer and no other programs have been launched.  You type www.yahoo.com into the URL bar of the browser and press Enter.  Between now and when the page finishes loading, describe everything that happens in order for that page to load.

  1. First the browser needs to obtain an IP address for www.yahoo.com.  It will first check the hosts file, lmhosts file, and then the DNS cache for an appropriate entry.  If not found in any of these three (and it won't be in this case), it will need to go to the computers configured DNS server.
  2. The PC will send a DNS request to the DNS server for www.yahoo.com.  If the DNS server is on the same subnet as the PC, it will be destined directly to the DNS server, otherwise it will be destined to the PC's default gateway.  It's likely this IP address will not be in the ARP cache now (a local server or the gateway), so it will have to first send an ARP request to get the MAC address to send this frame to.  NAT will happen as necessary if the PC is configured to use IPv4 and the DNS server is outside of the local network.
  3. The DNS server will first check it's cache for an entry for www.yahoo.com.  If it has it, it will immediately send a response. If not, it will either send this request on to it's configured forwarder or perform an iterative lookup. Multiple DNS servers may forward the request to another server, but eventually a DNS server will have to either find an entry in it's cache, or perform an iterative lookup.  The IP address for yahoo will be passed back down the chain until it reaches the PC.  NAT will happen as appropriate.
  4. Armed with the IP address it needs, the browser will try to start the three way handshake with the web server.  It will send the initial SYN packet, destined for the default gateway.  Again, NAT will happen as appropriate.
  5. The three way handshake will complete, and the browser will send an HTTP get for the required page.
  6. The browser and server will communicate over port 80 for HTTP, and over port 443 for HTTPS, depending on which the user specified when loading the page.  Note that a web server may chose to redirect from HTTP to HTTPS in the name of security despite the user attempting to use HTTP.
  7. The browser may preload data from the browser cache if it is current.  Note that this is an optional step as not all browsers maintain a cache and those that do may be configured not to.  It will load all data from the server that is not current in the cache.
  8. The browser will begin drawing the page.  It may wait until it has the entire page in memory, or it may begin drawing as soon as it has enough data to begin.  Again, this is entirely up to the browser.
Did I miss any steps, or do you disagree with the order at any point?  Reply in the comments.
Share:

0 comments:

Post a Comment

Discuss this post!