When you begin learning about IP addresses and how they work, it can feel a bit overwhelming at times. So what do you do? You start by searching and asking questions! Today’s SuperUser Q&A post has the answers to a curious reader’s questions.
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
Screenshot courtesy of Linux Screenshots (Flickr).
The Question
SuperUser reader amin gholami wants to know if public IPs are unique:
Are public IPs unique?
The Answer
SuperUser contributor fedesismo has the answer for us:
Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.
From 10. 0. 0. 0 to 10. 255. 255. 255. From 172. 16. 0. 0 to 172. 31. 255. 255. From 192. 168. 0. 0 to 192. 168. 255. 255.
See: RFC1918
The IP your home router has on the “Internet side” of the interface is public, given to you by your ISP. The IPs used for your home’s Wi-Fi or Ethernet connection are private, so they are not unique, but that is not a problem because those never leave your home before being NATed or translated by the NAT.
As mentioned in other comments (see thread link below), there is an exception to what I have just said. There are some techniques that allow us to be more flexible about the original one-to-one communication Internet protocol paradigm that allows one-to-nearest. These techniques are used when talking about services that need high availability, redundancy, or low latency like DNS or CDN services. Given a certain IP (IPv4 or IPv6), there might be more that one server in the world configured to answer to that IP, but only one will be answering.
See: RFC4786
IPv6 also introduced a new addressing system that copes with these “new needs” and it defined the Anycast Address.
IP Version 6 (IPv6) defines a new type of address, known as an Anycast Address, that allows a packet to be routed to one of a number of different nodes all responding to the same address. The Anycast Address may be assigned to one or more network interfaces (typically on different nodes) with the network delivering each packet addressed to this address to the “nearest” interface based on the notion of “distance” determined by the routing protocols in use.
See: RFC2526
About IPv6 Anycast Addresses
An Anycast Address is an address that is assigned to a set of interfaces that typically belongs to different nodes. A packet sent to an Anycast Address is delivered to the closest interface (as defined by the routing protocols in use) identified by the Anycast Address. Anycast Addresses are syntactically indistinguishable from Unicast Addresses because Anycast Addresses are allocated from the Unicast Address space. Assigning a Unicast Address to more than one interface makes a Unicast Address an Anycast Address. Nodes to which the Anycast Address is assigned must be explicitly configured to recognize that the address is an Anycast Address.
See: IPv6 Address Type: Anycast [Cisco]