IP Addressing was explained to me many years ago like this:
Data is like a letter in the mail.
When you send it you have to do two things (aside from put it in the post box).
1. Put the address for which it is destined on/at the front.
2. Put the sending address on the back/at the end.
The address is made up of four elements, each separated by a dot '.'
The first, or the first and second, or first second and third parts are the area, and street/road.
The remainder is the house number.
When you post the data your PC looks at the address, if the address is destined for a non private address (192.168.x.x or 10.x.x.x or 169.254.x.x or 127.x.x.x) it knows it has to be sent to a 'post office' (a router).
The 'post office' looks at the address, checks the area section to see if it is destined for an address in it's neighbourhood - if it is it will send it to the address using an address book it has created through communicating with those addresses, otherwise it will talk to other 'Post Offices' and ask them if they have the area in their address books.
One will respond and the 'letter' is forwarded, the receiving post office may only know that other post offices in its address book have knowledge of the area, so the package gets forwarded until it finally arrives at the post office in the area that serves the intended address.
The return address is used to reciprocate from either the recipient, or to tell the sender the recipient has moved without leaving a forwarding address.
Your first post office is usually a x.x.x.1 address, although in corporate environments this could be configured differently.
Public routers can have any IP address.
Local addresses cannot be routed, they are for internal networks only.
Proxies are used by ISPs to reduce bandwidth usage by caching commonly requested pages and serving those to requesting clients, this can result in your IP address appearing to be different to what it really is.
A good tool to use is 'nslookup'.
Typing that in a command console (dos box) starts your DNS querying tool, by entering an IP address the DNS server will request the friendly name associated with that IP address, and return it to you. (you would enter for instance the IP address that appears to be your own).
Hopefully ISPs use a meaningful name in the proxy name, and you can then determine if you are using a proxy.