Ping – How Ping Works from Private IP Source to Public IP Destination Without NAT

firewallipv4ispnat;ping

These are my first questions asked into this forum so could you please help me? These were asked during a job interview:

  1. How does the ping work when we launch an ICMP echo request message from an internal LAN private IPv4 source address towards a public IPv4 destination address (example 8.8.8.8 – Google server) without enabling the NAT/PAT protocol on our default/internal gateway router?

  2. If the ping is unsuccessful (receiving the requested timed out/time exceeded) ICMP error type, which next-hop node will prevent forwarding the traffic (ICMP control) packets towards the Internet?

  3. Which methods we should use in order to obtain a successful echo reply ping?

I have thought of a possible answer, which I will share with you after the response in order to see if it's valid or not.

Best Answer

Private IPv4 addresses are defined by RFC1918, in which you will find:

Because private addresses have no global meaning, routing information about private networks shall not be propagated on inter-enterprise links, and packets with private source or destination addresses should not be forwarded across such links. Routers in networks not using private address space, especially those of Internet service providers, are expected to be configured to reject (filter out) routing information about private networks. If such a router receives such information the rejection shall not be treated as a routing protocol error.

Without NAT/PAT, the ICMP packet will be dropped by your ISP router. Most of the time, it will be silently drop, but you may have some ICMP message back, depending of the configuration your ISP made.

To have a successful ping reply from an Internet host to a echo request originated by a private IP address there's no other option than NAT/PAT.

Related Topic