principles - systems.ethz.ch · principles: • layering, modularity, tunnels and virtual networks...
TRANSCRIPT
![Page 1: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/1.jpg)
Advanced Computer Networks 263-3501-00
Principles
Patrick Stuedi, Qin Yin, Timothy RoscoeSpring Semester 2015
© Oriana Riva, Department of Computer Science | ETH Zürich
![Page 2: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/2.jpg)
Last time
• Course introduction
• Principles
– Network performance
– Utility functions
– Network naming
2
![Page 3: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/3.jpg)
This week…
Principles:
• Layering, modularity, tunnels and virtual networks
• The Internet Hourglass
• In-band vs. Out-of-band signalling
• The End-to-End argument
• Soft state vs. Hard state
• Postel’s Law (robustness principle)
• Fate-sharing
3
![Page 4: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/4.jpg)
Layering and Modularity
4
![Page 5: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/5.jpg)
Layering and modularity
• Decompose system into layers
– Each layer only relies on services from lower layer
– Each layer exports services only to layer above
• Interface between layers defines interaction
– Hide implementation details
5
![Page 6: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/6.jpg)
ISO/OSI reference model
ApplicationApplication
TransportTransport
NetworkNetwork
PhysicalPhysical
LinkLink
Syntax, format, and semantics of information
transmitted
Long-term transport issues, such as checkpointing
PresentationPresentation
SessionSession
3 key concepts!1. Service: Tells what the
layer does2. Interface: Tells the process
above how to access the layer
3. Protocol: How the service is performed; the layer‘s own business.
6
![Page 7: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/7.jpg)
Why layering?
• Dealing with complex systems
• Explicit structure:
– Identification of complex system’s various pieces
– Clear relationship between them
• Eases maintenance, updating of system
– Change of implementation of layer’s service transparent
to rest of system
– e.g. change in gateway procedure doesn’t affect rest of system
7
![Page 8: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/8.jpg)
Internet protocol stack (TCP/IP reference model)
ApplicationApplication
TransportTransport
NetworkNetwork
PhysicalPhysical
LinkLink
HTTP, SMTP, BitTorrent, …
Host-host data transferTCP, UDP, RTP, …
Routing of datagrams IP, routing protocols, …
Data transfer between neighbouring elementsPPP, Ethernet, WiFi, …
Bits “on the wire”UTP, Fiber, wireless, …
8
![Page 9: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/9.jpg)
Layering disadvantages
• Duplication of functionality in multiple layers
– E.g., error recovery to retransmit lost data
• Multiple layers may need same information
– E.g. Max Transfer Size (MTU) for TCP segments
• Headers can be very large
– Headers can be much larger than payload
• Performance
– Cannot exploit some per-link-layer techniques
9
![Page 10: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/10.jpg)
Layer violations: sometimes a good idea
• Expose lower-layer information to higher layers
– TCP in wireless networks: check link layer channel condition to find
out about congestion
– Data center TCP: use layer-2 explicit congestion notification (ECN) to
adapt TCP congestion window
• Expose higher-layer information to lower layers
– Firewalls
– Network Address Translators
– Transparent proxies
10
![Page 11: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/11.jpg)
11
Hardware reality
• All-in-one box: IP Routing Switch– Ethernet, VLANs, IP, IP forwarding, Multicast,
Anycast, DHCP relay, ARP trapping– Routing: RIP, OSPF, BGP, Policy routing, ECMP– Etc. etc.
• Question: where are the layers any more?
Arista Switch7500E
![Page 12: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/12.jpg)
Tunnels and virtual networks
12
![Page 13: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/13.jpg)
Tunnelling
EthEth IPIPIPIPEthEth IPIP Eth.Eth.IPIP
Tunnel
New York Zurich
Tunneling protocol over IPe.g. GRE, IP-IP, PPTP, IPSec, …
Tunneling protocol over IPe.g. GRE, IP-IP, PPTP, IPSec, …
13
![Page 14: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/14.jpg)
14
Tunnelling: a few examples
Network Transport Application
Application SOCKSSSL/TLS
Transport IPsec Transport SSH tunnels HTTP CONNECT
Network
MPLSGREIPIP
IPsec Tunnel
L2TPPPTP
IP over DNS
Link LANE
Delivery Protocol
Paylo
ad
Pro
toco
l
Also: layers are approximate!
![Page 15: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/15.jpg)
15
Tunnelling: why?
• Many uses!
• A few examples:
– Personal routing / Firewall avoidance (e.g., HTTP
Connect)
– Traffic aggregation and management
– Security
– Mobility
![Page 16: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/16.jpg)
16
Virtual machine migration
• Problem:– Migrate a virtual machine from one host to another in a
data center– If destination host is in a different IP subnet, then IP
address of VM has to change– Breaks ongoing TCP connections
• Solution: – VM keeps its IP address after migration
– Packets are tunneled to/from VM using proxies
– More on this later in the course...
![Page 17: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/17.jpg)
17
Tunnel with care…
• Complicates routing– Adding additional “links” to a network– Statically routed => suboptimal (ignores routing protocol)– Dynamically routed => routing protocol doesn’t know it’s a
tunnel– Can lead to routing pathologies (worst case: loops)
• Complicates management / provisioning– Traffic is now “opaque” to the carrier
• Complicates forwarding (for IP)– Packets require “shim” header for encapsulation
=> reduced MTU, or fragmentation
![Page 18: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/18.jpg)
18
Virtual private networks
• Idea: use tunnels as link layers
=> Can build private IP network over tunnels over public IP
network.
• Cloud providers sell VPNs
– Amazon VPN, Hybrid Cloud
• Typically IP over IP tunnels
– GRE, IPIP, PPTP, AYIYA…
• VPNs are the face of a more general class of Overlay Networks.
![Page 19: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/19.jpg)
19
Overlay Networks
• Observation:
– Can use IP connections as tunnels for other protocols
• Including IP
– If you can establish enough “points of presence”, you
can run your own network!
• Routing protocols, addressing, etc.
• Examples:
– Content distribution networks
– Application-layer multicast
![Page 20: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/20.jpg)
20
RON: Resilient Overlay Networks
• Observation:– Time to detect and repair route failures in the Internet can take minutes, in some cases
hours!
• RON approach:
– IP-based overlay network
– Constantly probe overlay links
– Route packets along app-specific best path
– Better than IP, over IP!
• Paper: Resilient Overlay Networks, SOSP 2001
![Page 21: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/21.jpg)
21
Moral (contd):
• Layers are useful
– Separation of function is important
• Layers include encapsulation
– New layers can be inserted
– Layers can be “looped” (tunnelling) at any level
• Encapsulation can be broken
– “Deep packet inspection”, combined routing/switching
– “Cross layer visibility” (expose underlying information
(both fashionable research topics!)
![Page 22: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/22.jpg)
The Internet Hourglass
22
![Page 23: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/23.jpg)
The Internet “Hourglass”
• Layering by itself does not solve all problems• Many application layers and link layers have evolved
– Can’t have every protocol implemented over every other!
EthernetEthernet WiFiWiFi UMTSUMTS PoSPoS
HTTPHTTP DNSDNSNTPNTPIMIM SkypeSkype CIFSCIFS
23
![Page 24: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/24.jpg)
The Internet “Hourglass”
EthernetEthernet WiFiWiFi UMTSUMTS PoSPoS
IPv4IPv4
TCPTCP UDPUDP
HTTPHTTP DNSDNSNTPNTPIMIM
“Thin waist”of IPv4
24
Application
Transport
Link Layer
![Page 25: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/25.jpg)
The “thin waist”
• Single Network-layer protocol: IP
• Easy to absorb new networks
– just implement IP above
supports innovation below the layer
• Easy to support new applications anywhere
– just use a transport protocol over IP
supports innovation above the layer
• Changing the layer itself is very difficult!
– C.f. IPv6…
25
![Page 26: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/26.jpg)
In-band vs. out of band signalling
26
![Page 27: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/27.jpg)
IP (the waist) is connectionless
• But most services above it are connection-oriented!
– TCP, HTTP, SMTP, Skype, BitTorrent, etc. etc.
• So how to set up a connection?
I.e. how to do signaling?
• TCP uses in-band signaling
– Sends SYN/ACK/SYNACK/RST/FIN on same channel
27
![Page 28: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/28.jpg)
Out-of-band signalling
• Alternative approach
• Use separate signaling channel
– Bootstrapped at start-of-day
– Analogous step required in IP: DHCP (or ARP)
• Common in connection-oriented networks
– E.g. ATM, GSM, …
• Also, mostly used with hard-state protocols
28
![Page 29: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/29.jpg)
Soft state and hard state
29
![Page 30: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/30.jpg)
Soft state vs. Hard state
• Hard state:– Explicit creation and deletion of state– No periodic updates necessary– Examples:
• TCP connection setup (sort of)• NFS file handles
• Soft state:– Communicate state updates periodically– All information times out
30
![Page 31: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/31.jpg)
Hard state
StateState
State’State’
“create”
“update”
“delete”
Time…
…
31
![Page 32: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/32.jpg)
Soft state
StateState
State’State’
“update”
“update”
“update”
Time
…
State’State’
…
<timeout>
32
![Page 33: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/33.jpg)
Hard state
Simple, intuitive in non-failure case
May have to do a lot of work in response to failure
Can lead to instability
– E.g. update storms when “failure” detected
• Examples:
– TCP connection setup
– NFS file handles
– Voice circuit setup in GSM, etc.
33
![Page 34: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/34.jpg)
Soft state
Failure handled with no new functionality (or traffic)
Failure mode is to remove unwanted state (eventually)
Generally requires more bandwidth
• Examples:
– Leases (DNS, DHCP, etc.)
– QoS Signaling (RSVP)
– Recovery and maintenance in robust DHTs (e.g. Bamboo)
34
![Page 35: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/35.jpg)
The End-to-End Argument
35
![Page 36: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/36.jpg)
The End-to-End argument:where to put network functionality
If a function can only be correctly implemented end-to-end, it must be implemented in the end systems.
Implementing it in the network can, at best, only be an optimization
• In these cases, end hosts:
– Can provide the function without any network help
– Must provide it without assuming any network help
36
![Page 37: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/37.jpg)
Example: reliable file transfer
• Naïve solution: – Make every step reliable– Concatenate the steps into a single reliable transfer
File transfer
application
File transfer
application
OSOS
File transfer
application
File transfer
application
OSOS
filefile Network
37
![Page 38: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/38.jpg)
Example: reliable file transfer
• This solution is not reliable!– Securing a fixed set of steps (e.g., disk, network) might not be enough: data
could be corrupted in-between two steps (e.g., while buffering in application)– Bugs in applications may suggest sub-step to be correct when data actually
got corrupted• Receiver still has to perform end-to-end check
File transfer
application
File transfer
application
OSOS
File transfer
application
File transfer
application
OSOS
filefile Network
38
![Page 39: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/39.jpg)
Example: reliable file transfer
• Correct solution: – Both ends checksum the file on disk, and compare
(or use secure hash, etc.)– If check fails, try again– Really matters even today (real disks, real Oses…)
File transfer
application
File transfer
application
OSOS
File transfer
application
File transfer
application
OSOS
filefile Network
<<
39
![Page 40: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/40.jpg)
End-to-End arguments
• Note that reliable transfer requires no network support at all!
• The Internet implements reliability in end hosts
– TCP, etc.
• Converged Enhanced Ethernet (CEE) implements reliability at
link layer
– Q. Is this a good idea?
– A. It might be for performance…
• The Internet implements routing in the network
– But RON shows this is often slower
40
![Page 41: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/41.jpg)
Other angles to E2E
• Sometimes, functions implemented in the network are
bad for the application
– E.g. reliable transfer for real-time traffic
• If function has to be end-to-end, implement it in host
systems
• Don’t put it in a lower layer except:
– If it unambiguously improves performance
– Does not burden applications that don’t need it
41
![Page 42: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/42.jpg)
Robustness Principle
42
![Page 43: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/43.jpg)
Robustness Principle (Postel’s Law)
Be conservative in what you do,
be liberal in what you accept from others
OrBe conservative in what you send,
liberal in what you accept
• Appeared in RFC 793,
Transmission Control Protocol specification, September 1981
43
![Page 44: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/44.jpg)
Example: Email
• The MIME standard RFCs define the correct format of a (multimedia) email message
• Questions:– Should you correctly format all email messages you
send?• Yes!
– Should you reject incorrectly formatted messages you receive?
• No!• Spam makes a great test for this
– Expect the unexpected
– Limit the amount of damage misbehaving hosts can do 44
![Page 45: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/45.jpg)
Example: HTTP
• Most HTTP/1.1 servers tolerate missing header files– Even when the standard requires them!
45
![Page 46: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/46.jpg)
Robustness
• Much less likely that bugs in implementations prevent
interoperability
– Otherwise: minor bug => total communication failure
• Easier to evolve protocols
– Major version numbers => incompatible, probably
– Minor version numbers => should be compatible
• Harder to program
– Of course :-)
46
![Page 47: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/47.jpg)
Fate sharing
47
![Page 48: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/48.jpg)
Fate sharing
• To deal with potential failure:
Store critical system state at the nodes which rely on that state
• Only way to lose that state is if the node that relies on it fails
– … in which case it doesn’t matter
48
![Page 49: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/49.jpg)
Fate sharing example
• Goal: the only failure in the Internet which prevents
communication should be total partition
– If there exists a possible route, the Internet should find it
• Decision: Where to store connection state? I.e.
– Flow control
– Retransmission information
– Etc.
49
![Page 50: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/50.jpg)
Fate sharing example
• Flow-control state in end-systems:– if end-systems fail, connection state is irrelevant
anyway
StateState StateState
50
![Page 51: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/51.jpg)
Fate sharing example
• Flow-control state in end-systems:– if end-systems fail, connection state is irrelevant anyway
StateState StateState
51
![Page 52: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/52.jpg)
Fate sharing example
• Flow-control state in end-systems:– if end-systems fail, connection state is irrelevant anyway
StateState StateState
52
![Page 53: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/53.jpg)
Alternative: replication
• Maintain flow control state in routers– Requires replication and consistency– Failure of router requires state to be recreated
StateState StateState StateState
53
![Page 54: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/54.jpg)
Alternative: replication
• Maintain flow control state in routers– Requires replication and consistency– Failure of router requires state to be recreated
StateState StateState StateState
54
![Page 55: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/55.jpg)
Alternative: replication
• Maintain flow control state in routers– Requires replication and consistency– Failure of router requires state to be recreated
StateState StateState StateState
State must be cleaned
up
55
![Page 56: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/56.jpg)
Alternative: replication
• Maintain flow control state in routers– Requires replication and consistency– Failure of router requires state to be recreated
StateState StateState StateState
56
![Page 57: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/57.jpg)
Alternative: replication
• Maintain flow control state in routers– Requires replication and consistency– Failure of router requires state to be recreated
StateState StateState StateState
??State must
be recreated
57
![Page 58: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/58.jpg)
Fate sharing vs. replication
• Two key advantages:
1. Easier to implement (no complex replication
protocols)
2. Resilient to any number of failures!
• Other examples:
- HTTP cookies
- Packet-switching vs. circuit-switching
• Compare with End-to-End arguments
58
![Page 59: Principles - systems.ethz.ch · Principles: • Layering, modularity, tunnels and virtual networks • The Internet Hourglass • In-band vs. Out-of-band signalling • The End-to-End](https://reader035.vdocument.in/reader035/viewer/2022070616/5d1617d488c993fd118e002c/html5/thumbnails/59.jpg)
Next week…
More principles:
• Data Center Basics
• Network Topologies (Mesh, Cube, Tree, etc.)
59