NAT Routers Part 2 (Continued)
Episode 10 Segment 11
This system works very well for most situations, but it does suffer from three, generally manageable weaknesses when compared to a business-oriented, class - "C" - Internet connection as described in our movie by that title:
Firstly, the number of processes that can simultaneously exchange data between the worldwide Internet and all of the computers in your local network is limited. The theoretical limit is reduced from 33 million processes down to 130 thousand. The practical limit, determined by the processing speed and memory capacity of your NAT router, is on the order of a few hundred processes.
Secondly, if you are going to host - Server - processes (such as web servers, FTP servers, Voice-Over-IP servers, multimedia servers, or game servers) on the Internet, you will run into additional limits. You will need to go through a manual configuration exercise to tell your NAT router about each of your servers, and only ONE server of any given type will be able to use the well-known, usual and customary TCP or UDP process ID ( "port" ) that Internet clients will expect to use to communicate with you. You can certainly run more than one server of any given type, but the extra ones will either have to be configured to use unusual port numbers or they will be isolated from the Internet. This subject, known as "Port Forwarding", is explained elsewhere here on AskMisterWizard.com.
Thirdly, a few applications are just not compatible with NAT translation because they need to exchange additional IP addresses or port numbers deep inside their own TCP or UDP data, where a low-cost NAT router cannot identify or translate them. These are generally rare and obscure applications, but if you run into one of them you will have to abandon it in favor of some more compatible replacement.
A low-cost - NAT - router permits you to give Internet Access to more than one computer in your Local Area Network. In a typical situation, four to ten PCs can be supported. Each of those PCs can run almost any combination of client processes to access servers on the worldwide Internet (Most - "peer-to-peer" applications are designed to behave like - "clients" - in this respect, and will also be supported). Server processes can also be supported, but they will require manual configuration and some compromises may be necessary.