Linux.conf.au – Day 2 Keynote: Radia Perlman

Tuesdays Keynote was by Radia Perlman of Network Protocol Folklore

General protocol about protocol design

  • Need more people in the field that hate computers
  • Autoconfiguration
  • Knobs if you want them
  • Be evolutionary if possible
Networking is taught as if TCP/IP arrived from the sky. As if nothing else ever existed

She teaches by looking at a problem and looking at how different protocols solve it

Comparing technologies

  • Nobody knows both of them
  • Everybody is partisan
  • Both moving targets
  • Hard to compare via benchmarks since people are just comparing implementations rather than actual technology
The Story of Ethernet
  • ISO 7 layer model
  • Ethernet was intended to be layer 2, neighbour to neighbour, was are packets forwarded
  • Ethernet physical was a new type of link, multiple nodes on single link
  • But we haven’t done CSMA/CD networks for years
  • No hopcount field in Ethernet since never occurred to designers that people would be forwarded the packets
  • People started building networks layer-2 only without layer-3
  • Needed to forwarded Ethernet between networks, but had to work with existing ethernet packets -> Bridge
  • Spanning tree reduced created loop-free subset of the topology
Why is wrong with IP as L3 protcol
  • Every link must have own address block
  • Configuration intensive
  • In 1992 Internet could have adopted CLNP but NIH
  • Also advantages not obvious then since things like DHCP, NAT so advantages of CLNP not as obvious
TRILL
  • Switches run routing protocol between themselves
  • Replaces spanning tree (switch by switch basis)
  • Wraps ethernet packets in trill headers, forwards to other trill switch and then unwraps
  • Various ways to link which end devices are behind which trill switch
  • Link state routing between trill switches to create shortest paths
  • Can upgrade switches to trill one by one an “just starts working better”
  • Anything can do the trill encapsulate/decapsulate
Similar to TRILL
  • VXLAND / NVGRE
  • Wrap IP rather than ethernet
Protocol Forklore
  • Version number
    • What is the purpose?
    • What is the new protocol vs the old protocol?
    • Envelope says how to parse the header (how to parse the packet)
    • Need to define what node does when it sees a different version number
  • Parameters
    • minimise these
  • Latency
    • cut-through – forward before you have received the whole thing
    • Destination should be near the start of the header
    • tcp has checksum so need to see the whole header before you forward