最大传输单元MTU(Maximum Transmission Unit)决定了单次可传输数据包的最大尺寸,本文介绍如何使用ecs-utils-jumboframe脚本为ECS实例的网卡设置MTU值。
背景信息
建议将网络MTU值与本地MTU值设置为一致,可以充分利用单次传输数据包大小的上限,同时避免因数据包过大而必须拆分数据包导致的额外时间消耗。
注意 ecs-utils-jumboframe脚本中没有直接调用重启网卡或者网络服务的指令,但不同系统中可能使用不同类型的网络服务和网卡驱动,不能完全排除出现瞬时网络断流的可能。如果您的业务严格要求实时网络不能中断,请参考脚本内容慎重评估后再决定是否使用。
使用限制
- 仅VPC实例支持使用ecs-utils-jumboframe脚本,且ecs-utils-jumboframe脚本依赖实例元数据服务检测实例规格是否支持Jumbo Frame特性。使用该脚本前请勿禁用网络和实例元数据服务相关端口(100.100.100.200:80)。
- 目前仅7代高主频实例(hfg7、hfc7、hfr7)支持Jumbo Frame特性,允许设置的网卡MTU值上限为8500。ecs-utils-jumboframe脚本会根据实例规格判断允许设置的MTU值上限,您也可以使用该脚本为其它实例规格设置网卡MTU值,但上限为1500。
- Jumbo Frame特性仅限同VPC内7代高主频实例之间使用TCP协议直接通信的场景,不支持经过SLB等其他中间节点。
在Linux实例中设置网卡MTU值
确保Linux实例的镜像为以下版本之一:
- CentOS 6.x、CentOS 7.x、CentOS 8.x
- Debian 9.x、Debian 10.x
- SUSE Linux Enterprise Server 15
- Ubuntu 16.x、18.x、20.x
在Windows实例中设置网卡MTU值
确保Windows实例满足以下要求:
- 镜像为Windows Server 2012或以上版本。
- 已安装PowerShell。