答案1
只要 NAS 和您的计算机都在同一个子网上,您就不应该接触路由器。您的计算机是否也从路由器获取其 IP 地址?根据您的图表,其他网络、子网或 VLAN 上似乎没有任何内容,因此我假设只有一个 DHCP 服务器。
您可以通过从计算机到 NAS 运行 traceroute(Windows 上为 tracecert)来验证数据包所采用的路由。traceroute 打印的路径将准确显示您的连接方式。对于您来说,它应该只打印您的计算机名称,然后打印 NAS 名称/IP。
例如,如果我从我的桌面跟踪我家里的文件服务器的路由,我会得到以下结果:
robbie@khepri:/home/robbie
$ traceroute thoth
traceroute to thoth (192.168.2.14), 30 hops max, 60 byte packets
1 thoth.reeds.local (192.168.2.14) 0.421 ms 0.417 ms 0.403 ms
尽管它通过了交换机,但显示没有额外的跳数。相反,如果我从我的桌面跟踪路由到我的实验室子网上的某个地方,你会看到它通过我的路由器,即使它物理上位于同一位置:
robbie@khepri:/home/robbie
$ traceroute 172.24.20.21
traceroute to 172.24.20.21 (172.24.20.21), 30 hops max, 60 byte packets
1 set.reeds.local (192.168.2.1) 1.345 ms 1.313 ms 1.268 ms
2 172.24.20.21 (172.24.20.21) 1.891 ms 1.536 ms 1.548 ms
如果您在其中看到路由器的 IP,则说明您的 NAS 或计算机的设置方式不符合逻辑。在家庭环境中,没有理由在像您这样的简单网络上进行子网划分或使用 VLAN。
您是否能够以千兆速度在连接到计算机的同一交换机的两个不同客户端之间传输文件?如果两个客户端都插入到您的 NAS 所在的交换机,情况又会如何呢?
您可以通过以下方式测试 NAS 的读取速度:
dd if=/some/big/file of=/dev/null
这将获取 /some/big/file 并将其从磁盘读取,然后将其写入任何地方。它将为您提供持续读取速度的基本(但不完美)概念。在 dd 中,if=... 表示输入文件,of=... 表示输出文件。
您可以通过以下方式测试 NAS 写入速度:
dd if=/dev/zero of=/somewhere/test.file bs=9000K count=1000
这将写入一个 9GB 的文件,其中全是零,你需要确保写入的文件大于写入缓存(如果你的 NAS 上有缓存),否则你会看到荒谬的 48GB/秒