0

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 ?

1
  • 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.
    – jabbson
    Nov 10, 2022 at 2:46

2 Answers 2

1

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.

1

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?

2
  • Thanks! This is an educational question. By your answer, the max 64K client PCs can access Internet via the proxy server, right?
    – user828896
    Nov 10, 2022 at 3:05
  • 64k towards each distinct remote IP address is possible Nov 10, 2022 at 3:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.