MTU是Maximum Transmission Unit的缩写,即最大传输单元。是指链路层(TCP/IP四层结构中的最底层:链路层 Link Layer)所能传送数据帧的最大长度。MTU的单位是字节。 大部分网络设备的MTU都是1500,即IP数据报的长度不能超过1500字节。表1列出了几种常见的MTU值。

表1 几种常见的最大传输单元

网  络

MTU字节

超通道

16 Mb/s令牌环(IBM)

4 Mb/s令牌环(IEEE 802.5)

FDDI

以太网

IEEE802.3/802.2

X.25

点对点(低延时)

65536

17914

4464

4352

1500

1492

576

296

如果本机的MTU比网关的MTU大,大的数据报就会被拆开来传送,这样会产生很多数据报碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。

如何检测网关的MTU。 在XP下面,进入命令提示符(开始-运行:输入cmd),执行:

ping -f -l 1472 192.168.1.175

其中192.168.1.175是另外一台局域网内主机的IP地址,本机IP地址为192.168.1.209(IP地址为192.168.×.×的为局域网专用IP,是不能在公网上显示的,主要是基于缓解IP地址资源紧张而提出的一种解决方法)。1472 是数据报的长度。1472是通过这样计算出来的:由于以太网的MTU为1500,这个长度是包括IP包头长度(一般为20字节),以及传输层的报头长度 (TCP一般为20字节,UDP为8字节)。由于Ping程序发送的数据长度是UDP数据,因此,可以发送至以太网最大的UDP数据长度为1500-20 -8=1472字节。

同时,上面的参数是“-l”(小写的L),而不是“-1”。如果能ping通,表示数据报不需要拆包,可以通过网关发送出去。 如果出现: Packet needs to be fragmented but DF set. 表示数据报需要拆开来发送。此时,减少数据报长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据报长度了。把数据报 长度加上数据报头28字节,就得到MTU的值。 如果检测到网关的MTU值是1500,不需要修改。如果网关有防火墙ping不通,可以试试直接把MTU设为1400。

以下是执行ping -f -l 1472 192.168.1.175的输出结果:

Pinging 192.168.1.175 with 1472 bytes of data:

Reply from 192.168.1.175: bytes=1472 time=2ms TTL=128

Reply from 192.168.1.175: bytes=1472 time=1ms TTL=128

Reply from 192.168.1.175: bytes=1472 time=1ms TTL=128

Reply from 192.168.1.175: bytes=1472 time=1ms TTL=128

Ping statistics for 192.168.1.175:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 1ms, Maximum = 2ms, Average = 1ms

这首先说明当IP数据报的长度为1500字节的时候,网关可以顺利的发送出去,而不用将数据报拆分,即分组。下面我们将测试IP数据包为1501字节是,即UDP数据长度为1473时执行ping -f -l 1473 192.168.1.175的输出结果:Pinging 192.168.1.175 with 1473 bytes of data:

Packet needs to be fragmented but DF set.

Packet needs to be fragmented but DF set.

Packet needs to be fragmented but DF set.

Packet needs to be fragmented but DF set.

Ping statistics for 192.168.1.175:

Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

这说明当IP数据报的长度为1501字节时,数据报就需要分组。由此可以看出,网关的MTU应该是1500字节。

java mtu_MTU简介和检测相关推荐

  1. 带你掌握java反序列化漏洞及其检测

    摘要:在本文中将先介绍java反序列化漏洞的原理,然后在此基础上介绍安全工具如何检测.扫描此类漏洞. 本文分享自华为云社区<java反序列化漏洞及其检测>,作者: alpha1e0. 1 ...

  2. 夯实Java基础系列15:Java注解简介和最佳实践

    Java注解简介 注解如同标签 Java 注解概述 什么是注解? 注解的用处 注解的原理 元注解 JDK里的注解 注解处理器实战 不同类型的注解 类注解 方法注解 参数注解 变量注解 Java注解相关 ...

  3. BDB 入门篇 第1章 Berkeley DB Java Edition简介

    1. Berkeley DB Java Edition 简介 Berkeley DB Java Edition官网 Berkeley DB Java Edition官网文档 JE是一个100%用Jav ...

  4. Java EE 简介

    Java EE 简介 Java EE 基本架构 JavaEE 的诞生是为了解决传统 C/S 架构的弊端:客户端臃肿庞大,扩展性差等弊端. JavaEE 将传统的两层结构细分为了四层. 这四层分别是:C ...

  5. java程序包不存在_第一章 Java语言简介

    Java语言简介 Java之父 James Gosling(詹姆斯·高斯林) 正式诞生时间 1995年,已有二十多年历史 三大方向 JavaSE(桌面版,基础需重点掌握) JavaME(移动版,现在基 ...

  6. (一:NIO系列)JAVA NIO 简介

    出处:JAVA NIO 简介 Java 中 New I/O类库 是由 Java 1.4 引进的异步 IO.由于之前老的I/O类库是阻塞I/O,New I/O类库的目标就是要让Java支持非阻塞I/O, ...

  7. ibm java_IBM i 上Java 虚拟机简介

    Abstract IBM i 上Java 虚拟机简介 Body Java在IT业界有多流行?google上搜索一下java, 结果一目了然(今天早上我搜索到的记录数是840000000条).Java之 ...

  8. Java异常(一) Java异常简介及其架构

    概要 本章对Java中的异常进行介绍.内容包括: Java异常简介 Java异常框架 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3544168.htm ...

  9. Day 12: OpenCV —— Java开发者的人脸检测

    今天我准备学习如何用Java来进行人脸检测.人脸检测有助于在任何数字图像上识别人脸,在做了一些研究后,我发现OpenCV的库可以帮我检测图像中的人脸.不过,我没能找到一个完整的通过Java使用Open ...

最新文章

  1. usb打印机命令_Hyper-V与你的虚拟机共享设备、USB设备
  2. 电子学会 软件编程(图形化)二级训练营
  3. VXLAN 概念(Part II)- 每天5分钟玩转 OpenStack(109)
  4. 人之间的尊重是相互的_人与人之间的感情,最基本的是相互尊重
  5. Extjs 实战之 Ext.tree.TreePanel Tree无法显示
  6. 为什么老司机开车都不快?
  7. 27_多线程_第27天(线程安全、线程同步、等待唤醒机制、单例设计模式)
  8. 设计模式之GOF23原型模式01
  9. 前台传来的文件通过流stream转成bytes 再把文件写入数据库 类型是blob
  10. 3d游戏编程大师技巧 源代码_C/C++编程新手入门基础系列:俄罗斯方块小游戏制作源代码...
  11. python静态分析工具_7 个顶级静态代码分析工具
  12. 微信小程序开发相关资料
  13. 基于JTT808协议的车联网网关中间件
  14. RK3326 Android 8.1 吉字节问题解决
  15. Microsoft Xps Document Writer 虚拟打印机安装
  16. 网址在QQ微信被拦截怎么办?怎么样才能让被微信屏蔽的网址正常访问
  17. Matlab实现Q-criterion涡结构可视化
  18. java验证码验证码_Java登录页面实时验证用户名密码和动态验证码
  19. colorkey唇釉是否安全_colorkey唇釉安全吗-colorkey唇釉真假辨别
  20. vs2008编译QT开源项目--太阳神三国杀源码分析(二) 客户端添加武将

热门文章

  1. WPF中通过控件Margin属性设置控件位置
  2. webmail企业邮箱登录页面,企业邮箱申请价格
  3. VLANTrunk技术
  4. pss matlab,基于MATLAB的PSS仿真分析本科毕业设计
  5. VGA QVGA WQVGA TFT分别是什么意思
  6. 计算机竞赛老师需要具备哪些知识,计算机老师工作总结
  7. 记录自己Flutter配环境失误
  8. 一些web前端相关网址收藏(新手必看)
  9. float计算丢精度_Float和double丢失精度问题及解决方案
  10. C语言中关于未填满字符数组的值(VS2015)