In IPv4, we have a shortage of addresses. There can only be $2^{32}$ different IP addresses possible, which was fine before, but now with increased reach of internet and each person having multiple devices, having $2^{32}$ unique addresses isn't enough.
NAT enables a user to have a large set of addresses internally, and one (or a few) addresses externally.
By internally and externally, we mean that a user inside a LAN or their own business space can have multiple IP addresses, which would be unique just to that network space.
These address sets are called Private addresses, and Internet has reserved it for users.
Private address sets:
- $10.0.0.0$ to $10.255.255.255.255$
- $172.16.0.0$ to $172.31.255.255$
- $192.168.0.0$ to $192.168.255.255$
Any user can have these IP addresses "internally" without the permission from any Internet authority.
When the packets from these users are sent to "the outside world"; in the IP packet the NAT router converts the private address (not globally unique) to a globally unique one.
Option B