Bob Metcalfe wins Turing Award
amturing.acm.org
amturing.acm.org
Metcalfe's Law states the value of a network is proportional to the square of the number of devices of the system.
When I finally asked him, he looked at me and said "I made it up."
Me: .. what?
Him: I was selling network cards and I wanted people to buy more.
Me: .. what?
Him: If I could convince someone to buy 4 instead of 2, that was great. So I told them buying more made each of them more valuable.
It was mind blowing because so many other things were built on that "law" that began as a sales pitch. Lots of people have proven out "more nodes are more valuable" but that's where it started.
He also tells a story about declining a job with Steve Jobs to start 3Com and Steve later coming to his wedding. He also shared a scan of his original pitch deck for 3Com which was a set of transparencies because Powerpoint hadn't been invented yet. I think I kept a copy of it..
Not only did he teach a class on startups at the University of Texas but regularly came to a coffee meetup for years, attended Startup Weekend demo time, came to Techstars Demo Day, and was generally present. I even got to do the Twilio 5 Minute Demo for one of his classes (circa 2012).
It was always cool to have someone who shaped our industry just hanging out and chatting with people.
If there's one thing I leaned doing a Ph.D. is if you dig deep enough, you find many foundational laws of nature rely on some necessary assumption that, if proven incorrect, would topple the whole thing
This "law" isn't somehow less true just because it was originally used as a sales tactic.
https://www-users.cse.umn.edu/~odlyzko/doc/metcalfe.pdf offers this and several other lines of evidence that the law is wrong, and O(n log(n)) is a more accurate scaling law.
Dennard scaling though did end in the mid 00s and this impacted Koomey’s law which talks about performance/watt and saw a similar petering out.
Apparently the bound at even a conservative rate puts the thermodynamic doubling limit at 2080. After that we’ll have to really hope smart people have figured out how to make reversible computing a thing.
This was a bit of a bummer for programmers working in single threaded languages who found that their code stopped getting faster for free.
https://ourworldindata.org/grapher/transistors-per-microproc...
variance/standard deviation (also btw, a sum of squares concept)
it marks the inflection points on the gaussian curves, but so what, the 2nd derivative points to something significant about the integral? not really. But even if we accept that it does, what does two standard deviations mean? a linear double on the x coordinates says what about the a hairy population density function? nothing.
or similar to Metcalfe's Law, the very widely used Herfindahl Index (also squares!). It's a cross between a hash and a compression, it says something about the original numbers, but wildly different scenarios can collide.
- Bob Metcalfe
That was right about the time someone has solved a bug with certain revisions of the card behaving differently. So suddenly the availability jumped considerably.
The number of pairwise connections grows as the number of pairwise connections, and connections ("how many people can you talk to") are valuable, so value grows. But individual connections to networks grow the pairwise connections by N, so that's even better.
broadcast (one to many connections, like giving a speech to a crowd) is an efficiency hack, which is good, and efficiency hacks grow as the number of connections grow, so that's good too...
... is more how I think about what Metcalfe was talking about. Which aspects are x, which are x squared, which are log x is interesting, but that's not all bound up in his simple statment, despite his "as the square" wording.
and Bob Metcalfe is personally a great guy in all the ways people are saying, but it's not soooo unique, that's the way a lot of tech types were as the mantle passed from the Greatest Generation to the Boomers (and what was that one in the middle, "lost" or "invisible" or something) I'm not suggesting we've lost that (we may have) just saying that's how it was, for instance as an undergrad you could walk into any professor's office and get serious attention.
However not all connections are equally valuable. And therefore the "law" is incorrect. An estimate in far better agreement with the data is O(n log(n)), and you can find multiple lines of reasoning arriving at that in https://www-users.cse.umn.edu/~odlyzko/doc/metcalfe.pdf.
Better agreement with what data, exactly? It's definitely not in that paper, and every single paper I find with data empirically testing your nlogn proposal against Metcalfe finds your nlogn doesn't fit the data at all while Metcalfe can fit well: Facebook (https://gwern.net/doc/economics/automation/metcalfes-law/201...), the entire EU (https://gwern.net/doc/economics/automation/metcalfes-law/201...), Tencent (https://gwern.net/doc/economics/automation/metcalfes-law/201...), and Bitcoin (https://gwern.net/doc/economics/automation/metcalfes-law/201...).
The gravity law argument based on geographic distribution of traffic, Zipf's Law and Bradford's law all have empirical evidence behind them. That's three. Additionally another version of the same paper Bob Briscoe contributed data from British Telecom usage that supported the same scaling rule.
The second paper that you gave is interesting. Odlyzko was the one who contributed that particular argument. It is right that there are rational reasons to not interconnect. But Metcalfe would imply more of a first mover advantage than we actually see. In social networks we had Friendster, MySpace and Facebook, each of which overtook the other. How could a new entrant supplant the king? Not once, but twice?
Since then new social networks have continued to sprout and succeed. Facebook managed to stay on top, in part through purchasing other networks. One of which (Instagram) is on track to surpass Facebook in revenue.
Now let's look at the 4 papers that you collected.
The first and third have the same flaw. They are looking at revenue over time as the network grew. But the growth of the network is not the only change that happened over time.
1. The Facebook product improved to become more compelling, even for the same users. In part by adding new channels through purchasing other networks.
2. Facebook kept adding new ways to monetize people, improving revenue.
3. People's behavior has shifted to more online over time. Thus it was easier to get value from the same users in 2014 than in 2008.
Because so much has changed, comparing users in 2008 to users in 2014 is not apples to apples.
Next, let's turn to the last paper. I'm in agreement with patio11 that Bitcoin's valuation has been driven by the largest Ponzi scheme in history. Therefore I view most of its valuation as fake. And so am not inclined to accept arguments from that valuation as valid.
And I saved the best for last. In section 2.4 the EU paper argues that Briscoe's law (I think Odlyzko should be credited, but Bob Briscoe is in the EU) is more accurate than Metcalfe's law after you hit scale.
Their argument in effect is a variant of one that was discussed privately before we wrote our paper. Our immediate perception of the size of a network is based on how much of our personal social groups are on it. The value we get from that network is based on the same. Therefore our perception of the size of the network is correlated with the value we get from it. If the network mostly contains parts of groups, you do get something like Metcalfe's Law out of this. But once the network contains a lot of completed social groups, members of those groups slow down how much value they gain as the network continues to grow.
In other words when the connections in the network are a random sampling of the connections that matter to us, growing the network adds valuable connections. Once the network contains the connections that we know matters to us, most of us only benefit marginally from continued growth.
https://en.wikipedia.org/wiki/Combinatorial_explosion#Commun...
https://www-users.cse.umn.edu/~odlyzko/doc/metcalfe.pdf has the details.
> In general, connections are not used with the same intensity... so assigning equal value to them is not justified. This is the basic objection to Metcalfe’s Law...
In my architectonic opinion, the perfect network comprises all nodes operating equally. Ergo the ideal is indeed Metcalfe's law, but architecture and design can be costly, which is simple the inefficient use of resources. These being very precise machines, anything less than 99.999% is amateur, ergo the law obtains.
Of course, the value of something is hard to measure. Typically you measure value as "benefits - costs", and try to convert everything to a currency. E.g., see: https://www.investopedia.com/terms/c/cost-benefitanalysis.as... . But there are often many unknowns, as well as intangible benefits and costs. That make that process - which seems rigorous at first - a lot harder to do in reality.
So while he may have "made it up" on the spot, he had a deep understanding of networking, and I'm sure he knew that the number of connections is proportional to the square of the number of nodes. So I suspect his intuition grabbed a quick way to estimate value, using what he knew about connection growth. Sure, it's nowhere near as rigorous as "benefits - costs", but that is hard to really measure, and many decisions simply need adequate enough information to make a reasonable decision. In which case, he both "made it up" and made a claim that you can justify mathematically.
One thing that is not well appreciated today is how power efficient Ethernet was, even on launch in the coax era. Other network technologies (Token Ring as embodied by IBMs network cards, for instance) consumed power like there was no tomorrow. Leading to someone quipping renaming it to 'smoking thing'.
As the price came down (around the NE1000/2000 and 3C509 era) it suddenly was everywhere and economies of scale wiped out the competition until WiFi came along. But even today - and as I'm writing this on my ethernet connected laptop - I prefer wired networks to wireless ones. They seem more reliable to me and throughput is constant rather than spotty, which weighs heavier to me than convenience.
So thank you Bob Metcalfe, I actually think this award is a bit late.
Anybody remember Don Becker?
[1] https://en.wikipedia.org/wiki/Gender_of_connectors_and_faste...
Case in point, I have a few recent-purchase machines with 2.5gbps networking but no 2.5gbps switch to connect them to because I personally can't justify their cost yet.
I suppose I could bond two 1gbps ports together, or something, but I like to think I have other yaks to shave right now.
https://www.amazon.com/5-Port-Multi-Gigabit-Unmanaged-Entert...
Personally I went with Mikrotik's 10gb switch but that needed SPF port thingies (which was fine for me, as I was connecting one old enterprise switch via fiber, direct copperering two servers, and using cabled cat7 or whatever for the Mac).
2.5gb is silly in my opinion unless it's literally "free" - you're often better with old 10gb equipment.
I think 2.5g is going to make it in the marketplace, because 2.5g switches are finally starting to come down in price, and 10g switches are roughly twice the price, and that might be for sfp+, so you'll likely need transceivers, unless you're close enough for DAC. (NIC prices are also pretty good now, as siblings noted. But if you go with used 10G, you can get good prices there too, I've got 4 dual 10G cards and paid between $25 and $35 shipped for each)
2.5gbps hardware need to come down to at least the $30 to $40 dollar range if they want to make any sense. Otherwise, they'll stay as niche hardware specifically for diehard enthusiasts or specific professionals only.
IMHO this is why Ethernet has stalled out at 1G. People still don't have large enough data needs to make it worthwhile. See also: the average storage capacity of new personal computers. It has been stuck around 1TB for ages. Hell, it went down for several years during the SSD transition.
It's really just the cost that's the problem, because paying 4x to 5x or even 6x times the cost of gigabit hardware for a 2.5x times performance boost doesn't make a lot of sense.
If 2.5gbps peripheral hardware costs would come down I will happily bet they will take off.
2.5gbps ethernet translates to roughly 250MB/s in real world transfer speeds, that's a lot. Literally over double real world gigabit transfer speeds, and far less likely to bottleneck you.
The HN crowd is not representative of what would be needed to drive the price tags down on 2.5G stuff.
I’m hoping a swing back to on-prem servers will justify higher throughput, but that still may not be the case. You need something big to get people to upgrade aging infrastructure. What would be enough to get people to pay for new cable runs? 20Gb? 40?
See:
https://www.iol.unh.edu/sites/default/files/knowledgebase/et...
and
Sure, anyone with a NAS might like more, but that's a tiny market. And tiny markets lack economy of scale, causing prices to be high.
1000BaseT uses trellis coded PAM-5, a significantly less complex modulation.
When one factors in the complexity of the line code and all equalisation and other processing in the analog frontend things get expensive. Copper 10Gb interfaces run very hot for a reason. It takes quite a bit of signal processing and tricks to push 10Gb over copper, at least for any significant distances.
I always find the graphic below handy for telling which Cat cable can handle which Gig speed:
* https://en.wikipedia.org/wiki/Ethernet_over_twisted_pair#Var...
At shorter lengths, and in single runs, it's always worth trying something beyond what the wiring jacket says. I've run gigE over a run with a small section of cat3 coupled to a longer cat5e run (repurposed 4-pair phone wire), and just recently setup a 10G segment on a medium length of cat5e. The only thing is while I think 2.5G/5G devices do test for wiring quality, the decimal speeds don't, auto-negotiation happens on the 1Mbps link pulses, unmanaged devices can easily negotiate to speeds that won't work, if your wiring is less than spec, you need to be able to influence negotiation on at least one side, in case it doesn't work out.
One problem with it is that the copper tech is just power hungry. It may actually make sense to go with fiber, especially if you might want even more later (100G actually can be had at non-insane prices!)
Another problem is that it's CPU intensive. It's actually not that hard to run into situations where quite modern hardware can't actually handle the load of dealing with 10G at full speed especially if you want routing, a firewall, or bridging.
It turns out Linux bridge interfaces disable a good amount of the acceleration the hardware can provide and can enormously degrade performance, which makes virtualization with good performance a lot trickier.
Are there 10GigE cards that do not do things like IP/TCP offloading at this point?
Offloading dates back to (at least) 2005:
* https://www.chelsio.com/independent-research-shows-10g-ether...
* https://www.networkworld.com/article/2312690/tcp-offload-lif...
If you say, want bridged networking for your VMs and add your 10G interface to virbr0, poof, a good chunk of your acceleration vanishes right there.
Routing and firewalling also cost you a lot.
There are ways to deal with this with eg, virtual functions, but the point is that even on modern hardware, 10G can be no longer a foolproof thing to have working at full capacity. You may need to actually do a fair amount of tweaking to have things perform well.
The core problem is that the Linux kernel uses interrupts for handling packets. This limits Linux networking performance in terms of packets per second. The limit is about a million packets per second per core.
For reference 10GE is about 16 million packets per second at line rate using small packets.
This is why you have to use kernel bypass software in user space to get linerate performance above 10G in Linux.
Popular software for this use case utilize DPDK, XDP or VPP.
Professionlly, I ran dual xeon 2690v1 or v2 to 9Gbps for https download on FreeBSD; http hit 10G (only had one 10G to the internet on those machines), but crypto took too much CPU. Dual Xeon 2690v4 ran to 20Gbps, no problem (2x 14 core broadwell, much better AES acceleration, faster ram, more cores, etc, had dual 10G to the internet).
Personally, I've just setup 10G between my two home servers, and can only manage about 5-8Gbps with iperf3, but that's with a pentium g2020 on one end (dual core Ivy Bridge, 10 years old at this point), and the network cards are configured for bridging, which means no tcp offloading.
Edit: also, check out what Netflix has been doing with 800Gbps, although sendfile and TLS in the kernel cuts out a lot of userspace, kind of equal but opposite of cutting out kernelspace, http://nabstreamingsummit.com/wp-content/uploads/2022/05/202...
Intel would also not have gone through the effort to develop DPDK if all you had to do to achieve linerate performance would be to enable interrupt moderation.
Furthermore, quoting Gbps numbers is beside the point when the limiting factor is packets per second. It is trivial to improve Gbps numbers simply by using larger packets.
If you're sending smaller packets, sure, that's harder. I guess that's a big deal if you're a DNS server, or voip (audio only); but if you're doing any sort of bulk transfer, you're getting large enough packets.
> Intel would also not have gone through the effort to develop DPDK if all you had to do to achieve linerate performance would be to enable interrupt moderation.
DPDK has uses, sure. But you don't need it for 10G on decent hardware, which includes 7 year old server chips, if you're just doing bulk transfer.
You gonna have a bad time if you optimize only for the best case scenario.
Even using IMIX is a low bar. The proper way to do things is linerate using small packets.
10gbps (gigabits per second) is not 10GB/s (gigabytes per second).
Specifically, 10gbps is approximately 1.25GB/s or 1250MB/s.
2.5 inch and M.2 SATA SSDs max out around 550MB/s due to the limits of SATA3 connections which cap out at 6gbps.
M.2 NVME SSDs meanwhile communicate over PCIE, generally using four lanes, and the latest PCIE5 SSDs can do around 15GB/s if I recall. PCIE4 drives can get up to around 7GB/s, and PCIE3 drives up to around 3GB/s.
Other potential bottlenecks can occur with the motherboard chipset, controller, and NAND flash, but details.
TL;DR: Any NVME SSD can saturate a 10gbps ethernet connection.
But ethernet kept improving speed and reliability while ARCnet retreated to shop-floor niche applications.
Alas.
Gordon's still bitter about it, and will gladly tell you why Ethernet is inferior.
I remember the old saying that "Ethernet doesn't work in theory, but it does in practice". Mostly referring to the CSMA/CD scheme used before switches took over.
The competitive advantage of being built out of cheap commodity hardware and cabling is hard to overstate. Nobody likes dealing with vendors, their salespeople, and especially support contracts. Especially since that is always more expensive and often solves problems you don't have, like minimum latency guarantees, at the cost of throughput and complexity.
Many press commentators opined that of course "broadband" would be much better than "baseband" since it could carry voice and video, not just bits.
==============
She’d heard that the product Xerox was going to ship was aiming for 20 megabits.1 It was amazing. But, as people at Xerox explained, imagine an entire office full of knowledge workers with their own computers, sending documents and email to each other and to the printer. How much bandwidth would they need? A lot! Someone in Palo Alto had done a whiteboard exercise on the bandwidth required for teleportation, in other words, sending an entire human being through the wire. It wasn’t that they took the prospect of teleportation seriously, but still, it was fun, and she enjoyed being around people who had fun at work.
Ken scoffed and insisted that Ethernet would never work. This was a recurring argument with them that was starting to annoy her, although usually she’d just smile and change the subject. He kept hurling the word deterministic as if it were a magic talisman. On the Ethernet, you weren’t certain how long you’d have to wait to transmit your data. If the wire was busy when you wanted to talk, you had to wait.
If someone else tried to transmit exactly when you did, you both had to back off and try again. An engineer could give you the probabilities of various results, but no more. This was not real engineering, and Ken was offended by it. He was even offended by the word “ether” since any beginning physics student knows that ether was a bogus concept that was disproven ages ago.
The entire communications field that the two of them had studied at MIT was based on strict mathematical calculations and guarantees. For example, when you make a telephone connection, that circuit is yours until you’re done. No other calls interfere with yours. The telephone companies had spent decades perfecting this system, and they had a monopoly. How could any company, even one as big as Xerox, hope to change that?
She tried telling him that packet-switching was a real discipline, and the Defense Department itself was backing it. It was originally designed to survive a nuclear attack that destroyed some of the military’s communications lines. With packet switching, the message was broken up into pieces, or packets, and the packets might arrive on separate paths. Ken didn’t believe it would ever have commercial applications. People in aerospace had a low opinion of commercial stuff anyway. 1 The original speed goal for the Xerox Wire was 20 megabits/sec. The first controller, for the Dolphin, had independent send and receive buffers, but could only be made to fit on the board using 10-Mbps CRC chips from Fairchild. Furthermore, in the lab, Tony found that 20-Mbps signaling caused spurious collision detects on the cable due to transceiver tap reflections.
I'm sure Ethernet's market domination is because the spec wasn't owned by a single company, and nothing to do with it's technical merits. After IBM's SNA, people seemed paranoid of a networking spec being owned by a single company. Do you know if Datapoint thought about that and whether they tried to build their own equivalent of the DIX consortium?
I also think about SpaceWire / IEEE-1355 / Wormhole Routing and what might have been had we adopted systems where compute power could be easily upgraded.
Oh! The good old days when everything was possible!
There's actually a book on DataPoint (and almost every other company from way back when). I read them so you don't have to :)
They ARE more reliable.
I much rather use ethernet than wifi on desktops and laptop.
Now with video meetings, high quality webcams, mics and gaming, latency and bandwith is king.
WiFi is usually FAST but it is not as STABLE.
https://www.nytimes.com/2022/02/28/technology/david-boggs-de...
So, after applying, I had shown up at a hotel near campus. While waiting in the lobby, playing with their unsecured wifi, a rather distinguished looking gentleman came up to me, and asked, Hey are you here for the Startup Course interviews?
Yeah...
Well, why are you here in the lobby?
Well, I was told to wait here, and its been a half hour nobody called me.
He gave me a look, direct in the eyes, and said, oh, really? And you're just going to sit here and wait?
I was dumbfounded. Of course, it made sense, but it felt.. I didn't want to piss off the organizers, right?'
"Go in there, and get it!" as he clawed the air like a tiger. Damn, he was right.
So i ambled in, looked around, found a seat near the guy organizing (Josh Baer, another awesome guy) introduced myself and sat at a table by myself, just waiting for an in...
Then the gentleman from the lobby came in and sat in front of me, with a big grin.
Hi?
Hi.
You're a part of this?
Yes, my name's Bob Metcalfe.
Cool, thanks for the pep talk. So, whats your story?
Well, I founded 3Com, and helped come up with Ethernet.
Oh... damn.. cool..
...And my life has never been the same since!
If you read this, thanks Bob.
Okay, besides all his contributions, I've decided this guy is my favorite for that alone. Imagine if he was your (great?) uncle and you're on a family vacation together. "What's the Wi-Fi password here, Bob?"
Bob: "What's the what now?"
You: "Excuse me. What's the Wireless Ethernet password?"
Bob: "Oh, it's HotelGuest2023"
https://1995blog.com/2015/12/03/prediction-of-the-year-1995-...
Instead of preventing collisions, tolerating and managing them.
I think of Ethernet often when assessing how close to perfection I need to get in my work.
Even at 100Mbps hubs were on the way out. They were pretty hacky. The hardware had two different hubs internally and joined them together with a bit of logic, but that logic was somewhat failure prone and it was common to have 10/100 hubs where the 10 clients couldn't talk with the 100 clients and vice versa. Autodetection was at best a roll of the dice so most people wired down their port settings instead. Everybody hated them and switches got cheap real fast so they didn't last very long. The only thing they were good for was network diagnostics.
Indeed - I still have a couple that I used for packet sniffing. Thankfully managed switches or switches smart enough to support port mirroring are inexpensive and thus fairly ubiquitous now.
That's what was at 3Com when I joined in 1985. I even have a section in The Big Bucks where I took down the entire company for a few seconds by disconnecting the coax. No one noticed.
It's evolved, thankfully, but it remains an ugly, inefficient standard that only has life because of its legacy. And it's been increasingly jimmied into professional, carrier applications for which it was never intended and where far superior, though more expensive solutions already existed.
That's not to say its creators don't deserve credit. It did its job well enough for its early days. But that's why this award comes too late. Because now Ethernet is the bloated, inelegant dinosaur we've built an ecosystem around, but to admire it is to forget the competitors it drove to extinction along the way.
Python is a nice example: inelegant language with many deep flaws, but easy syntax and "batteries included" won the day.
Guess it depends on your faith in markets and your definition of superior.
They eventually found application in other non-LAN standards, so guess royalties weren't an issue.
Even in telecoms the packet switched connections are quickly replacing synchronous time division connections.
We'll see how it actually performs in field. Microchip seems to be in the T1S boat and TI+AD in T1L.
Hell even making Ethernet fully switched didn't really happen until the 1990s thanks to Moore's law making the ASICs cheap enough.
Without mass adoption there's no reason to invest. Look at Token Ring, Ethernet's only real competitor at scale: it quickly started to lag behind. Ethernet shipped 100Mbps several years before Token Ring. The 1Gbps Token Ring standard was never put to hardware.
The main reason Ethernet won, I think, is that it was really easy to deploy incrementally. It was much more plug-and-play than anything else at the time.
Which Ethernet has too, but can generally tolerate a much higher level of imperfect reality, while still providing degraded service.
Before you could get plentiful high-quality NICs and cabling, graceful degradation was a killer feature.
Arcnet, Twinax, Token Ring and so on, I've probably used them all, and at scale. Compared to Ethernet they all sucked, besides being proprietary they were slow, prone to breaking in very complex to troubleshoot ways (though ethernet had its own interesting failure modes in practice it was far more reliable), and some used tons of power which made them unusable for quite a few applications. On top of that it was way cheaper and carried broad support from different vendors, which enabled competition and helped to improve it and keep prices low.
Now, I feel old. Time for a nap.
Join the club...
And it all seems like yesterday.
Also hardware is not like software where you can rewrite a site using a JS framework of the day every few years. Compatibility is really important.
In "The Big Bucks" I have two quotes from him, which he graciously allowed me to use as something he would have said (they're not very exciting). Normally I never have a real person appear and do anything; at most people speak of them in the third person.
In "Inventing the Future" I have the 1978 story about the lightning strike that took down the Ethernet between PARC and SDD. Bob had actually forgotten it, but he remembered the second lightning strike that helped sell Ethernet, because Ron Crane (RIP) had remembered the first one and engineered the Ethernet card to withstand them. As luck would have it, during a competition there actually was a lightning strike, and 3Com's survived it while the competitor's didn't.
If anyone's interested in the history of the early internet, I recently read the book "Where Wizards Stay Up Late" by Katie Hafner and it is a very interesting read about how we went from ARPA to WWW, including a lot of the warts you associate with large scale projects like ARPANet grew into (and the book features Metcalfe quite extensively when talking about Ethernet and ALOHAnet).
Honestly, it's nice to see technology like ethernet, which is both "as simple as it should be but no simpler", and has also stood the test of time get recognized and rewarded!
Having millions of packets per second is starting to get a bit ridiculous. Even 10G is still challenging, not to speak of 100G.
Made me appreciate how important it is for something to be simple and pragmatic, rather than over-engineered to perfection.
https://www.quantamagazine.org/bob-metcalfe-ethernet-pioneer...
(This link is also on front page right now, but not getting any comments).
The choice of 48 bits for the hardware/station address seems to have been a pretty good choice: it's been 40+ years and we still have no run out. I'm curious to know if anyone has done the math on when Ethernet address exhaustion will occur.
While the Ethernet frame has been tweaked with over the decades, addressing has been steady. Curious to know if any transition will ever been needed and how would that work.
In hindsight, IP's (initial) 32 bit address was too small, though for a network that was (primarily) created for research purposes, but ended up escaping 'into the wild' and accidentally becoming production, it was probably a reasonable choice: who expected >4 billion hosts on an academic/research-only network?
At the same time there are also 46 bits of locally administered unicast addresses and, unlike IP, Ethernet addresses only care about the local network (and this isn't a "because we've co-opted them to to save space just like NAT broke IP protocols" rather the design intent of Ethernet). Even if you had 10 billion LANs with 100 devices each and they all used this random non-unique assignment there would only be a ~50% chance there one or more devices would have a collision.
The only real advantage I've ever been able to find of programming in unique MAC addresses vs random MAC addresses you can look up what company the MAC was assigned to. It may seem like there is a risk random assignment can be done poorly (e.g. not very randomly) but honestly the same risk exist with assigned ranges as seen by network vendors cheaping out and re-using their MAC blocks (which is significantly more likely to conflict than if they just used random locally administered addresses in the first place).
Maybe today they are selling smaller blocks but the MAC is basically divided into 16M blocks (specified by the first 24 bits / 3 bytes) - each with a registered owner or "unassigned") and 16M MACs within the block (the lower 24 bits). That's why you can enter a MAC address into a lookup website and find out who made the NIC (google search "mac address lookup"):
"Linux's '60s technology, open-sores ideology won't beat W2K, but what will?" (Infoworld, June 21, 1999)
... Why do I think Linux won't kill Windows? Two reasons. The Open Source Movement's ideology is utopian balderdash. And Linux is 30-year-old technology.
The Open Source Movement reminds me of communism. Richard Stallman's Marx rants about the evils of the profit motive and multinational corporations. Linus Torvalds' Lenin laughs about world domination....
<https://web.archive.org/web/19991216220752/http://www.infowo...>
Though in time he moderated his views ... slightly:
<https://web.archive.org/web/20070622115025/http://www.linux....>
Metcalfe was controversial because Alohanet from university of Hawaii pioneered the idea and Metcalfe was seen as writing a nice proof in CACM of the 1/e capacity breakdown theorem and popularizing an already extant technology. He did not build it alone Chuck Thacker probably built most of it but didn't have a PhD! Oh the horror!
He should not have gotten it now - either give it sooner or not at all - and he should not be the only one getting it!
Of course now that we all use switched links they are point-to-point again but an ethernet 'hub' gave you the same effect as a bus with all devices seeing all of the traffic. This made efficient broadcast protocols possible and also allowed for a historical - but interesting - trick: the screw-on taps that you could place on a single coaxial cable running down a department giving instant access without pulling another cable. Zero network configuration required, just get the tap in place and assign a new address. DHCP later took care of that need as well.
This was fraught with problems, for instance a single transceiver going haywire could make a whole segment unusable and good luck finding the culprit. But compared to the competition it absolutely rocked.
Some of the captions are quite funny.
- (On the bus thread) Ethernet started from an assumption of bad behavior (out of spec cabling, misbehaving clients, etc.) and tighten requirements just enough to construct a useful network. Much better balance between de facto ruggedness vs performance than its peers.
- From the beginning, Ethernet reasoned that it was cheaper to put logic in purpose-built networking hardware than endpoints (i.e. PC network adapters). This was a better scaling tradeoff. 1x $$$ network device + 100x $ client adapter vs 1x $$ networking device + 100x $$ client adapter.
- Because of the above, you started to get really cost- and data-efficient networks when the cost of Ethernet switches plummeted. (Remember, in early Ethernet days, networks were hub/broadcast-only!)
We could do worse for a transformative technology ranking metric than "How overpriced was this when first released?" (significant look at Nvidia cards)
And here I have sitting next to me a 48 port gigabit switch that cost 15% of what that 100 megabit switch cost in 1996 or so. Iirc it was one of the first D-link products I bought, it definitely wasn't great (it ran pretty hot) but it worked quite well enough. Amazing progress.
Of course the jump from 10mb hub to 100mb switch was much larger than any of the later jumps, just because of the reduced noise.
Around the same era, Myrinet switches with higher bandwidth (1.2Gb/s if I remember correctly) and higher density at a fraction of the port cost of slower ethernet switches. This was possible because the Myrinet switches were dumb.. The Myrinet network elected a "mapper" that distributed routes to all NICs. The NICs then pre-pended routing flits to the front of each packet. So to forward a packet to its destination, all a Myrinet switch had to do was strip off and then read the first flit, see that it said "exit this hop on port 7", and then forward it on to the next switch. Higher densities were achieved with multiple chips inside the cabinet.
In the mid 2000s we even built one of what was, at the time, one of the worlds largest ethernet switches using (newer, faster Myrinet) internally, and encapsulating the ethernet traffic inside Myrinet. That product died due to pressure from folks that were our partners, but felt threatened by our incredibly inexpensive high density switches.
https://www.networkworld.com/article/2323306/myricom-rolls-o...
EDIT: fixed routing flit description, added link to PR
Also Infiniband packets are power of two sized, making fast switching easier.
At their core, most hardware evolutions seem like optimizing compute:memory:storage:functionality vs the (changing) current state of the art/economy.
When Ethernet was first released, compute was expensive. Made sense to centralize compute (in routers) and make everything else dumb-tolerant.
Now, compute is cheap and plentiful at network-calculating scales and throughout expectations are very high, so it makes sense to burn compute (including in clients) to simplify routing hardware.
Ethernet (CSMA/CD) is a protocol that copies human speech patterns. After someone stops speaking people hear the quiet (carrier sense multiple access / CSMA) and wait a very short and randomized amount of time and begin to speak. If two speakers collide they hear the collision and shut up (CD - collision detection). They both pick a randomized amount of time to pause before trying again. On the second third etc. collision people wait longer and longer before retrying.
The thing about original ethernet (1981) is that it wastes 2/3 of the channel because a highly loaded channel has too many collisions and too many back offs. But deployment and wiring were expensive so running a single wire throughout a building was the cheapest possible way to start (enhanced by thinwire Ethernet and twisted pair to have a less bulky cable a few years later). The frame design was PERFECT and within ~10 years people were using ethernet frames to build switched networks and today only radio networks are CSMA/CD = Ethernet.
I also remember setting up a Star demo at the NCC and someone forget coax cable terminators (or was short one terminator?) which was causing reflectance issues with the signal which was solved by cutting the cable to a precise length to get the demo working.
Well deserved.
The anti-Turing award goes to the inventors of USB.
That body would not even have existed without Ethernet.
* https://en.wikipedia.org/wiki/ALOHAnet
Ideas feed ideas, giants/shoulders, etc.
For example, in 1979 at UIUC a grad student built 230kbps S-100 cards using rs232 chips and I wrote the Z-80 csma/cd drivers (as a high school student) so it was not rocket science.
So there was reluctance to give him an award for something he didn't pioneer all alone.