I'm trying to learn the basics of ARP/TCP/HTTP (in sort of a scatter-shot way). As an example, what happens when I go to google.com and do a search?
My understanding so far:
For my machine to communicate with others (the gateway in this case), it may need to do an ARP Broadcast (if it doesn't already have the MAC address in the ARP cache)
It then needs to resolve google.com's IP address. It does this by contacting the DNS server. (I'm not completely sure how it knows where the DNS server is? Or is it the gateway that knows?)
This involves communication through the TCP protocol since HTTP is built on it (TCP handshake: SYN, SYN/ACK, ACK, then requests for content, then RST, RST/ACK, ACK)
To actually load a webpage, the browser gets the index.html, parses it, then sends more requests based on what it needs? (images,etc)
And finally, to do the actual google search, I don't understand how the browser knows to communicate "I typed something in the search box and hit Enter".
Does this seem about right? / Did I get anything wrong or leave out anything crucial?