IP Address Classes and Definition Explained

This tutorial explains IP address types, classes and definitions including private IP addresses, public IP addresses, static IP address, dynamic IP address and Self assigned IP address in detail.

An IP is a 32-bit number comprised of a host number and a network prefix, both of which are used to uniquely identify each node within a network. A shortage of available IP addresses has prompted the creation of an addressing scheme known as Classless Inter-Domain Routing (CIDR). Among other capabilities, CIDR allows one IP address to designate many unique IP addresses within a network. In addition, the current version of the IP address, IPv4, is being upgraded to IPv6. The latter uses a 128-bit address, allowing for 2128 total IP addresses, as opposed to IPv4's 232.

Systems that have interfaces to more than one network require a unique IP address for each network interface. The first part of an Internet address identifies the network on which the host resides, while the second part identifies the particular host on the given network. This creates the two-level addressing hierarchy.

The leading portion of each IP address identifies the network prefix. All hosts on a given network share the same network prefix but must have a unique host number. Similarly, any two hosts on different networks must have different network prefixes but may have the same host number.

Internet Protocol version 4

IPv4 addresses are 32 bits in length. To make these addresses more readable, they are broken up into 4 bytes, or octets, where any 2 bytes are separated by a period. This is commonly referred to as dotted decimal notation.

Here’s a simple example of an IP address:

An additional value, called a subnet mask, determines the boundary between the network and host components of an address. When comparing IP addresses to other protocols’ addressing schemes, TCP/IP addressing seems the most complicated.

Internet Protocol version 6 (IPv6)

Whereas IPv4 addresses use a dotted-decimal format, where each byte ranges from 0 to 255.
IPv6 addresses use eight sets of four hexadecimal addresses (16 bits in each set), separated by a colon (:),

like this: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (x would be a hexadecimal value).
This notation is commonly called string notation.

  • Hexadecimal values can be displayed in either lower- or upper-case for the numbers A–F.
  • A leading zero in a set of numbers can be omitted; for example, you could either enter 0012 or 12 in one of the eight fields—both are correct.
  • If you have successive fields of zeroes in an IPv6 address, you can represent them as two colons (::). For example, 0:0:0:0:0:0:0:5 could be represented as ::5; and ABC:567:0:0:8888:9999:1111:0 could be represented as ABC:567::8888:9999:1111:0. However, you can only do this once in the address: ABC::567::891::00 would be invalid since :: appears more than once in the address. The reason for this limitation is that if you had two or more repetitions, you wouldn't know how many sets of zeroes were being omitted from each part.
  • An unspecified address is represented as ::, since it contains all zeroes.

IP Address Types, Classes and Definition Explained

Classful IP (Internet Protocol) Ranges and Their Subnet Masks

When dealing with IP addresses, the address is broken into two components:

Network component Defines on what segment, in the network, a device is located

Host component Defines the specific device on a particular network segment

The network number uniquely identifies a segment in the network and a host number uniquely identifies a device on a segment. The combination of these two numbers must be unique throughout the entire network. TCP/IP uses the same two components for addressing, but it adds a twist by breaking up network numbers into five classes: A, B, C, D, and E. Each of these classes has a predefined network and host boundary:

  • Class A address,The first byte is a network number (8 bits) and the last 3 bytes are for host numbers (24 bits).
  • Class B address ,The first 2 bytes are a network number (16 bits) and the last 2 bytes are for host numbers (16 bits).
  • Class C address ,The first 3 bytes are a network number (24 bits) and the last 1 byte is for host numbers (8 bits).
  • Class D and E ,addresses Class D Used for multicasting and Class E addresses are reserved.

What distinguishes the different classes of addresses are the settings to which the first bit to 5 bits are set:

  • Class A addresses always begin with a 0 in the highest order bit.
  • Class B addresses always begin with 10 in the highest order bits.
  • Class C addresses always begin with 110 in the highest order bits.
  • Class D addresses always begin with 1110 in the highest order bits.
  • Class E addresses always begin with 11110 in the highest order bits.

When talking about the highest order bit or bits, this includes all 32 bits. Therefore, this would be the very first bit on the left of the address (the most significant bit). If the first octet contains 1000001, this represents 129 in decimal, which would be a Class B address. Given these distinctions with the assigned high order bit values, it is easy to predict, for a given address, to what class of network numbers it belongs:

Class A addresses range from  1-126:   00000001-01111111
Class B addresses range from 128-191:  10000000-10111111
Class C addresses range from 192-223:  11000000-11011111
Class D addresses range from 224-239:  11100000-11101111
Class E addresses range from 240-254:

0 is reserved and represents all IP addresses;
127 is a reserved address and is used for loop back tasting:
255 is a reserved address and is used for broadcasting purposes.

Given these restrictions with beginning bit values, it is fairly easy to predict what address belongs to what class. Simply look at the first number in the dotted-decimal notation and see which range it falls into.

When you are dealing with IP addresses, two numbers are always reserved for each network number:

The first address in the network represents the network's address, and the last address in the network represents the broadcast address for this network,called directed broadcast.

When you look at IP itself, two IP addresses are reserved: (the very first address), which represents all IP addresses, and (the very last address), which is the local broadcast address.

Purpose of subnetting.

Subnetting allows you to break up and use an addressing space more efficiently. Basically, subnetting steals the higher-order bit or bits from the host component and uses these bits to create more subnets with a smaller number of host addresses in each of these subnets.

Subnet masks are 32 bits long and are typically represented in dotted-decimal (such as or the number of networking bits (such as /24). The networking bits in a mask must be contiguous and the host bits in the subnet mask must be contiguous. is an invalid mask. A subnet mask is used to mask a portion of the IP address, so that TCP/IP can tell the difference between the network ID and the host ID. TCP/IP uses the subnet mask to determine whether the destination is on a local or remote network.

Advantages of subnetting a network include the following:

  • Reducing network colision by limiting the range of broadcasts using routers
  • Enabling different networking architectures to be joined

Differences between private and public network addressing schemes.

As to assigning addresses to devices, two general types of addresses can be used: public and private.

Public addresses

Public addresses are Class A, B, and C addresses that can be used to access devices in other public networks, such as the Internet. The Internet Assigned Numbers Authority (IANA) is ultimately responsible for handing out and managing public addresses. Normally you get public addresses directly from your ISP, which, in turn, requests them from one of five upstream address registries:

  • American Registry for Internet Numbers (ARIN)
  • Reseaux IP Europeans Network Coordination Center (RIPE NCC)
  • Asia Pacific Registry for Internet Numbers (APNIC)
  • Latin American and Caribbean Internet Address Registry (LACNIC)
  • African Network Information Centre (AfriNIC)

Private Addresses

Within the range of addresses for Class A, B, and C addresses are some reserved addresses, commonly called private addresses. Anyone can use private addresses; however, this creates a problem if you want to access the Internet. Remember that each device in the network (in this case, this includes the Internet) must have a unique IP address. If two networks are using the same private addresses, you would run into reachability issues. To access the Internet, your source IP addresses must have a unique Internet public address. This can be accomplished through address translation. Here is a list of private addresses that are assigned in RFC 1918:

  • Class A:– (1 Class A network)
  • Class B:– (16 Class B networks)
  • Class C:– (256 Class C networks)

IP (Internet Protocol) addressing methods:

Static /Dynamic

Each device in an IP network is either assigned a permanent address (static) by the network administrator or is assigned a temporary address (dynamic) via DHCP software. Routers, firewalls and proxy servers use static addresses as do most servers and printers that serve multiple users. Client machines may use static or dynamic IP addresses. The IP address assigned to your service by your cable or DSL Internet provider is typically dynamic IP. In routers and operating systems, the default configuration for clients is dynamic IP.


DHCP stands for Dynamic Host Configuration Protocol. This protocol assigns network IP addresses to clients on the network at startup. With DHCP, each client workstation does not need to be set up with a static IP address. DHCP is recommended on large networks. It would be very time consuming to manually assign a static IP address to every workstation on your network.

With static IP addressing, the IP address that you assign to a device never changes. A DHCP server contains a pool of IP addresses that it can draw from to assign to devices that are connecting to the network. Other TCP/IP properties, such as default gateways, DNS servers, and subnet masks can also be assigned automatically.

Self-assigned (APIPA (Automatic Private Internet Protocol Addressing))

Automatic Private IP Addressing (APIPA) is a feature of Windows-based operating systems (included in Windows 98, ME, 2000, and XP) that enables a computer to automatically assign itself an IP address when there is no Dynamic Host Configuration Protocol (DHCP) server available to perform that function.

Using APIPA, a Windows based client assigns itself an IP address from a range reserved for authorized private class B network addresses ( through, with a subnet mask of A computer with an authorized private address cannot directly communicate with hosts outside its subnet, including Internet hosts.

APIPA is most suitable for small, single-subnet networks, such as a home or small office. APIPA is enabled by default if no DHCP servers are available on the network.

Note APIPA assigns only an IP address and subnet mask; it does not assign a default gateway, nor does it assign the IP addresses of DNS or WINS servers. Use APIPA only on a single-subnet network that contains no routers. If your small office or home office network is connected to the Internet or a private intranet, do not use APIPA.

ComputerNetworkingNotes Networking Tutorials IP Address Classes and Definition Explained