mtu设置--解决部分网站打不开的问题

2023-11-16

资料一:    

  一、常见问题介绍

1、什么情况下需要改MTU?

  如果您的动态域名网站不能被正常访问,很难连接,连接上也非常慢,请试试把DirectSend设为“总是关闭”。如果关闭后可以正常访问,这种情况就需要修改MTU。如果您的网站连接正常,只是下载速度慢,就不必改MTU了。请跳过这一节。

2、什么是MTU?

  MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。MTU的单位是字节。

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

3、如何检测网关的MTU?

  在本机打开dos窗口,执行:

    ping -f -l 1472 192.168.0.1

    其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”。

  如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。

  如果出现:

    Packet needs to be fragmented but DF set.

  表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。

  如果检测到网关的MTU值是1500,不需要修改。

  如果网关有防火墙ping不通,可以试试直接把MTU设为1400。

4、如何修改本机的MTU?

  修改方法如下:

(1)运行regedit

(2)浏览到:

  HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Services//Tcpip//Parameters//Interfaces

 

(3)Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:

  (a)确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;

  (b)用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;

  (c)如果IPAddress的键值与(a)中的IP相同,即192.168.0.19,则该子项就是要找的网卡。

(4)进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“双字节值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口:

  填入MTU的值。填写前请先把基数设为十进制。

  设置好后,需要重启机器才能生效。


二、故障现象

故障1描述:随着ADSL宽带费用和安装门槛的降低,越来越多的小企业选择ADSL作为公司的网络出口方式。笔者所在公司最近开拓了两个子公司,采用ADSL作为网络出口。在使用过程中总出现一个奇怪的问题:拨号上网后,公司内部计算机经常出现打不开网页,但奇怪的是,并不是所有页面都打不开,有很多站点还是可以正常访问的。经过反复调试及上网查找资料后,笔者发现原来是MTU在捣乱。默认情况下MTU值是1500,使用ip mtu 1492命令将它修改为1492后上述问题解决。

为什么MTU的设置错误就会产生这个问题呢?首先我们来看一下MTU的概念,MTU(Maximum Transmission Unit)即最大传输单元,对于PPPoE(ADSL)来说要求用户端的MTU不能大于1492,否则用户无法浏览某些网站,因此必须对MTU的设定值进行调节。这点对于ADSL用户特别重要,很多不明不白的问题都有可能是因为MTU的设置不当造成的,遇到实际问题时应该引起足够的注意。

如果MTU被设置在最小值或最大值的以下或者以上,Windows忽略这些值,使用最低值或者最高值。

通常,大多数Windows使用者使用PPP Over Analogue modem,ISDN或者Ethernet over cable和xDSL。PC使用的网络是ppp或者以太网。所有windows使用者运行tcp/ip连接。

注意,tcp/ip和网络连接两者都有头。

网络 头 最小MTU 最大MTU

PPP 6 128 65535

Ethernet 38 46 1500

TCP/IP 40 576 65535

56k modem使用者和isdn使用者,都使用tcp/ip over ppp, 有46字节的头。cable和xdsl使用者有78字节的头。

那么,关键问题是:一个包裹在达到MTU设定的尺寸之前不会被送出。如果MTU值很大,很明显延迟也更长。但是,如果MTU值太小,头会占据大量带宽,从而减低带宽的有效性.

 

故障2描述:今天搞一个网络,死活出问题(比如,可以上网,qq等就是不能上msn。),后来才发觉是MTU值设定的错误,自己总结了一下

当电脑连接网络传送资料时,资料会分割为不同大小的封包,MTU值设定。MTU是英文Maximum Transmission Unit的缩写,意为“最大传输单位”。也就是通过TCP/IP协议所传输的数据包最大有多少字节, MTU值越大,封包就越大,理论上可增加传送速率,但MTU值又不能设得太大,因为封包太大,传送时出现错误的机会大增。一般默认的设置,PPPoE连接的最高MTU值是1492, 而以太网(Ethernet)的最高MTU值则是1500,而在Internet上,默认的MTU大小是576字节, 为什么会有这种差别呢?一般而言,LAN就不说了吧,为充分发挥LAN的效能,MTU可以稍微大一点。Internet的情况恰好相反,对拨号用户来说,那叫一个慢呀。因此,对于Internet,应当采用较小的数据包。 MTU值设定与宽带接入方式的不同也会影响上网速度,通常推荐的MTU配置是:对于拨号用户,设置成576;对于使用PPPoE的DSL用户,设置成1400;对于其他用户,设置成1500。

ping www.blueidea.com -f -l 1480

出现Packet needs to be fragmented but DF set.就说明该大小的(1480字节)数据包超过了ISP的MaxMTU,产生了数据冲突碎片,那么我们就降低Ping命令中的数据包大小,比如说是1460一直到返回信息是Reply from 220.194.57.26: bytes=1460 time=134ms TTL=115才算正常,那个这个1460数据包大小的值就是ISP的PPPoE协议的MaxMTU值


 

资料二:

MTU,即Maximum Transmission Unit(最大传输单元),此值设定TCP/IP协议传输数据报时的最大传输单元。设置合适的MTU值可以解决“部分网站打不开”、“上网速度慢”等问题,并且可以适当提升上网速度。
设置多大的MTU值取决于你的上网方式,不同的上网方式支持不同的MTU,下面列出了一些上网方式的MTU值:
EtherNet(一般上网方式,默认值):1500
PPPoE/ADSL:1492
Dial Up/Modem:576

问题一:知道了我的上网方式,如何设置MTU值?
1. 在 『开始』>『运行』中,键入regedit,点确定;
2. 选择『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>『Services』>『Tcpip』>『Parameters』>『interface』;
3. 在 interface 底下可能有很多的选项,你一个一个的去看,会有一个选项与你的网卡的 IP 相同,那个就是你要挑选的选项啦!然后同样的在该选项上选择『编辑』>『新建』>『DWORD值』之后,建立一个名为『MTU』的DWORD,然后双击修改,选择十进制,填入合适 MTU 值,确定!大功告成!

问题二:我不知道自己的上网方式,如何确定MTU值呢?
ping -f -l 1500 127.0.0.1

C:/WINDOWS>ping -f -l 1500 127.0.0.1
Pinging 127.0.0.1 with 1500 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 127.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

上面的式子中,-l 是 L 的小写(不是 1 喔),1500 是我们要测的 MTU 值,结果出现了 Packet needs to be fragmented but DF set. 这个东西,那表示MTU值太大了,你需要更小的 MTU 值才行!好啦!那假设我们使用 1464 来测试时:

C:/WINDOWS>ping -f -l 1464 127.0.0.1
Pinging 127.0.0.1 with 1464 bytes of data:
Reply from 127.0.0.1: bytes=1464 time=10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
结果出现了回应了!这表示这一个 MTU 值是可行的!不过,强烈建议找出可行的最大 MTU 值!这样一来,在设定的时候,才可以达到最佳的网速!

找出 MTU 值:利用上面这个方法找到的数值还不是 MTU 喔!由于一些封包上面的问题,上面这个值再加上 28 才是我们所需要的 MTU 值!所以,在上面的例子中,我们所需要的 MTU 值是 1464+28=1492!

一般来讲,设计好本机的MTU值,可以解决部分网站打不开的情况,但是如果你的共享主机或路由器的MTU设置有问题,有时问题仍然存或,或者出现网速过慢的情况。合理的设置路由器与本机的MTU值,就可以完全解决上述问题,使上网速度达到最大化。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mtu设置--解决部分网站打不开的问题 的相关文章

  • Unity学习记录——空间与运动

    Unity学习记录 空间与运动 前言 本文是中山大学软件工程学院2020级3d游戏编程与设计的作业3 编程题 1 模拟太阳系 首先向unity中Assets添加所找的贴图素材Solar Textures Solar System Scope

随机推荐

  • 基于verilog设计一个硬件看门狗

    文章目录 一 看门狗简介 二 看门狗分类 三 看门狗模块设计 3 1 看门狗模块设计框图 3 2 顶层 3 3 计数器 3 4 边沿检测器 3 5 信号延迟模块 一 看门狗简介 看门狗 也称看门狗定时器 是常见于系统的一种外设 看门狗似乎就
  • 嵌入式开发中常用且杂散的命令

    1 mount命令 挂载linux系统 mkdir tmp share mount t nfs 10 77 66 88 share tmp share o nolock tcp cd tmp share 挂载Windows系统 mkdir
  • 【Linux】Linux 基础开发工具(yum、vim、gcc/g++、gdb、make/makefile、git)

    文章目录 一 Linux 软件包管理器 yum 1 1 软件包 1 2 搜索 安装 卸载软件包 1 3 拓展 rz sz 工具 二 Linux 开发工具 2 1 编辑器 vim 2 1 1 vim 的基本概念 2 1 2 vim 的基本操作
  • python爬虫——爬取英雄联盟全英雄皮肤

    爬取英雄联盟全英雄皮肤 import requests import re 1 分析目标网页 确定爬取的url路径 headers参数 base url https game gtimg cn images lol act img js h
  • SQL sever FullText Search(MSSQLSERVER)为什么启动不了?

    查看一下事件日志里的错误 然后把具体的错误找出来 如果是出现 Microsoft Search 服务和下列不存在的服务存在相依的关系 NTLMSSP 的话 就重新安装 microsoft网络客户端 本地连接 属性安装microsoft网络客
  • 单片机通过WH-LTE-7S4和外网服务器进行4G通信

    您想要实现什么功能 单片机通过WH LTE 7S4模块和外网服务器进行4G通信 您是如何连接和设置的 我还不太清楚如何设置 您遇到什么问题 1 你们网站上介绍的都是用你们公司专用的软件来设置4G模块TCP连接的外网地址和端口号 但是我需要在
  • tensorFlow 预训练模型下载地址

    https github com tensorflow models tree master research slim
  • leetcode 45.跳跃游戏 II

    一 题意 给出一个非负整数数组 nums 数组中的每个元素代表在该位置可以跳跃的最大长度 使用最少的跳跃次数到达数组的最后一个位置 假设总是可以到达数组的最后一个位置 二 解法 贪心算法 解法一 反向查找 从头开始找到第一个能到n 1位置的
  • NO1:how

  • 蓝桥杯有必要参赛吗?

    昨天和群里的小伙伴在群里聊 有的小伙伴竟然说蓝桥杯一等奖没有含量 我也是醉了 就像去年看了一个号主写的 研究生遍地都是 放眼全国14亿人口 别说研究生了 本科生占比有多少 蓝桥杯是我人生中得到的第一个大奖 在蓝桥杯大赛备赛期间 我学到了很多
  • 字节跳动面试题汇总 -- C++后端(含答案)

    malloc和new的区别 new delete 是 C 关键字 需要编译器支持 malloc free 是库函数 需要头文件支持 使用 new 操作符申请内存分配时无须指定内存块的大小 编译器会根据类型信息自行计算 而 malloc 则需
  • AIGC用于智能写作的技术综述-达观数据

    导语 图1 ChatGPT生成的关于智能写作的介绍 智能写作指使用自然语言处理技术来自动生成文本内容 这种技术通过分析给定语料库 学习文本的结构和语法 然后利用这些信息来生成新的文本 智能写作可以用来快速生成高质量的文本内容 并且可以用来完
  • 基于python管理系统论文_基于Python网络爬虫的设计与实现毕业论文+源码-学生毕业作品网站...

    本课题的主要目的是设计面向定向网站的网络爬虫程序 同时需要满足不同的性能要求 详细涉及到定向网络爬虫的各个细节与应用环节 搜索引擎作为一个辅助人们检索信息的工具 但是 这些通用性搜索引擎也存在着一定的局限性 不同领域 不同背景的用户往往具有
  • 第1章-Java语言概述

    Java基础知识图解 1 Java语言概述 1 1 Java简史 是SUN Stanford University Network 斯坦福大学网络公司 1995年推出的一门高级编程语言 是一种面向Internet的编程语言 Java一开始富
  • Unity的 Input.GetAxis使用

    使用GetAxis可获得很多常用的设备输入 鼠标左右键 滚轮 鼠标移动增量 空格跳跃 WSAD 可用这些输入增量进行操作控制 比如物体的前后左右移动 镜头前进后退 缩放观察 物体拖拽旋转等 转载于 https www cnblogs com
  • postman 执行下载接口时闪退问题

    下载内容过多时容易导致postman闪退 在试验接口正确性时不要着急 可以对下载日志大小进行一个缩减
  • vmware14安装黑苹果max ox x 10.13懒人版教程

    准备材料 vmware 14 0 链接 https pan baidu com s 1 fjAngjUZ9HihzboBR0eJA 提取码 wwnn vmware文件名后面有永久可用的序列号 14 0目前最高支持mac10 13 故使用这个
  • UVA 10970 - Big Chocolate

    Root AOAPC I Beginning Algorithm Contests Training Guide Rujia Liu UVA 10970 Big Chocolate 题意 计算将一块n m的巧克力切成n m块所需的次数 方法
  • Android studio报错:e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error

    Android studio运行时报错 e org jetbrains kotlin codegen CompilationException Back end JVM Internal error wrong bytecode gener
  • mtu设置--解决部分网站打不开的问题

    资料一 一 常见问题介绍 1 什么情况下需要改MTU 如果您的动态域名网站不能被正常访问 很难连接 连接上也非常慢 请试试把DirectSend设为 总是关闭 如果关闭后可以正常访问 这种情况就需要修改MTU 如果您的网站连接正常 只是下载