SlideShare a Scribd company logo
1 of 35
March 2021
TeraVM Core
for 5G
2
© 2019 VIAVI Solutions Inc.
viavisolutions.com
TeraVM 5G Core Overview
• Fully virtualized - Ubuntu based cloud image deployed on KVM Host
• Works on any intel based HW
• Scalable system
• Emulation of sophisticated topologies to test 2G/3G/4G/5G Network Nodes.
- Millions of emulated UE’s
• State-of-the-art control plane scenarios
• DPDK for high performance User plane Traffic
3
© 2018 VIAVI Solutions Inc.
viavisolutions.com
TeraVM 4G/5G SA CORE Emulator
UE
PCF
NRF
NSSF
AUSF/UDM
NEF
EIR
AMF
SMF
UPF
N6
N3
4G/5G Core
N1/N2
N3
SUT
MME
SGW
HSS
PGW
SGI
S1-MME
S1-U
IMS
eNB/gN
B
4
© 2018 VIAVI Solutions Inc.
viavisolutions.com
4G/5G NSA 3x Core Emulator supported procedures
• Functional Tests
• Attach Procedure (IMSI/GUTI)
• Combined EPS attach / IMSI Attach
• Emergency Attach
• UE / Network Initiated Detach
• Identity Procedure
• Authentication procedure
• Security Procedure
• Tracking Aria Update Procedure
• TAU with/without change of MME and SGW
• TAU with/without active flag on
• Service Procedure
• Extended Service Procedure
• Inter-MME HO
• Intra-MME HO
• Pathswitch: X2-based Handover
• EMM Status
• PDN Connection/Disconnection
• ESM information procedure
• Interfaces Supported
• S1-MME
• S1-U
• SGI
• Activate Default EPS Bearer
• Activate Dedicated EPS Bearer
• Bearer Resource addition/modification/deletion
• Modify Bearer procedure
• VoLTE
• IRAT Mobility
• Supports NSA 3x connection to eNB and gNB
5
© 2018 VIAVI Solutions Inc.
viavisolutions.com
5G Core Emulation supported procedures
• Functional Tests
• NG Setup between gNB and AMF
• NG Reset Procedure between gNB and AMF
• UE Registration w/o initial Ctxt
• Identity Procedure
• Authentication Procedure (5G AKA)
• Security Procedure(Null, Snow3G, AES)
• Scale up number of registered UEs
• PDU Session Establishment procedure
• PDU Session Release Procedure
• Multiple PDU Session per UE ( PDU session
modification procedure)
• IPv4 and IPv6 address assignment to UEs
• Service Request Procedure.
• Paging Procedure.
• Location Reporting Procedure
• Xn Based HO and Path Switch procedure.
• N2 HO AMF anchored
• N1/N2 Error injection(Negative Testing)
• Interfaces Supported
• N1/N2
• N3
• N6
• Load Tests
• Scaling Up number of UEs
• Scaling Up number of registered UEs
• Scaling Up number of PDU sessions
• High Registration rate to overload Core.
• High PDU Session rate to overload Core.
• 100s of Gbps traffic generation to overload the core
• Functional Tests
• 5GC to EPC Handover
• EPC to 5GC Handover
• 5GC to EPC TAU
• EPC to 5GC Registration Update
• EPS Fallback
• VoNR
6
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Procedure Generator
Web services
platform (OTT)
Web services
platform (OTT)
Client Applications
Client Applications Web services
platform (OTT)
Client
Applications
Web servlets
NG40 Shell
Test Management
System
NG40 Procedure
Generator
NG40
Probe Control
Device Under Test
NG40
Probe Control
NG40
Probe Control
Web 2.0 GUI
Control
Signaling and Data External applications
System Skeleton (1)
7
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Parameter Configuration Layers
…
Shell Parameter
callscenarios.conf
Procedure
Generator
Modules: pfcp
nas
trpgen
pktgen
protocol.conf
loadprofile.conf
Module Parameter
CLI / ng40shell (interactive), viavigui
ng40props.csv
subscriber.conf
GUI: viavicc & viavigui
System Skeleton (2)
8
© 2018 VIAVI Solutions Inc.
viavisolutions.com
How to Access the Control Centre GUI
Point your browser at IP Address of Control Centre to login
The IP Address you enter in your browser is the IP
Address of the server containing the Core software:
• http://10.53.199.116:8080/viavicc
9
© 2018 VIAVI Solutions Inc.
viavisolutions.com
“Home” Screen
This screen appears when you successfully login. Depending on the software
configuration, the above options may change. Click on Configuration and if not yet
selected, select the 4G SA & 5G NSA3x Core Emulator configuration.
10
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Dashboard Screen # of VMs running
in the host
Status of the test list and web
server connection
Current state of the scenario
11
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Core Test Configuration Key Parameters
• Rule: All interfaces between Blue and Yellow need to be configured
• We need to have all Values from the System under Test
• PLMN: Public Land Mobile Network, consists of:
 MCC: Mobile Country Code
 MNC: Mobile Network Code
 Layer for Layer:
 Devices for Interfaces, VLAN tags
 IP version, IP Addresses, SCTP Ports
• Please refer to the commissioning sheet for the entire set of parameters
12
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Topology Configuration
1. Topology Configuration
2. APN/DNN configuration
5. Don‘t forget to press save
3. Set UserPlaneMode
4. Set the Network Element Numbers
13
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Network Element Configuration (1)
1. MME Mandatory
Configurations
14
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Network Element Configuration (2)
2. MME Mandatory
Configurations
Similar configurations should be done for other network elements circled
15
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Starting the Scenario Manager (1)
Click on Start Scenario Manager
If opening of a new window is disabled in
your browser, you will see nothing. Check
where to enable opening of new windows.
16
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Starting the Scenario Manager (2)
The Scenario Manager (a.k.a. viavigui or webgui) is started in a separate window, which is why we need the browser to
allow opening new windows.
It lists all virtual machines in the connected host by name and we can click on our tester VM to see the running scenarios.
17
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Starting the Scenario Manager (3)
•Here we can start / activate new scenarios or select already started scenarios. Since our tester scenario has been started by
viavicc already, we just click on the existing scenario.
18
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Starting the Scenario Manager (4)
•Here we can shutdown/Abort the scenarios by clicking the power button.
19
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Test Case View
The scenario manager opens in the test case's view. It offers logs and pcaps and test case results. To reach the counters view
of viavigui, we need to click on counters.
1. Live counters 2. Live graph/table 3. Configurations 4. To start capturing Pcap
logs
5. Current test case execution
a. Name: Test case name
b. State: Current state of test case
(Finished/Running/Abort)
c. Verdict: Test case pass/fail/inconclusive.
d. Pcap: Pcap logs
e. Log/Valuelog: Internal system log
f. Controls: Stop/Abort, repeat the test
case/Configure parameter/remove
6. Scheduling different test cases
20
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Counters in Scenario Manager
S1U counters – tpdu rx – UL/ tpdu tx – DL, Rate (Kbit/s & Mbit/s) – current throughput
SGi counters – ethernet packet tx – UL, ethernet packets consumed - DL
SIP counters
S1ap counters
NAS counters
21
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Configurations in Scenario Manager
22
© 2018 VIAVI Solutions Inc.
viavisolutions.com
VM Folder
Inside VM we have different folder:
a. commonconf – It consists of the protocol configurations such as subscriber.conf, networkelement.conf, protocol.conf
b. csv – It contains the topology configurations e.g. MME IP address. Each time we change the topology a new csv file
will be generated and store in this folder
c. scenario – It consists of cli interface i.e. ng40shell, call scenario model file, logs
23
© 2018 VIAVI Solutions Inc.
viavisolutions.com
CLI Command
• Below are the different cli commands which can be used
• Execute the “ng40shell” command inside “home/viavi/config/5g-nsa3x-core/scenario1/” folder to check the different
commands
Note: All these action can be execute/observe through GUI and config files.
24
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Call Scenario Model
Call Scenario Model is defined by
- Begin Scenario
- Loop Scenario
- End Scenario
- Recovery Scenario (optional)
[s_startup]
BEGIN_SCENARIO =
LOOP_SCENARIO = wait activate, wait deactivate
END_SCENARIO =
LOOP_SCENARIO
END_SCENARIO
BEGIN_SCENARIO
period[x]
period[x] is defined by two parameters:
• looplimit
• Absolute number
• Total number of rounds for all
subscribers per group
• duration
• Value in sec [s]
• 0 - endless
25
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Call Scenario Model Phases
1. Begin Scenario
- executed once at the beginning
- bring the emulated subscriber into the required state for the loop
- subscriber goes from “inactive” into “active” network mode
2. Loop Scenario
- executed multiple times as defined in the Test Case
- Period[x].looplimit = $numberofusers * $loops [the $ indicates a variable]
- period[x].duration = 60 [in seconds]
- period[x].duration = 0 [infinite]
3. End Scenario
- executed once at the end
- bring the emulated subscriber into the required state for the next test case
- subscriber goes from “inactive” into “active” network mode
4. Recovery Scenario
- entered in case of irrecoverable error detection in procedure
- bring subscriber back into a defined state to re-enter the call scenario
- Triggers: no response to request, reject response, abnormal cause values
26
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Test Case Structure
Multiple Periods  Multiple Groups  Begin-loop-end test scenario
Test Case = 5G_multi_period_group
Mobile Subscriber
group[0]
Mobile Subscriber
group[x]
Mobile Subscriber
group[y]
Standard Subscriber
group[x]
loop
end
begin
loop
end
begin
loop
end
begin
Groups
period[0] period[1] period[2] …
sequentially
International Roamer
group[y]
Fraudulent Subscriber
group[z]
concurrently
27
© 2018 VIAVI Solutions Inc.
viavisolutions.com
1. A Test Case is a series of Periods
1. Every Period is a combination of Subscriber Groups
- Subscriber Groups belonging to the same Period run concurrently
- Therefore, the requirement that a certain subscriber must belong to
exactly one group
3. To every Group assigned is exactly one Call Model
Test Case Structure Summary
28
© 2018 VIAVI Solutions Inc.
viavisolutions.com
- Every Call Model has a unique name
- Several Call Models may coexist in one Test Case
- Typical example for concurrent call models:
- group[m] = called party
- group[n] = calling party
- Starting time and duration of the periods are defined in the test case
Concurrent In sequence
period[a].group[x]
period[b].group[y]
period[c].group[z]
period[x].group[m]
period[x].group[n]
period[x].group[o]
Multiple Subscriber Groups in one Test Case
29
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Test Case
(Parameters used by the test-case)
s_startup]
BEGIN_SCENARIO =
LOOP_SCENARIO = wait activate, wait deactivate
END_SCENARIO =
[STARTUP]
$description = Startup EPC Testcase
scenarioswitchmode = direct # modes: 'direct', 'up/down', 'concurrent'
group[0].firstUser = 0 # 1st user of 1st group
group[0].numberOfUser = $MAX_SUBSCRIBER # num users of 1st group
group[0].userplanemode = gtp bridge # Use Packetgen
period[0].group[0].beginRate = 2000 # begin rate of 1st group+per # fast to make sure BRIDGE used (at ContextAct)
period[0].group[0].loopRate = 2000 # loop rate of 1st group+per
period[0].group[0].endRate = 2000 # end rate of 1st group+per
period[0].group[0].timertp1 = 5000
period[0].group[0].timertp2 = 4000
period[0].duration = 0 # duration of 1st period, 0 means run continiously
period[0].group[0].scenario = s_startup
verify =
(ngap_sent_initialue >= $numberoflocaluser*$loops) and
(nas5g_sent_Registration_Req_ == $numberoflocaluser*$loops) and
(nas5g_received_Auth__Req_ == nas5g_sent_Auth__Rsp_) and
(nas5g_received_Sec__Mode_Cmd_ == nas5g_sent_Sec__Mode_Cmp_) and
(nas5g_received_Registration_Acc_ == $numberoflocaluser*$loops) and
(nas5g_sent_Registration_Cmp_ == $numberoflocaluser*$loops) and
(nas5g_sent_Dereg__Req_ == $numberoflocaluser*$loops) and
(nas5g_received_Dereg__Acc_ == $numberoflocaluser*$loops) and
(ngap_received_release_command >= $numberoflocaluser*$loops) and
(ngap_sent_release_complete >= $numberoflocaluser*$loops)
Test Case Verify (optional)
(How to determine the result of the test-case: pass/fail)
Call Model
(What the test-case does)
Test Case Overview – Example
30
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Testcase Editor
Edit call scenario
Activate and load default test case
Clone call scenario
Delete call scenario Select the appropriate VM
31
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Testcase Editor (1)
List of test cases
Test case list
General Settings e.g. user plan mode
Global settings
Edit a test case
Edit a test case name
Clone/add a test case Delete a test case
32
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Testcase Editor (2)
Call Model
Different parameter to execute the test
case
Test case criteria
33
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Testcase Editor (2)
Call Model Modification
Select the icon to edit the scenario
34
© 2018 VIAVI Solutions Inc.
viavisolutions.com
Testcase Editor (3)
Procedures
Different procedure configured in the test case.
• To edit select the procedure and edit the parameter.
• To add any new procedure double click the procedures from right
and configure based on the test case
• To remove select the procedure and click the bin icon “red colour”
viavisolutions.com
Thank You

More Related Content

Similar to Viavi_TeraVM Core Emulator.pptx

Verify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e testsVerify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e testsKen'ichi Ohmichi
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshopInterlatin
 
Reliability Testing in OPNFV
Reliability Testing in OPNFVReliability Testing in OPNFV
Reliability Testing in OPNFVOPNFV
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureMaheshShri1
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testingabhinavm
 
Air Quality Data Acquisition and Management Systems
Air Quality Data Acquisition and Management SystemsAir Quality Data Acquisition and Management Systems
Air Quality Data Acquisition and Management SystemsAgilaire LLC
 
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...PROIDEA
 
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...Marta Pacyga
 
2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdfLuisJonathanBahamaca
 
1_WTTx LTM Main Slide_Huawei_Presentation.pdf
1_WTTx LTM Main Slide_Huawei_Presentation.pdf1_WTTx LTM Main Slide_Huawei_Presentation.pdf
1_WTTx LTM Main Slide_Huawei_Presentation.pdfrodrigopbarreto
 
Siemens s7 300 programming
Siemens s7 300 programming Siemens s7 300 programming
Siemens s7 300 programming satyajit patra
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Srinivasa Addepalli
 
Testing the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceTesting the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceHiveMQ
 
2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docx2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docxeugeniadean34240
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvIntel
 
P4 Introduction
P4 Introduction P4 Introduction
P4 Introduction Netronome
 
The Value of SCADA Infrastructure Virtualization on Wind Farms
The Value of SCADA Infrastructure Virtualization on Wind FarmsThe Value of SCADA Infrastructure Virtualization on Wind Farms
The Value of SCADA Infrastructure Virtualization on Wind FarmsUpWind Solutions
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructureFernando Lopez Aguilar
 
Testing the limits of cloud networks
Testing the limits of cloud networksTesting the limits of cloud networks
Testing the limits of cloud networksPLUMgrid
 

Similar to Viavi_TeraVM Core Emulator.pptx (20)

Verify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e testsVerify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e tests
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshop
 
whats-new_Fireware_v11-10
whats-new_Fireware_v11-10whats-new_Fireware_v11-10
whats-new_Fireware_v11-10
 
Reliability Testing in OPNFV
Reliability Testing in OPNFVReliability Testing in OPNFV
Reliability Testing in OPNFV
 
Test Strategy For Future Cloud Architecture
Test Strategy For Future Cloud ArchitectureTest Strategy For Future Cloud Architecture
Test Strategy For Future Cloud Architecture
 
Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
 
Air Quality Data Acquisition and Management Systems
Air Quality Data Acquisition and Management SystemsAir Quality Data Acquisition and Management Systems
Air Quality Data Acquisition and Management Systems
 
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
 
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
PLNOG15 :Assuring Performance, Scalability and Reliability in NFV Deployments...
 
2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf
 
1_WTTx LTM Main Slide_Huawei_Presentation.pdf
1_WTTx LTM Main Slide_Huawei_Presentation.pdf1_WTTx LTM Main Slide_Huawei_Presentation.pdf
1_WTTx LTM Main Slide_Huawei_Presentation.pdf
 
Siemens s7 300 programming
Siemens s7 300 programming Siemens s7 300 programming
Siemens s7 300 programming
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
 
Testing the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceTesting the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with Confidence
 
2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docx2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docx
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfv
 
P4 Introduction
P4 Introduction P4 Introduction
P4 Introduction
 
The Value of SCADA Infrastructure Virtualization on Wind Farms
The Value of SCADA Infrastructure Virtualization on Wind FarmsThe Value of SCADA Infrastructure Virtualization on Wind Farms
The Value of SCADA Infrastructure Virtualization on Wind Farms
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
Testing the limits of cloud networks
Testing the limits of cloud networksTesting the limits of cloud networks
Testing the limits of cloud networks
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Viavi_TeraVM Core Emulator.pptx

  • 2. 2 © 2019 VIAVI Solutions Inc. viavisolutions.com TeraVM 5G Core Overview • Fully virtualized - Ubuntu based cloud image deployed on KVM Host • Works on any intel based HW • Scalable system • Emulation of sophisticated topologies to test 2G/3G/4G/5G Network Nodes. - Millions of emulated UE’s • State-of-the-art control plane scenarios • DPDK for high performance User plane Traffic
  • 3. 3 © 2018 VIAVI Solutions Inc. viavisolutions.com TeraVM 4G/5G SA CORE Emulator UE PCF NRF NSSF AUSF/UDM NEF EIR AMF SMF UPF N6 N3 4G/5G Core N1/N2 N3 SUT MME SGW HSS PGW SGI S1-MME S1-U IMS eNB/gN B
  • 4. 4 © 2018 VIAVI Solutions Inc. viavisolutions.com 4G/5G NSA 3x Core Emulator supported procedures • Functional Tests • Attach Procedure (IMSI/GUTI) • Combined EPS attach / IMSI Attach • Emergency Attach • UE / Network Initiated Detach • Identity Procedure • Authentication procedure • Security Procedure • Tracking Aria Update Procedure • TAU with/without change of MME and SGW • TAU with/without active flag on • Service Procedure • Extended Service Procedure • Inter-MME HO • Intra-MME HO • Pathswitch: X2-based Handover • EMM Status • PDN Connection/Disconnection • ESM information procedure • Interfaces Supported • S1-MME • S1-U • SGI • Activate Default EPS Bearer • Activate Dedicated EPS Bearer • Bearer Resource addition/modification/deletion • Modify Bearer procedure • VoLTE • IRAT Mobility • Supports NSA 3x connection to eNB and gNB
  • 5. 5 © 2018 VIAVI Solutions Inc. viavisolutions.com 5G Core Emulation supported procedures • Functional Tests • NG Setup between gNB and AMF • NG Reset Procedure between gNB and AMF • UE Registration w/o initial Ctxt • Identity Procedure • Authentication Procedure (5G AKA) • Security Procedure(Null, Snow3G, AES) • Scale up number of registered UEs • PDU Session Establishment procedure • PDU Session Release Procedure • Multiple PDU Session per UE ( PDU session modification procedure) • IPv4 and IPv6 address assignment to UEs • Service Request Procedure. • Paging Procedure. • Location Reporting Procedure • Xn Based HO and Path Switch procedure. • N2 HO AMF anchored • N1/N2 Error injection(Negative Testing) • Interfaces Supported • N1/N2 • N3 • N6 • Load Tests • Scaling Up number of UEs • Scaling Up number of registered UEs • Scaling Up number of PDU sessions • High Registration rate to overload Core. • High PDU Session rate to overload Core. • 100s of Gbps traffic generation to overload the core • Functional Tests • 5GC to EPC Handover • EPC to 5GC Handover • 5GC to EPC TAU • EPC to 5GC Registration Update • EPS Fallback • VoNR
  • 6. 6 © 2018 VIAVI Solutions Inc. viavisolutions.com Procedure Generator Web services platform (OTT) Web services platform (OTT) Client Applications Client Applications Web services platform (OTT) Client Applications Web servlets NG40 Shell Test Management System NG40 Procedure Generator NG40 Probe Control Device Under Test NG40 Probe Control NG40 Probe Control Web 2.0 GUI Control Signaling and Data External applications System Skeleton (1)
  • 7. 7 © 2018 VIAVI Solutions Inc. viavisolutions.com Parameter Configuration Layers … Shell Parameter callscenarios.conf Procedure Generator Modules: pfcp nas trpgen pktgen protocol.conf loadprofile.conf Module Parameter CLI / ng40shell (interactive), viavigui ng40props.csv subscriber.conf GUI: viavicc & viavigui System Skeleton (2)
  • 8. 8 © 2018 VIAVI Solutions Inc. viavisolutions.com How to Access the Control Centre GUI Point your browser at IP Address of Control Centre to login The IP Address you enter in your browser is the IP Address of the server containing the Core software: • http://10.53.199.116:8080/viavicc
  • 9. 9 © 2018 VIAVI Solutions Inc. viavisolutions.com “Home” Screen This screen appears when you successfully login. Depending on the software configuration, the above options may change. Click on Configuration and if not yet selected, select the 4G SA & 5G NSA3x Core Emulator configuration.
  • 10. 10 © 2018 VIAVI Solutions Inc. viavisolutions.com Dashboard Screen # of VMs running in the host Status of the test list and web server connection Current state of the scenario
  • 11. 11 © 2018 VIAVI Solutions Inc. viavisolutions.com Core Test Configuration Key Parameters • Rule: All interfaces between Blue and Yellow need to be configured • We need to have all Values from the System under Test • PLMN: Public Land Mobile Network, consists of:  MCC: Mobile Country Code  MNC: Mobile Network Code  Layer for Layer:  Devices for Interfaces, VLAN tags  IP version, IP Addresses, SCTP Ports • Please refer to the commissioning sheet for the entire set of parameters
  • 12. 12 © 2018 VIAVI Solutions Inc. viavisolutions.com Topology Configuration 1. Topology Configuration 2. APN/DNN configuration 5. Don‘t forget to press save 3. Set UserPlaneMode 4. Set the Network Element Numbers
  • 13. 13 © 2018 VIAVI Solutions Inc. viavisolutions.com Network Element Configuration (1) 1. MME Mandatory Configurations
  • 14. 14 © 2018 VIAVI Solutions Inc. viavisolutions.com Network Element Configuration (2) 2. MME Mandatory Configurations Similar configurations should be done for other network elements circled
  • 15. 15 © 2018 VIAVI Solutions Inc. viavisolutions.com Starting the Scenario Manager (1) Click on Start Scenario Manager If opening of a new window is disabled in your browser, you will see nothing. Check where to enable opening of new windows.
  • 16. 16 © 2018 VIAVI Solutions Inc. viavisolutions.com Starting the Scenario Manager (2) The Scenario Manager (a.k.a. viavigui or webgui) is started in a separate window, which is why we need the browser to allow opening new windows. It lists all virtual machines in the connected host by name and we can click on our tester VM to see the running scenarios.
  • 17. 17 © 2018 VIAVI Solutions Inc. viavisolutions.com Starting the Scenario Manager (3) •Here we can start / activate new scenarios or select already started scenarios. Since our tester scenario has been started by viavicc already, we just click on the existing scenario.
  • 18. 18 © 2018 VIAVI Solutions Inc. viavisolutions.com Starting the Scenario Manager (4) •Here we can shutdown/Abort the scenarios by clicking the power button.
  • 19. 19 © 2018 VIAVI Solutions Inc. viavisolutions.com Test Case View The scenario manager opens in the test case's view. It offers logs and pcaps and test case results. To reach the counters view of viavigui, we need to click on counters. 1. Live counters 2. Live graph/table 3. Configurations 4. To start capturing Pcap logs 5. Current test case execution a. Name: Test case name b. State: Current state of test case (Finished/Running/Abort) c. Verdict: Test case pass/fail/inconclusive. d. Pcap: Pcap logs e. Log/Valuelog: Internal system log f. Controls: Stop/Abort, repeat the test case/Configure parameter/remove 6. Scheduling different test cases
  • 20. 20 © 2018 VIAVI Solutions Inc. viavisolutions.com Counters in Scenario Manager S1U counters – tpdu rx – UL/ tpdu tx – DL, Rate (Kbit/s & Mbit/s) – current throughput SGi counters – ethernet packet tx – UL, ethernet packets consumed - DL SIP counters S1ap counters NAS counters
  • 21. 21 © 2018 VIAVI Solutions Inc. viavisolutions.com Configurations in Scenario Manager
  • 22. 22 © 2018 VIAVI Solutions Inc. viavisolutions.com VM Folder Inside VM we have different folder: a. commonconf – It consists of the protocol configurations such as subscriber.conf, networkelement.conf, protocol.conf b. csv – It contains the topology configurations e.g. MME IP address. Each time we change the topology a new csv file will be generated and store in this folder c. scenario – It consists of cli interface i.e. ng40shell, call scenario model file, logs
  • 23. 23 © 2018 VIAVI Solutions Inc. viavisolutions.com CLI Command • Below are the different cli commands which can be used • Execute the “ng40shell” command inside “home/viavi/config/5g-nsa3x-core/scenario1/” folder to check the different commands Note: All these action can be execute/observe through GUI and config files.
  • 24. 24 © 2018 VIAVI Solutions Inc. viavisolutions.com Call Scenario Model Call Scenario Model is defined by - Begin Scenario - Loop Scenario - End Scenario - Recovery Scenario (optional) [s_startup] BEGIN_SCENARIO = LOOP_SCENARIO = wait activate, wait deactivate END_SCENARIO = LOOP_SCENARIO END_SCENARIO BEGIN_SCENARIO period[x] period[x] is defined by two parameters: • looplimit • Absolute number • Total number of rounds for all subscribers per group • duration • Value in sec [s] • 0 - endless
  • 25. 25 © 2018 VIAVI Solutions Inc. viavisolutions.com Call Scenario Model Phases 1. Begin Scenario - executed once at the beginning - bring the emulated subscriber into the required state for the loop - subscriber goes from “inactive” into “active” network mode 2. Loop Scenario - executed multiple times as defined in the Test Case - Period[x].looplimit = $numberofusers * $loops [the $ indicates a variable] - period[x].duration = 60 [in seconds] - period[x].duration = 0 [infinite] 3. End Scenario - executed once at the end - bring the emulated subscriber into the required state for the next test case - subscriber goes from “inactive” into “active” network mode 4. Recovery Scenario - entered in case of irrecoverable error detection in procedure - bring subscriber back into a defined state to re-enter the call scenario - Triggers: no response to request, reject response, abnormal cause values
  • 26. 26 © 2018 VIAVI Solutions Inc. viavisolutions.com Test Case Structure Multiple Periods  Multiple Groups  Begin-loop-end test scenario Test Case = 5G_multi_period_group Mobile Subscriber group[0] Mobile Subscriber group[x] Mobile Subscriber group[y] Standard Subscriber group[x] loop end begin loop end begin loop end begin Groups period[0] period[1] period[2] … sequentially International Roamer group[y] Fraudulent Subscriber group[z] concurrently
  • 27. 27 © 2018 VIAVI Solutions Inc. viavisolutions.com 1. A Test Case is a series of Periods 1. Every Period is a combination of Subscriber Groups - Subscriber Groups belonging to the same Period run concurrently - Therefore, the requirement that a certain subscriber must belong to exactly one group 3. To every Group assigned is exactly one Call Model Test Case Structure Summary
  • 28. 28 © 2018 VIAVI Solutions Inc. viavisolutions.com - Every Call Model has a unique name - Several Call Models may coexist in one Test Case - Typical example for concurrent call models: - group[m] = called party - group[n] = calling party - Starting time and duration of the periods are defined in the test case Concurrent In sequence period[a].group[x] period[b].group[y] period[c].group[z] period[x].group[m] period[x].group[n] period[x].group[o] Multiple Subscriber Groups in one Test Case
  • 29. 29 © 2018 VIAVI Solutions Inc. viavisolutions.com Test Case (Parameters used by the test-case) s_startup] BEGIN_SCENARIO = LOOP_SCENARIO = wait activate, wait deactivate END_SCENARIO = [STARTUP] $description = Startup EPC Testcase scenarioswitchmode = direct # modes: 'direct', 'up/down', 'concurrent' group[0].firstUser = 0 # 1st user of 1st group group[0].numberOfUser = $MAX_SUBSCRIBER # num users of 1st group group[0].userplanemode = gtp bridge # Use Packetgen period[0].group[0].beginRate = 2000 # begin rate of 1st group+per # fast to make sure BRIDGE used (at ContextAct) period[0].group[0].loopRate = 2000 # loop rate of 1st group+per period[0].group[0].endRate = 2000 # end rate of 1st group+per period[0].group[0].timertp1 = 5000 period[0].group[0].timertp2 = 4000 period[0].duration = 0 # duration of 1st period, 0 means run continiously period[0].group[0].scenario = s_startup verify = (ngap_sent_initialue >= $numberoflocaluser*$loops) and (nas5g_sent_Registration_Req_ == $numberoflocaluser*$loops) and (nas5g_received_Auth__Req_ == nas5g_sent_Auth__Rsp_) and (nas5g_received_Sec__Mode_Cmd_ == nas5g_sent_Sec__Mode_Cmp_) and (nas5g_received_Registration_Acc_ == $numberoflocaluser*$loops) and (nas5g_sent_Registration_Cmp_ == $numberoflocaluser*$loops) and (nas5g_sent_Dereg__Req_ == $numberoflocaluser*$loops) and (nas5g_received_Dereg__Acc_ == $numberoflocaluser*$loops) and (ngap_received_release_command >= $numberoflocaluser*$loops) and (ngap_sent_release_complete >= $numberoflocaluser*$loops) Test Case Verify (optional) (How to determine the result of the test-case: pass/fail) Call Model (What the test-case does) Test Case Overview – Example
  • 30. 30 © 2018 VIAVI Solutions Inc. viavisolutions.com Testcase Editor Edit call scenario Activate and load default test case Clone call scenario Delete call scenario Select the appropriate VM
  • 31. 31 © 2018 VIAVI Solutions Inc. viavisolutions.com Testcase Editor (1) List of test cases Test case list General Settings e.g. user plan mode Global settings Edit a test case Edit a test case name Clone/add a test case Delete a test case
  • 32. 32 © 2018 VIAVI Solutions Inc. viavisolutions.com Testcase Editor (2) Call Model Different parameter to execute the test case Test case criteria
  • 33. 33 © 2018 VIAVI Solutions Inc. viavisolutions.com Testcase Editor (2) Call Model Modification Select the icon to edit the scenario
  • 34. 34 © 2018 VIAVI Solutions Inc. viavisolutions.com Testcase Editor (3) Procedures Different procedure configured in the test case. • To edit select the procedure and edit the parameter. • To add any new procedure double click the procedures from right and configure based on the test case • To remove select the procedure and click the bin icon “red colour”