建立並驗證巨型封包 MTU 網路
本頁將逐步說明如何建立虛擬私有雲 (VPC) 網路和一對用於測試的 VM。假設您已熟悉網路 MTU。
建立自動模式 VPC 網路
主控台
在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。
在專案下拉式選單中選取專案。
按一下「建立虛擬私有雲網路」。
輸入網路的 [Name] (名稱)。
在「Subnet creation mode」(建立子網路模式) 選擇 [Aotomatic] (自動)。
設定最大傳輸單位 (MTU)。
如要讓 VM 傳送及接收巨型資料流,VM 的虛擬 NIC 必須連線至 MTU 值等於或大於機器 MTU 的 VPC 網路。將 MTU 設為 VM 的最大值,例如 8896。如果您使用的是 GPU 機器,請參閱「超大畫面和 GPU 機器」。
按一下 [建立]。
建立防火牆規則
主控台
在 Google Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。
點按「建立防火牆規則」。
輸入防火牆規則的「Name」(名稱)。
此名稱在專案中不得重複。在「Network」下拉式選單中,指定您建立的網路名稱。
在「目標」下拉式選單中,選取「網路中的所有執行個體」。
從「Source filter」(來源篩選器) 下拉式選單中,選取「IPv4 ranges」。
在欄位中輸入 10.128.0.0/16。
在「Protocols and ports」(通訊協定和通訊埠) 中,選取「Specified protocols and ports」(指定的通訊協定和通訊埠)。
勾選「tcp」核取方塊,然後在欄位中輸入「22」。
勾選「其他通訊協定」核取方塊,然後在欄位中輸入「icmp」。
按一下 [建立]。
建立 VM
本節說明如何建立兩個 VM 執行個體以供測試。
主控台
重複執行這些步驟兩次,即可取得位於同一區域的兩個 VM。
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
點選「建立執行個體」。
為第一個 VM 指定「名稱」。
點選「網路、磁碟、安全性、管理、單一用戶群」。
點選「網路」。
在「網路介面」中,按一下「預設預設 (10.128.0.0/20)」。
在「Network」下拉式選單中,選取您建立的網路。
使用 SSH 連線至 VM 執行個體
主控台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
在第一個執行個體的「連線」欄中,按一下「SSH」。
在第二個執行個體的「連線」欄中,按一下「SSH」。
驗證 MTU
在第一個 VM 的終端機中執行下列指令:
/sbin/ifconfig | grep mtu
回報的 MTU 應為
8896
。ens4: flags=4163
mtu 8896 lo: flags=73 mtu 65536 在第二個 VM 的終端機中,安裝
tcpdump
:sudo apt-get install tcpdump --yes
在第二個 VM 的終端機中啟動
tcpdump
。將 FIRST_VM_NAME 替換為第一個 VM 的名稱。sudo tcpdump host FIRST_VM_NAME -v
在第一個 VM 的終端機中,對第二個 VM 執行 ping 作業。ping 指令必須指定封包大小,且必須比網路 MTU 小 28 個位元組。將 SECOND_VM_NAME 替換為第二個 VM 的名稱。
ping SECOND_VM_NAME -c 10 -M do -s 8868
檢查第二個 VM。畫面上應會顯示類似以下內容:
tcpdump: listening on ens4, link-type EN10MB (Ethernet), snapshot length 262144 bytes 19:43:57.116005 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 8896) FIRST_VM_NAME.c.PROJECT_ID.internal > SECOND_VM_NAME.c.PROJECT_ID.internal: ICMP echo request, id 5253, seq 1, length 8876 19:43:57.116053 IP (tos 0x0, ttl 64, id 23961, offset 0, flags [none], proto ICMP (1), length 8896) SECOND_VM_NAME.c.PROJECT_ID.internal > FIRST_VM_NAME.c.PROJECT_ID.internal: ICMP echo reply, id 5253, seq 1, length 8876
這些變數的意思如下:
FIRST_VM_NAME
是第一個 VM 的名稱。SECOND_VM_NAME
是第二個 VM 的名稱。PROJECT_ID
是包含 VM 的專案 ID。
在第二個 VM 上按下
Ctrl-c
即可停止tcpdump
。完成測試後,請按照以下順序刪除資源:
- 防火牆規則和 VM 執行個體
- 虛擬私有雲網路
後續步驟
- 進一步瞭解MTU。
- 建立具有指定 MTU 的虛擬私有雲網路。