diff --git a/selected/http_to_phy.md b/selected/http_to_phy.md index a0f0af5..510e655 100644 --- a/selected/http_to_phy.md +++ b/selected/http_to_phy.md @@ -76,20 +76,19 @@ So, how does the computer get an IP address? How do we know what the router's IP How do find the IP address of "https://handmade.network/" so we can send it a request? Discovery protocols to the rescue! -## Putting on the ARP Goggles +## Using the DNS Phonebook -At the bottom of the protocol stack, ARP (Address Resolution Protocol) is how your computer -reaches out and understands the local network it lives on. When an ethernet cable gets plugged into -your computer, it broadcasts an ARP packet, gathering responses to know how to address -messages directly to specific local machines. The initial ARP packet contains the MAC -address of the computer sending, and responses from all machines that want to be discovered -get fired back with their MAC addresses in tow. +DNS sits at the top acting as a final, important, icing on the cake. The job of DNS is primarily to +provide lookup services for domain names. To resolve "https://handmade.network/" into an IP address +so we can send it an HTTP request, we send a lookup request to the DNS server, and it will do the requisite +forwarding until it either has an IP address to send back, or fails. -Good learning resources for ARP: -- https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/ +Good learning resources for DNS: +- https://www.cloudflare.com/learning/dns/what-is-dns/ <-- Link to expanded, less curated library of topical info --> -<-- Branch into TAP via link here --> +<-- Branch into DNS over HTTPS / DNS Lookup Security via link here --> + ## Finding the Mailman with DHCP @@ -106,18 +105,22 @@ Good learning resources for DHCP: <-- Link to expanded, less curated library of topical info --> <-- Branch into PXE Booting via link here --> -## Using the DNS Phonebook +## Putting on the ARP Goggles -DNS sits at the top acting as a final, important, icing on the cake. The job of DNS is primarily to -provide lookup services for domain names. To resolve "https://handmade.network/" into an IP address -so we can send it an HTTP request, we send a lookup request to the DNS server, and it will do the requisite -forwarding until it either has an IP address to send back, or fails. +At the bottom of the protocol stack, ARP (Address Resolution Protocol) is how your computer +reaches out and understands the local network it lives on. When an ethernet cable gets plugged into +your computer, it broadcasts an ARP packet, gathering responses to know how to address +messages directly to specific local machines. The initial ARP packet contains the MAC +address of the computer sending, and responses from all machines that want to be discovered +get fired back with their MAC addresses in tow. -Good learning resources for DNS: -- https://www.cloudflare.com/learning/dns/what-is-dns/ +Good learning resources for ARP: +- https://www.youtube.com/watch?v=aamG4-tH_m8&list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW&index=9 +- https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/ <-- Link to expanded, less curated library of topical info --> -<-- Branch into DNS over HTTPS / DNS Lookup Security via link here --> +<-- Branch into TAP via link here --> + ## Fun Tangents