본문 영역으로 바로가기

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만원) 또한, 수료증을 발급 받고자 하는 분은 본 과정의 수료기준(진도율 50%, 성적 성취율 70%)에 도달해야 하며 소정의 비용(5만원)을 지불해야 합니다.

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

* Pre-requisites:

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

강좌 목차

주차 주차
1 P4 Overview Data plane programming - What and why?
P4: Programming Protocol-independent Packet Processor (1)
P4: Programming Protocol-independent Packet Processor (2)
Lecture Notes
Discussion
2 P4 Basics P4 Architecture Model
Portable Switch Architecture (1)
Portable Switch Architecture (2)
Lecture Notes
Discussion
3 P4 Language Basics (1) Programming Approach
Data Types & Parser
Match & Action Programming: Controls and Actions
Lecture Notes
Discussion
4 P4 Language Basics (2) Match & Action Programming - Tables
Deparser
How to compile & run
Lecture Notes
Discussion
5 Reading Week 1 Reading Week 1
6 P4 Programming Tutorial Tutorial 1 - Basic Forwarding
Tutorial 1 - Basic Forwarding (Solution)
Tutorial 2 - Basic Tunneling
Tutorial 2 - Basic Tunneling (Solution)
Lecture Notes
7 P4 Runtime protobuf
gRPC
P4Runtime
Lecture Notes
8 P4 Support in ONOS Introduction on ONOS
P4 and P4Runtime Support in ONOS
P4 Usecases in ONOS
Lecture Notes
9 P4Runtime & ONOS Tutorial Tutorial Overview
Tutorial 1 - Reactive Forwarding
Tutorial 2 - MyTunnel App
Lecture Notes
10 Reading Week 2 Reeding Week 2
11 P4 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
12 P4 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

교수자

홍원기

포스텍 컴퓨터공학과 교수

University of Western Ontario Computer Science 석사

University of Waterloo Computer Science 박사

전) KT 종합기술원장 (CTO)

POSTECH 컴퓨터공학과 교수

POSTECH 정보통신대학원장


등록