Hi,

On Mon, 2023-12-04 at 08:52 +0000, Pierre Pfister (ppfister) wrote:
> 
> So far, we have received feedback from people supporting our work, and
> sharing the same need. I'd like to encourage those people to take part in
> this thread.
> 

basically, I can only reiterate the arguments we have already written down in
draft-mrossberg-ipsecme-multiple-sequence-counters, but there are two aspects I
would like to point out:

1) The main effort for "full" child SAs is not only setting them up, but to
maintain them (rekeying, monitoring, sending heartbeats and the like). In our
experience, this becomes especially bad when partial failures are possible,
i.e., a strict subset of the child SAs may fail. This could happen due to,
e.g., on-demand child SA creation, or if NAT-T maps the child SAs to different
UDP ports and a misconfigured firewall drops some of the flows.

2) Regarding the hardware discussion, the main problem is not the
interconnections between large sites, e.g., data centers ("network-to-network",
as Ben calls them). Those are usually large devices with plenty of computing
power on both sides and high-bandwidth links in between, so multiple child SAs
may be used there.

The in our opinion pathological cases are the SAs between large sites and very
small sites (low-power gateways for small offices, notebooks, or mobile
phones), so a typical access scenario. In this case, we have two options:

a) Using a "classical" single child SA to the small site. But on the large
gateway, we usually cannot control on which cores the plaintext traffic flows
for that SA are received, as they are chosen by RSS. This means we either need
to sync sequence counters between cores, or move the flows to the single core
responsible for the SA. Both have a significant negative impact on the overall
performance of the gateway.

b) Using one child SAs for every core of the large gateway. This means we do
not need to sync sequence numbers or move flows anymore, but have shifted the
problem to the small device. There, we now need to set up, rekey, and monitor,
say 64 SAs for the cores. Depending on the scenario, this number may easily be
multiplied by 4-8 for QoS and doubled again for redundancy or multipathing. The
problem becomes especially bad for battery-powered devices such as notebooks or
mobile phones.

So for our use cases, multiple child SAs are a step in the right direction, but
for example for the scenario outlined above, something like subspacing would
allow us to run the large gateway with maximum performance while keeping the
impact on the smaller device minimal.

Regards
Michael

_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to