Update 'selected/http_to_phy.md'

This commit is contained in:
cloin 2022-06-17 09:24:34 +00:00
parent 308c3e546d
commit 8433f15778
1 changed files with 10 additions and 14 deletions

View File

@ -6,14 +6,14 @@ usually referred to as a packet.
At a high level, packets are split into a few important sections. At a high level, packets are split into a few important sections.
We're going to start with the simple case: Sending a packet over ethernet with HTTP over TCP. We're going to start with the simple case: Sending a packet over ethernet with HTTP over TCP.
Our packets look like this: Our packets look like this:
``` ```
ETHERNET > IP > TCP > HTTP ETHERNET > IP > TCP > HTTP
``` ```
[NOTE(cloin): this is an awkward transition, is there a better way to phrase this/this section?] [NOTE(cloin): this is an awkward transition, is there a better way to phrase this/this section?]
## HTTP and You ## HTTP -- Where Your Message Lives
Browsers use HTTP (Hypertext Transfer Protocol) to communicate with web servers to request and receive web pages, and perform Browsers use HTTP (Hypertext Transfer Protocol) to communicate with web servers to request and receive web pages, and perform
basic transactions, like updating your account, posting images, and getting the latest updates on the weather. basic transactions, like updating your account, posting images, and getting the latest updates on the weather.
HTTP defines a process for packing messages to be sent back and forth over the network. HTTP defines a process for packing messages to be sent back and forth over the network.
@ -27,10 +27,8 @@ Good learning resources for HTTP:
<-- Link to expanded, less curated library of topical info --> <-- Link to expanded, less curated library of topical info -->
<-- Branch into REST/GraphQL here --> <-- Branch into REST/GraphQL here -->
## Diving into the meat and potatoes with TCP and IP ## TCP and IP -- Designed for Delivery
[NOTE(cloin): TCP -> IP transition is not *quite* right, needs some thinking. Do we want to flip the order?]
HTTP responses and requests are a sequence of bytes, chunked up and sent in packets.
Working backwards, we'll tackle TCP next. Working backwards, we'll tackle TCP next.
TCP is a protocol designed to aid in message delivery, built to help get your packets get from A -> B. TCP is a protocol designed to aid in message delivery, built to help get your packets get from A -> B.
@ -63,16 +61,15 @@ Good learning resources for IP:
<br> <br>
## Making it Tractable ## Exercise Time
So, how do you *actually* send that cat though? How do you send a real packet yourself?
It's time to make that theory stick.
So, how do you take all that theory and make it stick? How do you send a real packet yourself?
Some good outlets for exercises: Some good outlets for exercises:
- https://beej.us/guide/bgnet/html/ [NOTE(hayden): This seems like an excellent resource!] - https://beej.us/guide/bgnet/html/ [NOTE(hayden): This seems like an excellent resource!]
- https://github.com/shuveb/zerohttpd [NOTE(hayden): If we can provide a brief description of the different folders in this repo, that might be helpful] - https://github.com/shuveb/zerohttpd [NOTE(hayden): If we can provide a brief description of the different folders in this repo, that might be helpful]
## Using the DNS Phonebook ## DNS -- Wait, how do I get an IP?
[NOTE(cloin): this feels detached after content reduction, needs to be worked back into the narrative]
The last really important bit you need to know is DNS. The job of DNS is to help you find IP addresses for domain names, The last really important bit you need to know is DNS. The job of DNS is to help you find IP addresses for domain names,
like "handmade.network". like "handmade.network".
@ -84,10 +81,9 @@ Good learning resources for DNS:
<-- Link to expanded, less curated library of topical info --> <-- Link to expanded, less curated library of topical info -->
<-- Branch into DNS over HTTPS / DNS Lookup Security via link here --> <-- Branch into DNS over HTTPS / DNS Lookup Security via link here -->
## Bits at Rock Bottom ## Rock Bottom (Ethernet and PHY)
Ok, so you've got some of the basics down, and you're ready for some serious spelunking? Ok, so you've got some of the basics down, and you're ready for some serious spelunking?
Let's talk Ethernet and PHY. Let's talk bits and bytes.
- https://www.youtube.com/watch?v=XaGXPObx2Gs&list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW - https://www.youtube.com/watch?v=XaGXPObx2Gs&list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW
<br> <br>