[HN Gopher] Network protocols for anyone who knows a programming...
       ___________________________________________________________________
        
       Network protocols for anyone who knows a programming language
        
       Author : yla92
       Score  : 238 points
       Date   : 2023-08-03 11:14 UTC (11 hours ago)
        
 (HTM) web link (www.destroyallsoftware.com)
 (TXT) w3m dump (www.destroyallsoftware.com)
        
       | HL33tibCe7 wrote:
       | > This is handled by IP, the Internet Protocol, whence IP
       | addresses.
       | 
       | This is grammatically nonsense. Correct would be "whence IP
       | addresses come". Or, "from where IP addresses come", if you want
       | to write like somebody normal
       | 
       | One of my biggest pet peeves is when someone uses obscure words
       | like "whence" in an effort to flex their knowledge - and it's
       | even worse when they actually use it wrong. Almost made me stop
       | reading the article. Although I'm glad I didn't, because the rest
       | of the article is great.
        
         | starttoaster wrote:
         | Even if it was grammatically incorrect, you understood what
         | they meant, right? With such a vast field of knowledge as tech,
         | should one strive to become a masterful writer on top of their
         | technical studies? Maybe just being able to get an intelligible
         | point across to the masses is good enough.
         | 
         | Not necessarily focusing my comment at you, either. I've seen
         | this sentiment around a lot, and my reaction each time is "what
         | am I, a software engineer or the one monkey that managed to
         | type the complete works of William Shakespeare on a
         | typewriter?"
        
         | mjdowney wrote:
         | Concise better, silly
        
         | saghm wrote:
         | Do you react similarly when watching "wat" due to the
         | misspelling, or "The Birth and Death of JavaScript" due to
         | pronouncing the "J" like a "y"? Part of the charm of his
         | content is the lighthearted, silly nature of it, and throwing
         | in an antiquated sounding word seems to me like just another
         | instance of not making technical content have to be overly dry
         | and serious.
        
         | gary_bernhardt wrote:
         | That sentence's grammar is intentional. (I wrote the sentence.)
         | 
         | English is not a programming language. I'm sure that we can
         | both name revered authors who have used far "worse" grammar
         | consistently throughout their careers, whereas the word choice
         | that has so ruffled you here involves a single word.
         | 
         | As to "flexing knowledge": I had some fun in a couple sentences
         | in that article. I aim to be at least slightly more than a
         | machine that extrudes gray paste of unit density. Fabricating
         | an ulterior motivate and attributing it to me is offensive.
        
           | davidrupp wrote:
           | Flex on, lad. Flex. On. Long may you flex.
        
         | capableweb wrote:
         | I guess sometimes it takes a bit of knowledge about the author
         | to read through their reading without cringing. In this case, I
         | think it's on purpose, to give the author's (fictional) tone to
         | the text. If you try watching one of the later talks, you'll
         | see what style the text is trying to emulate.
        
         | icedchai wrote:
         | I think it's a simple typo... "hence IP addresses" makes more
         | sense.
        
         | depressedpanda wrote:
         | I'm just happy they didn't write "from whence". I know it's
         | accepted usage, but it just irks me when I see it as "from" is
         | entirely redundant.
        
       | monk1 wrote:
       | > An interpacket gap of 96 bits (12 bytes) where the line is left
       | idle. Presumably, this is to let the devices rest because they
       | are tired.
       | 
       | This one left me laughing hard.
        
         | aequitas wrote:
         | Thinking of the router in Warriors of the Net[0] and it makes
         | perfect sense, he could use a rest once in a while.
         | 
         | [0] https://www.youtube.com/watch?v=PBWhzz_Gn10
        
         | jmbwell wrote:
         | It's funny cos it's kinda true?
         | 
         | While the preamble allows the devices to sync their clocks, the
         | gap allows them to reset.
         | 
         | The assumption is that there will be some drift between the
         | clocks over the course of a transmission. A period of
         | electrical silence makes it clearer when the last packet ends
         | and when the next preamble begins.
         | 
         | I think of it like shouting in a canyon. Shout Hello and it's
         | intelligible, but shout a whole sentence, and it's hard to make
         | out among the echoes and wind and birds. With some time between
         | words for noise to settle down, signal to noise ratio improves
         | and everyone can resync with each word.
         | 
         | It's not a big deal, and the gaps are smaller as line speeds
         | increase. 10Base-T has big fat millisecond gaps, while 400G
         | Ethernet has gaps that seem impossibly small.
        
           | convolvatron wrote:
           | I suspect it has (had) to do more with the fact that ethernet
           | used to be a multi-access protocol and you were giving
           | someone else a chance to talk. in general having read this
           | its not clear how much of this is legacy and how much is
           | modern. certainly there doesn't need to be a rest on a
           | dedicated channel, and most other protocols leave the clock
           | synched between peers (i.e. with 4b5b idle tokens)
        
             | jmbwell wrote:
             | Yeah the article skips past the multiple access (hub) era
             | for sure, and I haven't thought about it in many years
             | myself (!).
             | 
             | I don't know for sure how directly the IPG was related to
             | multiple access. Early Ethernet would wait for silence, a
             | la carrier sense multiple access, but it also used a
             | collision detection and backoff mechanism. When someone
             | tried to transmit, if someone else was talking, both would
             | detect the collision and each would wait a semi-random
             | period of time and try again, repeating with incrementally
             | larger delays until a collision wasn't detected and the
             | frame could be transmitted.
             | 
             | When there were only hubs, or when everything was on one
             | coaxial cable, collisions happened all the time. The more
             | nodes on a segment, the more collisions would impede
             | traffic. You'd design a network with gateways and routers
             | and expensive little store-and-forward switches at what
             | we'd now call the core, to partition everything into
             | smallish segments and try to keep the collision domains
             | small.
             | 
             | Cheap switching at what we'd now call the access level
             | fixed all this by making all links effectively point to
             | point.
             | 
             | Ethernet standards from 10G onward don't even bother with
             | multiple access (point to point only, meaning switched),
             | but they still retain the inter-packet gap. In some places
             | it's referred to as a "guard interval." So I do think it's
             | mostly to provide opportunities for resyncing.
             | 
             | Much of this applies in the RF domain as well. Before MIMO,
             | Wi-Fi was directly analogous to an Ethernet hub... CSMA,
             | one collision domain, incremental back off. Some access
             | points still let you specify the guard interval manually.
             | MIMO and things like beam-forming help reduce the collision
             | domains by breaking the RF into cells and allowing
             | something pretty close to a point to point link between the
             | node and the AP. RF is its own dark art, but in terms of
             | signaling, the problems and their solutions are much the
             | same.
             | 
             | So you're correct that the guard interval or IPG would
             | create a bit of silence for someone else to jump into.
             | Everyone would probably have to resolve the collision in
             | that case, but Ethernet accommodates that scenario as well.
        
       | tambourine_man wrote:
       | Gary Bernhardt is just so good, I wish I would dedicate more time
       | to read and watch his content.
       | 
       | Alas, I'm a lazy #$%@&
        
         | s_dev wrote:
         | He's basically a hardcore version of Julia Evans who also does
         | great learning content for techies.
        
           | tambourine_man wrote:
           | She's also fantastic. Their sense of humor is great and it
           | makes digesting deep content a lot easier.
           | 
           | But Julia's concision in her Zines is what sets her apart, to
           | me. So much great content in 3 or 4 panels. Incredible, it
           | must be really hard and take a long time to achieve.
           | 
           | Gary is more of a prose guy, to me.
        
       | lordnacho wrote:
       | Cool, I didn't know that final wrinkle about the 8b/10b encoding.
       | Physical layer stuff is not so common these days.
        
       | ipython wrote:
       | TCP sequence numbers count bytes not packets, which is why they
       | don't increment by 1 for each packet (unless the previous packet
       | only included one byte of payload).
       | 
       | Agreed with other commenters, this is a great article- thanks for
       | posting!
        
       | jbirer wrote:
       | Bookmarked.
        
       | sesm wrote:
       | You can find a more detailed (yet accessible) description of TCP
       | congestion avoidance and slow start in this excellent and free
       | book: https://hpbn.co/building-blocks-of-tcp/#congestion-
       | avoidance...
       | 
       | Edit: also, it has an entire section about HTTP/2
       | https://hpbn.co/http2/
        
       | z5h wrote:
       | Great read. This made me curious about "the story" of the
       | creation of the internet. ChatGPT suggested some books:
       | 1. Where Wizards Stay Up Late: The Origins Of The Internet
       | 2. The Innovators: How a Group of Hackers, Geniuses, and Geeks
       | Created the Digital Revolution         3. Inventing the Internet
       | 
       | Any comments on the above? Or other suggestions?
        
         | tiahura wrote:
         | While not Internet-centric, hopefully you've read Hackers by
         | Steven Levy.
        
           | z5h wrote:
           | No. (Shame). But I did just download "UNIX: A History and a
           | Memoir".
        
         | pjmorris wrote:
         | I read 'Where Wizards Stay Up Late', thoroughly enjoyed it, and
         | would recommend.
         | 
         | I can't speak to the others.
        
         | beeburrt wrote:
         | The Backbone
         | 
         | https://technicshistory.com/the-backbone/
         | 
         | There's also The Switch by the same person:
         | 
         | https://technicshistory.com/the-switch/
        
         | ipython wrote:
         | Not related to the "creation" of the Internet, but Clifford
         | Stoll's The Cuckoo's Egg is a great read and I would highly
         | recommend it. I also second "Where Wizards Stay Up Late".
        
         | whartung wrote:
         | I looked at those titles and wondered if ChatGPT just made them
         | up.
        
       | id0ntw4ntit wrote:
       | > There are too many Internet nodes for it to work in this way.
       | We can't provide a direct, uninterruptible path from each machine
       | to each other machine it wants to talk to.
       | 
       | Is this true? Isn't a direct, uninterruptible path from each
       | machine to the other a requirement for communication? The path
       | must proceed through complex switching systems, like in the
       | analog days, yes.
       | 
       | What is meant by the statement that it is no longer electrically
       | equivalent to a single wire?
        
         | alfons_foobar wrote:
         | I think this refers to circuit switching (in the old telephone
         | networks, when you called someone, the connection had to be
         | physically established at the "intersections" by the phone
         | network operators) vs. packet switching (where the underlying
         | network is not changed, instead the data packet is forwarded
         | from one "intersection" to the next and reaches its destination
         | eventually).
        
         | roelschroeven wrote:
         | In old telephone systems, each telephone had a dedicated wire
         | to the central, and centrals had a number of dedicated wires
         | between, each one of which could be used for one conversation
         | at a time. Setting up a call involved physically switching your
         | line to one of the wires to the next central, and from there to
         | the next, until the last central where there was a physical
         | connection made to the line the person you were calling (unless
         | if at some place no free wires were available; then you got a
         | busy signal). Once all the switches were put in the correct
         | position, there was practically speaking one uninterrupted wire
         | between the two phones. If you were to put a voltage spike on
         | your line, that could be measured at the other end. At the end
         | of the call the switches were put in another position, and
         | there was no electrical connection between those phones
         | anymore.
         | 
         | In a packet-switched network, there is no direct electrical
         | connection between two arbitrary nodes; there is only an
         | electrical connection between your device and the first router,
         | and between any router and the next one.
         | 
         | Of course nowadays telephone lines don't work with physical
         | dedicated wires anymore either. It's all digitized and
         | multiplexed now.
        
       | yayitswei wrote:
       | Good study guide for that one interview question, "what happens
       | when I type google.com into the browser and press enter".
        
         | glonq wrote:
         | "The great firewall of china blocks me and I lose 10 social
         | credit points"
        
       ___________________________________________________________________
       (page generated 2023-08-03 23:02 UTC)