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