4. clearwater on rinaict-arcfire.eu/wp-content/uploads/2018/06/4.-clearwater-on-rina.pdf · why...
TRANSCRIPT
![Page 1: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/1.jpg)
ClearwateronRINA
Ma#WilliamsMetaswitchNetworks
22February2018
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|1
![Page 2: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/2.jpg)
Agenda
• Background• WhyRINA?
• RINAEnhancements
• RINAFutures• InterposerApproach(ifAme)
• PleaseaskquesAons!
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|2
![Page 3: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/3.jpg)
Background
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|3
![Page 4: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/4.jpg)
WhatisClearwater?
• AnimplementaAonofIMSbuiltusingwebdevelopmentmethodstoprovidevoice,videoandmessagingservicestomillionsofusers.
• ArchitectedfromthegroundupformassivelyscalabledeploymentswithinvirtualizedpublicorprivateelasAccomputeclouds.
• Combinestheeconomicsofover-the-top(OTT)styleserviceplaYormswiththestandardscomplianceandreliabilityexpectedoftelco-gradecommunicaAonsnetworksoluAons.
• Webservices-orienteddesignmakesitidealforinstanAaAonwithinNFV.
• Providedasopen-source(ProjectClearwater)andcommerciallymaintainedandsupportedvariant(ClearwaterCore)
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|4
![Page 5: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/5.jpg)
TADHack&ARCFIRE“RINARumba”Challenge
• TADHacko Annualglobalhackathon(pluslocalminihackathons)
o Heldatsitesacrossworld,includingMadrid
o Generally,TelecomsapplicaAonfocus
• ARCFIRE“RINARumba”Challengeo “aTADHackapplicaAonworksacross3nodesconnectedthroughaRINAnetwork”
o IRATIandrliteimplementaAons–wechoserlite
• Teamof2overaweekend,madepossiblebyo Open-source
o Greatsupport
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|5
![Page 6: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/6.jpg)
WhyRINA?
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|6
![Page 7: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/7.jpg)
WhyRINA?
• Cleanslate–opportunitytoavoidneedforlotsof“work-arounds”inTCP/IP-basedsoluAono Servicediscovery–implementedthroughDNSSRV(orproprietary,e.g.servicemesh)
o Serverfailover–implementedatapplicaAonlevel
o AuthenAcaAonandencrypAon–usesTLS,butrequireslotsofapplicaAoninvolvement
o Head-of-lineblocking–solvedbySCTP(ifprotocolsupports),orusemulApleTCPconnecAons
o Policyenforcement–addressedbyfirewallingandIPToS/DSCP
o Mobility–e.g.asaddressedbyGTPinLTEEPC
• Networkmanagement–inparAcularinmulA-tenancysituaAons
• Performance(maybe)
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|7
![Page 8: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/8.jpg)
RINAEnhancements
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|8
![Page 9: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/9.jpg)
ProjectClearwaterArchitecture(pre-RINA)
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|9
• ProjectClearwater
• IMScore(+extras)
• Open-source(GPLv3)
![Page 10: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/10.jpg)
ProjectClearwaterArchitecture(HTTPoverRINA)
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|10
• HTTPCliento libcurl
o “openconnecAon”hook
o overrideforRINA
o recv->read
o send->write
• HTTPServero libevhtp
o builtonlibevent
o registerforRINAevents
![Page 11: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/11.jpg)
ProjectClearwaterArchitecture(SIPoverRINA)
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|11
• SIP(ClientandServer)o PJSIP
o pluggabletransports
o newRINAtransport
o recv->read
o send->write
• Sprouto Routeheaders
o transport=RINA
![Page 12: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/12.jpg)
PrototypeDeployment
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|12
• AmazonAWS
• EC2t2.small
• Ubuntu• rlite• rlite-shim-udp4
![Page 13: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/13.jpg)
ConfiguraNon
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|13
![Page 14: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/14.jpg)
HTTPTraffic
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|14
![Page 15: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/15.jpg)
SIP
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|15
![Page 16: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/16.jpg)
RINAFutures
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|16
![Page 17: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/17.jpg)
ProjectClearwater&ClearwaterCore
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|17
ProjectClearwaterOpensourceprojectFreelyavailable
Ac5velymaintained/supportedbycommunity
IMScore
(ParAal)HSS
XDMS
WebRTC
P-CSCF
Self-serviceportal
(Some)VoLTEMMTelTAS
RINA(prototype,viapatch)
ClearwaterCore
IMSCoreVNFHardened&testedbyMetaswitch
MaintainedandsupportedbyMetaswitch
I-CSCF
S-CSCF
BGCF
NotRINA(yet?)
![Page 18: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/18.jpg)
OtherProtocolsoverRINA
• HTTPandSIPcannowbeoverRINA• Clearwateralsospeaks
o Externalo ENUM(DNS)
o toresolveTELURIstoSIPURIs
o Cx/DiametertotheHSS
o toretrievesubscriberdata
o Rf/DiametertotheCDF
o forofflinebilling
o Internalo Memcachedprotocol
o fordistributedstorage
o ThriqtoCassandra
o forsubscriberprofiles
o etcdprotocol
o forclusteredconfiguraAon
• Wouldneedthird-partyRINANEs
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|18
![Page 19: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/19.jpg)
Fault-tolerantservers
• Clearwaterdividedintoo Statelesscomputeprocesses
o (Simple)statefuldatastoreprocesses
• Horizontallyscalable• Onfailureofacomputeprocess
o Routetoanother(idenAcal)process
• Onfailureofadatastoreprocesso Routetoabackup(replicated)process
• SupportedbyRINAarchitectureo …butnotyetimplementedinrlite
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|19
DatastoreProcessA
DatastoreProcessB
DatastoreProcessC
ComputeProcess1
ComputeProcess2
ComputeProcess3
Replicate
![Page 20: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/20.jpg)
RINAviaServiceMesh?
• Microservices-basedsoluAonsconsistofAersofnodeswithcommunicaAonsbetweenthem
• ThesecommunicaAonsneedtoo discoverthecorrectnodestotalkto
o load-balancebetweenthem
o retryonfailure,backoffonoverload
o besecure.
• Mostmicroservicearchitecturesuseaservicemeshproxyforthis,e.g.o Linkerd
o IsAo
o Conduit
• (Currently,ClearwaterhasthisfuncAonbuiltintotheapplicaAonsthemselves)
• RINA-enablingaservicemeshproxy(DAF?)wouldo givenewmicroservicesthebenefitsofRINA
o avoidneedingtomodifythecode
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|20
![Page 21: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/21.jpg)
InterposerApproach
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|21
![Page 22: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/22.jpg)
BSDSockets/POSIX
BSDSockets/POSIXProcess
Kernellibc SystemCallsBSDSockets/POSIXCalls
![Page 23: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/23.jpg)
BSDSockets/POSIX
BSDSockets/POSIXProcess
Kernellibc SystemCalls
gethostbyname
socket
connect
read/writeorsend/recv
![Page 24: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/24.jpg)
librina
RINAProcess Kernellibc SystemCalls
librina-api
rina_open
rina_register
rina_flow_alloc
read/write
![Page 25: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/25.jpg)
RINAInterposer
BSDSockets/POSIXProcess
Kernel
libc
RINAInterpose
r
librina-api
SystemCalls
gethostbyname
socket
connect
read/writeorsend/recv
IPsetupandread/write
RINAsetup
ConfigFiles
![Page 26: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/26.jpg)
PrototypeinacNon…
$ RINA_DIF=normal.DIF RINA_LOCAL_APPL=nc RINA_REMOTE_APPL=homestead-server LD_PRELOAD=$(pwd)/libinterposer.so nc 5.6.7.8 5678
socket(2, 1, 6)...
RINA_DIF=normal.DIF, RINA_LOCAL_APPL=nc => RINA interposer enabled!
rina_open()...
...returns 3
...returns 3
connect(3, 0xed5270, 16)...
RINA_DIF=normal.DIF, RINA_LOCAL_APPL=nc, RINA_REMOTE_APPL=homestead-server => RINA interposer enabled!
rina_flow_alloc("normal.DIF", "nc", "homestead-server", NULL, 0)...
...returns 0
...returns 0
![Page 27: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/27.jpg)
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|27
![Page 28: 4. Clearwater on RINAict-arcfire.eu/wp-content/uploads/2018/06/4.-Clearwater-on-RINA.pdf · Why RINA? • Clean slate – opportunity to avoid need for lots of “work-arounds”](https://reader034.vdocuments.mx/reader034/viewer/2022042420/5f3804fa6e04e353643ffe9d/html5/thumbnails/28.jpg)
Startslideshowandclickheretoupdatefooter
MetaswitchNetworks|ProprietaryandconfidenAal|©2018|28