Score:0

How many client PCs can access interent via a proxy which has only one public IPv4 address?

in flag

If I have one proxy server with a static public IPv4 198.51.100.138 which can access interent.

How many client PCs in a local network can access Internet via the proxy server ?

jabbson avatar
sb flag
Is this proxy server masquerading the client's traffic or just passing it? I assume it is NAT'ing the traffic. The question it is not that much about about how many PCs and more about how many connections. You can end up with one client exhausting all the available ports or can have thousands of clients running just fine. All depends on the traffic patterns.
Score:1
es flag

If you are doing Port Address Translation it'll depend on how many (TCP/UDP) ports you have and how many each machine will use at one time and how long those ports are in use. Realistically 10s to 100s is easy as there are 64k ports available on your proxy.

Is this an educational question or how many hosts are you hoping that it'll support?

user828896 avatar
in flag
Thanks! This is an educational question. By your answer, the max 64K client PCs can access Internet via the proxy server, right?
Nikita Kipriyanov avatar
za flag
64k *towards each distinct remote IP address* is possible
Score:1
za flag

It is hard to have a complete answer for this question because it is not quite correct, or else not enough information given. We can estimate how many connections could be translated. How this corresponds to the number of PCs remains a question: will they access the same remote resource or different? Which kind of accesses they use (VPNs, HTTPS, mail and so on)?

In general, when you are doing TCP and UDP NAT, each of them uses a tuple (local IP, local port, remote IP, remote port) to recognize reply packets to know which (private IP, port) to translate them back into. You've fixed to single local IP, but left all other variables free; how many connections could be translated is a product of how many objects are in the set, with the rough maximum 64k local ports * 64k remote ports * 4G remote IPs (of course, not all remote IPs are public, I am saying this is rough). If you limit it to only access TCP 443 (HTTPS) port, we have now a single remote port too; and so on.

Therefore, your whole local network in total can open up to 64k TCP and UDP connections to each remote port on each remote IP address. If each PC opens a single connection, you may have up to 64k computers all accessing the same port on some remote server, and 64k more accessing other port on same remote server and 64k even more accessing the same port on other remote server. Notice that on one hand browsers open 6-8 connections at least (which reduces the result), on the other hand, popular services don't reside on a single remote IP (which increases the result).

The same restriction applies to HTTP proxy: it needs to establish outgoing connections and that has the same limit. Proxy and TCP NAT time will have a shared pool of available tuples; UDP stays alone.

There are sometimes other protocols used: SCTP, GRE and so on. They all have their interesting properties, but their limits are theirs. IPSec also adds some interesting question, but often it is used as per NAT-T which encapsulates IPSec into UDP and it falls within UDP limit.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.