buettner / private-prefetch-proxy

Proposal to use a CONNECT proxy to obfuscate the user IP address for privacy-enhanced prefetching.
32 stars 6 forks source link

Performance impact of PPP on cellular networks #13

Open Kevsy opened 3 years ago

Kevsy commented 3 years ago

I have a few concerns/questions regarding default (user opt-out) use of PPP on a cellular network:

Many thanks!

chris-box commented 3 years ago

The issue is more general than cellular. Congestion can affect all networks, and is not restricted to the last mile. But in practice the area where this will be most visible is in cellular networks because utilisation can be routinely high and capacity expansion at the edge is expensive.

Some explanation of the scheduling issue may be useful. In LTE, a cell's scheduler often has multiple phones it needs to deliver queued downlink packets to. Every millisecond it needs to decide which packets to send in the next millisecond, by dedicating resource blocks to them. This is influenced by radio conditions but also other factors, such as needing to be fair to all users, maximising overall throughput, etc.

Kevin is highlighting a scheduler that has downlink packets for two phones, one of which is waiting for a response to its user-initiated query and the other is expecting some prefetch data. In current networks the scheduler will have no notion that these are of different importance, and it will treat them the same. The result is that "some users will be waiting for their content because others are receiving their ‘on the off chance’ prefetch".

Are there solutions to this? I think there are. If PPP packets were marked in some way, e.g. by the IP address of the prefetch proxy being known to the cellular network, or by DSCP mark, then the cellular network could apply QoS Class Indicator (QCI) to reflect its lower priority status. The scheduler can then take that into consideration. If implemented well, all users should obtain the speed benefits of prefetch without the speed loss of increased congestion.

Kevsy commented 3 years ago

I think operators need to be aware of the potential increase in connection-mapping/connection-state at the stateful NAT. So figures summarising the increase in outgoing connection requests would also be appreciated, in case scaling is needed.