I artikeln "", nÀr vi talade om arkitekturen för nÀtets NB-IoT-paketkÀrna, nÀmnde vi införandet av den nya SCEF-noden. I tredje delen förklarar vi vad detta Àr och varför det behövs?

Vid skapandet av M2M-tjÀnster stÀlls applikationsutvecklare inför följande frÄgor:
- hur man identifierar enheter;
- vilken algoritm som ska anvÀndas för verifiering och autentisering;
- vilken transportprotokoll som ska vÀljas för interaktion med enheter;
- hur man garanterat levererar data till enheterna;
- hur man organiserar och etablerar regler för datautbyte med dem;
- hur man övervakar och fÄr information om deras status i realtid;
- hur man samtidigt levererar data till en grupp av sina enheter;
- hur man samtidigt skickar data frÄn en enhet till flera kunder;
- hur man fÄr en enhetlig Ätkomst till ytterligare operatörtjÀnster för att hantera sin enhet.
För att lösa dessa problem mÄste man skapa proprietÀra, tekniskt "tunga" lösningar, vilket leder till ökad arbetsinsats och lÀngre time-to-market för tjÀnster. HÀr kommer den nya SCEF-noden till hjÀlp.
Enligt 3GPP:s definition Àr SCEF (service capability exposure function) en helt ny komponent i 3GPP-arkitekturen vars funktion Àr att sÀkert exponera tjÀnster och funktioner som tillhandahÄlls av 3GPP-nÀtverksgrÀnssnitt via API.
Enkelt uttryckt Ă€r SCEF en mellanhand mellan nĂ€tverket och applikationsservern (application server â AS), en enhetlig Ă„tkomstpunkt för operatörens tjĂ€nster för att hantera sin M2M-enhet i NB-IoT-nĂ€tverket via ett intuitivt och standardiserat API-grĂ€nssnitt.
SCEF döljer nÀtverksoperatörens komplexitet, vilket gör att applikationsutvecklare kan abstrahera sig frÄn de komplicerade, specifika interaktionsmekanismerna med enheter.
Genom att omvandla nÀtverksprotokoll till ett vÀlbekant API-grÀnssnitt för applikationsutvecklare underlÀttar SCEF skapandet av nya tjÀnster och minskar time-to-market. Den nya noden inkluderar ocksÄ funktioner för identifiering/autentisering av mobila enheter, faststÀllande av regler för datakommunikation mellan enheten och AS, vilket befriar applikationsutvecklarna frÄn att behöva implementera dessa funktioner pÄ sin sida och lÀgger ansvaret för dessa funktioner pÄ operatören.
SCEF hanterar de grÀnssnitt som krÀvs för autentisering och auktorisering av applikationsservrar, upprÀtthÄllande av UE-mobilitet, datatransmission och enhetsutlösning, tillgÄng till extra tjÀnster och operatörens nÀtverksfunktioner.
Det finns ett enda grÀnssnitt T8 riktat mot AS, API-grÀnssnittet (HTTP/JSON), som Àr standardiserat av 3GPP. Alla grÀnssnitt, med undantag av T8, fungerar pÄ DIAMETER-protokollet (se bild 1).

T6a â grĂ€nssnittet mellan SCEF och MME. AnvĂ€nds för procedurer för mobilitet/sessionhantering, överföring av non-IP-data, provisionering av övervakningsevent och mottagning av rapporter om dessa.
S6t â grĂ€nssnittet mellan SCEF och HSS. NödvĂ€ndig för autentisering av abonnenter, auktorisering av applikationsservrar, mottagning av kopplingar av external ID och IMSI/MSISDN, provisionering av övervakningsevent och mottagning av rapporter om dessa.
S6m/T4 â grĂ€nssnitt frĂ„n SCEF till HSS och SMS-C (i 3GPP definieras noden MTC-IWF, som anvĂ€nds för enhetsutlösning och SMS-överföring i NB-IoT-nĂ€t. Emellertid har alla implementeringar denna nods funktionalitet integrerad i SCEF, sĂ„ vi kommer att förenkla schemat genom att inte betrakta den separat). AnvĂ€nds för att fĂ„ ruttinformation för att skicka SMS och interagera med SMS-centralen.
T8 â API-grĂ€nssnitt för interaktion mellan SCEF och applikationsservrar. Genom detta grĂ€nssnitt sĂ€nds bĂ„de styrkommandon och trafik.
*det finns faktiskt fler grÀnssnitt, hÀr nÀmns endast de mest grundlÀggande. En fullstÀndig lista finns i 3GPP 23.682 (4.3.2 Lista över referenspunkter).
Nedan anges nyckelfunktioner och tjÀnster frÄn SCEF:
- bindning av SIM-kortsidentifikator (IMSI) till external ID;
- överföring av non-IP-trafik (Non-IP Data Delivery, NIDD);
- gruppoperationer med anvÀndning av external group ID;
- stöd för datatransmission med bekrÀftelse;
- buffring av MO (Mobile Originated) och MT (Mobile Terminated) data;
- autentisering och auktorisering av enheter och applikationsservrar;
- samtidig anvÀndning av data frÄn en UE av flera AS;
- stöd för speciella funktioner för övervakning av UE-status (MONTE â Monitoring Events);
- utlösning av enheter;
- sÀkerstÀllande av roaming av non-IP-data.
Den grundlÀggande principen för interaktionen mellan AS och SCEF baseras pÄ sÄ kallade prenumerationer. Vid behov av Ätkomst till en viss tjÀnst SCEF för en specifik UE, mÄste applikationsservern skapa en prenumeration genom att skicka en kommando till den specifika API för den begÀrda tjÀnsten och i svar fÄ ett unikt identifieringsnummer. DÀrefter kommer alla framtida ÄtgÀrder och kommunikationer med UE inom ramen för denna tjÀnst att ske med hjÀlp av detta identifieringsnummer.
Extern ID: universell identifierare för enheten
En av de viktigaste förÀndringarna i interaktionsschemat mellan AS och enheter vid arbete genom SCEF Àr införandet av en universell identifierare. Nu, istÀllet för telefonnumret (MSISDN) eller IP-adressen, som i det klassiska 2G/3G/LTE-nÀtverket, blir "external ID" identifieraren för enheten för applikationsservern. Den definieras av standarden i det format som Àr bekant för applikationsutvecklare: "@".
Utvecklare behöver inte lÀngre implementera autentiseringsalgoritmer för enheter, nÀtverket tar fullt ansvar för denna funktion. External ID kopplas till IMSI, och utvecklaren kan vara sÀker pÄ att nÀr de adresserar ett specifikt external ID, interagerar de med ett specifikt SIM-kort. Vid anvÀndning av ett SIM-kort uppstÄr en helt unik situation dÀr external ID entydigt identifierar den specifika enheten!
Dessutom kan flera external ID kopplas till ett enda IMSI, vilket skapar en Ànnu mer intressant situation dÀr external ID entydigt identifierar en specifik applikation som ansvarar för en viss tjÀnst pÄ en specifik enhet.
Det introduceras ocksĂ„ en gruppidentifierare â external group ID, som inkluderar en uppsĂ€ttning av individuella external ID. Nu kan AS med ett enda anrop till SCEF initiera gruppoperationer â skicka data eller kommandon till flera enheter som Ă€r sammanbundna i en enda logisk grupp.
PĂ„ grund av att övergĂ„ngen till den nya enhetsidentifieraren för AS inte kan ske omedelbart, har SCEF lĂ€mnat möjligheten för kommunikation mellan AS och UE genom standardnumret â MSISDN.
Ăverföring av icke-IP trafik (Non-IP Data Delivery, NIDD)
I NB-IoT, i samband med optimering av mekanismer för överföring av smĂ„ datamĂ€ngder, tillkom ett nytt typ av PDN utöver de redan existerande typerna som IPv4, IPv6 och IPv4v6 â non-IP. I detta fall tilldelas inte enheten (UE) en IP-adress, och data överförs utan att anvĂ€nda IP-protokollet. Trafik för sĂ„dana anslutningar kan routas pĂ„ tvĂ„ sĂ€tt: det klassiska sĂ€ttet â MME -> SGW -> PGW och vidare genom PtP-tunnel till AS (figur 2) eller med anvĂ€ndning av SCEF (figur 3).

Det klassiska sÀttet erbjuder inga sÀrskilda fördelar jÀmfört med IP-trafik, förutom en minskning av storleken pÄ de överförda paketen tack vare avsaknaden av IP-headers. AnvÀndning av SCEF öppnar dock en hel rad nya möjligheter och förenklar i hög grad interaktionsprocedurer med enheter.
Vid överföring av data via SCEF uppstÄr tvÄ mycket viktiga fördelar jÀmfört med klassisk IP-trafik:
Leverans av MT-trafik till enheten via extern ID
För att skicka ett meddelande till en klassisk IP-enhet mĂ„ste AS veta dess IP-adress. HĂ€r uppstĂ„r ett problem: eftersom enheten vid registreringen normalt fĂ„r en "grĂ„" IP-adress, kommunicerar den med applikationsservern som Ă€r belĂ€gen pĂ„ internet genom en NAT-nod, dĂ€r den grĂ„ adressen översĂ€tts till en offentlig. Kopplingen mellan den grĂ„ och den offentliga IP-adressen hĂ„lls under en begrĂ€nsad tid, beroende pĂ„ NAT-instĂ€llningarna. I genomsnitt för TCP eller UDP â högst fem minuter. Det vill sĂ€ga om det inte har skett nĂ„gon datakommunikation med denna enhet under 5 minuter, sĂ„ spricker kopplingen, och enheten blir otillgĂ€nglig via den offentliga adressen som sessionen med AS initierades. Det finns flera lösningar:
1. AnvÀnda heartbeat. Genom att en gÄng etablera en anslutning bör enheten utbyta paket med AS var nÄgra minuter och dÀrmed förhindra att NAT-översÀttningarna stÀngs av. Men hÀr kan det inte talas om nÄgon energieffektivitet.
2. Varje gĂ„ng, vid behov, kontrollera om det finns paket för enheten pĂ„ AS â skicka ett meddelande i uplink.
3. Skapa en privat APN (VRF), dÀr applikationsservern och enheterna finns i samma subnet, och tilldela statiska IP-adresser till enheterna. Det kommer att fungera, men det Àr nÀstan omöjligt att genomföra nÀr det handlar om en park med tusentals, tiotusentals enheter.
4. Slutligen, det mest lÀmpliga alternativet: att anvÀnda IPv6, eftersom det inte krÀver NAT, dÄ IPv6-adresser Àr direkt tillgÀngliga frÄn internet. Men Àven i detta fall, vid omregistrering av en enhet, kommer den att fÄ en ny IPv6-adress och blir inte lÀngre tillgÀnglig via den tidigare.
DÀrför mÄste man skicka ett initierande paket med enhetens identifierare till servern för att meddela den nya IP-adressen för enheten. Sedan vÀntar man pÄ bekrÀftelsepaketet frÄn AS, vilket ocksÄ pÄverkar energieffektiviteten.
Dessa metoder fungerar bra för 2G/3G/LTE-enheter, dÀr det inte stÀlls strikta krav pÄ enhetens autonomi, och dÀrmed finns det inga begrÀnsningar avseende tid i luften eller trafik. För NB-IoT fungerar dessa metoder inte pÄ grund av deras hög energiförbrukning.
SCEF löser detta problem: eftersom den enda identifieraren för enheten för AS Àr external ID, rÀcker det för AS att skicka ett datapaket till SCEF för det specifika external ID:t, medan SCEF tar hand om resten. Om enheten Àr i energisparlÀge PSM eller eDRX kommer data att buffras och levereras nÀr enheten blir tillgÀnglig. Om enheten Àr tillgÀnglig för trafik, kommer data att levereras omedelbart. Detta gÀller Àven för styrkommandon.
NÀr som helst kan AS Äterkalla det buffrade meddelandet till UE eller ersÀtta det med ett nytt.
Buffringsmekanismen kan ocksÄ tillÀmpas vid överföring av MO-data frÄn UE till AS. Om SCEF inte kunde leverera data till AS omedelbart, till exempel om servicearbete pÄgÄr pÄ AS-servrarna, kommer dessa paket att buffras och garanterat levereras sÄ snart AS blir tillgÀnglig.
Som nÀmnts ovan regleras Ätkomsten till en viss tjÀnst och UE för AS (och NIDD Àr en tjÀnst) av regler och politik pÄ SCEF-sidan, vilket möjliggör en unik möjlighet för samtidig anvÀndning av data frÄn en UE av flera AS. Det vill sÀga, om flera AS har anmÀlt sig till en UE, kommer SCEF att distribuera data till alla registrerade AS efter att ha mottagit information frÄn UE. Detta passar bra för fall dÀr skaparen av en park med specialiserade enheter delar data mellan flera kunder. Till exempel, genom att skapa ett nÀtverk av vÀderstationer som arbetar pÄ NB-IoT kan man sÀlja data frÄn dem till mÄnga tjÀnster samtidigt.
Mekanism för garanterad meddelandeleverans
Reliable Data Service â mekanism för garanterad leverans av MO- och MT-meddelanden utan anvĂ€ndning av specialiserade algoritmer pĂ„ protokollnivĂ„, som till exempel handskakning i TCP. Det fungerar genom att inkludera en sĂ€rskild flagga i meddelandets tjĂ€nstedel under utbytet mellan UE och SCEF. Att aktivera eller inte aktivera denna mekanism vid överföring av trafik bestĂ€ms av AS.
Om mekanismen Àr aktiverad inkluderar UE, vid behov av garanterad leverans av MO-trafik, en sÀrskild flagga i paketets tjÀnstedel. Vid mottagande av ett sÄdant paket svarar SCEF UE med en bekrÀftelse. Om UE inte mottar paketet med bekrÀftelsen kommer paketet mot SCEF att skickas om. Detsamma gÀller för MT-trafik.
Ăvervakning av enheter (monitoring events- MONTE)
Som nÀmnts ovan inkluderar SCEF:s funktionalitet förutom andra saker funktioner för övervakning av UE:s tillstÄnd, sÄ kallad övervakning av enheter. Och medan nya identifierare och mekanismer för dataöverföring Àr optimeringar (Àven om de Àr mycket allvarliga) av redan befintliga procedurer, Àr MONTE en helt ny funktionalitet som inte Àr tillgÀnglig i 2G/3G/LTE-nÀt. MONTE gör det möjligt för AS att övervaka parametrar som enhetens anslutningsstatus, kommunikationsbarhet, plats, roamingstatus etc. Mer om varje Àmne kommer vi att berÀtta senare.
Om det Àr nödvÀndigt att aktivera nÄgon övervakning för en enhet eller en grupp enheter anmÀler sig AS till den aktuella tjÀnsten genom att skicka ett kommando till SCEF via motsvarande MONTE API, vilket inkluderar parametrar som external Id eller external group ID, identifierare för AS, typ av övervakning, antal rapporter som AS vill ta emot. Om AS Àr auktoriserad för att genomföra förfrÄgan provisionerar SCEF hÀndelsen beroende pÄ typ pÄ HSS eller MME (se bild 4). Vid hÀndelsens intrÀffande genererar MME eller HSS en rapport till SCEF, som skickar den vidare till AS.
Provisionering av alla hĂ€ndelser, med undantag för "Antal UE:er nĂ€rvarande i ett geografiskt omrĂ„de", sker via HSS. De tvĂ„ hĂ€ndelserna "Ăndring av IMSI-IMEI-förening" och "Roamingstatus" övervakas direkt pĂ„ HSS, övriga provisionerar HSS till MME.
HÀndelser kan vara bÄde engÄngs- och periodiska och bestÀms av deras typ.

Rapportering av hÀndelser sker genom en nod som spÄrar hÀndelsen direkt till SCEF (fig. 5).

Viktigt att notera: övervakningshÀndelser kan tillÀmpas bÄde pÄ non-IP-enheter som Àr anslutna via SCEF och pÄ IP-enheter som överför data pÄ traditionellt sÀtt via MME-SGW-PGW.
LÄt oss titta nÀrmare pÄ varje övervakningshÀndelse:
Förlust av anslutning â informerar AS om att UE inte lĂ€ngre Ă€r tillgĂ€nglig för varken datatrafik eller signalutbyte. HĂ€ndelsen intrĂ€ffar nĂ€r "mobile reachability timer" för UE löper ut pĂ„ MME. I förfrĂ„gan om denna typ av övervakning kan AS ange sitt vĂ€rde för "Maximum Detection Time" â om UE inte visar nĂ„gon aktivitet under denna tid kommer AS att informeras om att UE Ă€r otillgĂ€nglig med angiven orsak. HĂ€ndelsen intrĂ€ffar ocksĂ„ om UE av nĂ„gon anledning har tvingats bort av nĂ€tverket.
* För att nĂ€tverket ska veta att enheten fortfarande Ă€r tillgĂ€nglig initierar den periodiskt en uppdateringsprocedur â Tracking Area Update (TAU). Frekvensen för denna procedur stĂ€lls in av nĂ€tverket genom en timer T3412 eller (T3412_extended i fallet med PSM), vars vĂ€rde överförs till enheten under Attach-proceduren eller nĂ€sta TAU. Mobile reachability timer Ă€r vanligtvis nĂ„gra minuter lĂ€ngre Ă€n T3412. Om UE inte gör TAU innan "Mobile reachability timer" löper ut anser nĂ€tverket att den inte lĂ€ngre Ă€r tillgĂ€nglig.
UE tillgĂ€nglighet â Visar nĂ€r UE blir tillgĂ€nglig för DL-trafik eller SMS. Detta intrĂ€ffar nĂ€r UE blir tillgĂ€nglig för paging (för UE i lĂ€ge eDRX) eller nĂ€r UE gĂ„r in i lĂ€ge ECM-CONNECTED (för UE i lĂ€ge PSM eller eDRX), d.v.s. gör TAU eller skickar en uplink-paket.
Platsrapportering â Denna typ av övervakningshĂ€ndelser gör det möjligt för AS att begĂ€ra data om UE:s plats. Antingen kan den aktuella platsen (Current Location) begĂ€ras, eller den senaste kĂ€nda platsen (Last Known Location, som bestĂ€ms av cell-ID frĂ„n vilket enheten gjorde TAU eller överförde trafik senast), vilket Ă€r relevant för enheter som befinner sig i energisparlĂ€gen PSM eller eDRX. För "Current Location" kan AS begĂ€ra repetitiva rapporter, dĂ€r MME informerar AS varje gĂ„ng enheten Ă€ndrar plats.
Ăndring av IMSI-IMEI-association â NĂ€r detta hĂ€ndelse aktiveras börjar SCEF att övervaka förĂ€ndringar i kopplingen mellan IMSI (SIM-kortsidentifierare) och IMEI (enhetsidentifierare). Vid hĂ€ndelsens intrĂ€ffande informeras AS. Kan anvĂ€ndas för automatisk Ă„terkoppling av extern ID till enheten under planerade byten eller fungera som identifierare för stöld av en enhet.
Roaming-status â denna typ av övervakning anvĂ€nds av AS för att avgöra om UE befinner sig i sitt hemmannĂ€t eller i en roamingpartners nĂ€t. Optionellt kan PLMN (Public Land Mobile Network) frĂ„n operatören dĂ€r enheten Ă€r registrerad sĂ€ndas.
Kommunikationsfel â Denna typ av övervakning informerar AS om fel i kommunikationen med enheten, baserat pĂ„ orsakerna till anslutningsbrott (release cause code) mottagna frĂ„n radiotillgĂ„ngsnĂ€tverket (S1-AP-protokollet). Denna hĂ€ndelse kan hjĂ€lpa att avgöra varför kommunikationsfelet intrĂ€ffade â pĂ„ grund av problem i nĂ€tverket, exempelvis vid överbelastning av eNodeb (Radio resources not available) eller pĂ„ grund av ett fel i sjĂ€lva enheten (Radio Connection With UE Lost).
TillgĂ€nglighet efter DDN-fel â denna hĂ€ndelse informerar AS att enheten har blivit tillgĂ€nglig efter ett kommunikationsfel. Kan anvĂ€ndas nĂ€r det Ă€r nödvĂ€ndigt att skicka data till enheten, men tidigare försök misslyckades eftersom UE inte svarade pĂ„ nĂ€tverksnotifikationen (paging), och data inte levererades. Om denna typ av övervakning begĂ€rdes för UE, sĂ„ snart enheten initierar en inkommande kommunikation, gör TAU eller skickar data i uplink, kommer AS att informeras om att enheten blivit tillgĂ€nglig. Eftersom DDN (downlink data notification) processen fungerar mellan MME och S/P-GW, Ă€r denna typ av övervakning endast tillgĂ€nglig för IP-enheter.
PDN-anslutningsstatus â informerar AS om förĂ€ndringen av enhetens status (PDN-anslutningsstatus) â anslutning (aktivering av PDN) eller frĂ„nkoppling (borttagning av PDN). Detta kan anvĂ€ndas av AS för att initiera kommunikation med UE, eller vice versa, för att förstĂ„ att kommunikationen inte lĂ€ngre Ă€r möjlig. Denna typ av övervakning Ă€r tillgĂ€nglig för IP- och non-IP-enheter.
Antal UEs nĂ€rvarande i ett geografiskt omrĂ„de â denna typ av övervakning anvĂ€nds av AS för att avgöra antalet UE i ett specifikt geografiskt omrĂ„de.
Utmaning av enheter (Device triggering)
I 2G/3G-nĂ€tverk var processen för nĂ€tregistrering tvĂ„stegslös: först registrerades enheten i SGSN (attach-procedur), sedan aktiverade den PDP-kontakt â anslutningen till paketgatewayen (GGSN) nĂ€r det behövdes för att överföra data. I 3G-nĂ€tverk gick dessa tvĂ„ procedurer efter varandra, dvs. enheten vĂ€ntade inte pĂ„ att behöva överföra data utan aktiverade PDP direkt efter att attach-proceduren slutförts. I LTE har dessa tvĂ„ procedurer kombinerats till en, vilket innebĂ€r att enheten begĂ€rde aktivering av PDN-anslutning (motsvarigheten till PDP i 2G/3G) direkt vid attach genom eNodeB till MME-SGW-PGW.
I NB-IoT definieras en anslutningsmetod som "attach without PDN", vilket innebÀr att UE gör en attach utan att upprÀtta PDN-anslutning. I detta fall Àr den inte tillgÀnglig för trafiköverföring och kan endast ta emot eller skicka SMS. För att överföra en aktiveringskommandon för PDN och anslutning till AS till en sÄdan enhet har "Device triggering"-funktionen utvecklats.
Vid mottagandet av en anslutning frÄn AS, initierar SCEF genom SMS-centret att skicka en styrande SMS till enheten. Vid mottagandet av SMS aktiverar enheten PDN och ansluter till AS för att ta emot kommande instruktioner eller överföra data.
Det kan hÀnda att prenumerationen pÄ enheten hos SCEF löper ut. Ja, prenumerationen har en livslÀngd som faststÀlls av operatören eller överenskommelser med AS. Vid utgÄngen av denna pÄ MME kommer PDN att avaktiveras och enheten blir otillgÀnglig för AS. HÀr kan ocksÄ "Device triggering"-funktionen vara till hjÀlp. NÀr nya data tas emot frÄn AS kommer SCEF att kontrollera statusen för enhetens anslutning och leverera data via SMS-kanalen.
Slutsats
SCEF-funktionen begrÀnsas givetvis inte till de ovan nÀmnda tjÀnsterna utan utvecklas och expanderar stÀndigt. För tillfÀllet har mer Àn ett dussin tjÀnster standardiserats för SCEF. Nu har vi bara berört de grundlÀggande och efterfrÄgade funktionerna frÄn utvecklare, medan vi kommer att prata om de andra i framtida artiklar.
FrÄgan uppstÄr genast, hur kan man fÄ testÄtkomst till denna "mirakulösa" nod för förhandsgranskning och avstÀmning av möjliga fall? Allt Àr mycket enkelt. Varje utvecklare kan skicka en begÀran till iot.info@mts.ru, dÀr det Àr tillrÀckligt att ange syftet med anslutningen, en beskrivning av det möjliga fallet och kontaktinformation för kommunikation.
Vi ses snart igen!
Författare:
- senior expert inom konvergerande lösningar och multimedietjÀnster Sergey Novikov ,
- expert inom konvergerande lösningar och multimedietjÀnster Aleksey Lapshin
KĂ€lla: habr.com
