通用網路虛擬化封裝 (GENEVE) 是一種網路封裝通訊協定,可使用額外的中繼資料封裝原始封包。這項額外的中繼資料有助於啟用彈性且可擴充的網路虛擬化。
下圖顯示 GENEVE 封包的標頭格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| Opt len |O|C| Rsvd. | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖所示的 GENEVE 標頭欄位:
| 欄位 | 說明 | 欄位長度 |
|---|---|---|
| Ver | GENEVE 通訊協定版本。唯一支援的版本是零 (0)。 詳情請參閱「通道標頭欄位」。 | 2 位元 |
| Opt len | 選項欄位的長度,以 4 位元組的倍數表示,不包括 8 位元組的固定通道標頭。 詳情請參閱通道標頭欄位。 | 6 位元 |
| O | 控制封包位元。詳情請參閱「通道標頭欄位」。 | 1 位元 |
| C | 重要選項位元。詳情請參閱「通道標頭欄位」。 | 1 位元 |
| Rsvd | 保留欄位,傳輸時必須為零 (0),接收時必須忽略。詳情請參閱通道標頭欄位。 | 6 位元 |
| 通訊協定類型 | 通訊協定類型可使用任何乙太網路類型,但網路安全整合服務僅允許 IPv4 (0x0800) 或 IPv6 (0x86DD)。 |
16 位元 |
| 虛擬網路 ID (VNI) | 虛擬網路元素的專屬 ID。 網路安全整合服務不會填入這個欄位,也就是說,VNI 會設為零 (0)。詳情請參閱「頻外整合 GENEVE」。 | 24 位元 |
| Rsvd | 保留欄位,傳輸時必須為零 (0),接收時必須忽略。詳情請參閱通道標頭欄位。 | 8 位元 |
Google Cloud專屬 GENEVE 選項
GENEVE 標頭的選項採用類型長度值 (TLV) 格式。也就是說,每個選項都會編碼為類型 ID、指出值大小的長度欄位,以及值本身。這個格式具有彈性和擴充性,可新增選項,不會中斷現有實作項目。以下各節說明選項的順序和數量。請注意,隨著產品發展,選項數量和順序可能會有所不同。因此,為確保裝置實作方式的向前相容性,請根據 TLV 欄位剖析 GENEVE 標頭。
GENEVE 專屬的 Google Cloud 選項如下:
網路 ID
網路 ID 選項 (也稱為「網路 Cookie」) 會識別與 Google Cloud中 GENEVE 封裝流量相關聯的虛擬網路。這個選項由選項類別 0x0132 (Google) 和類型 0x01 (網路 ID) 識別。選項資料包含 32 位元,前 28 位元代表不透明的網路 ID。下圖和表格說明其餘 4 位元的用途。
下圖顯示 GENEVE 封包中的選項格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x01 R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖顯示的選項欄位:
| 欄位 | 說明 | 欄位長度 |
|---|---|---|
| 選項類別 | 識別定義選項的機構或實體。
值 0x0132 會將 Google 指定為定義實體。 |
16 位元 |
| 類型 | 識別類別中的選項類型。值 0x01 代表「聯播網 ID」選項。詳情請參閱「通道選項」。 |
8 位元 |
| R | 保留供日後使用的選項控制項標記。這些位元在傳輸時必須為零 (0),且在接收時必須忽略。 | 3 位元 |
| Len | 選項酬載的長度,以 4 位元組為增量。網路 ID 酬載為 32 位元 (4 個位元組),因此這個選項的長度設為 1。 | 5 位元 |
| 網路 Cookie | 不透明的網路 Cookie,用於識別虛擬網路。 | 28 位元 |
| R | 保留供日後實作。傳輸時必須設為零 (0),接收時則必須忽略。 | 2 位元 |
| T | 指出封裝封包的 TLS 卸載。未使用。 | 1 位元 |
| D | 表示原始封包的方向。零 (0) 代表原始鏡像虛擬機器 (VM) 上的輸入封包,一 (1) 代表輸出封包。 | 1 位元 |
端點 ID
端點 ID 選項 (也稱為「端點 Cookie」) 可唯一識別擷取點,也就是 VM 上的網路介面控制器。 Google Cloud這個選項由選項類別 0x0132 (Google) 和類型 0x02 (端點 ID) 識別。選項資料是不透明的 128 位元值。
下圖顯示 GENEVE 封包中的選項格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖顯示的選項欄位:
| 欄位 | 說明 | 欄位長度 |
|---|---|---|
| 選項類別 | 識別定義選項的機構或實體。
值 0x0132 會將 Google 指定為定義實體。 |
16 位元 |
| 類型 | 識別類別中的選項類型。值 0x02 會指定「端點 ID」選項。詳情請參閱「通道選項」。 |
8 位元 |
| R | 保留供日後使用的選項控制項標記。這些位元在傳輸時必須為零 (0),且在接收時必須忽略。 | 3 位元 |
| Len | 酬載長度,以 4 位元組為單位遞增。端點 ID 酬載為 128 位元 (16 位元組),因此這個選項的長度會設為 4。 | 5 位元 |
| 端點 Cookie | 擷取點 (VM NIC) 的不透明 ID。 | 128 位元 |
付款資料 ID
設定檔 ID 選項會識別套用至流量的鏡像 安全性設定檔群組。這個選項由選項類別 0x0132 (Google) 和類型 0x03 (設定檔 ID) 識別。選項資料是 64 位元 ID,對應於安全性設定檔群組中的 data_path_id 欄位。目標裝置可能會根據設定檔群組 ID 強制執行安全性政策。
下圖顯示 GENEVE 封包中的選項格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖顯示的選項欄位:
| 欄位 | 說明 | 欄位長度 |
|---|---|---|
| 選項類別 | 識別定義選項的機構或實體。
值 0x0132 會將 Google 指定為定義實體。 |
16 位元 |
| 類型 | 識別類別中的選項類型。值 0x03 代表設定檔 ID 選項。詳情請參閱「通道選項」。 |
8 位元 |
| R | 保留供日後使用的選項控制項標記。這些位元在傳輸時必須為零,且在接收時必須忽略。 | 3 位元 |
| Len | 選項酬載的長度,以 4 位元組為增量。設定檔 ID 酬載為 64 位元 (8 個位元組),因此這個選項的長度設為 2。 | 5 位元 |
| 付款資料 ID | 鏡像安全性設定檔群組的 ID。 | 64 位元 |
時間戳記
時間戳記選項會指出來源 VM 上原始封包的擷取時間。這個選項由選項類別 0x0132 (Google) 和類型 0x0f (時間戳記) 識別。
下圖顯示 GENEVE 封包中的選項格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x0f |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Timestamp +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖顯示的選項欄位:
| 欄位 | 說明 | 欄位長度 |
|---|---|---|
| 選項類別 | 識別定義選項的機構或實體。
值 0x0132 會將 Google 指定為定義實體。 |
16 位元 |
| 類型 | 識別類別中的選項類型。值 0x0f 代表時間戳記選項。詳情請參閱「通道選項」。 |
8 位元 |
| R | 保留供日後使用的選項控制項標記。這些位元在傳輸時必須為零,且在接收時必須忽略。 | 3 位元 |
| Len | 選項酬載的長度,以 4 位元組為增量。時間戳記酬載為 64 位元 (8 個位元組),因此這個選項的長度設為 2。 | 5 位元 |
| 時間戳記 | 原始封包的擷取時間,以 Epoch 紀元時間起算的奈秒數表示。奈秒精細度不保證奈秒準確度。如要瞭解具體準確度服務等級目標 (SLO),請參閱產品說明文件。 | 64 位元 |
網路穩定 ID
「網路穩定 ID」選項會識別鏡像 VM 的網路。這個選項由選項類別 0x0132 (Google) 和類型 0x10 (網路穩定 ID) 識別。
下圖顯示 GENEVE 封包中的選項格式。網路穩定 ID 包含專案編號和網路 ID。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x10 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Project Number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Network ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖顯示的選項欄位:
| 欄位 | 說明 | 欄位長度 |
|---|---|---|
| 選項類別 | 識別定義選項的機構或實體。
值 0x0132 會將 Google 指定為定義實體。 |
16 位元 |
| 類型 | 識別類別中的選項類型。值 0x10 會指定「網路穩定 ID」選項。詳情請參閱「通道選項」。 |
8 位元 |
| R | 保留供日後使用的選項控制項標記。這些位元在傳輸時必須為零,且在接收時必須忽略。 | 3 位元 |
| Len | 選項酬載的長度,以 4 位元組為增量。網路 ID 酬載為 128 位元 (16 個位元組),因此這個選項的長度設為 4。 | 5 位元 |
| 網路穩定 ID | 已建立鏡像的 VM 網路。 | 128 位元 (64 位元的專案編號和 64 位元的網路 ID) |
網路安全整合服務的 GENEVE 標頭格式
本節說明網路安全整合服務使用的 GENEVE 標頭格式。
透過 IPv4 的 GENEVE 封包格式
GENEVE 封包格式會在 IPv4 的 UDP 中封裝精簡的通道標頭。固定式小型通道標頭提供控制資訊、基本功能和互通性。
下圖顯示 IPv4 的 GENEVE 封包格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of service| Total length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to live | Proto=17 (UDP)| Header checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖所示的 IPv4 標頭欄位:
| 欄位 | 說明 |
|---|---|
| Proto=17 (GENEVE 一律使用 UDP) | 表示封裝的酬載使用 UDP 通訊協定。 |
| 來源位址 | 本機子網路的閘道 IP 位址。 |
| 目的地地址 | 客戶擁有的負載平衡器 VIP。 |
UDP 標頭
UDP RFC 0768 標頭會封裝資料,維持乙太網路和 IP 位址的無連線語意。此外,也會為執行等價多路徑 (ECMP) 的路由器提供熵。
下圖顯示封裝在 UDP 中的 Geneve 封包標頭格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source port = <hash> | Dest port = 6081 (Geneve)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UDP length | UDP checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下表說明上圖所示的 UDP 標頭欄位:
| 欄位 | 說明 |
|---|---|
| 來源通訊埠 | 整個 16 位元範圍的不透明雜湊。單一封裝流程 (雙向) 的所有封包都具有相同的值。 |
| 目的地通訊埠 | GENEVE 流量的指定目的地通訊埠編號,設為 6081。 |
| UDP 長度 | UDP 資料包的總長度,包括 UDP 標頭和封裝的 GENEVE 封包。 |
| UDP 檢查碼 | UDP 資料電報的總和檢查碼值,用於偵測錯誤。 |
頻帶外整合
頻帶外整合會使用 GENEVE 通道封裝及傳送鏡像封包。收集器的內部負載平衡器虛擬 IP 位址 (VIP) 會接收以 Google Cloud專屬中繼資料 (例如網路 Cookie) 註解的封包。
頻外整合作業會使用下列 Google Cloud專屬 GENEVE 選項:網路 Cookie、端點 Cookie 和設定檔 ID。詳情請參閱 Google Cloud專屬的 GENEVE 選項。
下圖顯示頻外整合如何使用 Google Cloud專屬的 GENEVE 選項,進行直接模式的鏡像處理。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=0| Opt len |O|C| Rsvd | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) = 0 | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x01 |R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下圖顯示頻外整合如何使用 Google Cloud專屬的 GENEVE 選項,進行鏡像模式的代理模式 (預覽版)。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=0| Opt len |O|C| Rsvd | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) = 0 | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x01 |R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x0f |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Timestamp +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x10 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Project Number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Network ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
頻帶內整合
頻內整合會使用 GENEVE 通道封裝及傳送攔截的封包。生產者的內部負載平衡器虛擬 IP 位址 (VIP) 會接收以 Google Cloud特定中繼資料 (例如網路 Cookie) 註解的封包。
頻內整合會使用下列 Google Cloud專屬的 GENEVE 選項:網路 Cookie、端點 Cookie 和設定檔 ID。詳情請參閱 Google Cloud專屬的 GENEVE 選項。
頻內整合功能支援使用邏輯雙向 GENEVE 通道將封包重新注入原始端點,該通道由兩個單向 GENEVE 通道組成。製作人網路設備攔截並檢查封包後,可以捨棄或重新注入封包。如要重新注入封包,設備會執行下列動作:
- 使用原始 GENEVE 標頭 (相同選項) 重新封裝封包。
- 交換外部 IP 標頭中的來源和目的地地址。
- 確保檢查碼正確無誤。
下圖顯示頻內整合如何使用 Google Cloud專屬的 GENEVE 選項。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=0| Opt len |O|C| Rsvd | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) = 0 | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option Class=0x0132 (Google) | Type=0x01 |R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option Class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint Cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option Class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
GENEVE 封裝和 MTU 規定
最大傳輸單位 (MTU) 是乙太網路訊框內可容納的最大 IP 封包大小 (以位元組為單位),包括 IP 標頭、第 4 層通訊協定標頭和第 4 層資料。詳情請參閱「傳輸單位上限」。
在 Google Cloud 網路中,允許的 MTU 為 8588 位元組。不過,如果是網路安全整合服務,則需保留 308 個位元組,以處理 GENEVE 封裝負擔。這項保留需求對消費者和生產者網路都有影響:
消費者網路 MTU:消費者網路的 MTU 不得超過 8588 個位元組。這項限制可確保有足夠空間容納 GENEVE 額外負荷,且不會超過 MTU 上限。
生產端網路 MTU:生產端網路的 MTU 必須比消費端網路的 MTU 多至少 396 個位元組。這項配額可容納額外的 GENEVE 封裝。
如果 MTU 限制不足以容納 GENEVE 封裝,封包可能會遭到捨棄。這可能發生在虛擬網路層級或 VM 的作業系統中。