Just another computer programmer here.
Goofing around with winsock has taught me that it's my modem that obtains the IP address from my ISP. That ip address never changes and will be delivered to every socket you connect to on the internet. In otherwords, routers will not make you anonymous. Any attempt at 2 way communication over the internet will reveal your true IP address which can be traced directly to your ISP. Your ISP can use that IP address to determine your name and address since, of course, you PAY the ISP for that IP address.
All your router does is relay information received by your modem to one or more VIRTUAL IP address which are assigned to one or more computers plugged into the other side of your router.
So, in a nutshell...
ISP
|
WALL
|
MODEM (REAL IP)
|
ROUTER
/ | \
(IP) (IP) (IP) (VIRTUAL IP ADDRESSES)
| | |
NC NC NC (Network Cards)
When you connect to another computer over the internet, your REAL IP address is sent to the computer your connecting to. Otherwise, the computer your connecting to would not be able to send anything back to your modem.
You could of course SPOOF your IP by forging the source IP field on your outgoing TCP/IP packet headers, but don't expect to get a response back. Any response will be sent to the IP you spoofed.