service‐centric networking with scaffold...principles of scaffold 1. service‐level naming...
TRANSCRIPT
![Page 1: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/1.jpg)
Service‐centricnetworkingwithSCAFFOLD
MichaelJ.Freedman
PrincetonUniversity
withMatveyArye,PremGopalan,StevenKo,
ErikNordstrom,JenRexford,andDavidShue
![Page 2: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/2.jpg)
Fromahost‐centricarchitecture
1960s
![Page 3: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/3.jpg)
Fromahost‐centricarchitecture
1960s1970s
![Page 4: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/4.jpg)
Fromahost‐centricarchitecture
1960s1970s
1990s
![Page 5: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/5.jpg)
Toaservice‐centricarchitecture
1960s1970s
1990s
2000s
![Page 6: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/6.jpg)
Toaservice‐centricarchitecture
• Userswantservices,agnosRcofactualhost/locaRon
• Serviceoperatorsneed:replicaselecRon/loadbalancing,replicaregistraRon,livenessmonitoring,failover,migraRon,…
![Page 7: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/7.jpg)
Hackstofakeservice‐centrismtoday
Layer4/7: DNSwithsmallTTLs HTTPredirects
Layer‐7switching
Layer3: IPaddressesandIPanycast
Inter/intrarouRngupdates
Layer2: VIP/DIPloadbalancers
VRRP,ARPspoofing
+Home‐brewedregistraRon,configuraRon,monitoring,…
![Page 8: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/8.jpg)
Toaservice‐centricarchitecture
• Userswantservices,agnosRcofactualhost/locaRon
• Serviceoperatorsneed:replicaselecRon/loadbalancing,replicaregistraRon,livenessmonitoring,failover,migraRon,…
• Service‐levelanycastasbasicnetworkprimiRve
![Page 9: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/9.jpg)
Twohigh‐levelquesRons
• Moderatevision:Cannetworksupportaidself‐configuraRonforreplicatedservices?
• Bigvision:Should“service‐centricnetworking”becomethenewthinwaistofInternet?
![Page 10: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/10.jpg)
Namingasa“thinwaist”
• Host‐centricdesign:TradiRonallyoneIPperNIC– Loadbalancing,failover,andmobilitycomplicates– Now:virtualIPs,virtualMACs,…
• Content‐centricarchitecture:UniqueIDperdataobject– DONA(Berkeley),CCN(PARC),…
• SCAFFOLD:UniqueIDpergroupofprocesses– EachmembermustindividuallyprovidefullgroupfuncRonality
– Groupcanvaryinsize,distributedoverLANorWAN
![Page 11: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/11.jpg)
Objectgranularitycanvarybyservice
=
SCAFFOLDObjectID
K-bit Admin Prefix Machine-readable ObjectID =
Google YouTube Service
FixedBit‐length
MemcachePar**on= Facebook Partition 243
= Comcast Mike’s Laptop
IZ–“Somewhereovertherainbow” = Google IZ – “Somewhere” video
![Page 12: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/12.jpg)
SCAFFOLDas…
– Cleanslatedesign
– MulR‐datacenterarchitectureforsingleadministraRvedomain
• Deployedoverlegacynetworks
• Few/nomodificaRonstoapplicaRons
![Page 13: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/13.jpg)
Target:SingleadministraRvedomain
• Datacentermanagementmoreunified,simple,centralized
• HostOSnet‐imagedandcanbefork‐liiupgraded
• Alreadystrugglingtoprovidescalabilityandservice‐centrism
• CloudcompuRnglessenimportanceoffixed,physicalhosts
X
DC 2 DC 1
Y
Backbone
Internet
X
YY
X
![Page 14: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/14.jpg)
GoalsforService‐Centrism• Handlingreplicatedservices
– ControloverreplicaselecRonamonggroups
– Controlofnetworkresourcessharedbetweengroups– Handlingdynamicsamonggroupmembershipanddeployments
• Handlingchurn– Flexibility:Fromsessions,tohosts,todatacenters
– Robustness:LargelyhidefromapplicaRons
– Scalability:Localchangesshouldn’tneedtoupdateglobalinfo– Scalability:Churnshouldn’trequireper‐clientstateinnetwork– Efficiency:Wide‐areamigraRonshouldn’trequiretunneling
![Page 15: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/15.jpg)
Clean-Slate Design
![Page 16: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/16.jpg)
PrinciplesofSCAFFOLD1. Service‐levelnamingexposedtonetwork
2. AnycastwithflowaffinityasbasicprimiRve
3. MigraRonandfailoverthroughaddressremapping– AddressesboundtophysicallocaRons(aggregatable)
– FlowsidenRfiedbyeachendpoint,notpairwise
– Controlthroughin‐bandsignalling;statelessforwarders
4. Minimizevisibilityofchurnforscalability– Differentaddr’sfordifferentscopes(successiverefinement)
5. Tighterhost‐networkintegraRon– Allowinghosts/serviceinstancestodynamicallyupdatenetwork
![Page 17: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/17.jpg)
PrinciplesofSCAFFOLD1. Service‐levelnamingexposedtonetwork
2. AnycastwithflowaffinityasbasicprimiRve
![Page 18: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/18.jpg)
PrinciplesofSCAFFOLD1. Service‐levelnamingexposedtonetwork
2. AnycastwithflowaffinityasbasicprimiRve
SCAFFOLDaddress
ObjectID FlowID
(i)ResolveObjectIDtoaninstanceFlowLabel
(ii)RouteoninstanceFlowLabeltothedesRnaRon
Admin Prefix Object Name SS Label Host Label
(iii)SubsequentflowpacketsusesameFlowLabel
SocketID
![Page 19: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/19.jpg)
PrinciplesofSCAFFOLD1. Service‐levelnamingexposedtonetwork
2. AnycastwithflowaffinityasbasicprimiRve
SCAFFOLDaddress
ObjectID FlowID
Admin Prefix Object Name SS Label Host Label SocketID
![Page 20: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/20.jpg)
SCAFFOLDaddress
DecoupledflowidenRfiers
Src FlowID Dst FlowID ObjectID Flow Labels SocketID ObjectID Flow Labels SocketID
3. MigraRonandfailoverthroughaddressremapping
4. Minimizevisibilityofchurnforscalability
Who Where Which conversation
ObjectID Flow Labels SocketID
![Page 21: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/21.jpg)
SCAFFOLDaddress
ManagemigraRon/failoverthroughin‐bandaddressremapping
Src FlowID Dst FlowID
Who Where Which conversation
ObjectID Flow Labels SocketID ObjectID Flow Labels SocketID
ObjectID SS8 : 30 SocketID SS10 : 40 : 20
(i) Localend‐pointchangeslocaRon,assignednewaddress
(ii) ExisRngconnecRonssignalnewaddresstoremoteend‐points
(iii) Remotenetworkstackupdated,applicaRonunaware
![Page 22: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/22.jpg)
Minimizevisibilityofchurnthroughsuccessiverefinement
ObjectID SS4 : 50 SocketID SS10 : 40 : 20
Where
SS1040
20
5Wide‐Area
![Page 23: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/23.jpg)
Minimizevisibilityofchurnthroughsuccessiverefinement
SS4
SS10
ArbitrarySubnet/AddressStructure
MulRplelevelsofrefinementWide‐Area
SRC LocalHost Safari Client SS 4 50 3
DST Google YouTube Svc SS 10 40 20 5 40
20
• Scalability: –Localchurnonlyupdateslocalstate –Addressesremainhierarchical
• Infohiding:Topologynotgloballyexposed
5
![Page 24: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/24.jpg)
Network Controller
Label Router
Label Router
Label Router
Object Router
Host
RouRng
ResoluRon
Host
B 3 A 2
Ac*on NetworkControlMsg
netlinkup join(2)
netlinkdown leave(2)
bind(fd,A) register(A,2)
close(fd) unregister(A,2)
Integratedservice‐host‐networkmanagement
![Page 25: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/25.jpg)
Network Controller
Label Router
Label Router
Label Router
Object Router
Host
RouRng
ResoluRon
Host
B 3 A 2
Ac*on NetworkControlMsg
netlinkup join(2)
netlinkdown leave(2)
bind(fd,A) register(A,2)
close(fd) unregister(A,2)
Integratedservice‐host‐networkmanagement
Self‐configuraRon+adapRvetochurn
![Page 26: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/26.jpg)
Using SCAFFOLD:
Network‐levelprotocols
andnetworksupport
![Page 27: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/27.jpg)
ApplicaRon’snetworkAPI
Today(IP/BSDsockets)
fd = open();
Datagram: sendto (IP:port, data)
Stream: connect (fd, IP:port) send (fd, data);
IP:ApplicaRonseesnetwork,networkdoesn’tseeappSCAFFOLD:Networkseesapp,appdoesn’tseenetwork
SCAFFOLD
fd = open();
Unbounddatagram: sendto (objectID, data)
Bounddatagram: connect (fd, objectID) send (fd, data);
![Page 28: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/28.jpg)
SRC B 3 0
DST A 0 0
LR 1 LR 2
Object Router
OR
DATA
DATA
Label Router 1 Label Router 2
SRC A 2 0
DST B 0 0
SRC A 2 0
DST B 3 0
ObjectID Flow Label SocketID
sendto(B)
sendto(A)
B 4
B 3
A 2
A 2
B 3
B 4
UnboundFlows
3 p1
4 p2
bind(B)join
![Page 29: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/29.jpg)
SRC B 3 0
DST A 2 0
LR 1 LR 2
Object Router
OR
DATA
DATA
Label Router 1 Label Router 2
SRC A 2 0
DST B 0 0
SRC A 2 0
DST B 3 0
ObjectID Flow Label SocketID
sendto(B)
B 4
B 3
A 2
A 2
B 3
B 4
Half‐BoundFlows
3 p1
4 p2
sendto(A,flags)bind(B)join
![Page 30: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/30.jpg)
LR 1 LR 2
Object Router
OR
Label Router 1 Label Router 2
SRC A 2 765
DST B 0 0
SRC A 2 765
DST B 3 0 SRC B 3 234
DST A 2 765
SYN
SYN
SYN/ACK
ACK
SRC A 2 765
DST B 3 234
connect(B)
ConnecRonBound
joinbind(B)listen()
B 3 A 2
BoundFlows
![Page 31: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/31.jpg)
LR 1 LR 2
Object Router
OR
Label Router 1 Label Router 2
SRC A 2 765
DST B 0 0
SRC A 2 765
DST B 3 0
SYN
SYN
SYN/ACK
ACK
SRC A 2 765
DST B 3 234
connect(B)
ConnecRonBound
B 3 A 2
BoundFlows
• ApplicaRonsbindonobject‐levelnames• Networkforwardsonresolvedaddresses
SRC B 3 234
DST A 2 765
joinbind(B)listen()
![Page 32: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/32.jpg)
SRC A 2 765
DST B 3 234
Label Router 1
SupporRngMobilityandMigraRon
Label Router 3
SRC B 3 234
DST A 2 765
Object Router Label Router 2
RSYN
RSYN/ACK
ACK
LR 3
SRC B 3 234
DST A 4 765
ConnecRonMigrated
LR 1 LR 2
OR
SRC A ? 765
DST B 3 234
SRC A 4 765
DST B 3 234
B 3 A 2 A 4
![Page 33: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/33.jpg)
Label Router 1
SupporRngFailoverandLoadShedding
Object Router Label Router 2
LR 1 LR 2
OR A 2
FAIL
B 3
B 5
ACK
RSYN
RSYN/ACK
SRC A 2 765
DST B 3 234
SRC A 2 765
DST B 0 0
SRC A 2 765
DST B 5 529
![Page 34: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/34.jpg)
Label Router 1
SupporRngFailoverandLoadShedding
Object Router Label Router 2
LR 1 LR 2
OR A 2
FAIL
B 3
B 5 ACK
RSYN
RSYN/ACK
SRC A 2 765
DST B 3 234
SRC A 2 765
DST B 0 0
SRC A 2 765
DST B 5 529
• Decoupledid’senablein‐bandmigraRonandrecovery
• Flowaffinitywithoutper‐flowstateinthenetwork
![Page 35: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/35.jpg)
Extentofchanges
Changein‐networksupport
Changethepacketformat
Changesocketlayer+stack
Hdr ObjID SS | … | Host SockID
Label Router
Object Router
Network Controller
Yet:
Canrunontopoflegacynetworks(IPandEthernet) Few/easy/nochangestoapplicaRons
![Page 36: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/36.jpg)
Backwards Compatibility
![Page 37: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/37.jpg)
HidephysicallocaRonfromapp
Today(IP/BSDsockets)
fd = open();
Datagram: sendto (IP:port, data)
Stream: connect (fd, IP:port) send (fd, data);
SCAFFOLD
fd = open();
Unbounddatagram: sendto (objectID, data)
Bounddatagram: connect (fd, objectID) send (fd, data);
CurrentapplicaRons–iperf,TFTP,PowerDNS
![Page 38: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/38.jpg)
SCAFFOLDnetworkstack
Network interfaces
Application Scafd IPC
user
kernel
Network interfaces
Application
Scafd IPpackets
LinuxsocketsinterfacePacketsocket
![Page 39: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/39.jpg)
OperaRngacrosslegacynetworks
SS4
SS10
ArbitrarySubnet/AddressStructure
Wide‐Area
SRC LocalHost Safari Client SS 4 50 3
DST Google YouTube Svc SS 10 40 20 5
4020
5
Label Router
Label Router
Label Router
Label Router
Label Router
Label Router
(Anycasted)IPAddress/Prefix
1.1.1.1 2.2.2.2
3.3.3.3 1.1/16
1.1.1/24 1.1.1.1
![Page 40: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/40.jpg)
RouRngoverlegacynetworks
Ethernet
IPv4
TransportPort:16bobjID
Addr:8bSS|8bHost|16bsock
Ethernet
IPv4
SCAFFOLD
1.1.1.1
ObjectID Flow Label SocketID
2.2.2.2
Current InDevelopment
![Page 41: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/41.jpg)
In‐Networksupport
Object Router
Label Router
ModifiedOpenFlowsoiwareswitchforproporRonalsplitrouRng/resoluRon
‐ NOXapplicaRon:topology,host,objectmanagementNetwork
Controller
‐Network
Controller
Label Router
Label Router
Label Router
Object Router
Host Host
![Page 42: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/42.jpg)
“Evaluation”
![Page 43: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/43.jpg)
Demos
• LoadShedding:– Callclose()onconnecRons– SubsequentpacketsgetFAIL,thenreconnect
• Clientmobility
![Page 44: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/44.jpg)
![Page 45: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/45.jpg)
TFTPtransferwithClientMobility
ClientLeaves ClientReconnects(RSYN)
![Page 46: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/46.jpg)
TFTPtransferwithFailover
Server1(FAIL) Server2(FAIL)
<100msblip
![Page 47: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/47.jpg)
Currentthroughput
CurrentimplementaRonisbothuser/kernelspace.Ongoingdevelopmenttoeither/or.
![Page 48: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/48.jpg)
Service‐centricnetworking
• Moderatevision:Cannetworksupportaidself‐configuraRonforreplicatedservices?
• Bigvision:Should“service‐centricnetworking”becomethenewthinwaistofInternet?
SCAFFOLDrethinks:1. NamingexposedtonetworkandapplicaRons2. Extentofhost‐networkintegraRon3. Roleofdumb/statelessnetworkvs.end‐hosts
![Page 49: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/49.jpg)
Service‐centricnetworkingwithSCAFFOLD
MichaelJ.Freedman
PrincetonUniversity
withMatveyArye,PremGopalan,StevenKo,
ErikNordstrom,JenRexford,andDavidShue
![Page 50: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/50.jpg)
![Page 51: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/51.jpg)
LatencyofAPIcalls
![Page 52: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/52.jpg)
Networkvs.stacklatency
![Page 53: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/53.jpg)
RelatedWork
NewArch i3 LNA DONA LISP HIP CCN SCAFFOLD
Paradigm Object Object Object Host Host Content Object
Layer 3O 4 3/4 3 4 3/4 3/4
Anycast Hash Res Prox No No Mcast Res
Resolution DHT EB Routed EB Rdz DDiff SRefine
Migration Yes Yes Yes* Yes Yes Yes* Yes
Failover Yes Yes Yes No No Yes Yes
![Page 54: Service‐centric networking with SCAFFOLD...Principles of SCAFFOLD 1. Service‐level naming exposed to network 2. Anycast with flow affinity as basic primive 3. Migraon and failover](https://reader035.vdocuments.mx/reader035/viewer/2022071219/605448a7862fd65740424359/html5/thumbnails/54.jpg)
RelatedWork
SCAFFOLD SPAIN PortLand VL2
Topology Arbitrary Arbitrary Fat-tree Fat-tree
Multipath Any Many ECMP ECMP
Migration Yes Yes* Yes* Yes*
Failover Yes No No No
Traffic Engineering Arbitrary Oblivious Oblivious Oblivious
Server Selection Yes No* No* No*
Use CoTS? No Yes No Yes
End-host Mod Yes Yes No Yes