昨天我得到了一个新的闪亮的VDSL2连接家!它的亮度为100Mbit / 10Mbit,似乎非常接近标准。
现在,我有一个Debian挤压linux盒子作为家庭NAS和路由器。它正在运行shorewall,启用了NAT和tc。我还有一个OSX工作站通过交换机连接到所述linux路由器:
OSX工作站 < - > Switch < - > Debian路由器 < - > VDSL2调制解调器 < - > Internet < - > 服务器
我在互联网上对我的快速服务器进行了测试:
在Linux路由器上,TCP:
$ iperf -c server -p 3333
------------------------------------------------------------
Client connecting to server, TCP port 3333
TCP window size: 23.5 KByte (default)
------------------------------------------------------------
[ 3] local xxx.yyy.bbb.ccc port 41982 connected with xxx.yyy.bbb.ccc port 3333
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 2.89 MBytes 2.42 Mbits/sec
以上是问题所在。上行链路应为~10Mbit,而不是2.4Mbit。下面,您可以看到UDP工作正常。
在Linux路由器上,UDP:
$ iperf -u -c server -p 60008 -b 9M
------------------------------------------------------------
Client connecting to server, UDP port 60008
Sending 1470 byte datagrams
UDP buffer size: 1.00 MByte (default)
------------------------------------------------------------
[ 3] local xxx.yyy.bbb.ccc port 56484 connected with xxx.yyy.bbb.ccc port 60008
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 10.7 MBytes 9.00 Mbits/sec
[ 3] Sent 7658 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 10.7 MBytes 9.00 Mbits/sec 0.251 ms 0/ 7657 (0%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
在OSX工作站(NAT后面)TCP上:
$ iperf -c server -p 3333
------------------------------------------------------------
Client connecting to server, TCP port 3333
TCP window size: 65.0 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.9.141 port 54388 connected with xxx.yyy.bbb.ccc port 3333
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 13.2 MBytes 11.1 Mbits/sec
linux路由器背后的OSX似乎不受linux路由器问题的影响。怎么会发生这种情况?UDP工作正常。
在OSX工作站(NAT后面)UDP:
$ iperf -u -c server -p 60008 -b 9M
------------------------------------------------------------
Client connecting to server, UDP port 60008
Sending 1470 byte datagrams
UDP buffer size: 9.00 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.9.141 port 64588 connected with xxx.yyy.bbb.ccc port 60008
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 10.7 MBytes 9.00 Mbits/sec
[ 5] Sent 7658 datagrams
[ 5] Server Report:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.0-10.0 sec 10.7 MBytes 9.00 Mbits/sec 0.133 ms 0/ 7658 (0%)
正如你所看到的,linux盒子停留在2.5Mbit / s的出站TCP上。UDP工作正常,路由器后面的工作站工作正常。
为了简化这种情况,我将Shorewall TC修改为一个非常基本的水平。我也尝试从岸墙完全关闭TC而没有任何影响。:
tcdevices:
#INTERFACE IN-BANDWITH OUT-BANDWIDTH
eth0 - 12000kbit
tcclasses:
#INTERFACE MARK RATE CEIL PRIORITY OPTIONS
eth0 1 full full 1 default
tcrules:
#MARK SOURCE DEST PROTO PORT(S) CLIENT USER
1:F 0.0.0.0/0 0.0.0.0/0 icmp echo-request
1:F 0.0.0.0/0 0.0.0.0/0 icmp echo-reply
你知道问题出在哪里吗?我在Debian上运行的唯一非默认操作是来自backports的3.2.0内核。这个盒子是一个功能强大的Xeon机器,有很多RAM和Intel网卡。所有测试都在很短的时间内完成,几乎没有其他网络流量。并重复多次。我在哪里可以开始调试?