4 ms·
Software developer talking confidently about electrical engineering issues he knows nothing about. How cute. /s All Ethernet adapters since the first Alto card
by mertenVan 7y ago
Software developer talking confidently about electrical engineering issues he knows nothing about. How cute. /s
All Ethernet adapters since the first Alto card had self-clocking data recovery [1].
Clock accuracy was never a problem, as long as it was withing the acceptable range required for PLL lock/track loop.
The reason for 1500 MTU is that for packet-based systems, you don't want infinitely large packets. You want small packets. but large enough so that packet overhead is insignificant, which in engineering terms means less than 2%-5% overhead. Thus 1500 max packet size. Everything above that just makes switching and buffering needlessly expensive, SRAM was hella expensive back then. Still is today (in terms of silicon area).
Look at all the memory chips on Xerox Alto's Ethernet board (below) - memory chips were already taking ~50% of the board area!
[1] Schematic of the original Alto Ethernet card clock recovery circuit: https://www.righto.com/2017/11/fixing-ethernet-board-from-vintage.html https://www.righto.com/2017/11/fixing-ethernet-board-from-vi...
EDIT: Lol! Author has completely replaced erroneous explanation with correct explanation, including link to seminal paper about packet switching. Good.
- kingosticks 7y ago> Everything above that just makes switching and buffering needlessly expensive, SRAM was hella expensive back then. Still is today (in terms of silicon area). Why does a larger MTU make switching more expensive? And why does it effect buffering? Won't the internal buses and data buffers of networking chips be disconnected from the MTU? Surely they'll be buffering in much smaller chunks, maybe dictated by their SRAM/DRAM technology. Otherwise, when you consider the vast amount of 64B packets, buffering with 1500B granularity would be extremely expensive.
- mertenVan 7y agoI suggest you read the paper linked by the blog author (“Ethernet: Distributed Packet Switching for Local Computer Networks”), specifically Section 6 (performance and efficiency 6.3). It will answer all your questions. > Why does a larger MTU make switching more expensive? Switching requires storage of the entire packet in SRAM. Larger MTU = More SRAM chips If existing MTU is already 95% network efficient (see paper), then larger MTU is simply wasted money.
- mprovost 7y agoTraditionally it's been true that you need SRAM for the entire packet, which also increases latency since you have to wait for the entire packet to arrive down the wire before retransmitting it. But modern switches are often cut-through to reduce latency and start transmitting as soon as they see enough of the headers to make a decision about where to send it. This also means that they can't checksum the entire packet, which was another nice feature with having it all in memory. So if it detects corruption towards the end of the incoming packet it's too late since the start has already been sent - most switches will typically stamp over the remaining contents and send garbage so it fails a CRC check on the receiver. Which raises another point in relation to the 1500 MTU - all of the CRC checks in various protocols were designed around that number. Even the checksum in the TCP header stops being effective with larger frames, so you end up having to do checksums at the application level if you care about end to end data integrity. https://tools.ietf.org/html/draft-ietf-tcpm-anumita-tcp-stronger-checksum-00 https://tools.ietf.org/html/draft-ietf-tcpm-anumita-tcp-stro...
- mertenVan 7y agoYou're describing cut-through switching [1]. Because of its disadvantage, it is usually limited to uses that require pure performance, such as HFT (High Frequency Trading). Traditional store-and-forward switching is still commonly used (or some hybrid approach). "The advantage of this technique is speed; the disadvantage is that even frames with integrity problems are forwarded. Because of this disadvantage, cut-through switches were limited to specific positions within the network that required pure performance, and typically they were not tasked with performing extended functionality (core)." [2] [1] https://en.wikipedia.org/wiki/Cut-through_switching https://en.wikipedia.org/wiki/Cut-through_switching [2] http://www.pearsonitcertification.com/articles/article.aspx?p=2420611 http://www.pearsonitcertification.com/articles/article.aspx?...
- rmwaite 7y agoCut through switching and single pass processing is extremely common in data center architectures. This is not only for specific use cases - it is necessary to provide the capabilities beyond forwarding while still allowing maximum throughput.
- mlyle 7y ago> How cute. /s > EDIT: Lol! Author has completely replaced erroneous explanation with correct explanation, including link to seminal paper about packet switching. Good. Don't be a jerk. Being right doesn't give you the right to make fun of people.
- mertenVan 7y agoNoted. I find the over-confidence over a completely imagined issue funny and interesting. I make that mistake too. It's always interesting to do a post-mortem: why was I so confident? how did I miss the correct answer? I respect the author for doing such a fast turn around :)
- hackmiester 7y agoGood to know that your intent wasn't malicious, but fwiw, I also didn't find the tone particularly appropriate for HN, either.
- contingencies 7y agoThe hardware world is full of this.
- generatorguy 7y agoI think because in the hardware world the cost for being wrong is so much higher since you can’t push out an over the air update or update your saas or whatever. So if you don’t know you stay quiet instead of being wrong.