Questions tagged [ipv4]

Use the ipv4 tag ONLY if the nature of your question specifically involves IPv4 addresses or networking -- often in contrast to IPv6. Most networking currently involves IPv4 addresses, so you should NOT include this tag with every networking question.

IPv4 (Internet Protocol version 4) is the fourth version in the development of the Internet Protocol. IPv4 is a connectionless protocol for use on packet-switched networks. It works on a best effort delivery model, in that it does not guarantee delivery, nor does it assure proper sequencing or avoidance of duplicate delivery.

Addressing

IPv4 uses 32-bit (four-byte) addresses, which limits the address space to 4294967296 addresses. IPv4 reserves special address blocks for private networks (~18 million addresses) and multicast addresses (~270 million addresses). These addresses are written in the dot-decimal notation, which consists of four octets of the address expressed individually in decimal and separated by periods.

The system known as classful networking defined five classes, Class A, B, C, D, and E. The Classes A, B, and C had different bit lengths for the new network identification. The rest of an address was used as previously to identify a host within a network, which meant that each network class had a different capacity to address hosts. Class D was allocated for multicast addressing and Class E was reserved for future applications.

Based on the IETF standard RFC 1517 published in 1993, this system of classes was officially replaced with Classless Inter-Domain Routing (CIDR), which expressed the number of bits (from the most significant) as, for instance, /24, and the class-based scheme was dubbed classful, by contrast. CIDR was designed to permit repartitioning of any address space so that smaller or larger blocks of addresses could be allocated to users.

Private Networks

Three ranges of address are reserved for use in private networks. These ranges are not routable outside of private networks, and private machines cannot directly communicate with public networks. They can, however, do so through network address translation.

The following are the three ranges reserved for private networks (RFC 1918):

10.0.0.0–10.255.255.255

172.16.0.0–172.31.255.255

192.168.0.0–192.168.255.255

Space Exhaustion

Several market forces accelerated IPv4 address exhaustion:

  • Rapidly growing number of Internet users
  • Always-on devices — ADSL modems, cable modems
  • Mobile devices

To mitigate the IPv4 address exhaustion it was developed Network address translation (NAT). This technology allows a private network to use one public IP address.

The accepted and standard long term solution is to use Internet Protocol Version 6. The address size was increased in IPv6 to 128 bits, providing a vastly increased address space that also allows improved route aggregation across the Internet and offers large subnetwork allocations of a minimum of 264 host addresses to end-users. Migration to IPv6 is in progress but completion is expected to take considerable time.

114 questions
7
votes
1 answer

Detect other machine's address in link local?

I have two machines connected in link local IPv4 over a CAT6 cable. Is there a way from host1 that I can determine host2's IPv4 address? I'm on an Debian-derivative running kernel 3.2.0-34-generic.
Naftuli Kay
  • 39,676
2
votes
0 answers

Allow internet access to public subnet

I'm running ESXi and received a public subnet from Hertzner.de . I've setup everything by using a 'router'-vm and different client-vm's. These client VM's can access the internet through the router-vm without a problem. But how can I enable direct…
0
votes
0 answers

In LINUX what commands will validate an IP/CIDR is correct for the physical network?

Internal to a Linux system (RHEL8/CentOS8), what linux commands can assist in detemining that a given IP/Netmask (CIDR) is correct for the network assigned to these hosts? For the following examples, the assigned class C network is "192.168.1.0"…