iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
1
Software Development

菸酒生 - Software Defined Network系列 第 9

P4 : P[a-z]+ P[a-z]+P[a-z]+P[a-z]+

前一篇是 P4 : Basic Forwarding
留下了 待解問題:

Question : Why h2's IP TTL is not 62 as in video show ?

所以 在進入 trace code 階段前 , 想好好了解 P4 這個高階語言!
讓 trace code 時可以更有概念!!
前一篇 有留的影片連結 01 Introduction to Data Plane Programming (Stephen Ibanez)
既入門 P4? 又考驗英文聽力。
覺得還沒有完全懂 /images/emoticon/emoticon02.gif
因此 找了 中文的資源如下:


中文版 參考:
P4学习笔记:背景起源与基本原理
目錄:

  • Overview
  • Trend
  • Background
  • Three goals
  • 基本原理
  • Future work

還有 原汁原味的
2014 P4 出場論文 P4: Programming Protocol-Independent Packet Processors <<< 標題 P4 全名在這兒

[論文微筆記]

Abstract:

  • P4 是高階語言。用於程式化與 Protocol 無關的封包處理器。
  • OpenFlow 指定 protocol header ,幾年內,從12到41個欄位,增加了標準的複雜性,但是依然沒有提供對於新增表頭(header)的彈性(flexibility)。

因此提出 對於OpenFlow如何發展的 草擬提案(草案?) P4。

原文:

In this paper we propose P4 as a strawman proposal for how OpenFlow should evolve in the future.

  • 三個目標:
  1. Reconfigurability
    controller 可以重新定義 解析/處理封包
  2. Protocol independence
    不侷限於 特定封包格式
  3. Target independence
    就像 C programmer 不用管硬體配置(underlying hardware) --> CPU
    controller programmer 不用知道 底層switch的細節 <-- 專心寫邏輯就好
    ,取而帶之的是 compiler 來做 <-- 轉換
    把 target-independent description (P4) 轉成 target-dependent program(configure the switch) <-- switch 的硬體看的懂

原文:

the controller programmer should not need to know the details of the underlying switch. Instead, a compiler should
take the switch’s capabilities into account when turning
a target-independent description (written in P4) into a
target-dependent program (used to configure the switch).

[To be continue]

  • Abstract Forwarding Model
  • A Programming Language
  • P4 Language By Example
  • Compiling A P4 Program
  • Conclusion

上一篇
P4 : Basic Forwarding
下一篇
P4 paper (cont.)
系列文
菸酒生 - Software Defined Network30

尚未有邦友留言

立即登入留言