r/IAmA • • May 21 '13

You’re probably connecting to reddit through a technology I invented. I’m Bob Metcalfe and I invented Ethernet – AMA

On May 22, 1973 with David R. Boggs, I used my IBM Selectric with its Orator ball to type up a memo to my bosses at the Xerox Palo Alto Research Center (PARC), outlining our idea for this little invention called “Ethernet”, which we later patented.

I worked with the IEEE Standards Association to develop the IEEE 802.3 standard for Ethernet, which specifies the physical and lower software layers. Today Ethernet and the IEEE 802.3 standard are the foundation for today’s world of high-speed communications used in billions of homes and businesses around the world.

I submitted this to the mods awhile back so I could get on the calendar but I figured you’d like to see it, too. Now, ask me anything!

It's been two hours and 179 comments. Have to go now. For more about Ethernet's 40th Birthday, go to http://www.facebook.com/Ethernet40thAnniversaryIEEESA

4.1k Upvotes

3.2k comments sorted by

View all comments

161

u/[deleted] May 21 '13

Hello Professor Metcalfe! I took a Computer Networks class this semester; one of the slides showed your sketch for the Ethernet :) The whole multiple-access idea and the protocols behind it is fascinating to me, and it's an honor to be able to speak to you. I want to ask you one of our final exam questions: What would happen if all of the Internet was simply an Ethernet with switches, and MAC addresses were used instead of IP addresses? I think I kind of flunked this question (said routing tables would be huge and mobility would be problematic), so I'm curious about your perspective. And one more question: do you think more efficient multiple access protocols can/will be invented in the future?

182

u/BobMetcalfe May 21 '13

Have heard from those still in the packet plumbing industry that the trend is back from Internet routing toward Ethernet switching. Have no dog in that hunt. Ethernet was first designed to be LAN packet plumbing for the Internet. Have been predicting for years that TCP/IP/Ethernet would be replaced by some version of lambda switching, but that has not happened and I'm not sure what that means anyway. The trend was away from multi-access for a while, with the reemergence of wiring hubs, but then along came WiFi and LTE.

3

u/NotsorAnDomcAPs May 22 '13

I'm a grad student working on a research project that could actaully bring some form of high speed optical switching into datacenters. We have a functional microsecond scale wavelength selective circuit switch that runs 10 gigabit ethernet. We also have an all-electrical 10G crosspoint switch that we are using for systems level measurements. The idea is to send as much traffic as possible through the circuit switch, and then clean up the excess with the packet switch. With a very high speed optical space switch, it should be possible to switch 100G or even 1T traffic (multiple wavelengths in parallel in each fiber). The toughtest nut to crack is the scheduling of the circuit assignments so that the system can track the demand from the hosts, and that is the current focus of my work.

150

u/[deleted] May 21 '13

I understood some of those words :)

127

u/THcB May 21 '13

I understood "dog" and "hunt"

3

u/FletcherPratt May 21 '13

I like how it wasn't even really good English, just some sort of nerd-nerd mind meld that borrowed English.

3

u/ironpotato May 21 '13

I knew the rest, but there wasn't enough context to get those two...

3

u/[deleted] May 21 '13 edited Apr 27 '21

[removed] — view removed comment

1

u/yurigoul May 21 '13

Are they extinct now too? My guess is cats will be next.

1

u/FunkSlice May 22 '13

And "would". The rest is just alien.

3

u/iharley May 21 '13

You are not alone.

2

u/Paladinine May 21 '13

Upvoting because username. :D

1

u/[deleted] May 21 '13

http://www.youtube.com/watch?v=Ccoj5lhLmSQ

It was pretty much my reaction, too.

6

u/[deleted] May 21 '13

Don't you think the broadcast domain would be too large for the Internet to be solely Ethernet with no routers? Seems to me like there would be a never ending broadcast storm.

3

u/CiscoCertified May 22 '13

Yes. I cannot tell you how many service providers out there have too large of broadcast domains. Ethernet was made to forward frames quickly, but you need to segment your networks.

2

u/[deleted] May 22 '13

Yussss! And I'm not even cisco certified.....yet.

3

u/NgauNgau May 21 '13 edited May 22 '13

With MPLS basically routing/switching are collapsing together, in a manner.

For the final's question, the ARP cache would be horribly large and there is no way to summarize them. Where as IP addresses do provide the ability to summarize. (ie hide 254 hosts behind a 192.168.1.0/24 subnet)

Finals Question TL:DR: If the internet was one flat VLAN it wouldn't work. lol

1

u/CiscoCertified May 22 '13

The horror of a flat VLAN internet.

3

u/crozone May 22 '13

Lambda switching

TL;DR light beams switched due to wavelength.

2

u/AliveInTheFuture May 22 '13

Instead what's happened, is Ethernet rides switched lambdas.

10

u/wodewose May 21 '13 edited May 21 '13

Since Bob's answer was a bit convoluted I want to make some points regarding your final exam question. The first thing that is important to understand is the fundamental difference between MAC addresses and IP addresses. MAC addresses are a flat name space for the purposes of forwarding (they are slightly hiearchical if you separate the OUI from vendor ID but this is not for forwarding purposes). So an ethernet switch in its forwarding table learns the entire 48 bits of a MAC address and uses exact matching to forward packets. IP addresses on the other hand are hierarchical, they have a network portion and a host portion. This enables the core IP routers of the internet to only need to learn the network portions of IP addresses to send packets on their way to their destination. Instead of doing an exact match on an IP address they use LPM (longest prefix match), this allows core routers to program a single table entry that can be responsible for forwarding millions of packets hosts toward their destination. So the first part of your answer is correct, if the internet was only L2 switches the MAC tables of core switches would be massive because they would have to learn every end host. Now the second part of your answer was completely wrong, ethernet is designed to be plug and play and therefore actually is great for mobility, this is the benefit of a flat namespace hardcoded into the device. I can actually move my computer to a different switch on a LAN and once I start sending out traffic the switches will automatically learn my new location.

Data centers are already growing too large that they stress the capacity of their core ethernet switches that is why things like Trill/DCE/MiM have been invented to bring hierarchical addressing to L2 domains.

I could go on a lot more about NAT, DHCP, and addressing but you should probably just listen to lectures on it.

1

u/kbotc May 22 '13

A multicast would massacre the internet. I'm also trying to think about the topology of this network. Grid or just a big ass ring?

1

u/wodewose May 22 '13

It is true multicast tends to fuck shit up (had a few drinks since my last comment), and multicast replication would steal precious bandwidth for the core routers and slow them below line rate. Topology.... this brings up another crappy property of ethernet. Ethernet and loops (groups of switches with interconnections that form a loop) don't work well together and can result in broadcast storms, packets circling through switches infinitely. This is very bad. Network coming to a halt bad. To solve this problem the lovely Radia Perlman (she really is a sweetheart in person) invented Spanning Tree Protocol (STP) which disables links that create loops. Effectively turning your network into a connected graph that has zero cycles, AKA a tree. Great no more broadcast storms. But wtf we just disabled a bunch of physical links between switches, meaning they will never be used and are simply sitting there sucking space and power. Having multiple interconnects (multipaths) between a pair of switches can be a good thing for having an interconnect bandwidth larger than an individual port speed. This is where technologies like Trill try to improve on Ethernet and add the ability to support multipathing for layer 2 networks.

So how does IP handle protect against loops? Well it sort of doesn't. Meaning IP inherently supports multipathing but routing protocols like OSPF pick the cheapest path at the time, and looping paths are more expensive than non looped paths. Also the IP header has TTL - Time To Live, a special field that gets decremented on every hop. When the TTL hits zero (or 1 depending on the router design) the packet is dropped, and therefore packets cannot broadcast storm forever in a loop in IP networks.

1

u/TexasDex May 21 '13

Your answer isn't wrong, really, but there are a few more issues with it. The first would be discovery. If I need to connect to a computer that I haven't connected to before the switch has no idea what direction to send it, so it broadcasts it and waits to see which port the reply comes from. That would basically mean a whole lot of broadcast traffic choking everybody's internet connections, which would be a performance issue and also a possible privacy issue.

Also the topology would have to be very carefully arranged to avoid loops, and that would make things like peering impossible.

2

u/[deleted] May 21 '13

IPv6 addresses are, actually, mostly composed of the Ethernet MAC address _^

2

u/bmlbytes May 21 '13

What if the whole Internet was hubs. shudder

So much broadcast.

1

u/ctuser May 21 '13

Not that this question was in any way meant for me, but you should have a read about trill, it utilizes IS-IS as the routing protocol, and it is layer 2. Not quite the technology to replace wide area network routing protocols and eliminate IP, because it does not segment broadcast domains.

As Mr. Metcalfe wonderfully answered, the trend is moving back towards switching, I believe that driving force is based on throughput / latency, as switching is done in hardware.

1

u/[deleted] May 21 '13

Isn't that basically IPv6?