軟體定義網路 - OpenFlow 中 Group / Meter Table (2-3)
reference:
目錄:
1. Group Table
以下是 Group Table 的長相 :
Group Idantifier | Group Type | Counter | Action Buckets |
---|---|---|---|
… | … | … | … |
… | … | … | … |
- Group Identifier : 是一個 32 bit 的非負整數,用來識別用。
- Group Type : 用來決定此 Group 的 semantic。 共有四種。
- Counter : 用來計算此 Group 被使用幾次。
- Action Buckets : 內含一堆 action bucket ,而每個 action bucket 都內含著一系列的 action 。
1.1 Group Type
用來決定此 Group 的 semantic。 以下共有四種。
名稱 | switch 支援程度 | 解釋 |
---|---|---|
Indirect | 必須支援 |
|
All | 必須支援 |
|
Select | 不一定支援 | |
fast failover | 不一定支援 |
1.2 小例子
Group Idantifier | Group Type | Counter | Action Buckets | 動作解釋 |
---|---|---|---|---|
7 | Indirect | … | {output 3} | 從 output 3 丟出去 |
8 | All | … | {output 1}, {output 3} | all 會複製封包, 分別在 port 1/3 各傳送一份。 |
9 | Select | … | {output 1}, {output 3} | 封包會選擇 port 1/3 的其中一個送出去。 |
10 | fast failover | … | {output 1}, {output 3} | 預設會先傳送某一個 port ,若發現預設 port 的有問題時,會在不經過 controller 的情況下,直接使用 action bucket 另外一個 port 傳送。 |
※ failover : 故障排除
2. Meter Table
以下是 Meter Table 的長相 :
Meter Identifier | Meter Band | Counter |
---|---|---|
… | {…},{…} | … |
… | {…} | … |
2.1 Meter Table – Meter Band
其中 Meter Band 可以再放大成底下的樣子 :
Band Type | Rate | Burst | Counters | Type specific arguments |
---|---|---|---|---|
指定封包要做怎麼樣的處理 | 指定的速率 | 自己設定的單位 | 計數器 | 其他參數 |
Meter Band 在 Meter Table 代表的是當此類的封包達到一定的速率後要如何處理,因此會記錄一些重要資訊。
Band Type 在此有兩種處理方式 :
- drop : 在封包超過一定流量時,直接將封包丟棄。
- dscp_remark : 當封包超過一定流量時,將封包的優先度降低。