问题标签 [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.
windows-7 - 修复由 Windows XP 机器托管的 ad-hoc 网络(MTU 问题)
我有以下问题。我通过创建 ad-hoc 无线网络将旧的 Windows XP 笔记本电脑用作某种无线路由器。它在我的 Win7 笔记本电脑上运行良好,但是当我下班带上我的 MacBook Pro 时,我意识到虽然它找到并连接到网络,但它实际上只能显示一些 Google 服务,而没有其他任何东西。
有人告诉我,我应该尝试降低 Mac 上的 MTU。我这样做了,它奏效了——我将它从 1500 减少到 1272 并且它奏效了。
问题仍然是另一台 WinXP 机器与 MacBook 有基本相同的可访问性问题,我不能真正搞乱 MTU 设置。这同样适用于我的 iPod touch,我必须越狱才能弄乱 MTU。另外,MacBook 偶尔会自己回到 1500,每次都重置很烦人。
最奇怪的是,我以尽可能最标准的方式(使用 XP 向导)创建了这个 ad-hoc 网络,而没有进行任何时髦的配置或其他任何东西。然而,看起来,它甚至不允许 Win XP 机器连接到另一台 Win XP 机器。
请帮忙。我真的需要将这台笔记本电脑用作路由器,目前购买标准 WiFi 不是一种选择。
tcp - TCP 数据包的 MTU 是否包含 TCP 和 IPv4 标头?
或者: TCP/IPv4 数据包的最大有效负载大小是多少。
非常感激!
干杯。
c - PCAP 实时捕获的最佳 SNAPLEN
在使用pcap_open_live
从接口嗅探时,我看到了很多使用各种数字作为SNAPLEN
值的示例,范围从BUFSIZ
( <stdio.h>
) 到“幻数”。
将我们从中捕获的接口的 MTU 设置为 SNAPLEN 不是更有意义吗?通过这种方式,我们可以一次在 PCAP 缓冲区中容纳更多的数据包。假设 MRU 等于 MTU 是否安全?
否则,是否有一种非异国情调的方法来设置 SNAPLEN 值?
谢谢
mtu - 分片是否依赖于 IP 或以太网 MTU
根据 RFC791,IP 模块不准备接受超过 576 个八位字节的数据报,以太网 MTU 为 1500 个八位字节。数据包是否根据以太网 MTU 或 IP MTU 进行分段?
android - 如何知道 Android 智能手机的 MTU 大小
有什么命令可以知道 Android 的 MTU 大小吗?
c - sendto() 在 SOCK_DGRAM (UDP) 套接字上返回大于 MTU 的值
我目前正在编写一个 UDP 客户端/服务器(在 GNU/Linux 上)。我用于在尚未绑定到端口sendto()
的套接字上发送消息。SOCK_DGRAM
send(2) 联机帮助页指出:
成功时,这些调用返回发送的字符数。出错时,返回 -1,并适当设置 errno。
但是,sendto 总是返回它的长度参数,表示成功。对于大于 65507 ( 0xFFE3
) 字节的消息,它会返回Message too long
错误。
对于大于 1500 字节的 MTU 的消息,服务器总是(通过recvfrom()
)接收正好 1500 字节的消息,只是简单地截断消息,无需另行通知。
(为什么)这种行为是有意为之的,有没有办法在出现问题时得到通知?
我目前能想到的唯一解决方法是简单地假设 MTU 为 1500 字节并且从不发送更大的数据包。
这是相关的方法:
发生所描述的不良行为的调用将是 udp_send(0x7F000001, 1337, bigbuf, 1501); 仅发送 1500 个字节时将返回 1501。
packet-capture - 数据包捕获看到 1434 字节而不是 1500 字节
我在 python 中使用套接字来发送文件,并且在发送这些文件时我正在做一个数据包捕获。但是,我发现每个数据包都是 1434 字节而不是 1500 字节(我的系统上的 MTU 设置为 1500 字节)。
我附上了一些数据包捕获的屏幕截图。我需要以 1500 字节而不是 1434 字节发送数据包,有人可以告诉我发生了什么吗?
tcp - 发送大量数据后的 RST、ACK
我有一个 IMAP 服务器 (Dovecot),我正在尝试在其上创建 1,200 个邮箱(用于性能测试)。服务器成功创建邮箱。
在此操作之后,我想列出所有创建的文件夹。服务器发送一些数据,但是,在一段时间(近 1 秒)后,客户端发送RST
,ACK
到服务器,以响应服务器响应 IMAP 协议关于创建的文件夹列表的命令。
这是我的 Wireshark 转储片段:
编辑:嗯,我想我知道为什么RST标志是由客户端发送的。原因是服务器超出了我的环回接口的MTU值。我已经检查了示例 Mina 服务器的类似行为 - 那里一切正常,即 TCP/IP 协议抑制了巨大的数据包。所以Dovecot不能明智地管理数据包。但是我有自己的 IMAP 服务器(基于 MINA),问题仍然存在!
那么,为什么 TCP/IP 协议只对某些应用程序而不是对所有应用程序明智地管理发送的数据包(根据 MTU 值拆分它们)呢?
node.js - 在“数据”事件中,为什么数据大小是 1374 的倍数?
这只是一个基于好奇心的问题,但我可能会学到一些有用的东西。
使用我的 Node.js 服务器,当我通过 net.Server 接收数据时,我让它打印出每个数据“数据包”的大小(以字节为单位)。
我注意到大多数时候它是 1374 字节。所有其他时间都是 1374 的倍数。我从大约 200 个数据事件中得到的最高值是 17,862。
这个 1374 号码是从哪里来的?为什么数据长度偶尔会是它的倍数?
我最好的猜测是,对于 TCP,1500 字节是以太网最常见的 MTU,其他 126 个字节构成 TCP 数据包的标头。如果 Node.js 足够快地接收到这些数据包,有时可能会将它们聚集在一起,这就是为什么有时它们会以多个形式到达。
vbscript - 尝试使用 WMI 显示系统上网络适配器的 MTU 值
我有这个只显示空行的子程序。
我想测试一下网络适配器的 MTU 值是否为 1300。这将在多台机器上运行,我遇到的问题是注册表中网络适配器的名称总是不同的。如果我的实现有效,那就太好了......
有任何想法吗?
编辑:我将子程序更改为此,但它不起作用。
它甚至没有打印出 intResult 或 objItem。几乎感觉好像它没有从 colNetwork 获得任何东西。
有什么建议么?我应该发一个新帖子吗?