Originally Posted by
baovle
So what I see is a tcp/ip connection is a disctinct communication channel made up of the source ip (my machine) + the local port number (browser session), correct?
Essentially, your computer sends packets from a source ip/port combination to a server (usually fixed ip/fixed port) and the server replies to the same ip/port. Perhaps thinking of it as a conversation with fixed endpoints, instead of a "channel" is more appropriate.
Originally Posted by
baovle
...so how many local port numbers can it create concurrently and hence how many browser sessions can I have openned at once?
A port is a 16 bit number. 2^16 = 65536 ports numbered 0 - 65535. Ports 0-1023 are reserved by IANA (See
http://www.iana.org/assignments/port-numbers). The balance are free for use. I don't recall the specifics of Windows port allocation scheme without researching the resource kits or knowledgebase, it's probably less than 65536-1024 and available memory overhead for maintaining the connection in the tcp/ip stack would come into play at some point too, but the answer is A lot.
There are also UDP ports. See
TCP and UDP Ports Explained.
You can issue "netstat -a" or "netstat -n" at a command prompt in Windows to see active ports.
The ip address/port number the server actually replies to will be different from your local machine ip/port too if your router does any NATing and you use private LAN addressing.