① 路由器mtu值怎么设置
MTU是英文Maximum Transmission Unit的缩写,意为“最大传输单位”。也就是通过TCP/IP协议所传输的数据包最大有多少字节,对于网速有极大的影响,那么该如何修改Windows7MTU值呢?不懂的朋友们就随我一起来学习本教程吧.接下来我教你路由器mtu值怎么设置,希望对你有帮助。
MTU是MaximumTransmissionUnit的缩写,是网络上传送的最大数据包,大部分网络设备的MTU都是1500,MTU的单位是字节,如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。
把本机的MTU设成比网关的MTU小或相同,就可以减少丢包,MTU是指一种通信协议的某一层上面所能通过的最大数据包大小,最大传输单元这个参数通常与通信接口有关。
一、组网环境
路由器通过POS1/0/0接口与对端设备连接。当使用mtu命令将POS接口的MTU值修改为1500字节后,发现MTU值没有生效。
二、故障分析
1、 在POS接口视图下,执行shutdown和undo shutdown,重启POS接口。
2、执行display interface pos,发现生效的`MTU值仍为1492字节。
3、 检查对端设备,发现对端POS接口的MTU值为1492字节,PPP在进行MRU协商时,如果两端的MTU值配置不一致,协商结果会以MTU值小的一端为准。
三、故障处理
在路由器上执行以下操作,将对端POS接口的MTU值修改为1500字节,并重启接口,配置完成后,两端的MTU值均为1500字节,故障解决。
PPP在进行MRU协商时,如果两端的MTU值配置不一致,协商结果会以MTU值小的一端准,这点与BelKin路由器设置相同,数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。
从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。
如果检测到网关的MTU值是1500,不需要修改。
如果网关有防火墙ping不通,可以试试直接把MTU设为1400。
② 数据包mtu设置多少 如何设置合适的MTU值
数据包mtu设置多少
1. 一般建议保持MTU值为默认设置,除非出现以下情况:无法访问某些网站,或者无法打开安全网站(如网上银行页面),无法收发邮件,无法访问FTP和pop服务器等。
2. 寻找最佳MTU值是一个反复试验的过程。可以尝试将MTU值从最大值(1500)逐渐降低,直到网络问题得到解决。建议修改范围为1400 ~ 1500。设置多少MTU值取决于您的互联网访问方法。不同的上网方式支持不同的MTU。
③ 如何改变PING命令默认发送的数据包大小
1、首先按下“Windows+R”快捷键打开运行的界面,
④ 一个数据包的大小是好多
1、数据链路层对数据帧的长度都有一个限制,也就是链路层所能承受的最大数据长度,这个值
称为最大传输单元,即MTU。以以太网为例,这个值通常是1500字节。
2、对于IP数据包来讲,也有一个长度,在IP包头中,以16位来描述IP包的长度,也就是说,
一个IP包,最长可能是65535字节。
3、结合以上两个概念,第一个重要的结论就出来了,如果IP包的大小,起过了MTU值,那么就需要
分片,也就是把一个IP包分为多个,这个概念非常容易理解,一个载重5T的卡车,要拉10T的货,它
当然就得分几次来拉了。
4、IP分片是很多资料常讲的内容,但是我倒是觉得分不分片其实不重要,重要的是另一个东西。一个
数据包穿过一个大的网络,它其间会穿过多个网络,每个网络的MTU值是不同的。我们可以设想,如果
接受/发送端都是以太网,它们的MTU都是1500,我们假设发送的时候,数据包会以1500来封装,然而,
不幸的是,传输中有一段X.25网,它的MTU是576,这会发生什么呢?我想,这个才是我们所关心的。
当然,结论是显而易见的,这个数据包会被再次分片,咱开始用火车拉,到了半路,不通火车,只通汽车,
那一车货会被分为很多车……仅此而已,更重要的是,这种情况下,如果IP包被设置了“不允许分片标志”,那
会发生些什么呢?对,数据包将被丢弃,然事收到一份ICMP不可达差错,告诉你,需要分片!
这个网络中最小的MTU值,被称为路径MTU,我们应该有一种有效的手段,来发现这个值,最笨的方法或许是先
用traceroute查看所有节点,然后一个个ping……
5、到了传输层,也会有一个最大值的限制,当然,对于只管发,其它都不管的UDP来说,不再我们讨论之列。这里
说的是TCP协议。说到大小,或许会让人想到TCP着名的滑动窗口的窗口大小,它跟收发两端的缓存有关,这里讨论
的是传输的最大数据包大小,所以,它也不在讨论之列。
TCP的选项字段中,有一个最大报文段长度(MSS),表示了TCP传往另一端的最大数据的长度,当一个连接立时,连接
的双方都要通告各自的MSS,也就是说,它说是与TCP的SYN标志在一起的。当然,对于传输来讲,总是希望MSS越大越好,
现在超载这么严重,谁家不希望多拉点货……但是,MSS总是有个限制的,也就是MTU-IP头长度-TCP头长度,对于以太网来讲
它通常是1500-20-20=1460,虽然总是希望它能很大(如1460),但是大多数BSD实现,它都是512的倍数,如1024……
6、回到分片上来,例如,在Win2000下执行如下命令:
ping 192.168.0.1 -l 1473
按刚才的说法,1473+20(ip头)+8(icmp头)=1501,则好大于1500,它会被分片,但是,我们关心的是:
这个数据包会被怎么样分法?
可以猜想,第一个包是
以太头+IP头+ICMP头+1427的数据;
那第二个分片包呢?
它可以是:
以太头+IP头+ICMP头+1个字节的数据
或者是:
以太头+IP头+1个字节的数据
也就是省去ICMP头的封装,当然,IP头是不可以省的,否则怎么传输了……
事实上,TCP/IP协议采用的是后一种封装方式,这样,一次可以节约8个字节的空间。IP包头中,用了三个标志来描述一个分片包:
1、分片标志:如果一个包被分片了,被置于1,最后一个分片除外;——这样,对于接收端来讲,可以根据这个标志位做为重组的重
要依据之一;
2、分片偏移标志:光有一个标志位说明“自己是不是分片包”是不够的,偏移标志位说明了自己这个分片拉于原始数据报的什么位置,
很明显,这两个标志一结合,就很容易重组分片包了。
3、不允许分片标志:如果数据包强行设置了这个标志,那么在应该分片的时候,…… err,刚才已经说过了
⑤ 如何自定义ping数据包的大小
参考网上:格式:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] │ [-k computer-list] [-w timeout] 参数:-t , 不断向指定的主机发送数据包,直到输入“ctrl+c”为止。-a , 解析IP地址位主机名。-n count , 由cunt参数决定ping的次数。-l size ,指定发送到目标主机的数据包大小。-f , 在数据包中指定"不分段"标志,该数据包不被路由分段.注 : http://bbs.hackbase.com/viewthre ... hlight=%C2%B7%D3%C9(路由问题请看此帖)-i TTL,设置TTL(生存时间)参数-v TOS,将服务类型设置为TOS(Tupe Of Service)指定的数值。-r count , 在"记录路由"字段中记录发出和返回报文的路由,"count"值最小为1,最大为9。-s count , 指定的跃点数的时间戳。-j host-list , 使用"computer-list"指定的计算机列表路由数据包(松散路由)-k host-list , 使用"computer-list"指定的计算机列表路由数据包(强制路由)。-w timeout ,指定超时时间。以上参数注意空格!!!
⑥ 路由器怎么设置mtu
MTU,是计算机与路由器之间的最大传输单元,下面一起看看路由器怎么设置mtu吧~
“MTU=最大传输单元 单位:字节 英文:Maximum Transmission Unit”我们平时上网时的各种操作,都是通过一个又一个“数据包”传输来实现的。而MTU指定了网络中可传输数据包的最大尺寸,在我们常用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输。就像货车通过限高的桥洞一样,货物高度超过限制高度了,就需要卸下一些货物,分两批通过限高路段。
MTU跟我的网络有神马关系?
关系还是挺密切的,在windows里,默认的MTU是1500,但是不同的网络接入方式,不同地区的网络运营商,甚至不同的路由器,它们的MTU值都可能是不同的。例如:ADSL接入时MTU为1492字节,假设A需要给B传输3000字节数据,如果整个传输过程中各个环节的MTU都是1500,那么2个数据包就可以传输完成。可是偏偏这时ADSL接入方式的MTU是1492字节,数据包就因为这个MTU差异额外拆分为3个(为了便于理解,暂时不将“数据包报头”纳入考虑范围)显然这额外增加了需要传输的数据包数量,而且拆包组包的过程也浪费了时间。如果从本地到网络采用一致的MTU就可以避免额外拆包。
我该怎么合理设置MTU呢?
更快的网速,这个理由够不够让你折腾一趟呢?显然是值得的,可是MTU值不是一个数字,天下通用的。所以在我们动手设置的时候,讲究一个合理!
那么什么情况下MTU值是合理的呢?我们先来看看不合理的。
1、本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间。2、本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥。 这样我们就知道,所谓合理的设置MTU值,就是让本地的.MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。
接下来最重要的就是要找出对于你的网络环境来说MTU多少才是合理的。方法也是灰常简单:1.按win+r组合键呼叫运行菜单,输入cmd后回车
2.在出现的“命令提示符”窗口中输入“ping -l 1472 -f 网络”然后回车这段杂乱无章的东东是神马意思呢?接下来Teamo稍微解释下:ping:发起一个探测请求; -l(L的小写):限制探测包大小; 1472:包大小为1472字节; -f:禁止路由器拆分数据包 网络:设网络为探测目标
3.按下回车后,会出现两种返回结果:(1)、如果收到了回复,那么说明你的网络允许最大MTU值就是1500字节,与系统默认值相同,只需要将路由器的MTU值也设置为1500即可
(2)、如果出现需要拆分数据包但是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。(为了截效果图,我将探测包改为1473了)
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值设置为你得出的结果即可进入小极后台,高级选项中的MTU设置中填入测得的数值即可。
⑦ SQl 网络数据包大小32767是固定的吗
网络数据包大小不是固定的,设置方法,在SQL Server Management Studio中的服务器上鼠标右键单击,选择“属性”,在“高级”选项页中设置“网络数据包大小",同时亦可设置远程登录超时时间。如下图所示:
⑧ TPLINK路由器数据包MTU怎么设置合理
MTU设置得当可以加快网速,测试网速可以使用杀毒软件附带的宽带测速功能。
MTU的设置应根据网络情况决定,下面是各种网络环境建议使用的MTU值。
(1)1500—以太网信息包最大值,也是默认值,是没有PPPoE和VPN 的网络连接的典型设置。是大部分路由器、网络适配器和交换机的默认设置。
(2)1492—PPPoE的最佳值。
(3)1472—使用ping的最大值(大于此值的信息包会先被分解)。
(4)1468—DHCP的最佳值。
(5)1430—VPN 和 PPTP的最佳值。
(6)576—拨号连接到ISP的标准值。
延伸:
1.MTU值查询方法:
打开命令提示符,右键“以管理员身份运行”。在出现的“命令提示符”窗口中输入“ping -l 1430 -f .com”然后回车。
如果出现需要拆分数据包但是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小,需要减小探测包大小再次尝试;如果没有提示,但是“时间”后面用的毫秒比较大可以增减探测包,时间越小网速越快。
比如探测到的数据包大小是1430,那么加上28字节,最终MTU=1458字节。
2.MTU的设置方法:
(1).“命令提示符”CMD窗口中输入“netsh interface ipv4 show subinterfaces”并回车来查看当前的MTU值。
(2).接下来输入“netsh interface ipv4 set subinterface "需修改的连接名" mtu=得出的合理值 store=persistent”并回车即可。
例如:
netsh interface ipv4 set subinterface "wlan" mtu=1458 store=persistent
netsh interface ipv4 set subinterface "以太网" mtu=1458 store=persistent
⑨ TCP,UDP接收一次数据包的 最大限度怎么设置
我写了个TCP,和UDP类 发现TCP默认接收的最大缓冲 一次性好象最多只能接收 12000左右个字节 而UDP默认接收的最大缓冲 一次性好象最多只能接收 28000左右个字节 据说一般最好。65535个以下 ,否则路由器容易丢包 ------解决方案--------------------------------------------------------private int _buf=8000;//标记一次传输文件数据块的大小,不能超过MTU限制,否则在因特网上的数据发送将不成功00 [Category( "全局设置 ")] [Description( "设置UDP每一次传输数据包的大小 ")] [DefaultValue(8000)] public int buf{set{_buf=value;} get{return _buf;}}然后使用 byte[] 发送数据,发送的时候限制每一次包大小。 至于接收:如果你发送的包已经限制好,接收就不会出问题。 byte[] buffer = new byte[buf]; ------解决方案--------------------------------------------------------这个理论是错的吧,本身SEND发送出去,RECEIVE收的时候是分很多次收的.看网络情况而定,每次接收的大小这个是不能确定的. ------解决方案--------------------------------------------------------IO读取操作好像有读取的字节数,buffer400读取300的时候,会返回 一个300,然后检查返回值,不够继续读取,读取的时候也可以选择 要在buffer的哪个部分开始接收 ------解决方案--------------------------------------------------------和发送放有关系吧 设置一个不是很大的缓冲区,1024-2048(为了效率啊`~太大很浪费内存的) 1。找一个结束标志,一般几个字节。重点来了!这几字节很可能会接收的内容重复, 所以检测这个标志很麻烦。所以接收到这个标志的时间再看后面是不是全是0 2。如果发送方可以控制。开头用两个到四位标注出整个数据包的长度。