본문 영역으로 바로가기

P4: Programming Protocol-independent Packet Processor


POSTECH
이 강좌는 초대된 사람만 등록가능합니다

강좌 소개

본 강좌는 데이터 평면 프로그래밍의 개념에 대해 소개하고, 프로그래머블 스위치를 프로그래밍할 수 있는 대표적인 DSL (Domain-specific Language)인 P4(Programming Protocol-independent Packet Processor)에 대해 소개합니다. 우선, P4의 기본적인 개념과 P4로 프로그래밍할 수 있는 스위치 아키텍쳐 (PISA, PSA)에 대해 소개합니다. 그리고 P4 언어에 대한 상세한 소개와 함께 P4 프로그램 작성 방법과 Mininet을 활용하여 P4 프로그램을 PC나 연구실 환경에서 쉽게 시뮬레이션 해 볼 수 있는 방법을 소개합니다. 그리고 P4Runtime과 ONOS를 사용하여 P4 target을 제어할 수 있는 방법에 대해 설명하며, P4를 활용한 다양한 어플리케이션들을 소개합니다. 본 강좌에서는 P4 프로그래밍 실습과 함께 P4Runtime 및 ONOS를 통해 P4로 작성된 데이터 평면을 제어하는 프로그래밍 실습을 포함합니다.

- 무료 버전 강좌: 강의 동영상 + 퀴즈
- 유료 버전 강좌 (수강료: 10만원): 강의 동영상 + 퀴즈 + 강의자료 + 수료증 발급

* Pre-requisites:

  • Basic understanding of SDN (Software-Defined Networking)
  • Basic understanding of NFV (Network Function Virtualization)
  • Basic understanding of Network Monitoring


강좌 목차

주차주차
1P4 OverviewData plane programming - What and why?
P4: Programming Protocol-independent Packet Processor (1)
P4: Programming Protocol-independent Packet Processor (2)
Lecture Notes
Discussion
2P4 BasicsP4 Architecture Model
Portable Switch Architecture (1)
Portable Switch Architecture (2)
Lecture Notes
Discussion
3P4 Language Basics (1)Programming Approach
Data Types & Parser
Match & Action Programming: Controls and Actions
Lecture Notes
Discussion
4P4 Language Basics (2)Match & Action Programming - Tables
Deparser
How to compile & run
Lecture Notes
Discussion
5Reading Week 1Reading Week 1
6P4 Programming TutorialTutorial 1 - Basic Forwarding
Tutorial 1 - Basic Forwarding (Solution)
Tutorial 2 - Basic Tunneling
Tutorial 2 - Basic Tunneling (Solution)
Lecture Notes
7P4 Runtimeprotobuf
gRPC
P4Runtime
Lecture Notes
8P4 Support in ONOSIntroduction on ONOS
P4 and P4Runtime Support in ONOS
P4 Usecases in ONOS
Lecture Notes
9P4Runtime & ONOS TutorialTutorial Overview
Tutorial 1 - Reactive Forwarding
Tutorial 2 - MyTunnel App
Lecture Notes
10Reading Week 2Reeding Week 2
11P4 Applications (1)In-band Network Telemetry
HULA: Scalable load balancing using programmable data planes
CLOVE: Congestion aware load balancing at the virtual edge
Lecture Notes
12P4 Applications (2)SONATA: Network Monitoring as a Streaming Analytics Problem
NetCache: Balancing Key-Value Stores with Fast In-Network Caching
Generic External Memory for Switch Data Planes
Lecture Notes