SlideShare a Scribd company logo
NS4: Enabling Programmable Data Plane Simulation
Ajay Kharat (2019H1030011G)
BITS-Pilani
Jiasong Bai, Jun Bi, Peng Kuang, Chengze Fan, Yu Zhou, Cheng Zhang
Problem Statement
Network Simulation
Desired
Behavior Model
Phase 1
FPGANPUASIC
Rewrite
Phase 2
Motivation:
Approach & Solution
NS4 <- NS3 + P4
• NS4 exploits P4 to
• Simplify the development of behavioral model
• Bridge the gap between Simulation and Development
• No library dependent simulator calls, leading to denser
source code
• Also NS4 is convenient simulation tool for P4 programmers.
Simulation
Behavior Model
Network
Feature
Network Devices
Simulator
Oblivious
Automatic
Compilation
NS4 Design Approach:
NS4 Runtime
• Every line of the configuration is translated into flow table entries
• Proactively generates flow table entries from user configuration.
• Can Modify flow entries at runtime.
NS4 Controller
• Designed to be optional
• Can populate flow table entries reactively
• Trivial entries that can be derived from network topology
• Called Automatic entries
Statistics Collector
• Creates discrete events for gathering statistical information
• Can set and reset counters for specific values in the flow tables
P4 Configurator
• Takes P4 programs and configures pipelines in NS4 Net Device
• Line-by-line translation from P4 to discrete events
Flow Table Agent
• Populates flow table entries according to NS4Runtime
andNS4Controller
• Offers statistical information to the statistics collector
Channel Manager:
• Eases communication between multiple net devices
• Downward compatibility with traditional devices given
Workflow:
1. Configure the behaviour of data plane by inputting compiled P4 programs to P4
pipeline configurator.
2. Create control plane and configure the flow table operations and statistics collection
tasks to be performed
3. Build network topology, install applications and trigger the simulation. The control
configurations are transformed into discrete events and get performed at the appointed
time.
1. Case Study: SilkRoad vs SLB
• Software Load Balancer (SLB)
• Map virtual IP addresses (VIP) to direct IP
addresses (DIP)
• Load balancing done in software by dedicated
load balancing servers.
• Bringing high cost for dedicated devices
• Higher forwarding latencies due to redirection
of packets
• SilkRoad
• Implement SLB on switch ASIC with large
performance improvement
• Switches themselves decide how to forward
incoming packets.
• NS4 supports simulating SilkRoad and SLB
in a typical data center topology.
Evaluation
Packet Processing delay
Device throughput
Development Complexity:
Conclusion:
• NS4: Enabling programmable data plane simulation
• Programmable data plane with multiple devices can now be simulated
• Simulation setup much easier compared to ns-3
• Direct migration of simulated behaviour to real-world devices possible
• Less error prone code writing.
• Performance improved significantly.
Future Work:
• Strengthen NS4 Database to fully support various element in P4.
• Improve execution efficiency of NS4 Implementation by reducing memory usage.
Related Work
Predecessors of NS4
• ns-1 (1989)
Terminal based, C++ & Tcl(Tool Command Language)
• ns-2 (1995)
Otcl, support sensor networks, wireless, satellites...
• ns-3 (2011)
Python besides OTcl and adherence to C++ style patterns.
Improved incorporation with other open-source network simulators.
Other network simulators (excerpt)
• OPNet
GUI, but no P4 support
• PFPSim
Supports only one P4 enabled device
THANK YOU!!!

More Related Content

PDF
Unified NMS platform (Single OSS/M2000/Netact Platform)
PDF
Parameter Inconsistency and Auto Correction
PDF
Accela Ericsson Rehome Module
PDF
Making clouds: turning opennebula into a product
PDF
stackconf 2020 | Ignite talk: Opensource in Advanced Research Computing, How ...
PDF
Performance tools developments
PDF
Accela NSN Site NodeB Rehome
PDF
GSM UMTS LTE Site Commissioning software
Unified NMS platform (Single OSS/M2000/Netact Platform)
Parameter Inconsistency and Auto Correction
Accela Ericsson Rehome Module
Making clouds: turning opennebula into a product
stackconf 2020 | Ignite talk: Opensource in Advanced Research Computing, How ...
Performance tools developments
Accela NSN Site NodeB Rehome
GSM UMTS LTE Site Commissioning software

What's hot (20)

PDF
OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2
PDF
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
PDF
WINLAB Poster Final
PDF
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
PDF
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...
PPTX
Building a real time Tweet map with Flink in six weeks
PDF
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...
PPTX
Apache Kafka : Monitoring vs Alerting
PDF
TechChat - What’s New in Sumo Logic 7/21/15
PPTX
ChronoLogic Tools Demo: 6/12/18
PDF
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
PDF
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

PPTX
End to-end example: consumer loan acceptance scoring using kubeflow
PDF
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
PPTX
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016
PPTX
Sparklint @ Spark Meetup Chicago
PPTX
Portable Streaming Pipelines with Apache Beam
PDF
Streaming your Lyft Ride Prices - Flink Forward SF 2019
PDF
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
PPTX
Autonomous workload rebalancing in kafka
OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
WINLAB Poster Final
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...
Building a real time Tweet map with Flink in six weeks
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...
Apache Kafka : Monitoring vs Alerting
TechChat - What’s New in Sumo Logic 7/21/15
ChronoLogic Tools Demo: 6/12/18
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

End to-end example: consumer loan acceptance scoring using kubeflow
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016
Sparklint @ Spark Meetup Chicago
Portable Streaming Pipelines with Apache Beam
Streaming your Lyft Ride Prices - Flink Forward SF 2019
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Autonomous workload rebalancing in kafka
Ad

Similar to NS4: Enabling Programmable Data Plane Simulation (20)

PPTX
Network Simulation.pptx
PDF
Decentralized routing in social networks
PDF
Nsby examples
PPTX
talks-afanasyev2013ndnsim-tutorial.pptx
PDF
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
PPTX
NS3-Projects-for-Master-Thesis-Students
PDF
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
PDF
IRJET- Study of Various Network Simulators
ODP
From Simulation to Online Gaming: the need for adaptive solutions
PPTX
NoC simulators presentation
PPTX
Lecture 1 - Introduction.pptx
PPT
DOCX
Cn lab manual 150702
PPT
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
PDF
Simulations on Computer Network An Improved Study in the Simulator Methodolog...
PDF
Chatbots in 2017 -- Ithaca Talk Dec 6
PPT
NS2 Overview - Network Simulator Tutorial
PPTX
A to NS2 Simulator architecture and it basic functions
PPTX
Network Simulator overview and its working
Network Simulation.pptx
Decentralized routing in social networks
Nsby examples
talks-afanasyev2013ndnsim-tutorial.pptx
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
NS3-Projects-for-Master-Thesis-Students
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
IRJET- Study of Various Network Simulators
From Simulation to Online Gaming: the need for adaptive solutions
NoC simulators presentation
Lecture 1 - Introduction.pptx
Cn lab manual 150702
Colloque IMT -04/04/2019- L'IA au cœur des mutations industrielles - L'IA pou...
Simulations on Computer Network An Improved Study in the Simulator Methodolog...
Chatbots in 2017 -- Ithaca Talk Dec 6
NS2 Overview - Network Simulator Tutorial
A to NS2 Simulator architecture and it basic functions
Network Simulator overview and its working
Ad

More from AJAY KHARAT (12)

PPTX
Uncovering Bugs in P4 Programs with Assertion-based Verification
PPTX
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
PPTX
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
PPTX
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
PPTX
YATES: Rapid Prototyping for Traffic Engineering Systems
PPTX
Life in the Fast Lane: A Line-Rate Linear Road
PPTX
How to implement complex policies on existing network infrastructure
PPTX
Network-Wide Heavy-Hitter Detection with Commodity Switches
PPTX
p4pktgen: Automated Test Case Generation for P4 Programs
PPTX
Mutual exclusion in distributed systems
PDF
virtual memory management in multi processor mach os
PPTX
Solutions to byzantine agreement problem
Uncovering Bugs in P4 Programs with Assertion-based Verification
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
YATES: Rapid Prototyping for Traffic Engineering Systems
Life in the Fast Lane: A Line-Rate Linear Road
How to implement complex policies on existing network infrastructure
Network-Wide Heavy-Hitter Detection with Commodity Switches
p4pktgen: Automated Test Case Generation for P4 Programs
Mutual exclusion in distributed systems
virtual memory management in multi processor mach os
Solutions to byzantine agreement problem

Recently uploaded (20)

PPT
Introduction Database Management System for Course Database
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
L1 - Introduction to python Backend.pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administraation Chapter 3
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
assetexplorer- product-overview - presentation
Introduction Database Management System for Course Database
Digital Systems & Binary Numbers (comprehensive )
Internet Downloader Manager (IDM) Crack 6.42 Build 41
2025 Textile ERP Trends: SAP, Odoo & Oracle
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
L1 - Introduction to python Backend.pptx
CHAPTER 2 - PM Management and IT Context
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Reimagine Home Health with the Power of Agentic AI​
Operating system designcfffgfgggggggvggggggggg
PTS Company Brochure 2025 (1).pdf.......
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administraation Chapter 3
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Softaken Excel to vCard Converter Software.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
assetexplorer- product-overview - presentation

NS4: Enabling Programmable Data Plane Simulation

  • 1. NS4: Enabling Programmable Data Plane Simulation Ajay Kharat (2019H1030011G) BITS-Pilani Jiasong Bai, Jun Bi, Peng Kuang, Chengze Fan, Yu Zhou, Cheng Zhang
  • 5. Approach & Solution NS4 <- NS3 + P4 • NS4 exploits P4 to • Simplify the development of behavioral model • Bridge the gap between Simulation and Development • No library dependent simulator calls, leading to denser source code • Also NS4 is convenient simulation tool for P4 programmers. Simulation Behavior Model Network Feature Network Devices Simulator Oblivious Automatic Compilation
  • 6. NS4 Design Approach: NS4 Runtime • Every line of the configuration is translated into flow table entries • Proactively generates flow table entries from user configuration. • Can Modify flow entries at runtime. NS4 Controller • Designed to be optional • Can populate flow table entries reactively • Trivial entries that can be derived from network topology • Called Automatic entries Statistics Collector • Creates discrete events for gathering statistical information • Can set and reset counters for specific values in the flow tables P4 Configurator • Takes P4 programs and configures pipelines in NS4 Net Device • Line-by-line translation from P4 to discrete events Flow Table Agent • Populates flow table entries according to NS4Runtime andNS4Controller • Offers statistical information to the statistics collector Channel Manager: • Eases communication between multiple net devices • Downward compatibility with traditional devices given Workflow: 1. Configure the behaviour of data plane by inputting compiled P4 programs to P4 pipeline configurator. 2. Create control plane and configure the flow table operations and statistics collection tasks to be performed 3. Build network topology, install applications and trigger the simulation. The control configurations are transformed into discrete events and get performed at the appointed time.
  • 7. 1. Case Study: SilkRoad vs SLB • Software Load Balancer (SLB) • Map virtual IP addresses (VIP) to direct IP addresses (DIP) • Load balancing done in software by dedicated load balancing servers. • Bringing high cost for dedicated devices • Higher forwarding latencies due to redirection of packets • SilkRoad • Implement SLB on switch ASIC with large performance improvement • Switches themselves decide how to forward incoming packets. • NS4 supports simulating SilkRoad and SLB in a typical data center topology.
  • 8. Evaluation Packet Processing delay Device throughput Development Complexity:
  • 9. Conclusion: • NS4: Enabling programmable data plane simulation • Programmable data plane with multiple devices can now be simulated • Simulation setup much easier compared to ns-3 • Direct migration of simulated behaviour to real-world devices possible • Less error prone code writing. • Performance improved significantly. Future Work: • Strengthen NS4 Database to fully support various element in P4. • Improve execution efficiency of NS4 Implementation by reducing memory usage.
  • 10. Related Work Predecessors of NS4 • ns-1 (1989) Terminal based, C++ & Tcl(Tool Command Language) • ns-2 (1995) Otcl, support sensor networks, wireless, satellites... • ns-3 (2011) Python besides OTcl and adherence to C++ style patterns. Improved incorporation with other open-source network simulators. Other network simulators (excerpt) • OPNet GUI, but no P4 support • PFPSim Supports only one P4 enabled device