SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
A PoC implementation
of a RINA interior
router using P4
Sergio Fernandez (i2CAT)
Eduard Grasa (i2CAT)
Steve Bunch (TRIA Network Systems)
Motivation: what?
2
A High performance RINA router
implementation
At a reasonable cost (in terms of
development effort and required
hardware)
Motivation: why?
3
•  Increase RINA credibility and decrease perceived adoption risk
•  “Great theory, nice prototype but… where is the router?”
•  Support new use experimental / PoC use cases beyond existing pure
software prototypes
•  Campus Networks, Datacenter Fabrics, 5G network backhaul, etc.
•  Understand limitations in current network programmability approaches
Potential approaches
4
High performance packet I/O
frameworks
NETMAP
•  Software-based, flexible: you can
do anything
•  Limited performance (15 Mpps per
core)
FPGA-based
•  Hardware acceleration,
high performance. Still
flexible
•  Limited hardware choices,
complex development
Programmable ASICs
•  Hardware acceleration,
hardware choice, # of
interfaces
•  W i l l i t b e f l e x i b l e
enough?
Our contributions
5
•  Initial analysis of P4 capabilities relevant to the implementation of a
RINA router
•  Prototype implementation of a RINA interior router data plane using a P4
software target (BMv2)
•  Next steps:
•  Do it in hardware! (Barefoot Tofino ASIC)
•  Check feasibility of border router, what are the tradeoffs?
Use cases
6
•  Decrypt (optional, depends on policy)
•  Parse EFCP header
•  Check CRC
•  Check forwarding function, select outer port
•  Schedule PDU
•  Recompute CRC
•  Encode EFCP header
•  Encrypt (optional)
•  Interior router functions +
•  Remove / add headers
•  Generate control PDUs
•  For flow control
•  For rtx control (optional, depends on policy)
•  Timers
P4 basics: components
7
•  P4: Language for expressing how packets are processed by the data
plane of a programmable forwarding element
•  P4 Runtime: Platform for loading different pipelines, add/remove entries
from dataplane tables and read/write PDUs from/to dataplane
P4 basics: pipeline architectures
8
•  P416: Language supports different architectures (specified by ASIC
vendor). Architecture defines the building blocks that can be present in the
pipeline, and the supported packet workflows
•  Example: V1Model: Simple architecture used by P4 software targets
P4 language limitations
9
•  No support for loops
•  Can be workarounded via resubmit and recirculate primitives, performance penalty
•  No support for timers at the data plane, nor for encryption
•  Unless defined in a vendor-specific hardware module
•  Packet scheduler cannot be programmed
•  No support for fragmentation or reassembly
•  No built-in support for generating new PDUs
•  May be workarounded via clone and recirculation/resubmission
Use cases
10
•  Decrypt (optional, depends on policy)
•  Parse EFCP header
•  Check CRC
•  Check forwarding function, select outer port
•  Schedule PDU (but not programmable!)
•  Recompute CRC
•  Encode EFCP header
•  Encrypt (optional)
•  Interior router functions +
•  Remove / add headers
•  Generate control PDUs
•  For flow control
•  For rtx control (optional, depends on policy)
•  Timers
RINA interior router: basic design
11
•  Target control plane: Management agent and layer management components of the IPC
Processes, communicating to the data plane via P4Runtime API
•  Target data plane: Data transfer components of the IPC Process.
Data plane implementation: RINA interior router P4 pipeline
12
•  Based on the BMv2 simple_switch software target (V1model, P416)
•  Can process EFCP over Ethernet (with or without VLANs) and IP over
Ethernet (with or without VLANs) -> IP for legacy support
•  Dataplane implementation straightforward, P4 file only has 462 LOC
Control plane: Verify P4Runtime API
13
•  Simple Python script that attacks
the P4Runtime API to:
•  Load the hybrid EFCP/IP
pipeline
•  Populate the EFCP and IP
match action tables
•  Rx packets from the
dataplane and Tx packets
to the dataplane
….
sh.setup(
device_id=1,
grpc_addr='10.0.2.15:50001',
election_id=(0, 1), # (high, low)
config=sh.FwdPipeConfig('p4src/build/p4info.txt', 'p4src/build/bmv2.json')
)
#TABLE ENTRIES
te = sh.TableEntry('MyIngress.efcp_lpm')(action = 'MyIngress.efcp_forward')
te.match['hdr.efcp.dstAddr'] = ('1')
te.action['dstAddr'] = ('00:00:00:00:00:01')
te.action['port'] = ('1')
te.action['vlan_id'] = ('0')
te.insert()
…
connection = sh.client
while True:
print("Waiting for recive something")
packet = connection.stream_in_q.get()
print("Packet received!:" + str(packet))
connection.stream_out_q.put(packet)
sh.teardown()
Testing: Stratum and Mininet
14
•  Validated interior router behaviour using Mininet and Python programs to
generated and receive EFCP PDUs (hosts and router are containers)
•  Minimal performance test (though BMv2 is just a testing tool, not designed
for performance at all) -> up to 1 Gbps throughput (8 CPUs, 15 GB RAM)
Conclusions right now
15
•  Interior router -> no problem
•  Without encryption! And need to check in real hardware
•  Border router might be doable (as a prototype), but maybe too constrained
•  No fragmentation / reassembly
•  Timers only with speficic hardware support (no generic implementation)
•  Is packet cloning + recirculation a viable way to generate control packets?
•  P4 community very responsive
•  All or questions were answered quickly (in less than one week, usually in 1 or 2 days),
interest in supporting our use case
•  Understand limitations in current network programmability approaches
Thank you!
Questions?
Research Roadmap 2020 - 2025 16

Contenu connexe

Tendances

Tendances (20)

2. RINA overview - TF workshop
2. RINA overview - TF workshop2. RINA overview - TF workshop
2. RINA overview - TF workshop
 
Rlite software-architecture (1)
Rlite software-architecture (1)Rlite software-architecture (1)
Rlite software-architecture (1)
 
PRISTINE @ FIA Athens 2014
PRISTINE @ FIA Athens 2014PRISTINE @ FIA Athens 2014
PRISTINE @ FIA Athens 2014
 
The hague rina-workshop-intro-eduard
The hague rina-workshop-intro-eduardThe hague rina-workshop-intro-eduard
The hague rina-workshop-intro-eduard
 
The hague rina-workshop-mobility-eduard
The hague rina-workshop-mobility-eduardThe hague rina-workshop-mobility-eduard
The hague rina-workshop-mobility-eduard
 
4. Clearwater on rina
4. Clearwater on rina4. Clearwater on rina
4. Clearwater on rina
 
The hageu rina-workshop-security-peter
The hageu rina-workshop-security-peterThe hageu rina-workshop-security-peter
The hageu rina-workshop-security-peter
 
3. RINA use cases, results, benefits
3. RINA use cases, results, benefits3. RINA use cases, results, benefits
3. RINA use cases, results, benefits
 
One of the Ways How to Make RIB Distributed
One of the Ways How to Make RIB DistributedOne of the Ways How to Make RIB Distributed
One of the Ways How to Make RIB Distributed
 
LF_DPDK17_Abstract APIs for DPDK and ODP
LF_DPDK17_Abstract APIs for DPDK and ODPLF_DPDK17_Abstract APIs for DPDK and ODP
LF_DPDK17_Abstract APIs for DPDK and ODP
 
The hague rina-workshop-nfv-diego
The hague rina-workshop-nfv-diegoThe hague rina-workshop-nfv-diego
The hague rina-workshop-nfv-diego
 
Pristine rina-sdk-icc-2016
Pristine rina-sdk-icc-2016Pristine rina-sdk-icc-2016
Pristine rina-sdk-icc-2016
 
Rina sdn-2016 mobility
Rina sdn-2016 mobilityRina sdn-2016 mobility
Rina sdn-2016 mobility
 
Intro RINA
Intro RINAIntro RINA
Intro RINA
 
Eucnc rina-tutorial
Eucnc rina-tutorialEucnc rina-tutorial
Eucnc rina-tutorial
 
The hague rina-workshop-interop-deployment_vincenzo
The hague rina-workshop-interop-deployment_vincenzoThe hague rina-workshop-interop-deployment_vincenzo
The hague rina-workshop-interop-deployment_vincenzo
 
RINA research results - NGP forum - SDN World Congress 2017
RINA research results - NGP forum - SDN World Congress 2017RINA research results - NGP forum - SDN World Congress 2017
RINA research results - NGP forum - SDN World Congress 2017
 
RINA as a Clean-Slate Approach to Software Networks
RINA as a Clean-Slate Approach to Software Networks RINA as a Clean-Slate Approach to Software Networks
RINA as a Clean-Slate Approach to Software Networks
 
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
 
Advanced network experiments in FED4FIRE
Advanced network experiments in FED4FIREAdvanced network experiments in FED4FIRE
Advanced network experiments in FED4FIRE
 

Similaire à Rina p4 rina workshop

[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4
Open Networking Summits
 
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CanSecWest
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
Mahmoud Hatem
 

Similaire à Rina p4 rina workshop (20)

Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
OSN days 2019 - Open Networking and Programmable Switch
OSN days 2019 - Open Networking and Programmable SwitchOSN days 2019 - Open Networking and Programmable Switch
OSN days 2019 - Open Networking and Programmable Switch
 
Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017
 
BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4
 
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
 
2016 NCTU P4 Workshop
2016 NCTU P4 Workshop2016 NCTU P4 Workshop
2016 NCTU P4 Workshop
 
DPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith WilesDPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith Wiles
 
eBPF Basics
eBPF BasicseBPF Basics
eBPF Basics
 
6 open capi_meetup_in_japan_final
6 open capi_meetup_in_japan_final6 open capi_meetup_in_japan_final
6 open capi_meetup_in_japan_final
 
Introduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, IntelIntroduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, Intel
 
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
 
Using a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application PerformanceUsing a Field Programmable Gate Array to Accelerate Application Performance
Using a Field Programmable Gate Array to Accelerate Application Performance
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDP
 
LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2
 
Linkmeup v076(2019-06).2
Linkmeup v076(2019-06).2Linkmeup v076(2019-06).2
Linkmeup v076(2019-06).2
 
P4_tutorial.pdf
P4_tutorial.pdfP4_tutorial.pdf
P4_tutorial.pdf
 
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
CSW2017Richard Johnson_harnessing intel processor trace on windows for vulner...
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
 

Plus de Eduard Grasa (6)

Vtc keynote201110
Vtc keynote201110Vtc keynote201110
Vtc keynote201110
 
Rin armenia icin 2020
Rin armenia  icin 2020Rin armenia  icin 2020
Rin armenia icin 2020
 
Rizinski daychitkushevrina2020.pptx
Rizinski daychitkushevrina2020.pptxRizinski daychitkushevrina2020.pptx
Rizinski daychitkushevrina2020.pptx
 
1. perf mgmt
1. perf mgmt1. perf mgmt
1. perf mgmt
 
2 s tic-rina-2020-presentatie
2 s tic-rina-2020-presentatie2 s tic-rina-2020-presentatie
2 s tic-rina-2020-presentatie
 
Icin 2020 rinarmenia
Icin 2020 rinarmeniaIcin 2020 rinarmenia
Icin 2020 rinarmenia
 

Dernier

Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
sexy call girls service in goa
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Sheetaleventcompany
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 

Dernier (20)

Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 

Rina p4 rina workshop

  • 1. A PoC implementation of a RINA interior router using P4 Sergio Fernandez (i2CAT) Eduard Grasa (i2CAT) Steve Bunch (TRIA Network Systems)
  • 2. Motivation: what? 2 A High performance RINA router implementation At a reasonable cost (in terms of development effort and required hardware)
  • 3. Motivation: why? 3 •  Increase RINA credibility and decrease perceived adoption risk •  “Great theory, nice prototype but… where is the router?” •  Support new use experimental / PoC use cases beyond existing pure software prototypes •  Campus Networks, Datacenter Fabrics, 5G network backhaul, etc. •  Understand limitations in current network programmability approaches
  • 4. Potential approaches 4 High performance packet I/O frameworks NETMAP •  Software-based, flexible: you can do anything •  Limited performance (15 Mpps per core) FPGA-based •  Hardware acceleration, high performance. Still flexible •  Limited hardware choices, complex development Programmable ASICs •  Hardware acceleration, hardware choice, # of interfaces •  W i l l i t b e f l e x i b l e enough?
  • 5. Our contributions 5 •  Initial analysis of P4 capabilities relevant to the implementation of a RINA router •  Prototype implementation of a RINA interior router data plane using a P4 software target (BMv2) •  Next steps: •  Do it in hardware! (Barefoot Tofino ASIC) •  Check feasibility of border router, what are the tradeoffs?
  • 6. Use cases 6 •  Decrypt (optional, depends on policy) •  Parse EFCP header •  Check CRC •  Check forwarding function, select outer port •  Schedule PDU •  Recompute CRC •  Encode EFCP header •  Encrypt (optional) •  Interior router functions + •  Remove / add headers •  Generate control PDUs •  For flow control •  For rtx control (optional, depends on policy) •  Timers
  • 7. P4 basics: components 7 •  P4: Language for expressing how packets are processed by the data plane of a programmable forwarding element •  P4 Runtime: Platform for loading different pipelines, add/remove entries from dataplane tables and read/write PDUs from/to dataplane
  • 8. P4 basics: pipeline architectures 8 •  P416: Language supports different architectures (specified by ASIC vendor). Architecture defines the building blocks that can be present in the pipeline, and the supported packet workflows •  Example: V1Model: Simple architecture used by P4 software targets
  • 9. P4 language limitations 9 •  No support for loops •  Can be workarounded via resubmit and recirculate primitives, performance penalty •  No support for timers at the data plane, nor for encryption •  Unless defined in a vendor-specific hardware module •  Packet scheduler cannot be programmed •  No support for fragmentation or reassembly •  No built-in support for generating new PDUs •  May be workarounded via clone and recirculation/resubmission
  • 10. Use cases 10 •  Decrypt (optional, depends on policy) •  Parse EFCP header •  Check CRC •  Check forwarding function, select outer port •  Schedule PDU (but not programmable!) •  Recompute CRC •  Encode EFCP header •  Encrypt (optional) •  Interior router functions + •  Remove / add headers •  Generate control PDUs •  For flow control •  For rtx control (optional, depends on policy) •  Timers
  • 11. RINA interior router: basic design 11 •  Target control plane: Management agent and layer management components of the IPC Processes, communicating to the data plane via P4Runtime API •  Target data plane: Data transfer components of the IPC Process.
  • 12. Data plane implementation: RINA interior router P4 pipeline 12 •  Based on the BMv2 simple_switch software target (V1model, P416) •  Can process EFCP over Ethernet (with or without VLANs) and IP over Ethernet (with or without VLANs) -> IP for legacy support •  Dataplane implementation straightforward, P4 file only has 462 LOC
  • 13. Control plane: Verify P4Runtime API 13 •  Simple Python script that attacks the P4Runtime API to: •  Load the hybrid EFCP/IP pipeline •  Populate the EFCP and IP match action tables •  Rx packets from the dataplane and Tx packets to the dataplane …. sh.setup( device_id=1, grpc_addr='10.0.2.15:50001', election_id=(0, 1), # (high, low) config=sh.FwdPipeConfig('p4src/build/p4info.txt', 'p4src/build/bmv2.json') ) #TABLE ENTRIES te = sh.TableEntry('MyIngress.efcp_lpm')(action = 'MyIngress.efcp_forward') te.match['hdr.efcp.dstAddr'] = ('1') te.action['dstAddr'] = ('00:00:00:00:00:01') te.action['port'] = ('1') te.action['vlan_id'] = ('0') te.insert() … connection = sh.client while True: print("Waiting for recive something") packet = connection.stream_in_q.get() print("Packet received!:" + str(packet)) connection.stream_out_q.put(packet) sh.teardown()
  • 14. Testing: Stratum and Mininet 14 •  Validated interior router behaviour using Mininet and Python programs to generated and receive EFCP PDUs (hosts and router are containers) •  Minimal performance test (though BMv2 is just a testing tool, not designed for performance at all) -> up to 1 Gbps throughput (8 CPUs, 15 GB RAM)
  • 15. Conclusions right now 15 •  Interior router -> no problem •  Without encryption! And need to check in real hardware •  Border router might be doable (as a prototype), but maybe too constrained •  No fragmentation / reassembly •  Timers only with speficic hardware support (no generic implementation) •  Is packet cloning + recirculation a viable way to generate control packets? •  P4 community very responsive •  All or questions were answered quickly (in less than one week, usually in 1 or 2 days), interest in supporting our use case •  Understand limitations in current network programmability approaches