目前我已经配置了2个PC的10 GbE网卡来使用
MTU
9014(巨型)。
然后两台PC都连接到一个10GbE交换机。主机物理连接到的交换机上的两个端口都配置为巨型帧(9014)。没有其他设备连接到交换机。
两台电脑都有2个网卡。一张卡是10GbE,另一张是1GbE。两台PC上的10GbE接口均通过基于10的IP地址连接到交换机。两台电脑上的1GbE卡都连接到公司局域网,这样我就可以远程连接到任何一台电脑(它们使用基于172的IP地址,而且它们没有针对巨型帧进行配置)。
如果我使用
ping -l 8000 ipaddress
我可以通过wire shark看到
ICMP
包大小约为8000,这是我所期望的。
问题
我有一点
TCP
运行在其中一台PC(Windows 7嵌入式)上的服务器应用程序
C#
在另一台电脑(Windows 10 Pro)上,我有另一台
发送100个
GB
用于测试的服务器应用程序。下面是我如何发送数据的一个非常简单的例子。
using var tcpClient = new TcpClient( );
await tcpClient.ConnectAsync( address, port );
var pageSize = 25165824;
var pageHeaderSize = 312;
// For this example I'm sending about 24 MB chunks of data.
// This is the smallest 'chunk' that'll be sent.
var buffer = new byte[ pageSize + pageHeaderSize ];
var pageCounter = 0;
while( pageCounter < pageCount )
{
headerData.CopyTo( buffer, 0 );
// The 'sourceStream' is actually a MMF view stream being written to
// by other processes.
await sourceStream.WriteAsync( buffer, headerData.Length, pageSize );
await tcpClient.GetStream( ).WriteAsync( buffer, 0, pageSize + pageHeaderSize );
++pageCounter;
}
这大致说明了我是如何把数据写出来的
传输控制协议
590
传输控制协议
收割台+有效载荷)。我不知道这些包裹为什么这么小。这会导致大量不需要的网络流量。
有趣的是,这里的另一个用户也有类似的问题。
Why are TCP messages in my PC coming in frames of 590 bytes
用户怀疑是谁用一个更小的设备回答了这个问题
MTU公司
在两个端点适当地调整它们的大小。但正如我在上面概述的,除了10 GbE交换机之外,这两台主机中间没有其他东西。。
我把这个标记为
streams
).
我还把这个标记为
networking
tcp-ip
征求意见
IT
大家看看是否有一些设置我没有设置在两个主机或交换机。
ping -l 8000 address
或
ping -f -l 8000 address