Articles of mtu

巨型帧(MTU高达9k)在开放的互联网上是否现实/通用?

我有一个应用程序,将受益于更大的以太网帧。 (理论上,我们可以将出站数据包的数量减less50%以上,甚至可以减less66%。) 我还正在为候选托pipe公司指定networking要求,以便安装我的应用程序服务器。 至less不会限制客户端连接受益于巨帧。 但这有多现实? 一些常见的问题,假设我们可以控制的networking段是Jumbo Frame友好的(交换机是大MTU能力,允许ICMP MTUpath发现等) : 通过公共互联网发送巨型帧是否现实? 它是否引发了无休止的networking问题,试图通过公共互联网支持巨帧? 还有没有其他的担心,我没有考虑?

OpenVPN:如何缓解每个客户端的pathMTU问题?

我们在客户端安装了数十个embedded式设备,所有这些都为我们的OpenVPN服务提供了回报。 总的来说,这样做的效果很好,但是我们的一些客户有严重的pathMTU问题。 我们对客户修复networking的影响是有限的,所以我们需要OpenVPN来处理它。 简而言之,我的问题是: 我该如何缓解一些客户端的每个客户端的低pathMTU,即不使用全局设置来适应所有客户端的最坏情况 请注意,我们最坏的情况下,它很糟糕:pathMTU 576,丢弃所有的片段,不片段本身,不尊重DF位。 你明白为什么我不想在全球范围内解决这个问题。 OpenVPN的联机手册提供了许多MTU相关的选项,最值得注意的是–link-mtu, –tun-mtu, –fragment and –mssfix 。 但它也说 –link-mtu […]最好不要设置这个参数,除非你知道你在做什么。 –tun-mtu […]最好使用–fragment和/或–mssfix选项来处理MTU大小问题。 所以我开始尝试使用–fragment和–mssfix但很快就必须认识到,至less前者必须不仅设置在客户端,而且还要设置在服务器端 。 然后,我通过–client-config-dir查看了服务器端的每个客户端configuration,但它说 以下选项在客户端特定的上下文中是合法的: – push, – push-reset,–iroute,–ifconfig-push和–config。 没有提到MTU选项! 所以这里是我更具体的问题: 为什么link-mtu和tun-mtu不鼓励? 这些选项有什么潜在的问题? 请注意,我对低级IP标头消除非常舒服。 哪个选项link-mtu tun-mtu fragment mssfix必须在服务器端进行镜像才能工作? 哪个选项可以在client-config-dir使用link-mtu tun-mtu fragment mssfix ? 如果所有四个选项都必须镜像服务器端,并且不能在client-config-dir :是否有任何替代scheme可以对付每个客户端的低pathMTU? 笔记: 我的部分问题已经在5年前问过了 ,但是当时还没有回答,所以我敢重复。 OpenVPN服务器目前在Ubuntu 12.04上是2.2.1。 我们正准备在Ubuntu 14.04上升级到2.3.2 在Debian 7.6上,OpenVPN客户端是2.2.1 我很高兴自己手动确定客户的path-MTU 目前我们无法testing多less服务器端。 但是我们正在build造一个完整的独立testing平台,应该尽快准备好。 […]

我对计算MTU有什么误解?

好的,我刚刚解决了几个Xserves,一个Netgear GSM7224和一个Drobo B800i之间的巨型帧问题。 事实certificate,Xserves(Mac OS X 10.6.8服务器)和Drobo B800i以通常的预期(1500-9000)字节接受MTU,但是Netgear似乎希望它包括各种以太网头/页脚(拖车),我最终以configuration了9000的MTU和Netgear端口设置为9216的MTU的Xserves&Drobo结束了。 我已经使用了以下命令来testing和validationNetgear上两个Xserver之间的MTU(注意:这些是Mac OS X命令,Windows和Linux的命令不同): ping -D -s <mtu> <ip_address> traceroute -F <ip_address> <mtu> 前者的用法在man页中标记为“指定要发送的数据字节数,缺省值为56,当与8个字节的ICMP头数据组合时,转换成64个ICMP数据字节。 在testing中,我发现ping -D 1472 <ip_address>相当于MTU 1500,因为有8个字节的ICMP头部数据加上20个字节的IP头部(见本和这个 )。 这一切都是有道理的。 现在,为什么9000 MTU的等价命令ping -D -s 8164 <ip_address> ? 我已经validation这是我明星之前得到“sendto:消息太长”的错误的限制,但也是9000 MTU正常工作作为traceroute -F <ip_address> 9000作品和traceroute -F <ip_address> 9001不。 那么,为什么8164? 我预计8972(MTU – 28字节,就像1500 MTU)。 另外,为什么Netgear 9216 MTU? 我为MAC和以太网报头(包括CRC)计算了42个字节,加上了20个IP报头(应该吃进MTU)。 我在这个math上真的很生疏,知道我只是想念一些东西。

为什么将MTU从1500降低到1499允许我访问大多数网站?

我有这个问题,我只能连接到像google.com和ibm.com网站,当mtu设置为1500,但如果我试图连接到其他任何东西,它只会显示一个空白页。 当mtu下降到1499时,它开始工作。 我很好奇,为什么这个工作,如果有一个1499的话,可能会导致未来的问题? 其实我对这个知道的不多,我刚刚听到,正在寻找一个很好的解释。 当我解释MTU为什么只丢失了一个字节时,我会用解释来更新我的问题。

什么是以太网帧的“在线”大小? 1518年还是1542年?

根据这里的表格 ,它说MTU = 1500字节,有效载荷部分是1500 – 42字节或1458字节(< – 这实际上是错误的!)。 现在最重要的是,你必须添加IPv4和UDP头,这是28字节(20 IP + 8 UDP)。 这使我的最大可能的应用程序消息为1430字节! 但通过在互联网上查找这个数字,我看到了1472。 我在这里做这个计算错了吗? 我想知道的是我可以通过电线发送的最大应用消息,而不会造成碎片。 这绝对不是1500,因为它包含帧头。 有人可以帮忙吗? 令人困惑的是PAYLOAD实际上可能高达1500字节,这就是MTU。 那么现在1500的有效载荷的线内尺寸是多less呢? 从那张表中可以看到1542个字节。 因此,我可以发送的最大应用信息是1472(1500 – 20(ip) – 8(udp)),在1542线的最大值。令我惊讶的是,事情实际上很简单,事情变得如此复杂。 而且我不知道如果有人说1542,那么有人提出了1518。