if my computer send a packet to the internet, the packet will carry source IP address of 192.168.1.100,
so at which level the source IP address will be changed to public IP ?
what is the interface which identify my public IP address ?
The WAN interface of your router or the WAN interface of the modem/router combo used will be the first interface to identify you by a public IP address. Internal IP adresses are masked by using Network Address Translation.
Your remote friend should go to a place that displays their public IP address (IPchicken.com or whatismyIP.com) then you on the other side of the world could ping it. Only if pings are allowed. By default most home routers are turned off.
Have them look in their router settings for something like "Filter anonymous Internet Requests" is unchecked ( LinkSys, I know I know...)