OAI EPC in Production Networks - OpenAirInterface
Transcript of OAI EPC in Production Networks - OpenAirInterface
Context
Facebookco-foundedtheTelecomInfraProject(TIP)in2016(www.telecominfraproject.com)◦ TheTelecomInfraProject(TIP)isanengineering-focusedinitiativedrivenbyoperators,infrastructureproviders,systemintegrators,andothertechnologycompaniesthataimtoreimaginethetraditionalapproachtobuildinganddeployingtelecomnetworkinfrastructure.
◦ TIPwillexplorenewapproachesandtechnologiesacrossthreeinitialfocusareas:access,backhaul,andcoreandmanagement.Theprojectgroupswithintheseareaswillleveragetheuniqueengineeringandoperationalexpertiseofeachmember.Theywillfocusondevelopingnewtechnologiesandexploringnewapproachestodeployinginbothdevelopedandemergingmarkets.
◦ Thiswillnotbeasmallundertakingandnosinglecompanycandoitalone.Opennessandcollaborationcanhelpeveryonemovefasterinunlockingnewefficienciesandinnovations,asproventhroughotherinitiativessuchasthe OpenComputeProject
OAIinTIP?
TIPaslegalframeworkallowingcompaniesto
participateandcollaborateontelecominfrastructure
innovations
TIPprovidingtoolingtocollaborate:generalcommunication,collaborationon
documentation,SWandHWprojects
Openreferenceimplementations:SWand
HW,fullyfunctionalreferencestobaseinnovationon
TIPcommunitylabs:spacestomeetphysically,innovatetogether,testand
enjoythesuccess
TIPprovidesaplacewhereopeninnovationontelecominfrastructurehappens
Fromreferenceimplementationtoproductionreadyde-factostandardimplementation
1991(September):Firstversionofthe Linuxkernel releasedtotheInternet
mid-1990s:LinuxrunsonclustercomputersatNASAandelsewhere
late1990s: Dell, IBM and Hewlett-Packard offercommercialsupportforLinuxontheirhardware; RedHat and VALinux have initialpublicofferings
2001(secondquarter):Linuxserverunitshipmentsrecordeda15%annualgrowthrate
2004:Linuxshippedonapproximately50%oftheworldwide serverblade units,and20%ofallrack-optimized servers
https://www.wikiwand.com/en/Linux_adoption
CriticaldomainsforproductiongradeOSS
CodeMaintenance:
Bugfixing
Stability
Performance
CodeEvolution:ArchitectureRefactoringto
ImprovePerformance
ImproveStability
TTMfornewfeatures
Functionality
Features
Roadmaps
Releases
Solution
Manageability
PackagingandDeployment
Documentation
Instrumentation
Completenessand
Correctness
Continuousbuild
Unittests
Interoperabilitytestingresults
Responsivemaintainerecosystemactivelymanagingthecodebase:
DrivingBroaderAdoption
Maintainerecosystemcoveringcriticaldomainsofproductionsoftware◦ Bugfixing,Stability,Performance◦ Features,roadmaps,releasemanagement◦ Architecture:Refactoringtoimproveperformance,stabilityandTTMfornewfeatures◦ Manageability,deployment,instrumentation◦ Interoperabilitytestingresults
Optionalforcommercialadoption◦ SupportecosystemofferingSLAs
Wherearewetoday?◦ PowerfulGitlab basedsourcecode repositoryandwikipages– enterpriseeditionneeded?
◦ CodeReviewflows◦ RoadmapsandFeatures
◦ Roomformoretransparencyonroadmapsandcodereviewprocess
Whathavewebeenlookingintosofar
FocusisCN,noteNBstack(currently).AlsonoworkonmajorenhancementsinthedirectionHetNet/multiRAT,interoperability,interconnectto2G/3GPSandCSdomains.
Robustness:cornercases(couldbeconsideredasfeatures),like◦ HandlingforthescenariowhenIMSIisnotpresentinHSS◦ DuplicateSession/Contextduetoincompletecleanup◦ FailifMTUcannotbereadcorrectly◦ Removehashtableinsertfromemm_ctx_set_valid_imsi◦ Fixfree_wrappertoactuallysettheunderlyingpointertoNULL◦ HandleSCTPreset◦ Clearouts11stateaftersessiondelete
Stability:memorymanagementandsharedobjectaccess
Listofsubmittedpatches• ServiceRequest• PeriodicTrackingAreaUpdatew/oActiveFlagandwithActiveFlag• MMEUEContext- KeyManagement• MoveallocationofMME_UE_S1AP_IDfromNAStoMME_APPmodule• HandlingofS1AP:InitialUEmessagewhenitcomeswithS-TMSI• HandlingtheUEContextReleaseRequestwithCauseUserInactivity• UEContextReleaseRequestProcedure- Enhancements,cleanupandfixes• SupportforMobileReachabilityTimerandImplicitDetachtimer• SupportforImplicitDetach• EPCStatistics– NewStats• S1APUEcontextreleaseimplicitly• ERRORIND- Gracefulhandling• UEContextReleaseProcedureGuardTimerinS1AP• T3450timerexpiry- Retx ofAttachAccept• T3460Timerexpiry- Retx ofSMCandAUTHrequestwhicheverisapplicable• FixforMMEsegmentationfaultduringrepeatedUEAttach/DetachusingGUTI• RemovalofassertinthecodeforanyincomingS1APinitiatingmessagethatisnot
handledcurrently• DLandULAMBRinInitialcontextsetupRequest– AlignitwithAPN-AMBRvalue
sentinNASmessage• LocalcleanupandUEcontextreleaseprocedureaftersendingRejectmessagetoUE
NAS.• UEIPaddressallocationFailure:Attach+PDNConnectivityReject• UEnotknowninHSS/Subscriber:AttachReject- SessionCleanup• MMECrashduringencodingofAttachReject+PDNConnectivityRejectencoding• PDNConnectivityRequest- OptionalIEDeviceProperties- DecodeFailure(LTEUE
SamsungGalaxyS7phone• FixforAuthenticaion failurewithcausesyncfailure
• AuthenticationFailure:S1Signalingrelease,S1,MMEandNAScontextrelease
• HandlingforthescenariowhenIMSIisnotpresentinHSS• DuplicateSession/Contextduetoincompletecleanup• FailifMTUcannotbereadcorrectly• Removehashtableinsertfromemm_ctx_set_valid_imsi• Fixfree_wrapper toactuallysettheunderlyingpointertoNULL• HandleSCTPreset• Clearouts11stateaftersessiondelete• Fixforheapoverflowcrash• Fixdoublefreeofemm_data args pointer• FixSCTPhandlinginMMEpreventingdoublefrees• FixEMMintegrityprotection• EnhanceDetachbygenerating“UEContextRelease”messageafterDetach-Accept• PreventstackoverwritewhileaccessingIMSI• CleanupUE-initiateddetach(non-switchoff /normal)scenario• RemoveSGWcheckforoptional“address_allocation_via_nas_signalling”• SendUEsecuritycapabilityinInitialContextSetup• Attachresultmessagenowdependsonattachrequesttype."EPS-only”• succeedsasnormal,withEPS-onlyattach.CombinedEPS/IMSIsucceedswithEPS-only
attachandanEMMcauseIE."• IPv4AllocationmechanismdefaultstoviaNASsignalingintheabsenceofUE
preferenceinPCO• HandlingUE-initiatedidledetach• CachingUEradiocapabilitiesdatainMMEtobeusedinsubsequentInitialcontext
setuprequestmessagetooptimizeradioresourceusageb/weNB andUE• Fixforue radiocapfornotenoughbufferspace(UEswithinterRATcapabilities)• Misc cleanupandfixesrelatedtocleanupofEMMandESMcontextduringUEcontext
deletion
BranchDetailsFixesavailableinhttps://gitlab.eurecom.fr/oai/openair-cn/commits/fixed_broadband branch.Thiswasbranched-offinSeptember2016.
Gettingmergedinhttps://gitlab.eurecom.fr/oai/openair-cn/commits/integ_broadband
Stability/Robustness– 32UEssimultaneoussignalinganddata
[OAI- Enhancement]MemoryLeaks
[OAIEPCFeature]IntegrationofOVSkernelmodule- Replacingtheosmocom GTP-UkernelmodulewithOVSkernelmodule
[OAIEPCFeature]PagingforDLdataarrivalfortheUEinidlemode(noS1-Utunnel)
[OAIEPCFeature]SupportforGTP-Uechorequest/response
[OAIEPCFeature]SupportforGTP-UErrorIndication(incorrectTE-ID)
[OAIEPCFeature]SupportforHandlingofeNBReset
[OAI- Refactor]emm_proc_attach_request()waytocomplex/long/nested- Restructureitandenhancehandlingofattachrequestwithsamecontent
[OAIEPCFeature]S1APindicationofnon-deliveredNASPDU
[OAIEPCFeature]GuardTimerinNASforauth_info_request/rsp (S6amessage)procedurewithHSSoverS6ainterface
====================================================================
*BLUE– Wish-listfeatures(notcommitted)
[OAIEPCFeature]AddSupportforsendingEMMInformationmessagejustaftercompletionofsuccessfulAttach.[OAIEPCFeature]HandlingofEMMstatusmessage[OAIEPCFeature] AddsupportinOAIEPCforMultiplePDNconnections[OAIEPCFeature]AddsupportinOAIEPCforMultipleBearersperUEperPDN.[OAIEPCFeature]Initialcontextsetup- Timerexpiryandfailure[OAIEPCFeature]MME_UE_S1AP_ID-Management(allocation/free)- Newalgorithm[OAIEnhancement]TE-IDforGTP-Callocation- NewAlgorithm- AtpresentUEcontextaddressisusedasS11GTP-CTE-IDandthismaybeoneofthepotentialreasonforinstabilityincaseofduplicatesessioncreation[OAIEnhancement]DynamicallyallocatespaceforUEradiocap[OAIEPCFeature]S1APErrorIndication– Properhandling[OAIFeature]Detach(Networkinitiated)================================================================*BLUE– Wish-listfeatures(notcommitted)
*GREEN– AssumedthatthesearealreadysupportedinlatestdevelopbranchofOAI(notplannedtoimplement)
[OAIEnhancement]LoggingdoesnotworkinOAIduringinitialization[OAIInvestigate]InvestigatetheITTImessageinterfacenotworkingwhenS11interfaceisnotspecified.Andfixit.[OAIEnhancement]Cleanupoldgtp tunnelwhenduplicatedgtp tunnelsetupfound[OAIInvestigate]HashtableimplementationinOAIisveryerrorprone[OAIEnhancement]Removereferencesto_imsi andalwaysuse_imsi64invarioushash-tablesMISCCrashes;◦ [Bug]SPGWcrashduringsessioncreation(duplicateSession)◦ [Bug]MMEcrashduringmulti-UEconnect/data/disconnectinloop[OAI–
[OAIInvestigate]InterfaceisbasedonGTPV1(GTP-C)– Thisis3rdpartyOSScodewithinOAI(nwEPC)andhasbasicsupportforGTP-C.Doesnottakecareoferrorcases.Needreviewandcleanupofbasicmessages================================================================*BLUE– Wish-listfeatures(notcommitted)
OtherOpportunities
CollapsedeNB – WiFi routertypeeNB integratingminimalcorenetwork(eventuallyincludesomeoftheeNB++sildes)
Authenticationasplugin– e2eauthenticationwithoutSIMcards
Metering,DPI,PolicywithSDNframeworks
SDNFrameworksinTelecomInfra
CoreNetworkOpportunities◦ Metering,QoS withOVS◦ Re-ArchitectingEPCwithmorestrictsplitofcontrolanduserplane
RANopportunities◦ Resource/SpectrummanagementviaSDNcontroller◦ Hierarchicalcontrollerarchitecture
Node-basedVerticalvs.Function-basedHorizontalArchitecture
17
• Mobiletransactionispartiallyprocessedateachnode• Rigidassemblyofindividualnodesleadstoscaling,planning/
modeling,andmonitoringchallenges• Repetitiveencap/decap atnodeboundaries,statereplication
ControlPlane
SessionState
DataPlane
MME HSS PGWSGW RegroupedArchitecture
Interface
Forwardingfunctions
Protocolhandling
Eventloop
Sessioncontext
Statemachine
InterfaceEncap/Decap
Protocolhandling
Eventloop
Sessioncontext
Mobilitycontext
Statemachine
Protocolhandling
Sessioncontext
Mobilitycontext
Forwardingfunctions
Protocolhandling
Eventloop
Sessioncontext
Statemachine
• Breaktheboundaryofthenodes…thereisnoMMEorS/P-GWanymore!
• Inter-nodeencap/decap becomesunnecessary• Nowweareleftwithfunctionsonly• Removetheduplicatefunctions• Extractcommonfunctions