A system comprising a set of network devices (305-1 - 305-N) and a client device in a software-defined wide area network, SD-WAN, network topology, wherein a first network device of the set of network devices comprises a plurality of external links (368-1 - 368-4) that connect the first network device to other networks via a plurality of tunnels (125-1 - 125 - 3), each tunnel being implemented over a different connection, and wherein the client device is in communication with the first network device, wherein the first network device is configured to: assign multiple internet protocol addresses to one of a plurality of network interfaces of the client device; communicate the multiple internet protocol addresses to the one of the plurality of network interfaces of the client device; receive a first packet from the one of the plurality of network interfaces of the client device; select an external link of the plurality of external links based on the source address of the received first packet; and forward the first packet via the selected external link of the plurality of external links, wherein: each link of the plurality of external links (368-1 - 368-4) is associated with one of a corresponding set of public internet protocol address spaces allocated for routing from sources external to the network topology; the set of public internet protocol address spaces is partitioned into a plurality of subnetworks, wherein the multiple internet protocol addresses include internet protocol addresses each belonging to a particular subnetwork corresponding to each link of the plurality of external links, and wherein selecting the external link includes selecting the external link based on a subnetwork of a source address of a received packet; wherein the client device is configured to: select a source address for the first packet from the multiple internet protocol addresses of the network interface based on a multipath transmission control protocol subflow that includes the first packet, wherein the first packet is governed by the multipath transmission control protocol. assign multiple internet protocol addresses to one of a plurality of network interfaces of the client device; communicate the multiple internet protocol addresses to the one of the plurality of network interfaces of the client device; receive a first packet from the one of the plurality of network interfaces of the client device; select an external link of the plurality of external links based on the source address of the received first packet; and forward the first packet via the selected external link of the plurality of external links, wherein: each link of the plurality of external links (368-1 - 368-4) is associated with one of a corresponding set of public internet protocol address spaces allocated for routing from sources external to the network topology; the set of public internet protocol address spaces is partitioned into a plurality of subnetworks, wherein the multiple internet protocol addresses include internet protocol addresses each belonging to a particular subnetwork corresponding to each link of the plurality of external links, and wherein selecting the external link includes selecting the external link based on a subnetwork of a source address of a received packet; wherein the client device is configured to: select a source address for the first packet from the multiple internet protocol addresses of the network interface based on a multipath transmission control protocol subflow that includes the first packet, wherein the first packet is governed by the multipath transmission control protocol. each link of the plurality of external links (368-1 - 368-4) is associated with one of a corresponding set of public internet protocol address spaces allocated for routing from sources external to the network topology; the set of public internet protocol address spaces is partitioned into a plurality of subnetworks, wherein the multiple internet protocol addresses include internet protocol addresses each belonging to a particular subnetwork corresponding to each link of the plurality of external links, and wherein selecting the external link includes selecting the external link based on a subnetwork of a source address of a received packet; wherein the client device is configured to: select a source address for the first packet from the multiple internet protocol addresses of the network interface based on a multipath transmission control protocol subflow that includes the first packet, wherein the first packet is governed by the multipath transmission control protocol. select a source address for the first packet from the multiple internet protocol addresses of the network interface based on a multipath transmission control protocol subflow that includes the first packet, wherein the first packet is governed by the multipath transmission control protocol.