Greg Ferro and Ethan Banks dive into a deep, dark hole of nerdery with Ivan Pepelnjak, Marko Milivojevic, and Petr Lapukov to see if we can decide whether or not MPLS is tunneling. We plumb the depths of packet and frame formatting, compare and contrast various technologies, toss different scenarios around, contradict one another, and throw buckets of cold water all over the place. In the end, we think we have an answer. So put the kids to bed, cram in your earbuds, and visualize the virtual whiteboard. Close your eyes…focus…there it is! All that’s missing is the smell of dry erase markers.
What We Talk About
In the witty opening banter, we find out Greg is an Interop judge, Petr works on something called “Bing”, and Marko is teaching the first CCIE ever a thing or two. Oh, and who WAS the first CCIE anyway? Hint – not our friend Terry. Not quite. From here, the show gets serious, and includes the following topics:
- Foundations: circuits vs. connections vs connectionless.
- How is a tunnel different from a virtual circuit?
- How do we say that a circuit has “state”?
- We could think of a tunnel as “a layer of forwarding indirection”.
- The tricky business of distinguishing between the OSI model (classical layering) vs. what we normally consider tunnels.
- Now wait a minute…could MPLS be considered NAT in a certain sense?
- So…maybe a tunnel is tunnel when you see the same protocol twice in the header.
- Redefining a tunnel as “a layer of frozen interaction”.
- MPLS is not exactly L2 or L3. It’s a total layering violation.
- How do CRC checks impact our definition of tunneling?
- Isn’t it time for a new networking model?
Once we’ve hammered through all of that, we loop back around to review why we had the chat. The question comes back up – why are we reinventing the wheel in data center networking? Couldn’t an MPLS application be written to do many of the same things the explosion of overlay protocols are doing? Or would we have scalability problems?