巧妙设备MTU的大小,轻松提网速

摘要:
MTU指定可以在网络中传输的数据包的最大大小。超过此大小的数据包将被拆分并单独传输。访问ADSL时,MTU为1492字节。然而,考虑到ADSL的MTU为1492字节。本地传输的数据包太大,导致网络在解包后传输。然而,网络给出的数据分组传输大小的上限没有被充分利用。

MTU是什么?

  “MTU=最大传输单元 单位:字节”

  我们在使用互联网时进行的各种网络操作,都是通过一个又一个“数据包”传输来实现的。而MTU指定了网络中可数据传输包的最大尺寸,在我们经常使用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输。

为什么MTU影响网络性能?

  让我们看看这个情况,在Windows系统中,默认MTU值也是1500字节,可是“不同的接入方式、不同地区的网络运营商、不同的路由器”有着不同的MTU设置。

  比如:ADSL接入时MTU为1492字节,如果A须要给B传输3000字节数据,如果整个传输过程中各个环节的MTU都是1500,那么2个数据包就能够传输完毕。但是偏偏这时ADSL接入方式的MTU是1492字节,数据包就由于这个MTU差异额外拆分为3个(为了便于理解,临时不将“数据包报头”纳入考虑范围)

  显然这额外添加了须要传输的数据包数量,并且拆包组包的过程也浪费了时间。假设从本地到网络採用一致的MTU就能够避免额外拆包。

对下载速度的影响会有多大?

  就拿伊文家里的线路质量不太好的电信4M带宽为例,将操作系统的MTU值改为1492,再将路由器的MTU值从1460改为1492后,下载速度从原本的435KB/s提升到了450KB/s,提升了15KB/s。电信的带宽检測工具的检測结果也从4.09M提升到了4.19M。

我该怎样合理设置MTU呢?

  更快的下载速度,对于迅雷的用户来说,显然非常有意义。但是MTU设置不能一个值天下通用,所以我们讲究合理设置MTU。

  那么什么情况下的MTU值才是合理的呢?

我们先看看什么是不合理的:

1、本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,并且消耗了“拆包、组包”的时间。

2、本地MTU值小于网络MTU值时,本地传输的数据包能够直接传输,可是未能全然利用网络给予的数据包传输尺寸的上限值,传输能力未全然发挥。

  这样我们就知道,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。

  接下来最重要的就是要找出对于你的网络环境来说MTU多少才是合理的。

方法例如以下:

1、按Win+R组合键,调出“执行”菜单,输入“cmd”然后回车

巧妙设备MTU的大小,轻松提网速第1张

2、在出现的“命令提示符”窗体中输入“ping -l 1472 -f www.baidu.com”然后回车

含义:

ping:发起一个探測请求;

-l(L的小写):限制探測包大小;

1472:包大小为1472字节;

-f:禁止路由器拆分数据包

www.baidu.com:设百度为探測目标

(你问我为什么不用Google做目标?考虑到Google时不时被墙,还是算了吧。。)

3、这时有2种情况:

(1)、假设收到了回复,那么说明你的网络同意最大MTU值就是1500字节,与系统默认值同样,仅仅须要将路由器的MTU值也设置为1500就可以;

巧妙设备MTU的大小,轻松提网速第2张

(2)、假设出现须要拆分数据包可是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小。须要减小探測包大小再次尝试。(为了截效果图,我将探測包改为1473了)

巧妙设备MTU的大小,轻松提网速第3张

4、按“上箭头”恢复刚才输入的命令,然后以5为跨度减小包大小为1467字节,再次回车探測。

5、这时相同也有两种可能:

(1)、假设有返回,说明数据包小于MTU限制,就将包大小+3再次探測,假设+3之后没有返回,那就以1为跨度减少数据包大小进行探測。

(2)、假设还是没有返回,就继续以5为跨度减小包大小,直至有返回后进行5(1)中的操作。

6、直至你发现数据包-1后,有了返回,就说明你探測到了MTU同意的准确数据包大小。(比如从1465减少到1464就有了返回,那么同意的数据包大小就是1464)

7、只是上面得到的值还不能设置为操作系统或路由器的MTU,你找到的数据包大小须要加上28字节的“数据包报头”,才是完整的数据包尺寸。

(比如:探測到的数据包大小是1464,那么加上28字节,终于MTU=1492字节)

8、最后,仅仅须要将路由器和操作系统中的MTU值设置为你得出的结果就可以。

  路由器设置方法见路由器说明书!建议使用“Windows优化大师超级兔子魔法设置鲁大师”等软件改动操作系统的MTU。

下面是较复杂的方法:

(1)、XP操作系统设置方法:

1、 按Win+R组合键,调出“执行”菜单,输入regedit,然后回车;

2、 选择“HKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface”;

3、在 interface 中下可能有非常多项,须要逐个观察键值,会有一个项与你的网卡IP一致,选中该项;

4、然后在该项上点击右键,选择“编辑>新建>DWORD值”,然后在右側将其命名为“MTU”;

5、右键点击MTU,选择“改动”,在弹出的窗体中选择“十进制”,填入你得出的合理MTU值就可以。

(2)、Vista、Win7操作系统设置方法:

1、进入系统盘:WindowsSystem32找到cmd.exe,右键“以管理员身份执行”;

2、在出现的“命令提示符”窗体中输入“netsh interface ipv4 show subinterfaces”并回车来查看当前的MTU值

3、接下来输入“netsh interface ipv4 set subinterface "需改动的连接名" mtu=你得出的合理值 store=persistent”并回车就可以

比如:“netsh interface ipv4 set subinterface "本地连接" mtu=1492 store=persistent”

免责声明:文章转载自《巧妙设备MTU的大小,轻松提网速》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇USB中CDC-ECM的了解和配置nodejs+https 使用openssl (window)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

kafka2.5.0生产者与消费者配置详解

1)引入maven依赖 我这里使用的是springboot 2.1.3.RELEASE 版本: <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId&g...

消息中间件ActiveMQ使用详解

消息中间件ActiveMQ使用详解 一、消息中间件的介绍 介绍 ​ 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信 来进行分布式系统的集成。 特点(作用) 应用解耦 异步通信 流量削峰 (海量)日志处理 消息通讯 …... 应用场景 根据消息队列的特点,可以衍生出很多场景,或者说很多场景都能用到。下面举几个...

tcpip详解笔记(15) TCP协议连接过程

TCP是一个面向连接的协议,在发送数据之前,双方必须通过三次握手协议建立连接,而在终止连接的时候执行4次握手协议。 连接建立和终止 先看一下telnet连接服务器80端口的抓包:   上图由wireshark抓取,并显示了TCP状态图(注意:由于网络阻塞,发生了丢包现象,4是对2的重发,而5是对4的响应(同3相同))。 根据上图可以看到建立一个TCP连接的...

在 Linux 平台及 IPv4 环境中构建 IPv6局域网 测试环境

在 Linux 平台及 IPv4 环境中构建 IPv6 测试环境 1 IPv6简介 IPv6(Internet Protocol Version 6)作为 IPv4 的升级版本,它是作为一共软件升级安装在设备和操作系统中。为什么需要使用 IPv6,一个最直接的答案就是目前广泛应用的 IPv4 已经无法提供足够的 IP 地址来满足迅速增长的网络。IPv4 采...

Java基础知识强化之IO流笔记34:OutputStreamWriter(Writer字符流的子类)5种write数据方式

1. OutputStreamWriter (转换流) OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。 同时OutputStreamWriter 也是 字符流Writer(抽象类)一个具体实现子类。 所以我们这个OutputStreamWriter (转换流)也是字符流。 2. ...

HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头

基本 HTTP 协议 打开浏览器,输入服务器 IP,例如 http://192.168.0.3,如果端口号不80,例如是 8000,则输入 http://192.168.0.3:8000 。这时浏览器向服务器发送的 HTTP 协议头如下: GET / HTTP/1.1 Host: 192.168.0.3:8000 User-Agent: Mozilla/5...