In the Second Internet (the one being used by most people today, based on IPv4), most nodes do not have public (globally routable) IP addresses. There are simply not enough of these to go around. Those addresses have mostly all been allocated. Today most Internet users are second-class netizens, with only private addresses. These are addresses that work only in their subnet and cannot accept incoming connections. This has a major impact on messaging.
First off, let’s define public and private ...