Degraded Network Performance Mystery

Filed Under Geek on 2009-11-24, 13:46

I bought a gigabit switch awhile back when I needed to replace an existing switch with something with more ports. I bought the DLink DGS-2208 8-port 10/100/1000mbps switch as it had great reviews for its price point.

Here’s my current network topology:
Internet comes in from Comcast to a Linksys WRT54g v4 (10/100) wireless router running the Tomato Firmware v1.25.
Connected to that Linksys router is an ethernet cable that runs the length of my apartment to a DLink DGS-2208 gigabit switch.
Connected to the DLink:
– Macbook Pro (10/100/1000)
– Xbox 360 (10/100)
– Media Server box running Windows XP (10/100/1000)
Previously the Media Server box was connected to the Linksys router and was doing just fine on all file transfers. When I moved the Media Server to the gigabit switch I started having problems.

The first problem was streaming video to the Xbox 360 through Windows Media Player 11 Media Sharing. Previously I was able to stream 1080p video across the network without any problems whatsoever. After moving to the gigabit switch I was having trouble streaming anything. It would lag, freeze up, and even sometimes the Xbox would tell me that it had lost the network connection to that machine. I found this article which addresses an issue with Windows Media Extender and Windows Vista and resulting poor video quality. Not exactly my issue, but the suggestion of clocking the Media Server NIC down to 100mbps instantly cleared up the video streaming problem. (I tried enabling flow control, but that didn’t work.)

So great, streaming to the Xbox problems solved. Then I tried to move files from my Macbook Pro to my Media Server. Horrendous speeds. Significantly slower than previously when the Media Server was on the 100mbps router. We’re talking 30kB/s. It’s painful. I tried enabling Flow Control (both Rx and Tx) on the Media Server box, no luck. Something’s not right.

I’m at a loss. Anyone have any ideas?

Tagged: , ,


Comments

  • kale
    Do you experience the same terrible speeds with the switch completely off the network?

    What kind of speeds do you get if you disconnect the xbox and wrt (leaving the macbook and media server and the switch, configured with static IP addresses)?

    Silly question, have you released and renewed your DHCP leases on all devices?
  • When I have the Media Server on the Linksys 10/100 router I have no speed problems, even when my MBP is on the DLink gigabit switch.

    The Xbox 360 has been off for my testing and does not show an active light on the gigabit switch. When I tried unplugged the Linksys 10/100 router I still got the same crap speeds.

    Several reboots both server and MBP side means new DHCP leases. Leases for both machines are static DHCP on the Linksys router.
  • Even more confusing...
    I just took my MBP and plugged it into the 10/100 router in the other room and had the same terrible speeds yet no "bad checksum" reports in Packet Peeper.
  • kale
    Can you hard-set the switch's ports to 1000Mbps, instead of auto-negotiate? I'd be curious to see a packet capture from either the media server or the macbook during a sluggish rsync.
  • Can't hard-set the switch. It's totally unconfigurable in any way. hehe I loaded up Packet Peeper and it's littered with packets saying "bad checksum". :(
  • Looks like the "bad checksum" errors may just be a result of TCP checksum offloading
  • Starchy
    Unfortunately, this could be the problem. If only one side is autonegotiating (or autonegotiating properly), you could end up at half-duplex (worse yet, with only one side at half-duplex) which is one way to get collisions up the cat6-hole.
  • The Media Server is configured to be 100Mbps Full Duplex. When I configured my MBP to be 100Mbps I set it to full duplex as well. Both machines have flow control enabled.
  • Im still putting my money on putting a gigabit switch using NICs that are 100mbps. Its degrading the speed, even though logically it should be the same speed or better, but Ive yet to see it work this way.
  • I just manually set my NIC on my MBP to 100mbps and still getting horrible speeds sending to Media Server. Switch shows everybody at 100mbps according to the LEDs.

    Oddly when I set it to 100mbps my MBP says the ethernet cable is "not plugged in" but it is and I have network connectivity.
  • Hmm, well when your streaming from the media server to the Xbox, your going to see the degradation of speed, the xbox being the bottleneck being only 10/100. Thats why you saw the performance hit when you added the gigabit switch to the fray.

    When you set the XP machines NIC from 1000 to 100 you got some performance back because the two 100s had an easier time talking to each other, but still not as well if you had a

    GGB Switch > 1000 XP machine > 1000 Xbox

    but better than

    GGB Switch > 1000 XP machine > 100 Xbox

    But if your MBP is having the connectivity issues as you say, you may have a faulty switch if its saying its not even connected when you clearly see physically it is. Which is odd in itself. There a layer thats not communicating somewhere correctly, and thats whats prolly causing the speed degradation across the board. But thats is beyond my troubleshooting abilities :(

    Do you have a regular 100mbps switch to swap the 1000 out to do a speed test?
  • Yeah, I recognize that the speed will be clocked down to 100mbps, but from my understanding this should happen automatically and 1gb and 100mb NICs should be able to talk happily to each other, negotiating the correct speed.

    It's weird that my MBP says it's not connected only when it's manually set to 100mbps.

    As I replied to kale below I did some packet sniffing and it looks like the issue is bad checksums. As to what is causing the corruption, I don't know.

    Unfortunately I don't have another switch to swap out and test.
  • network_ninja
    Unfortunately, auto negotiation between ethernet interfaces fails more often than not. It's been de riguer for as long as I can remember to hard code data rates on Cisco ethernet switches and interconnected devices
  • More troubleshooting:

    Unplugged the cable connecting the DLink 1gb switch to the Linksys router. File transfer speed from MBP to Media Server is still horrible.

    One thing to note though is that when I pull files down from the Media Server, speeds are good and normal 100mbps performance. For example:
    MBP$ rsync -va --stats --progress /Volumes/Download/Temp/SpeedTest ./SpeedTest/
    building file list ...
    2 files to consider
    SpeedTest/
    SpeedTest/100mb.file
    104857600 100% 4.99MB/s 0:00:20 (xfer#1, to-check=0/2)

    Number of files: 2
    Number of files transferred: 1
    Total file size: 104857600 bytes
    Total transferred file size: 104857600 bytes
    Literal data: 104857600 bytes
    Matched data: 0 bytes
    File list size: 93
    File list generation time: 0.005 seconds
    File list transfer time: 0.000 seconds
    Total bytes sent: 104870557
    Total bytes received: 48

    sent 104870557 bytes received 48 bytes 5115639.27 bytes/sec
    total size is 104857600 speedup is 1.00

    MBP$ rsync -va --stats --progress ./SpeedTest /Volumes/Download/Temp/SpeedTest
    building file list ...
    3 files to consider
    SpeedTest/
    SpeedTest/SpeedTest/
    SpeedTest/SpeedTest/100mb.file
    1605632 1% 25.51kB/s 1:07:27
    (obviously not going to wait an hour for this file to transfer :P)
  • No packet loss from MBP to Media Server:
    100 packets transmitted, 100 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 0.203/0.328/2.504/0.357 ms

    Traceroute:
    $ traceroute 192.168.1.77
    traceroute to 192.168.1.77 (192.168.1.77), 64 hops max, 40 byte packets
    1 egore (192.168.1.77) 1.263 ms 0.493 ms 0.550 ms

    Here's ethernet info from the Macbook Pro:
    Ethernet:

    Type: Ethernet
    Hardware: Ethernet
    BSD Device Name: en0
    IPv4 Addresses: 192.168.1.108
    IPv4:
    Addresses: 192.168.1.108
    Configuration Method: DHCP
    Interface Name: en0
    NetworkSignature: IPv4.Router=192.168.1.1;IPv4.RouterHardwareAddress=00:14:[REDACTED]
    Router: 192.168.1.1
    Subnet Masks: 255.255.255.0
    IPv6:
    Configuration Method: Automatic
    DNS:
    Server Addresses: 192.168.1.1
    DHCP Server Responses:
    Domain Name Servers: 192.168.1.1
    Lease Duration (seconds): 0
    DHCP Message Type: 0x05
    Routers: 192.168.1.1
    Server Identifier: 192.168.1.1
    Subnet Mask: 255.255.255.0
    Proxies:
    Exceptions List: *.local, 169.254/16
    FTP Passive Mode: Yes
    Ethernet:
    MAC Address: 00:1b:[REDACTED]
    Media Options: Full Duplex, flow-control
    Media Subtype: 1000baseT
  • kale
    Do you get packet loss pinging each of the devices behind the gig switch? What's the transit time? Post up 100 pings from your macbook to your media server, as well as a traceroute. Also, on the macbook, pop open System Profiler and under network pick the appropriate ethernet listing and paste the infos. I'm suspecting conflicts between the WRT and the switch.
blog comments powered by Disqus