OpenAirCN-5G Project Implementation Status and Current Activities · 2019-12-11 · 1 OpenAirCN-5G...

Post on 14-Aug-2020

0 views 0 download

Transcript of OpenAirCN-5G Project Implementation Status and Current Activities · 2019-12-11 · 1 OpenAirCN-5G...

1

OpenAirCN-5G Project Implementation Status and Current Activities

Dincer BEKEN, BLACKNED

Olivier CHOISY, B<>COM

Keliang DU, BUPT

Tien Thinh NGUYEN, EURECOM

Luhan WANG, BUPT

contact@openairinterface.org contact@opensource5g.org wluhan@bupt.edu.cn

2

Outline

Introduction to OAI CN 5G Project

Introduction to 5G Core Network

Roadmap

oArchitecture Overview

oHigh Level Functions

Implementation Status of 5GC Components

A Prototype Implementation (SMF)

3

Introduction

OAI CN-5G project To provide an open source implementation of 5G Core Network (5GC) as

specified by 3GPP (SA)

Main partners

◦ Blackned, Bupt, B-Com, Eurecom, and ng4T

◦ License

◦ 5G Core network license is OAI Public License v1.1

◦ Contribution is opened to any people who signs the license agreement

Project management

◦ Synchro meeting every 2 weeks

◦ Trello available

4

Outline

Introduction to OAI CN 5G Project

Introduction to 5G Core Network oArchitecture Overview

oHigh Level Functions

Roadmap

Implementation Status of 5GC Components

A Prototype Implementation (SMF)

5

5G - Service Trends and Usage Scenarios

Source: ETSI Source: ITU

6

Service-Oriented 5G Core Network

Next Generation Network: To meet the needs of the range of services envisioned for 5G, with diverse performance requirements, across a wide variety of industries: Flexible, Scalable, and Customizable

Service Based Architecture

◦ support a modularized service, flexible and adaptable, with fast deployment cycles and updates for launching services on demand in the network

◦ a set of network functions (NFs) providing services to other authorized NFs to access their services

7

5G System Architecture

Access and Mobility Management Function (AMF)

Session Management Function (SMF)

User plane function (UPF)

Policy Control Function (PCF)

Authentication Server Function (AUSF)

Unified Data Management (UDM)

Network Exposure function (NEF)

NF Repository function (NRF)

Network Slice Selection Function (NSSF)

Service based interfaces (SBI): Namf, Nsmf, Nudm, Nnrf, Nnssf, Nausf, Nnef, Nsmsf, Nudr, Npcf 5G System Architecture (3GPP TS23.501)

8

5G System Architecture: From 4G to 5G Networks

MME: Mobility Management Entity HSS: Home Subscriber Server SGW: Serving Gateway

PGW: Packet Data Network (PDN) Gateway PCRF: Policy and Charging Rules Function

CUPS: Control and User Plane Separation

9

5G Core Network Functions

High level features

Network Access Control o Network selection, Identification and authentication, Authorization, Access control and barring,

Policy control, Lawful Interception

Registration and Connection Management

o Registration Management, Connection Management, UE Mobility

Session Management

User Plane Management

Network Slicing

o UE IP Address Management

o CN Tunnel Info Management

o Traffic Detection

o UP Tunnel Management

o Support SSC mode 1,2,3

o Support different PDU Session Type

o Support for Local Area Data Network

10

Service-based Architecture - NF Service Framework

Protocol stack

◦ HTTPv2: Mandatory Http custom header: 3gpp-sbi-message-priority

Network Function (NF) Service Framework ◦ Interactions between NF Service Consumer and NF

Service Producer: Request-Response, Subscribe-Notify

◦ NF service authorization

◦ NF service registration, de-registration

◦ NF service discovery

SBI protocol stack

11

Service-based Architecture - NF Service Framework

HTTP methods - Request/Response communication (CRUD)

◦ Create/Read/Update/Delete a resource

Reade a resource using HTTP GET Create a resource using HTTP POST

Update a resource using HTTP PUT Delete a resource using HTTP DELETE

12

Service-based Architecture - NF Service Framework

HTTP methods - Subscribe/Notify communication ◦ Notifications will be sent to NF Service Consumer when the change/event occurs at

the Service Provider (Provider ~ Client, Consumer ~ Server)

◦ Create/Modify/Delete subscriptions using HTTP POST, PUT/PATCH, DELETE

Create a subscription using HTTP POST Send a notification using HTTP POST

Modify a subscription using HTTP PUT Delete a subscription using HTTP DELETE

13

5G System Architecture: Scope of the Implementation

Mandatory

Access and Mobility Management Function (AMF)

Session Management Function (SMF)

User plane function (UPF)

Others

NF Repository function (NRF)

Authentication Server Function (AUSF)

Unified Data Management (UDM)

Policy Control Function (PCF)

Network Exposure function (NEF)

Network Slice Selection Function (NSSF)

Service based interfaces (SBI): Namf, Nsmf, Nudm, Nnrf, Nnssf, Nausf, Nnef, Nsmsf, Nudr, Npcf

5G System Architecture (3GPP TS23.501)

14

Outline

Introduction to OAI CN 5G Project

Introduction to 5G Core Network oArchitecture Overview

oHigh Level Functions

Implementation Status of 5GC Components

Roadmap

A Prototype Implementation (SMF)

15

Overall Implementation Status

Phase 1 (on-going): To deploy a simple workflow e.g., UE registration/de-registration processes (connection and registration procedures )

◦ AMF, SMF (+ UDM/AUSF)

Phase 2 (on-going): Support PDU session-related procedures: create/modify/release PDU session (session management procedures)

◦ AMF, SMF, UPF, UDM/AUSF

Phase 3: Support further functionalities e.g., paging, mobility, Ipv6, authentication/authorization by DNN, multiple PDU session anchors, etc.

Main components: AMF, SMF, UPF, UDM/AUSF, NRF (+gNB, UE)

◦ Objective: testing with CI/CD (with ng4T tester)

16

OAI EPC - Current Implementation Status

OAI Core network source code

◦ https://github.com/OPENAIRINTERFACE/openair-cn

◦ https://github.com/OPENAIRINTERFACE/openair-cn-cups

MME

◦ Written in C

◦ Separation between EMM and ESM

◦ Stabilization:

◦ Intensively tested with ng4T tester (including burst attaches, out of coverage scenarios with real eNBs, etc.)

◦ Valgrind testing: Fixed all known memory leaks

New SPGW (CUPS)

◦ Written entirely in C++

◦ Easy-to-use

HSS (contributed by Sprint)

◦ Rel14 compliant based on previous OAI HSS.

◦ Written in C++

17

5GC Components: AMF Implementation Status

Main partners: Blackned, Bupt, B-com, Eurecom

Git repository: https://gitlab.eurecom.fr/oai/oai-cn5g-amf

Programming language: C/C++

Current status: under development

◦ Reuse the code from the latest OAI MME (https://github.com/OPENAIRINTERFACE/openair-cn/tree/bearer_mod)

◦ SBI interface implementation (done)

◦ Integrate with new NGAP/NAS libraries (https://github.com/OPENAIRINTERFACE/openair5g-cn)

◦ Libnas (https://github.com/OPENAIRINTERFACE/oai-libnascodec-cpp)

◦ Library for coding/decoding NAS messages from UE

◦ Libngapcodec (https://github.com/OPENAIRINTERFACE/oai-libngapcodec)

◦ Library for coding/decoding values of protocol NGAP

◦ Based on code generated by modifier asn1c generator (https://github.com/velichkov/asn1c)

◦ Libngmessage

◦ Implements higher functions to manipulate NGAP messages

To be testbed with ng4T tester

18

5GC Components: AMF Conformance Interfaces

Interfaces Status Comments Protocols

N1 √ Communicate with UE via NAS message NAS

N2 √ Communicate with gNB via NGAP message NGAP

N11(Client/Server) √ Interface to/from SMF (e.g., N1N2MessageTransfer) RESTful/HTTP

N8 √ Interface to UDM (e.g., retrieve UE subscription data) RESTful/HTTP

N15 × To PCF, not implemented RESTful/HTTP

N14 × Between 2 AMFs, not implemented RESTful/HTTP

19

5GC Components: AMF Conformance Functions

Classification Status Comments

Termination of RAN CP interface (N2) √ Communicate with gNB via NGAP

message

Termination of NAS (N1) √ Communicate with UE via NAS message

NAS ciphering and integrity protection × Under development

Registration/Connection/Mobility/Reachability

Management × Under development

Provide transport for SM messages between UE

and SMF × Under development

Access Authentication/Authorization × Under development

3GPP TS 23.501 V16.1.0 §6.2.1

20

5GC Components: SMF Implementation Status

Main partners: Eurecom, Bupt

Git repository: https://gitlab.eurecom.fr/oai/oai-cn5g-smf

Programming language: C++

Current status: under development

◦ Reuse the code from OAI PGWC (https://github.com/OPENAIRINTERFACE/openair-cn-cups)

◦ NAS library (done)

◦ NGAP library (80%)

◦ SMF SBI interfaces (done)

◦ Core SMF functionalities (under development)

To be testbed with ng4T tester

21

Interfaces Status Comments Protocols

N11(Server) √ Interface from AMF (SMF PDU Session Service) RESTful/HTTP

N11(Client) √ Interface to AMF (Namf_N1N2MessageTransfer) RESTful/HTTP

N10(Client) √ Interface to UDM (Nudm_SubscriberDataManagement) RESTful/HTTP

N4(PFCP) √ PFCP association; PFCP heartbeat connection and PFCP

Session Establishment Request/Response PFCP/UDP

N4(GTPU) × Data forwarding from/to UPF GTPU/UDP

N7 × To interface PCF, not implemented RESTful/HTTP

5GC Components: SMF Conformance Interfaces

22

3GPP TS 23.501 V16.1.0 §6.2.2

Classification Status Comments

Session Management, including tunnel maintain

between UPF and AN node √ Only Session Establishment available

UE IP address allocation & management √ Only support static ipv4 address allocation

DHCPv4/DHCPv6 functions ×

Selection of UPF function √ Local configuration in SMF

Termination of interfaces towards Policy control

functions ×

Determine SSC mode of a session √ Only support SSC mode 1

5GC Components: SMF Conformance Functions

23

5GC Components: UPF, UDM Implementation Status

UPF (and PFCP): under development ◦ Main partner: Eurecom

◦ Programming language: C++

◦ Reuse OAI SPGWU (https://github.com/OPENAIRINTERFACE/openair-cn-cups)

◦ PFCP integrated into SMF implementation

◦ Tested with SMF

UDM/AUSF: under development ◦ Main partner: Eurecom

◦ Programming language: C++

◦ Reuse OAI HSS (https://github.com/OPENAIRINTERFACE/openair-cn)

24

5GC Components: UPF Conformance Interfaces

Interfaces Status Comments Protocols

N4 √ PFCP association; PFCP heartbeat connection and

PFCP Session Establishment Request/Response PFCP/UDP

N3 √ Interface with R(AN) GTP (*)

N6 √ Interface with DN

N9 × Interface between 2 UPFs GTP (*)

(*) with header extensions for 5G (under development)

25

3GPP TS 23.501 V16.1.0 §6.2.3

Classification Status Comments

Allocation of UE IP address/prefix in response to

SMF request √

External PDU Session point of interconnect to

Data Network ×

Packet routing and forwarding √

QoS handling for user plane(e.g. UL/DL rate

enforcement, Reflective QoS marking in DL) ×

Uplink Traffic verification (SDF to QoS Flow

mapping) ×

Downlink packet buffering and downlink data

notification triggering ×

5GC Components: UPF Conformance Functions

26

5GC Components: NRF Implementation Status

Main partners: b<>com

Operational NRF usable

◦ NNRF-NFM https://5g.labs.b-com.com/swagger/nnrf-nfm/v1

◦ NNRF-DISC https://5g.labs.b-com.com/swagger/nnrf-disc/v1

Current status

◦ Based on 3GPP Rel 15.2

◦ Programming language: Java (Source code to be published)

◦ Integration with Jaeger + Opentracing (traces), Prometheus (monitoring)

◦ Error management

◦ Discovery and Management (notification, registration) implemented

◦ HTTPv2 and HTTPs supported (HTTP used in deployment currently)

◦ NRF integrated with b<>com AMF/SMF micro-services deployment (Kubernetes)

Next steps

◦ HTTPv2 in deployment

◦ Heartbeat feature

◦ External persistence mechanism

27

5GC Components: B<>com Integrated Solution

Kubernetes based solution (micro-services architecture, multi services/pods) with NRF, b<>com SMF, b<>com AMF:

◦ Automated deployment (helm based)

AMF integrated with new NGAP/NAS libraries from b<>com

2 call flows implemented

◦ gNodeb Attachement (gNodeb simu, AMF) [available]

◦ UE PDUSessionEstablishmentRequest (UE simu, AMF, SMF, UPF) [available 12/2019]

◦ Currently, 5G messages parsed successfully with Wireshark

◦ Without authentication

NFs management integrated with NRF (registration/notification/discovery)

Next Steps

◦ UE de-registration (close datapath session)

◦ UE authentication mechanism

28

Outline

Introduction to OAI CN 5G Project

Introduction to 5G Core Network oArchitecture Overview

oHigh Level Functions

Implementation Status of 5GC Components

Roadmap

A Prototype Implementation (SMF)

29

Roadmap

First version available Q1 2020 (phase 1,2)

Phase 1, 2

◦ Focusing on functional parts:

‒ gNodeB Attach/Detach (AMF)

‒ UE registration/de-registration wo authentication (AMF)

‒ UE PDU Session create/modify/release (AMF, SMF, UPF)

‒ NRF main features available

o Testing with CI/CD using Ng4T tester

Phase 3

◦ Implementing further functionalities

◦ Performance testing, load testing

30

Outline

Introduction to OAI CN 5G Project

Introduction to 5G Core Network oArchitecture Overview

oHigh Level Functions

Implementation Status of 5GC Components

Roadmap

A Prototype Implementation (SMF)

31

A Prototype Implementation (SMF) - deployment

Repository Of SMF git clone https://gitlab.eurecom.fr/oai/oai-cn5g-smf.git

SMF build & run

AMF SMF

UDM

UPF

ens33:s1u (192.168.248.159)

ens33:sxu (172.55.55.102)

ens33:n4 (172.55.55.101)

ens33:sn10 (172.58.58.101)

ens33:un10 (172.58.58.102)

ens33:sn11 (172.16.1.101)

ens33:an11 (172.16.1.102)

Figure. Deploy with

several VNICs in one host

UDM build & run

UPF build & run AMF Server build & run

AMF http client

6 | ./main -server "http://127.0.0.1:8080/nsmf-pdusession/v1/sm-contexts" -txtfile "/home/smf/oai-cn5g-smf/sm_encode_establishment_request.txt"

32

A Prototype Implementation (SMF) - flow chart

Nsmf_PDUSession_CreateSMContext Response

(SMContextCreatedData or SMContextCreateError)

N11_HTTP_SERVER(smf service endpoints) TASK_SMF_N11 TASK_SMF_APP TASK_SMF_N4 N4_UDP_SERVER(class smf_n4)AMFgNBUE

SMF

PDU SESSION ESTABLISHMENT REQUEST(NAS-SM)

UL NAS TRANSPORT(NAS-MM)

Nsmf_PDUSession_CreateSMContext Request

(SMContextCreateData)

1. decode nas-sm message

(PDU SESSION ESTABLISHMENT REQUEST)

2. assign necessary information to

smf::pdu_session_create_sm_context_request

3. check the validity of information

5. create sm-context and associated with supi

6. create dnn-context and associated with dnn

UDM

itti_n4_session_establishment_request11. run session_create_sm_context_procedure

12. if UE request is not accepted

itti_n11_create_sm_context_response

Encode NAS-SM binary

PDU SESSION ESTABLISHMENT REJECT

Namf_Communication_N1N2MessageTransfer Request

PDU_SESSION_ESTABLISHMENT_REJECT(NAS-SM)

NAS_DL_TRANSPORT(NAS-MM)

PFCP_SESSION_ESTABLISHMENT_REQUEST

PFCP_SESSION_ESTABLISHMENT_RESPONSE

itti_n4_session_establishment_response

itti_n11_create_sm_context_response

(N1N2MessageTransferReqData)

Namf_Communication_N1N2MessageTransfer

PDU_SESSION_ESTABLISHMENT_ACCEPT(NAS-SM)

UPLINK NAS TRANSPORT(NGAP)

Namf_Communication_N1N2MessageTransfer Response

(N1N2MessageTransferRspData or N1N2MessageTransferError)

Namf_Communication_N1N2MessageTransfer Response

(N1N2MessageTransferRspData or N1N2MessageTransferError)

PDU_SESSION_ESTABLISHMENT_ACCEPT(NAS-SM)

NAS_DL_TRANSPORT(NAS-MM)

UPF

4. check request type(INITIAL_REQUEST)

7. check dnn-selection-mode and verify dnn

information(Not Implemented)

8. check the validity of the UE request(Not

Implemented)

9. create pdu-session and associated with

pdu_session_id

10. check pco and pdu_session_type and assign ip

address for UE, correspondingly

Encode N1N2MessageTransferReqData

3, Figure 4.3.2.2.1-1, ts23502

4, Figure 4.3.2.2.1-1, ts23502

10a/10b, Figure 4.3.2.2.1-1, ts23502

11, Figure 4.3.2.2.1-1, ts23502

N2 PDU Session Request(NGAP)

N2 PDU Session Request(NGAP)

UE-triggered PDU Session Establishment Procedure

33

A Prototype Implementation (SMF) - results

Wireshark

N4 association between SMF and UPF UPF

SMF

34

A Prototype Implementation (SMF) - results

N4 heartbeat connection

PFCP Session Establishment Request/Response

35

A Prototype Implementation (SMF) - results

Retrieve Session Management Subscription data from UDM

Assign ipv4 address and create a pdu session

36

Thank you for your attention!