创建并验证巨型帧 MTU 网络

本页面将指导您创建虚拟私有云 (VPC) 网络和一对虚拟机以进行测试。本教程假定您熟悉网络 MTU

创建自动模式 VPC 网络

控制台

  1. 在 Google Cloud 控制台中,进入 VPC 网络页面。

    进入 VPC 网络页面

  2. 在项目下拉菜单中选择一个项目。

  3. 点击创建 VPC 网络

  4. 输入网络的名称

  5. 子网创建模式选择自动

  6. 最大传输单元 (MTU) 字段设置为 8896

  7. 点击创建

创建防火墙规则

控制台

  1. 在 Google Cloud 控制台中,转到防火墙页面。

    转到“防火墙政策”

  2. 点击创建防火墙规则

  3. 输入防火墙规则的名称
    该名称在项目中必须是唯一的。

  4. 网络下拉菜单中,指定您创建的网络的名称。

  5. 目标下拉菜单中,选择网络中的所有实例

  6. 来源过滤条件下拉菜单中,选择 IPv4 范围

  7. 在该字段中输入 10.128.0.0/16

  8. 协议和端口中,选择指定的协议和端口

  9. 选中 tcp 复选框,并在字段中输入 tcp

  10. 选中其他协议复选框,然后在字段中输入 icmp

  11. 点击创建

创建虚拟机

本部分介绍了如何创建两个虚拟机实例以进行测试。

控制台

执行这些步骤两次,以在同一可用区中获取两个虚拟机。

  1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

    转到虚拟机实例

  2. 点击创建实例

  3. 为第一个虚拟机指定名称

  4. 点击网络、磁盘、安全、管理、单租户

  5. 点击网络

  6. 网络接口中,点击默认值 (10.128.0.0/20)

  7. 网络下拉菜单中,选择您创建的网络。

使用 SSH 连接到虚拟机实例

控制台

  1. 在 Google Cloud 控制台中,转到虚拟机实例页面。

    转到虚拟机实例

  2. 在第一个实例的连接列中,点击 SSH

  3. 在第二个实例的连接列中,点击 SSH

验证 MTU

  1. 第一个虚拟机的终端中,运行以下命令:

    /sbin/ifconfig | grep mtu
    

    报告的 MTU 应为 8896

    ens4: flags=4163  mtu 8896
    lo: flags=73  mtu 65536
    

  2. 第二个虚拟机的终端中,安装 tcpdump

    sudo apt-get install tcpdump --yes
    

  3. 第二个虚拟机的终端中,启动 tcpdump。将 FIRST_VM_NAME 替换为第一个虚拟机的名称。

    sudo tcpdump host FIRST_VM_NAME -v
    

  4. 第一个虚拟机的终端中,对第二个虚拟机执行 ping 操作。ping 命令必须指定比网络 MTU 小 28 字节的数据包大小。将 SECOND_VM_NAME 替换为第二个虚拟机的名称。

    ping SECOND_VM_NAME -c 10 -M do -s 8868
    

  5. 检查您的第二个虚拟机。您应该会看到类似以下所示的内容:

    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 是第一个虚拟机的名称。
    • SECOND_VM_NAME 是第二个虚拟机的名称。
    • PROJECT_ID 是包含虚拟机的项目的 ID。
  6. 在第二个虚拟机上,按 Ctrl-c 以停止 tcpdump

  7. 完成测试后,请按以下顺序删除资源:

    1. 防火墙规则和虚拟机实例
    2. VPC 网络

后续步骤