1. After the initial TCP/IP three way hand shake has been negotiated, your web browser will issue a request to the web server hosting your homepage asking for its homepage.
  2. This HTTP GET request information now has to be sent to the web server.If you select the write operation it will cause the data that application wants to send to be copied from the applications memory space to the socket send buffer within kernel space.
  3. Depending on what transport protocol the application uses, the socket layer will call either UDP or TCP. Some applications use TCP or UDP as a Transport Layer protocol. DNS uses both UDP and TCP, while other applications such as TFTP will only use UDP. Once the socket layer calls the proper transport protocol, the data will be copied over into a socket buffer.
  4. TCP will fragment this data if required. What happens if the browser’s request exceeds the MTU.TCP itself will fragment the data in order to ensure that the size complies with the Ethernet MTU limit of 1500 bytes. A key point to remember here is that fragmentation will occur at the TCP layer if the application invoked uses TCP as it transport protocol. If application is using UDP then fragmentation will happen at the IP layer.
  5. At Network layer IP header is built and the all important IP addresses are added.
  6. After this, the data then drops down to the data link layer where both the logical link control and media access control layers do their parts. Finally the data is now ready to transmitted by the physical layer as embodied by your NIC card.
  7. Now it reaches to Ethernet Switch
  8. After the packet goes through the switch it makes its way to the router, and may very well go through a firewall prior to the router as well.
  9. At router if required NAT is performed, if you have the Private Address not a public Address
  10. Now the packet travel through the many routers and every router route the packet based on its own routing table information. Once the next router receives this same packet it will consult its own routing table, and send it on its way based on what it considers the best path. Before this happens, the router will change several fields in the IP header of the packet. One of the fields that will change is the TTL field or “time to live.” Now, as part of the IP header has changed, the router must compute a new checksum value for the packet.Finally it reaches to its destination.
  11. The physical layer will issue an IRQ to the CPU indicating that there is data to be processed. Once that occurs, the data is passed up the data link layer where the webserver will recognize the MAC as indeed being its own, and will pass it up to the IP layer. The IP address is in turn recognized as belonging to it so that it then passes the data up to the transport layer where it is put into the TCP buffer. At this point the application notices that the data is for it and it processes the information. The end result of this is that the information requested for in the GET request issued by the client is then sent back.