说起 MTU 值,可能许多朋友连听都没听说过。简单来说,我们上网时所进行的操作,都是通过传输一个又一个“数据包”来实现的,而 MTU 值就是用来设定可传输数据包的最大尺寸的。很显然,MTU 值设置得过大或过小,都会在一定程度上影响我们上网的速度。

那么,MTU 值究竟设为多大才最合适,我们们又该如何设置 MTU 值呢?

一、什么是 MTU 值

1,从字面上来说,MTU 是英文 Maximum Transmission Unit 的缩写,即最大传输单元,它的单位是字节。

在我们常用的以太网中,MTU 一般是 1500,而无线路由器默认一般是 1492,蓝牙官网的默认值是 672(这个速度很慢了,大约 20k/s 左右)。

2,为什么说 MTU 值会影响网速呢?在此简单说明一下。

在 Win 系统中,MTU 值默认是 1500。假设我们现在要传输 3000 字节的数据,只需要拆分成 2 个数据包就行了。

而如果是 ADSL 接入方式,它的 MTU 值是 1492 的话,则 3000 字节的数据需要分为 3 个数据包传送。由于数据包的数量增多了,同时拆包组包都需要额外消耗时间,因此网速变慢也就不足为奇了。

 

二、怎样测出自己当前网络最佳MTU值

1,首先,我们必须明白什么才是最佳的 MTU 值。

1)当本地 MTU 值 > 网络 MTU 值,网络会进行拆包,这样一来数据包数量增多,二来也增加了拆包组包的时间

2)当本地 MTU 值 < 网络 MTU 值,虽然可以直接传输,但是却没有完全利用网络的性能,没有发挥出最大传输能力

因此,设置最合适的本地 MTU 值,就是要让本地 MTU 值 = 网络 MTU 值。

那么,怎样才能知道自己的当前网络环境的 MTU 值是多少呢?下面便来介绍测试方法。

①按下快捷键 Win键+R,打开运行窗口后输入 cmd,回车打开命令提示符窗口。

②在命令提示符窗口输入以下命令(建议直接复制,以免误将小写字母 l 写为数字 1),回车。

ping -l 1472 -f www.baidu.com

这条命令的意思是向 www.baidu.com(百度主页)发送一个探测请求,请求将一个不允许分割的 1472 字节的数据包发送出去。

③若是出现传输失败,提示需要拆分数据包的情况,则说明当前网络的 MTU 值要比指定的 1472 小,因此我们就适当调小数据包的大小(比如 1450),再发送一条类似的命令。

④这时,如果出现传输成功,则说明当前网络的 MTU 值比 1450 要大。于是我们需要稍微调大数值(比如1460),以便求得最为精确的网络 MTU 值。

 

⑥如此这般,通过不断修正数据包的大小,我们可以最终得到当前网络的 MTU 值。比如我这里,测试 1464 通过,但 1465 失败,所以我的网络 MTU 值为 1464。

在此需要特别说明的是,当我们设置本地 MTU 值,必须牢记要将这个测得的值再加上 28,即 1464+28 = 1492。

 

三、怎样设置本地MTU值

【Vista、Win7、Win8.1、Win10 操作系统设置 MTU 的方法】

1、查看自己当前网络的 MTU 值,请命令提示符下输入以下命令并回车:

netsh interface ipv4 show subinterfaces

 

2、要设置你正在使用网络的 MTU 值,请在命令提示符下输入以下命令并回车:

netsh interface ipv4 set subinterface "需修改的连接名" mtu=值 store=persistent

其中,需修改的连接名 和 值 要用相应的值来代替。例如,我这里需要输入:

netsh interface ipv4 set subinterface "WLAN" mtu=1492 store=persistent

在这里,我已经把要修改的地方用粗体字标出来了。

另外,请大家注意,修改 MTU 值与查看不同,需要以管理员身份运行命令提示符。

 

3、当我们以管理员身份运行命令提示符符时,输入以上命令即可成功设置。友情提示:回车后出现“确定”二字即代表已经设置成功。

附:

1)在 Win8.1/10 中以管理员身份运行命令提示符的方法,右击屏幕左下角的Win徽标,在弹出的右键菜单中点击“命令提示符(管理员)”

2)Win7点击开始菜单,在所有程序找到“命令提示符(管理员)”点击运行即可

 
 

>netsh interface ipv4 show subinterfaces

>netsh interface ipv4 set subinterface "连接名" mtu=1340 store=persistent

 

注意事项

不同的网络类型,其MTU有可能不同,大家最好自己动手测试,以找到最合适自己的MTU值。

windows系统下设置mtu值的方法的更多相关文章

  1. windows10系统下设置mtu值的方法

     windows10系统下设置mtu值的方法 http://www.xitongcheng.com/jiaocheng/win10_article_34701.html 以下为服务器上使用  ip ...

  2. [记]Windows 系统下设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata,担心安装的node_modules越来越多,导致C盘满,所以参考别人的博文,将node_modules安装的默认目录修改一下. 参考Wind ...

  3. Windows系统下MySQL添加到系统服务方法(mysql解压版)

    MySQL软件版本:64位 5.7.12 1.首先配置MySQL的环境变量,在系统环境变量Path的开头添加MySQL的bin目录的路径,以“;”结束,我的路径配置如下: 2.修改MySQL根目录下的 ...

  4. lua在linxu和windows系统下的遍历目录的方法

    在windows下遍历目录使用lfs库:例如遍历整个目录下的所有文件 local lfs = require "lfs" function findPathName(path)  ...

  5. Windows 系统下设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效 npm config set cache "D:\nodejs\node_ca ...

  6. Windows 系统下设置Nodejs NPM全局路径和环境变量配置

    在nodejs的安装目录中找到node_modules\npm\.npmrc文件 修改如下即可: prefix = D:\tool\nodejs\node_globalcache = D:\tool\ ...

  7. node.js之Windows 系统下设置Nodejs NPM全局路径

    node.js 0.10 版本下修改全局路径: npm config set cache "D:\nodejs\node_cache" npm config set prefix ...

  8. windows系统下npm升级的正确姿势以及原理

    本文来自网易云社区 作者:陈观喜 网上关于npm升级很多方法多种多样,但是在windows系统下不是每种方法都会正确升级.其中在windows系统下主要的升级方法有以下三种: 首先最暴力的方法删掉no ...

  9. MTU介绍以及在windows和linux下怎么设置MTU值

    最大传输单元MTU(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位).最大传输单元这个参数通常与通信接口有关(网络接口卡 ...

随机推荐

  1. PAT 乙级 1071.小赌怡情 C++/Java

    题目来源 常言道“小赌怡情”.这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大还是小:玩家下注 t 个筹码后,计算机给出第二个数.若玩家猜对了,则系统奖励玩 ...

  2. python基础语法13 内置模块 subprocess,re模块,logging日志记录模块,防止导入模块时自动执行测试功能,包的理论

    subprocess模块: - 可以通过python代码给操作系统终端发送命令, 并且可以返回结果. sub: 子    process: 进程 import subprocess while Tru ...

  3. sublime中文解决

    1.写好文件sublime_imfix.c并保存. #include <gtk/gtkimcontext.h> void gtk_im_context_set_client_window ...

  4. ruby中的整数、浮点数、字符串之间的相互转换

    D:\learnProg\Ruby>irb#浮点数转换成整数,会强行去掉小数点后面的数字 irb(main):017:0> 123.45.to_i => 123 #整数转换成浮点数, ...

  5. 跑起来JEE论坛、商城和网站的经验总结

    前言:昨天我们老大给我分配了几个任务,让我把几个公司的项目运行起来跑一下,几个项目都是JEE上开源的,三个项目,一个网站内容系统.一个BBS论坛.一个jspgou商城,这三个都是开源的,倒腾了两天,今 ...

  6. 证明StringBuffer线程安全,StringBuilder线程不安全

    证明StringBuffer线程安全,StringBuilder线程不安全证明StringBuffer线程安全StringBuilder线程不安全测试思想测试代码结果源码分析测试思想分别用1000个线 ...

  7. 17-Flutter移动电商实战-首页_楼层区域的编写

    1.楼层标题组件 该组件非常简单,只接收一个图片地址,然后显示即可: class FloorTitle extends StatelessWidget {  final String picture_ ...

  8. asyncapi 指南

    asyncapi 是可以用来创建异步机器可读定义api的指南,我们可以用来创建事件驱动的架构. 说明 asyncapi 的定义类似openapi,目前指南版本为2.0,很值得学习下 参考资料 http ...

  9. 迁移模型问题,提示admin已存在

    在部署的时候迁移文件的时候提示 django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_i ...

  10. Install Python3.6 on Amazon Linux/EC2 在Amazon Linux实例中安装使用Python3.6

    本文转载自 https://gist.github.com/niranjv/f80fc1f488afc49845e2ff3d5df7f83b 由于Amazon Linux中预装的Python版本为2. ...