iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
Software Development

A survey between OpenFlow Protocol and P4 in Software Defined Network(SDN)系列 第 13

[Day 13] P4 顯示壅塞通知 Explicit Congestion Notification(ECN)(2)

  • 分享至 

  • xImage
  •  

若是想要了解 SDN OpenFlow 以及 P4 請不要吝嗇點擊喜歡或是訂閱我喔!(訂閱又不收費XD)
未來有機會也可以跟大家分享我當網管的辛酸血淚史,可以讓人解決問題時可以參考我的文章。

話不多說,我們就累狗!!/images/emoticon/emoticon05.gif

首先ecn.p4文件包含一個框架P4程序,其關鍵邏輯部分已由TODO註釋替換。
這些應該指導您的步驟,實作缺失部分的邏輯替換每個TODO。

首先,我們必須通過將TOS字段拆分為DiffServ和ECN字段來更改ipv4_t標頭。請記住要相應地更新校驗和塊。然後,在出口控制塊中,我們必須將隊列長度與ECN_THRESHOLD進行比較。如果隊列長度大於閾值,則將設置ECN標誌。
並且注意,只有當最終主機通過將原始ECN設置為1或2聲明支持ECN時,才應發生此邏輯。

完整的ecn.p4將包含以下組件:

以太網(ethernet_t)和IPv4(ipv4_t)的標頭類型定義。
以太網,IPv4,
使用mark_to_drop()丟棄數據包的動作。

一個動作(稱為ipv4_forward)它將設置下一跳的出口端口。
用下一跳的地址更新以太網目標地址。
用交換機的地址更新以太網源地址。
減少TTL。

一個出口控制塊,用於檢查ECN和standard_metadata.enq_qdepth並設置ipv4.ecn。
解析器,用於選擇將字段插入傳出數據包的順序。
解析器,控制,校驗和驗證以及重新計算和反解析器隨附的程序包實例化。

每次都需要記得清理掉mininet!

在此付上我的 Reference,我將會以簡短白話的方式來講解 P4 這套語言,若是你/妳不嫌棄可以訂閱我的發文
每天就根據我自己了解的程度來做發文的動作,如果自己對於 P4也有興趣可以先來預習,那我們明天見!
Reference :
P4_turtorial
[(http://docs.google.com/presentation/d/1zliBqsS8IOD4nQUboRRmF_19poeLLDLadD5zLzrTkVc/edit#slide=id.g37fca2850e_6_1802)]


上一篇
[Day 12] P4 顯示壅塞通知 Explicit Congestion Notification(ECN)
下一篇
[Day 14] P4 顯示壅塞通知 Explicit Congestion Notification(ECN) 實作
系列文
A survey between OpenFlow Protocol and P4 in Software Defined Network(SDN)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言