![Page 1: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/1.jpg)
TheTransportLayerisDead–LongLivetheTransportLayer!
MichaelWelzlUniversityofOslo/UniversityofRomeTorVergata
15.01.20181
![Page 2: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/2.jpg)
MichaelWelzlUniversityofOslo/UniversityofRomeTorVergata
15.01.20182
![Page 3: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/3.jpg)
Wakeupcall• Thetransportlayerisinterestingagain!
– Somehow,(mostlyUS?)industryisaware,butacademia+(European?)fundingbodiesdon'trecognize;onlyexception:MPTCP
• Longlistofnew,interestingstuff!– HTTP/2+QUIC;LEDBAT;WebRTC(withRMCAT congestioncontrols)– Focusonlowlatency:Bufferbloatcommunity=>AQMalgorithms:
(FQ-)CoDel,PIE andnowalsosomeWiFiwork;ECN:ABE,L4S
• Whyhastransport"gonecold"?– Noproblemtosolve,TCPworks? nottrue! TCP=latency,complexity,bad
fairness,badinteractionswithdelay-sensitiveornon-greedytraffic,...– ChangingTCPisfrustratinglyhard,elsenochancetochangeanything?
Notsotrueanymore!=>storyofthistalk! 3
![Page 4: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/4.jpg)
Outline
1. The"transportlayerossification"problem
2. Thesolution1. IETFTransportServices(TAPS)WG2. NEATECproject(andsoftware!)
4
![Page 5: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/5.jpg)
Terminology
5
Ossification Petrification
![Page 6: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/6.jpg)
TheTransportLayerisDead....
(theproblem)
6
![Page 7: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/7.jpg)
Thebeauty;-)ofOSI...
• AN-layerprovidesaservicetotheN+1-layer– what'sbelowtheserviceinterfaceishidden
•
• Protocolsinsidelayersareinterchangeable
• Transportlayer(andabove)shouldbeespecially easytochange!
node A node B
protocol Layer N+1
Layer N: services N1, N2
service interface
entitiy vertical comm.
horizontal comm.
N1
N2
N1
N2
7
![Page 8: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/8.jpg)
Internettransportisossified
è Applicationsexpectprecisely thebehaviorofTCPandUDP
node A nodeB
e.g.HTTP Application Layer
TransportLayer
entityUDP
TCP
è Routersexpecttoseeprecisely TCPorUDP(sometimeswithevenmorelimitations)
8
![Page 9: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/9.jpg)
Transportlayerdevelopment• Computer,30yearsago
• AprogramthatsendsdataovertheInternet,30yearsago
(usingBerkeleysockets)
9
![Page 10: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/10.jpg)
Transportlayerdevelopment• Computer,today
• AprogramthatsendsdataovertheInternet,today
(usingBerkeleysockets)
10
![Page 11: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/11.jpg)
Morethanjustsockets...
• Previousexample:Berkeleysockets– Today,applicationsusemanydifferentAPIsfromvariouslibraries/middlewares
• Buttheselibraries/middlewaresuse socketsè limitedbytheservicesofTCPandUDP1. Areliablebytestream2. Unreliablepacket(“datagram”)transmission
It’sawayofthinking aboutcommunication!11
![Page 12: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/12.jpg)
...andit’sfromthe80s!
1) Reliablebytestream,TCP
2) Datagram,UDP
12
![Page 13: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/13.jpg)
Whatabout...
• Priorities?– Amongyourownflows,andbetweenyoursandothers?
• Careful“donotdisturbanybody”background(“scavenger”)communication?
• Intelligentuseofmultiplenetworkinterfaces?
• Maybeusingdataevenwhenachecksumfails?– Codecscanhandlethat,butUDPwillthrowawayallyourdata
• Usingprotocolfeaturesthatyieldlowerlatency?– Maybetradelatencyagainstbandwidth?– Controlthesendbuffer?
13
![Page 14: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/14.jpg)
Example:unordered message delivery
• Some applications can accept data chunks outof order,even when requiring reliability– TCPcauses Head-Of-Line(HOL)blocking delay
Chunk 2 Chunk 3 Chunk 4 Chunk 1TCP receiver buffer
App waits in vain!
• Some protocols can deliver data outof order (e.g.SCTP)• If suchaprotocol is notavailable:fine to use TCP!
• in-orderdelivery is correct!Justslower
...BUT:unless anapplication asks for it,we can NEVERgiveitdatainthe wrong order.è Thisservice needs to be inALLAPIs!(notjustsocketlevel)
14
![Page 15: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/15.jpg)
...LongLiveTheTransportLayer!
(thesolution)
15
![Page 16: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/16.jpg)
Solutionpart1:AStandard.
IETFTransportServices(TAPS)
16
![Page 17: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/17.jpg)
TAPSBackground
Application
Protocol X
ISP A (supports
X only)
Application
Protocol X
ISP A (supports
X only)
TAPS system
Application
Protocol Y
ISP B (supports X and Y)
TAPS system
Application
Protocol X
ISP B (supports X and Y)
without TAPS with TAPS
• mid-2013,thetimehadcome:LEDBAT,RTMFP,MPTCP,SPDY,Minion• Canwegetsomeorderintothischaos?
• 1yearofcommunity-convincing;1barBoF;2BoFs=>TAPSchartered24.9.2014• Historyavailableat:https://sites.google.com/site/transportprotocolservices/17
![Page 18: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/18.jpg)
HowTAPSwantstosolvetheproblem
• Unorderedreliablemessagedeliveryisonlyoneexample
• Whatistheminimumsetoftransportservices...– fromtheservicesthatIETFtransportprotocolsoffer...thatwe“must”makeavailableeverywhereforthemtobecomeusable?
• Onceweknowthat,wecanspecifyhowtoimplementaTAPSsystem
18
![Page 19: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/19.jpg)
TAPScharter:plannedoutcomes
1. Listofservices providedbytoday’stransports
2. List:subsetofservices thatsystemssupportingTAPSwillprovide+guidanceonchoosingamongavailablemechanismsandprotocols
3. Experimentalspec:mechanismstoprovidetheservicesidentifiedinitem2(“Thisdocumentwillexplainhowtoselectandengageanappropriateprotocolandhowtodiscoverwhichprotocolsareavailablefortheselectedservicebetweenagivenpairofendpoints.Further,itwillprovideabasisforincrementaldeployment.”)
19
![Page 20: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/20.jpg)
Bottom-upmethodtoderiveaminimumsetoftransportservices
• IETFTransportServices(TAPS)WorkingGroup1. Survey ofservicesprovidedbytransportprotocols– RFC
8095(54pages)2. In-depthanalysisof30+RFCs:TCP,MPTCP,UDP,UDP-
Lite,SCTP,LEDBAT (RFCs-to-be8303&8304~79pages)3. Derivationofaminimumset:from2),keeponlyservices
thatrequireapplication-specificknowledgeanddonotprohibitfallingbacktoTCP/UDP;resolvesomeresultingpeculiarities(1Internet-draft,53pages)
20
![Page 21: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/21.jpg)
Fall-backsenableone-sideddeployment
SeveralProtocols
NewAPI
NewApp NewProtocolX
NewAPI
NewApp
TCP
NewAPI
NewApp
UDP
NewAPI
NewApp
TCP
Sockets
CurrentApp
UDP
Sockets
CurrentApp
21
![Page 22: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/22.jpg)
Result(latestversion):high-levelview
1. Flowcreationandflowgrouping– Mostconfigurationfeaturesonlyconfigureagroup(e.g.,can’tconfiguretimeoutforanSCTPstreamonly)
– Shoulduseconfigurationearly,ideallybeforeconnecting
2. Send-before-connect– Couldalsobeimplementedasaparameterto“connect”– Specify“idempotentdata”forextra-fasttransmission(TFO)
3. Limitedconnect/listen/close/abortsemantics(supportUDP,ortransparentlyusestreams)– Connectmaynotinvokeaccept!– Nohalf-closedconnections 22
Note:assumeTCPfall-backonly(assumingUDPfall-backlimitsthislist)
![Page 23: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/23.jpg)
Result(latestversion):high-levelview/2
• Beinformedaboutsenderbufferrunningdry– Latedecisionaboutchoiceofdatatosend
• Configure:per-flowpriorities,network-widepriorities(DSCP),timeout,authentication,checksums
• Somequeries,e.g.relatedtopacketsizes• Sendmessages,receivebytestream
– Messagesstayintact,butmaybereorderedordropped(configuredbysender)
– Receivermustbeaware(detectboundaries)23
![Page 24: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/24.jpg)
Movingtoasystemspecification...
• TAPScharteritem3:currentlyvariousdocuments/proposals– post-sockets:TLSfeatures,connectionmigration,variousotherextras,relatedtoApple'ssoon-to-be-shippedcode
– guidelinesforTAPSsystems,securitysurvey– NEATprojectoutputs(happyeyeballs,API,..)– socketintents(mostlyfocusedoninterfacechoice)
24
![Page 25: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/25.jpg)
Solutionpart2:Code.
Theproject(andsoftware)
25
![Page 26: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/26.jpg)
WhatdoesNEAToffer?• Auser-spacelibrary forefficiente2enetworkInternetcomm.,designedtobeeasytouse– Thinkofitas"TAPSminimumset++"
• Easy,platform-independentaccesstothefeaturesofTCP,MPTCP,SCTP,UDP,UDP-LITEandmoreresearchythings viaacallback-basedAPI– Policysystemtocontroleverythingviajsonfiles
• One-sideddeploymentpossible,candofall-backstoTCPorUDP,cantalktonativepeers(e.g.TCP,SCTP,evenWebRTCbrowser!)
26
![Page 27: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/27.jpg)
Internals:sequenceofeventsinNEAT
27
![Page 28: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/28.jpg)
Happy
Eye-balls
28
![Page 29: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/29.jpg)
Moredeploymentconsiderations• “Application”couldbealibraryormiddleware
– e.g.,pub-subdoesn’tneed100%reliability=>interestingresearchpossibilities("networkingmeetsdistributedsystems")
– wouldonlyexploitasubsetofTAPScapabilities,butre-compilinganappwiththenewmiddlewareversionwouldmaketheappuseTAPS
• RelatedNEATdevelopment:NEATsocketAPI– RunlegacyapplicationsoverNEATusing"withneat commandname params"– Benefitfrom:policysettings;transparentSCTP-stream-mapping
Non TAPS-enabled application
M's API
Legacy transport(TCP, UDP)
M's internals
Non TAPS-enabled application
M's API
Available transports (TCP, UDP, Minion,
SCTP...)
M + TAPS internalsMiddleware M Middleware M
29
![Page 30: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/30.jpg)
Conclusion
• Wehave:– IETFTAPS– Apple– TheNEATproject,includingMozillaandthemainSCTPdevelopers
• ....allworkingtowardsareal transportlayer– Newflexibility,newresearchpossibilities
• PleasejointheNEATeffort– download,test,extendandplay!
30
node A node B
protocol Layer N+1
Layer N: services N1, N2
service interface
entitiy vertical comm.
horizontal comm.
N1
N2
N1
N2
![Page 31: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/31.jpg)
Stuff!
• TAPS:– https://datatracker.ietf.org/wg/taps/
• NEAT:– http://www.neat-project.org– https://github.com/NEAT-project/neat– "NEAT:APlatform- andProtocol-IndependentInternetTransportAPI",
IEEECommunicationsMagazine55(6),2017.– "De-ossifyingtheInternetTransportLayer:ASurveyandFuture
Perspectives",IEEECommunicationsSurveys&Tutorials19(1),Firstquarter2017.
31
![Page 32: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/32.jpg)
Questions,comments?
32
![Page 33: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/33.jpg)
Backupslides
33
![Page 34: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/34.jpg)
Sendingmessages,receivingabytestream
• Canwemakethiscombinationwork?– BecompatibletoTCPbutstillbenefitfrommessages?
• Alternativenotveryattractive:alwaystellinganapplication“sorry,youonlygetastreamhere”isnotmuchdifferentthansaying“sorry,useTCPinstead”– Let’sminimize#hoopsanappdeveloperhastojumpthrough
• Message-orientedTCPappsalreadyframetheirdata– Unnecessarytorepeatthisintransportlayer– Requirementtotellreceiverapp“hereisyourcompletemessage”createsa
majorlimitationandisoftenunnecessary
34
![Page 35: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/35.jpg)
Application-Framed(AFra-)Bytestream
• NormalTCP-likebytestream API– Optional:someadditionalinformationprovidedbysenderapp
• Senderapp: handsoverastreamofbytes,informstransportaboutframeboundariesandrequirements(order,reliability,..)– Delimitedframesstayintact,inorder– Morerelaxedrulespossiblebetween frames– Delimitersassumedtobeknownbyapplication
• Receiverapp:receivesstreamofbytes– App-leveldelimitersturnitintomessages
• TCP=specialcase:nodelimitersused– Cantalkto“normal”TCPapplicationsonbothsides
35
![Page 36: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/36.jpg)
Unorderedmessagedelivery:SCTP
36
API API
Msg 3
Msg 2
Msg 1
SenderappMsg 1
Msg 3
Msg 2
Receiverapp
• Informwhereframebegins• Configure:“unordered”
Block1Block3 Block2
App-definedheader.Couldalsobee.g.implicitknowledgeaboutsize
Justabytestream!
Appknowshowtoidentifymessages
Block1Block2 Block3
• Informwhereframeends
![Page 37: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/37.jpg)
Unorderedmessagedelivery:TCP
37
API API
Msg 3
Msg 2
Msg 1
SenderappMsg 1
Msg 2
Msg 3
Receiverapp
• Informwhereframebegins• Configure:“unordered”
… TCPjustignoresthis!
Block1Block3 Block2
Justabytestream!
Appknowshowtoidentifymessages
Block1Block2 Block3
• Informwhereframeends
![Page 38: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/38.jpg)
Unreliableunorderedmsg delivery:SCTP
38
API API
Msg 3
Msg 2
Msg 1
SenderappMsg 3
Msg 2
Receiverapp
• Informwhereframebegins• Configure:“unreliable,unordered”
Block1Block3 Block2
Justabytestream!
Appknowshowtoidentifymessages
Block2 Block3
• Informwhereframeends
![Page 39: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/39.jpg)
Unreliableunorderedmsg delivery:TCP
39
API API
Msg 3
Msg 2
Msg 1
SenderappMsg 1
Msg 2
Receiverapp
• Informwhereframebegins• Configure:“unreliable,unordered”
… TCPjustignoresthis!
Block1Block3 Block2
Justabytestream!
Appknowshowtoidentifymessages
Block2 Block3
Block1
Msg 3
• Informwhereframeends
![Page 40: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/40.jpg)
Unreliablemessagedelivery:SCTP,largemessages
40
API API
Msg 3
Msg 2
Msg 1
Senderapp Receiverapp
• Informwhereblockbegins• Configure:“Unreliable”
Block1Block3 Block2
Packets
• Informwhereframeends
![Page 41: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/41.jpg)
Unreliablemessagedelivery:SCTP,largemessages
41
API API
SenderappMsg 2
Receiverapp
Justabytestream!
Appknowshowtoidentifymessages
Block1Block3 Block2
Packets
SCTP
![Page 42: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/42.jpg)
Init:
exampledecisiontree
-Willyouneedsomeformofreliability?Yes: SCTPorTCP canbeused.- Isanyofthefollowingusefultotheapplication?*Choosingascheduler,choosingpriorities*Configurablemessagereliability*Unorderedmessagedelivery*RequestnottodelaymessageSACKsYes:SCTPispreferred.No:- Isanyofthefollowingusefultotheapplication?*Handoveramessagetoreliablytransfer(possiblymultipletimes)beforeconnectionestablishment*Suggesttimeouttothepeer*NotificationofExcessiveRetransmissions(earlywarningbelowabortionthreshold)*NotificationofICMPerrormessagearrivalYes:TCPispreferred.No:SCTPandTCPareequallypreferable.
No: allprotocolscanbeused.- Isanyofthefollowingusefultotheapplication?*Specifychecksumcoverageusedbythesender*Specifymin.checksumcoveragerequiredbyreceiverYes:UDP-Liteispreferred;No:UDPispreferred. 42
Avoids,e.g.:1)chooseUDP2)appasksforreliability
![Page 43: The Transport Layer is Dead – Long Live the Transport Layer!heim.ifi.uio.no/michawe/research/publications/inw2018... · 2018-02-02 · –post-sockets: TLS features, connection](https://reader030.vdocuments.mx/reader030/viewer/2022040513/5e6928ead5d913238855ea88/html5/thumbnails/43.jpg)
TCP UDP SCTP
APP Class 0 APP Class 1 APP Class 2 APP Class 3
TCP Minion Experimental Mechanisms
Traditional Socket NEAT Socket
Middleware
NEAT Framework
NEAT User API
NEAT APP Support API
NEAT Policy
ManagerUSER
KERNEL
Policy Information
Base
Characteristic Information
Base
Policy Interface
SCTP/UDP
APP Class 4
PCAP RAW IP Experimental Mechanisms
KPI
Selection Components
H and SComponents
NEAT APP Support Module
IP
DIAG & STATS
NEAT Kernel Module
Policy Interface
Transport Components
SCTP/UDP
SPUD/UDP…
Userspace TransportExp
Mech
NEATarchitecture
43