What is an IP address and what is it used for?

What is an IP address and what is it used for?
The term "IP" (Internet Protocol) refers to the set of rules that allow devices to communicate on the Internet. With billions of people accessing the Internet every day, unique identifiers are needed to identify who is doing what. The Internet Protocol solves this problem by assigning IP numbers to each device accessing the Internet.

A DNS query
The IP address of a computer is a bit like the physical address of a house. When a person calls a pizza shop to place an order, he or she has to give the shop his or her physical address. Without this address, the pizza delivery person will not know where to deliver the pizza!

Similarly, when a user enters a domain name (e.g. google.com) into a web browser, the system sends a request to Google's web server to request content (Google's homepage). Once the request is received by Google, the server needs to know where to send the website content, which is why the request contains the user's IP address. Using the IP address provided, Google can then send a response back to the user's device, which will then display the content in the browser.

The system that orchestrates all of this is called the DNS. It acts much like the phone book or address book of the Internet by allowing users to access web services using user-friendly domain names. When a user enters a domain name (e.g. facebook.com) in their browser window, the system issues a DNS query that ultimately leads to a DNS server that translates the domain name into an IP address.

What do IP addresses look like? These addresses may follow a different format, depending on whether they are based on the IPv4 or IPv6 protocol.

What are the differences between IPv4 and IPv6?
IPv4 and IPv6 are different versions of the Internet Protocol. Despite its introduction in 1983, the IPv4 protocol is still used today. Addresses in IPv4 format consist of four sets of numbers separated by dots, for example: "74.125.224.72". As a 32-bit format, the protocol therefore allows for 232 unique IP addresses (or about 4.3 billion), which is not enough for the number of devices on the Internet. The need for more IP addresses led to the launch of IPv6*. IPv6 addresses follow a more complex format, using sets of numbers and letters separated by one or two dots, for example: "2607:f860:4005:804::200e". The 128-bit format can thus support 2128 unique addresses. (We are talking about a 39-digit number!)

IPv6 brings other upgrades over IPv4, including improvements in security and privacy. Despite their differences, IPv4 and IPv6 have co-existed simultaneously on the web for almost ten years. Both versions can work in parallel, but special measures had to be put in place to facilitate communications between IPv4 and IPv6 devices. This compromise was necessary because much of the web still relies on IPv4 addresses.

*What happened to IPv5? This was an experimental streaming protocol that was never implemented. It was based on the same 32-bit format as IPv4, which did not adequately address the problem of lack of unique IP addresses. IPv6 therefore took over from IPv4.

How do static and dynamic IP addresses differ?
The limited supply of IPv4 addresses led to the introduction of dynamic IP address allocation, which is still a very common practice. Most devices connected to the Internet are assigned temporary IP addresses.

For example, when a user connects to the Internet on their home laptop, their ISP assigns them a temporary IP address from a pool of shared IP addresses. This is known as a dynamic IP address. This is a more cost-effective process for the ISP than assigning a permanent, or static, IP address to each user.

Dynamic IP addresses
Some ISP customers, such as large companies, will pay the price of maintaining a static IP address (for example, Cloudflare's 1.1.1.1). However, using a dynamic IP address is usually sufficient for most users. When hosting a web server (such as an internally hosted website, API or game server), the presence of a dynamic IP address can potentially lead to some malfunctioning. Indeed, any modification of an IP address can lead to the failure of its DNS requests, with the effective result of taking this resource offline. Fortunately, Cloudflare's dynamic DNS makes it easy to correct this problem.