4 ms·
This how routing behavior has been on Mac OS for about 15 years now. Mac OS route selection always takes into account the source address of the IP packet in ad
by icehawk 4y ago
This how routing behavior has been on Mac OS for about 15 years now.
Mac OS route selection always takes into account the source address of the IP packet in addition to the routes in the routing table.
If a socket binds to a particular address, the Mac OS kernel will choose routes associated with the interface that address is on and ignore the others.
- genewitch 4y agothankfully Windows does not do this. if i set interface metrics manually, and a lower metric interface becomes connected, all external traffic will immediately go through the new interface. Likewise, if i switch between wifi and cellular on an android device, all existing connections stop and must be refreshed. to wit, on both windows and android, youtube videos will continue to play, but things like HN or reddit will stop loading until whichever connection takes precedence comes fully up. I would argue that's the only "sane" way to do it, but then again i'm no network engineer. I just rely on my devices to work this way so i don't saturate the wrong links or get poor upload speeds when i need them.
- ignoramous 4y ago> Likewise, if i switch between wifi and cellular on an android device... On an Android (like on iOS), both WiFi and Cellular interfaces can be active at once. Apps (with appropriate permission) are free to bind to either. > ...all existing connections stop and must be refreshed. On network changes (in particular address changes), TCP connectivity may break. SCTP / QUIC / UDP (and UDP-based protocols like WireGuard and MoSH) should continue to work just fine.