Hi, my name is XXXXX XXXXX I appreciate the oppurtunity to assist you today.
I will do my best to answer your question!
I am a network administrator and network security expert (a white-hat hacker, if you will) so I'm fairly certain I can answer most of what you want to know.
As for IP addresses, they are determined, for you, by your Internet Service Provider (ISP). Your ISP has a special server called DHCP (Dynamic Host Control Protocol) which is responsible for automatically distributing IP addresses to requesting devices.
The modem in your home connects to your provider, and obtains such an IP.
Your devices at home connect to this modem/router, and the modem assigns different (private) IP addresses to them, using it's own, built-in DHCP server.
The modem is then responsible of routing the traffic from the internal IPs to the external IP, and vice versa.
As for classes - I suggest you start here for the basics:http://broadcastengineering.com/infrastructure/computer-networking-beginners-part-i
If you have any other questions or need more information, please ask me – I’ll be happy to respond!
I'd appreciate it if you can rate my service using the faces below my answer.