问题标签 [mtu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2842 浏览

c - 有没有办法在 Linux 中使用 C 以编程方式设置接口 MTU?

目前,我的程序正在system()调用ifconfig执行此操作。

它看起来有点乱 - 可能ifconfig不在路径上,或者在一些非标准位置。然后我需要检查iproute2等价物以防万一。

有没有办法使用 C 以编程方式设置它?

0 投票
1 回答
1002 浏览

python - 大于 MTU 的数据包到达 TUN 接口

我正在使用pytun设置一个 TUN 并将到达它的数据包转发到使用 UDP 的另一台机器。令我不解的是,即使我已将 TUN 配置为具有 141 字节的 MTU,我仍在读取大小为 145 的数据包。请看下面的代码:

我已经使用 . 验证了接口的实际 MTU ifconfig

我错过了什么吗?

0 投票
1 回答
28580 浏览

linux - 如何永久更改 MTU 设置

我需要永久更改MTU1500. 永久我的意思是如果我重新启动系统或将这样做service network restart,它将永远是1500

我关注了这篇文章http://www.cyberciti.biz/faq/centos-rhel-redhat-fedora-debian-linux-mtu-size/

但不幸的是,它对我不起作用。

这是我所做的:

检查电流MTU

添加MTU="1500"/etc/sysconfig/network-scripts/ifcfg-eth0

然后MTU再次检查,(没有运气):

/sbin/ifconfig改变了MTU,但只是暂时的

如果我重新启动network它又是 9001:

0 投票
1 回答
436 浏览

udp - xmit函数中MTU与skb大小的关系

我在Linux中开发网卡驱动时遇到了一些问题。众所周知,MTU 是指没有分片的 IP 数据包的 MAX 大小。发送到xmit函数的skb会增加14bytes,包括dst mac addr、src mac addr和lengh。但很奇怪的是,当我对 MTU 使用不同的值时,添加的大小是不同的,有时是 10 字节,有时是 14 字节。这取决于 MTU 的大小。例如,我使用 7828 作为 UDP payload 的大小,当 MTU 为 7700 时,xmit 函数中 skb 的大小为 7714,而当 MTU 为 7800 时,skb 的大小为 7810。有人能解释一下吗?我想IP数据包可能有一些对齐限制,但我没有发现。

0 投票
1 回答
730 浏览

networking - 服务器无法接收大小大于 1500 字节的 TCP 数据包

有一台服务器无法接收大于 1500 字节的 TCP 数据包,
但该服务器可以发送大于 1500 的 TCP 数据包。

我还尝试在此服务器中捕获数据包以供 WireShark 分析。
但是,WireShark 无法在此服务器中正常捕获数据包。
(例如某些接收到的数据包不会被 WireShark 捕获)

有人有想法吗?非常感谢。

服务器信息。
操作系统:Windows 2008;
MTU:1500。

==================================================== =
让我更清楚地描述这个问题。
我有一个客户端/服务器程序,它在 2 个服务器之间创建 TCP 连接,
情况如下
Server_A ---- Server_B
---> pkt <1500 Byte cannot receive
---> pkt >1500 Byte can receive
<-- - pkt <1500 Byte 可以接收
<--- pkt >1500 Byte 可以接收

该程序在其他服务器上运行良好,仅在server_B异常。
有人有这种经验吗?

0 投票
0 回答
713 浏览

linux - 在 Linux 或 Windows 中更改 MTU 无效

我正在调查在寡妇上运行的软件(客户端)的问题,该软件(客户端)将数据上传到在 Linux 上运行的控制器(服务器)。软件一次上传1024字节,并等待应用层ACKsend and wait)。但是,一些客户在通过调制解调器上传文件时遇到了一些问题,因为TCP packets会出现碎片。我试图在没有调制解调器的情况下重现相同的行为。我尝试MTU使用以下方法将控制器的设置为 500:

但这并没有强制数据包碎片化(在wireshark中观察到)。当我MTU使用设置 in windows时也会发生同样的情况

我很确定我选择了正确的接口。知道为什么更改 MTU 没有效果吗?

编辑:如果我在 Windows 上运行 MTU 发现,我会得到:

但是控制器的 ifconfig 显示 MTU 为 576!

0 投票
1 回答
1026 浏览

sockets - 增加了 MTU 但仍然无法发送大的 UDP 数据包

关于我首先要在这里实现的目标的一些信息。我正在使用德州仪器 (TI) 板 EVM6678LE,我想做的是增加板和我的 PC 之间的 UDP 传输速率。

我已通过 netsh>interface>ipv4 将 PC 上的 MTU 增加到 15,000。但是当我从我的 PC 上 ping 电路板时,我只能 ping 到“ping 192.168.2.100 -l 10194”,如果我 ping 195 字节以上,我会收到一个请求超时。这是我电脑的限制还是什么?

有谁知道这可能是什么原因?任何意见或建议都将受到欢迎。作为提高传输速率的唯一方法,我可以考虑增加每个数据包的大小,从而减少开销。在 10k 时,我的速率约为 9.1MB/s,我正试图达到 25MB/s。

谢谢!

0 投票
1 回答
2900 浏览

c - 使用 Socket 选项的路径 MTU 发现 - IP_MTU & IP_MTU_DISCOVER

我正在Linux中对路径MTU发现进行一些实验-TCP连接,客户端和服务器配置了不同的MTU。(分别为MTU 1500和1000)。

在服务器和客户端之间的 TCP_CONNECT 之后,我使用以下命令观察客户端中配置的 MTU,如下所示。

我相信 getsocketopt 返回“路径 MTU”而不是客户端的 MTU。

但我收到 MTU - 1500(客户端 MTU)而不是路径 MTU:1000。

请给出一些想法以使用 getsockopt 获取 PATH MTU。非常感谢示例。

提前致谢。

0 投票
2 回答
1779 浏览

linux - 如何查找 UDP 套接字的 MTU 值

我正在研究 UDP 套接字编程,如果请求的数据大于 MTU 值,我必须停止应用程序中的传输。

为了实现这一点,我必须读取 MTU 值,但我不知道在 UDP 套接字的情况下如何获取 MTU 值(可能是通过使用 getsockopt())。

有什么方法可以通过 UDP 套接字找到 MTU 值?

0 投票
1 回答
4904 浏览

networking - MTU和链路带宽的区别

链路 MTU 最大传输单元和链路带宽有什么区别?MTU 是指链路可以发送的数据包的最大大小。链路带宽是指链路可以发送的最大比特数。他们不是同一件事吗