28
Clearwater on RINA Ma# Williams Metaswitch Networks 22 February 201 Metaswitch Networks | Proprietary and confidenAal | © 2018 | 1

4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

ClearwateronRINA

Ma#WilliamsMetaswitchNetworks

22February2018

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|1

Page 2: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

Agenda

•  Background•  WhyRINA?

•  RINAEnhancements

•  RINAFutures•  InterposerApproach(ifAme)

•  PleaseaskquesAons!

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|2

Page 3: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

Background

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|3

Page 4: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

WhyRINA?

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|6

Page 7: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

RINAEnhancements

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|8

Page 9: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

ProjectClearwaterArchitecture(pre-RINA)

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|9

•  ProjectClearwater

•  IMScore(+extras)

•  Open-source(GPLv3)

Page 10: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

PrototypeDeployment

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|12

•  AmazonAWS

•  EC2t2.small

•  Ubuntu•  rlite•  rlite-shim-udp4

Page 13: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

ConfiguraNon

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|13

Page 14: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

HTTPTraffic

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|14

Page 15: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

SIP

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|15

Page 16: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

RINAFutures

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|16

Page 17: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

InterposerApproach

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|21

Page 22: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

BSDSockets/POSIX

BSDSockets/POSIXProcess

Kernellibc SystemCallsBSDSockets/POSIXCalls

Page 23: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

BSDSockets/POSIX

BSDSockets/POSIXProcess

Kernellibc SystemCalls

gethostbyname

socket

connect

read/writeorsend/recv

Page 24: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

librina

RINAProcess Kernellibc SystemCalls

librina-api

rina_open

rina_register

rina_flow_alloc

read/write

Page 25: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

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 RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|27

Page 28: 4. Clearwater on RINA• Microservices-based soluAons consist of Aers of nodes with communicaons between them • These communicaons need to o discover the correct nodes to talk to

Startslideshowandclickheretoupdatefooter

MetaswitchNetworks|ProprietaryandconfidenAal|©2018|28