Ask Your Question

TCP Dup ACK flooding connection - macOS Big Sur <> Synology NAS

asked 2020-11-29 22:27:18 +0000

HFTobeason gravatar image

updated 2020-11-29 23:45:53 +0000

I would very much appreciate any help with this issue. I'm struggling to understand why my MacBookPro running macOS Big Sur is seeing such a slow connection to my Synology DS1815+ NAS. I have connected the MBP directly to the NAS over Ethernet (no switch, no router). I can access the NAS and mount a shared folder. WireShark outputs an apparently large number of TCP Dup ACK errors while I do that: WS01.pcapng

I can access the mounted folder, and running LAN_SpeedTest shows ~600Mbps/~700Mbps rates, which seems pretty good. The issue is when I try to run a TimeMachine, CarbonCopyCloner, or Chronosync backup. All those processes just crawl - at best I'm seeing ~10Mbps rates. And WireShark continues to stream large numbers of TCP Dup ACK errors. I'm at the limit of my troubleshooting ability at this point - internet searches haven't helped.

Any advice would be very much appreciated. Thanks in advance.

edit retag flag offensive close merge delete


Have you tested using a switch instead of the direct connection?
How you looked at the interface statistics on the Mac for errors?

The Dup ACKs are happening faster than the RTT (~.5 msec) RTT time.
Maybe the network interface is signaling the operating system to resend the packets?

Chuckc gravatar imageChuckc ( 2020-11-29 23:20:27 +0000 )edit

Thank you for your reply, @Chuckc.

My usual setup has had the MacBookPro connected through a Cisco switch to the NAS. I've been fighting this slow transfer rate issue for quite a while - that's why I tried the direct connection, hoping to eliminate any other choke points.

I apologize for my limited knowledge, but how would I look at the "interface statistics on the Mac for errors"?

HFTobeason gravatar imageHFTobeason ( 2020-11-29 23:25:35 +0000 )edit

On macOS lot's of network stats are available via the CLI command: netstat -sn. But if you run this command as a normal user you will only get zero values for the tcp stats part of the report. To see the tcp stats you have to run the command as root (sudo).

Here's a one-liner command I use to grab these stats and save them to a text file with the current date and time as the first part of the filename:

sudo netstat -sn >$(date +%Y-%m-%d.%H%M%S).netstat-sn.txt

Since you said this is a MPB, what are you using for the NIC interface? A docking station? A USB NIC? A Thunderbolt NIC? I have first hand experience helping some coworkers with MBPs who experienced horrible network performance when using the Gigabit Ethernet interfaces built into their docking stations.

Jim Young gravatar imageJim Young ( 2020-11-30 04:47:38 +0000 )edit

@Jim-Young, thank you for your reply.

I'm using a Uni UNICE01 USB-C to Ethernet Adapter (Realtek Semiconductor Corp).

Using LAN_SpeedTest (when nothing else is hitting the NAS), I am seeing well over 500Mbps speeds both directions between the MBP and the NAS. It's only when CarbonCopyCloner or TimeMachine or Chronosync is transferring data that I see the slowdowns (note that those apps are the only regular users of the NAS).

Are all these TCP Dup Acks bad? Unusual? Unimportant?

At this moment, TimeMachine seems to be either stuck or crawling, and CCC is crawling, and LAN_SpeedTest is showing much slower than usual speeds - in the 100Mbps up/down range.

When I try to run the netstat command you give, I get an error:

netstat: sysctl: net.inet.ip.input_perf_data: No such file or directory

Again, thank you for your help - it is much appreciated.

HFTobeason gravatar imageHFTobeason ( 2020-11-30 18:49:30 +0000 )edit

Finally someone with the exact same problem! I am experiencing the same behaviour. My NAS (DS918+) is up to date, the Macs accessing it run macOS Big Sur, but the problem dates back to Catalina or maybe even Mojave.

Running Wireshark on my MBP gives me a lot of traffic not even meant for the MBP (i.e. a TM backup between the iMac and the NAS) which shows many TCP Dup ACKs.

The Synology NAS is connected via Ethernet to the switch, all other devices too. On the NAS I did not install any additional services and only enabled SMB sharing with 2 shares: 1 for the backup of my Mac mini server (using Carbon Copy Cloner) and 1 for the client machines’ Time Machine backups.

I even replaced the Cisco switch to no avail before I found out that the Synology NAS is the culprit. My current DrayTek ...(more)

poenn gravatar imagepoenn ( 2021-03-10 08:33:02 +0000 )edit

1 Answer

Sort by » oldest newest most voted

answered 2021-03-11 21:01:59 +0000

poenn gravatar image

The problem is solved as it seems. I needed to disable IPv6 on the NAS LAN interface. I disabled it on both of them to be sure. For more details please read my thread at the Ars Technica forums.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2020-11-29 22:27:18 +0000

Seen: 801 times

Last updated: Mar 11 '21