it's being said that a peer to peer network is not server-basebased for routing and processing data and only uses server for getting the up to datedated nodes addresses (probably their internet IP address) to connect to other node directly without no intermediate server. so my question is, how computer(node) A can establish a connection with node B over the internet. the IPs that ISP gives to us is invalid and isn't reachable. so how does this p2p work with these invalid node IP address over internet?