The maximum number of connections per-host can be set in the
PoolingOptions, the default max connections per host for Protocol V1 is 8, the max for protocol > V1 is 1.
In theory the maximum number of open connections you can have is the maximum number of open TCP sockets the OS can handle... However it is very recommended to open the least number of connections possible, as managing an open connection costs resources for the driver, the OS, and consequently the application. The driver has an algorithm to dynamically size the pools according to the current load in order to only open connections when it's needed. Everything is detailed in the link Andrew provided.
Hope that answers your question.
Cheers.