Title - Understanding IP addressing

Introduction

The concept of a computer having an identifier that can be used by other computers to direct messages seems logical.  In the realm of data communications, providing this address is not as simple as getting an address one time and using that same address forever.  You may hear terms like dynamic addressing, public address, private address, or DHCP and this section will provide and understanding of these terms and the various classes of IP addresses.

 

Part of the reason for this complexity is the evolution of the protocol.  The Internet today is a dramatically different network than when it was first established in the early 1980s.  It is the world's largest public data network and still growing rapidly. It is clear that the expanding business and social awareness opportunities continue to increase public demand for access to resources on the Internet.

 

There is a direct relationship between the value of the Internet and the number of sites connected to the Internet. As the Internet grows, the value of each site's connection to the Internet increases because it provides the organization with access to an ever-expanding user/customer population.

 

Internet Scaling Problems

Over the past few years, the Internet has experienced two major scaling issues as it has struggled to provide continuous and uninterrupted growth:


1. The eventual exhaustion of the IPv4 address space
2. The ability to route traffic between the ever increasing number of networks that comprise the Internet

 

The first problem is concerned with the eventual depletion of the IP address space. The current version of IP, IP version 4 (IPv4), defines a 32-bit address which means that there are only 232 (4,294,967,296) IPv4 addresses available. This might seem like a large number of addresses, but as new markets open and a significant portion of the world's population becomes candidates for IP addresses, the finite number of IP addresses will eventually be exhausted.

 

The address shortage problem is aggravated by the fact that portions of the IP address space have not been efficiently allocated. Also, the traditional model of classful addressing does not allow the address space to be used to its maximum potential. The Address Lifetime Expectancy (ALE) Working Group of the IETF has expressed concerns that if the current address allocation policies are not modified, the Internet will experience a near to medium term exhaustion of its unallocated address pool. If the Internet's address supply problem is not solved, new users may be unable to connect to the global Internet!

The second problem is caused by the rapid growth in the size of the Internet routing tables. Internet backbone routers are required to maintain complete routing information for the Internet. Over recent years, routing tables have experienced exponential growth as increasing numbers of organizations connect to the Internet.

 

The long term solution to these problems can be found in the widespread deployment of IP version 6 (IPv6). However, while the Internet community waits for IPv6, IPv4 will need to be patched and modified so that the Internet can continue to provide the universal connectivity we have come to expect.

 

Classful IP Addressing

When IP was first standardized in September 1981, the specification required that each system attached to an IP-based internet be assigned a unique, 32-bit Internet address value. Some systems, such as routers that have interfaces to more than one network, must be assigned 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.    The network-number field has been referred to as the "network-prefix" because the leading portion of each IP address identifies the network number. 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.

Primary Address Classes

In order to provide the flexibility required to support different size networks, the designers decided that the IP address space should be divided into three different address classes - Class A, Class B, and Class C. This is often referred to as "classful" addressing because the address space is split into three predefined classes, groupings, or categories. Each class fixes the boundary between the network-prefix and the host-number at a different point within the 32-bit address. The formats of the fundamental address classes are illustrated in Figure 1


Figure 1. Principle Classful IP Address Formats

 

One of the fundamental features of classful IP addressing is that each address contains a self-encoding key that identifies the dividing point between the network-prefix and the host-number. For example, if the first two bits of an IP address are 1-0, the dividing point falls between the 15th and 16th bits. This simplified the routing system during the early years of the Internet because the original routing protocols did not supply a "deciphering key" or "mask" with each route to identify the length of the network-prefix.

Class A Networks (8-bit Prefixes)

Each Class A network address has an 8-bit network-prefix with the highest order bit set to 0 and a seven-bit network number, followed by a 24-bit host-number. Today, it is no longer considered 'modern' to refer to a Class A network. Class A networks are now referred to as "8s" since they have an 8-bit network-prefix.

 

A maximum of 126 (27 -2) /8 networks can be defined. The calculation requires that the 2 is subtracted because the /8 network 0.0.0.0 is reserved for use as the default route and the /8 network 127.0.0.0 (also written 127/8 or 127.0.0.0/8) has been reserved for the "loopback" function. Each /8 supports a maximum of 16,777,214 (224 -2) hosts per network. The host calculation"requires that 2 is subtracted because the all-0s ("this network") and all-1s ("broadcast") host-numbers may not be assigned to individual hosts.

 

Since the 8-bit address block contains 231 (2,147,483,648 ) individual addresses and the IPv4 address space contains a maximum of 232 (4,294,967,296) addresses, the /8 address space is 50% of the total IPv4 unicast address space.

Class B Networks (16-bit Prefixes)

Each Class B network address has a 16-bit network-prefix with the two highest order bits set to 1-0 and a 14-bit network number, followed by a 16-bit host-number. Class B networks are now referred to as "16s" since they have a 16-bit network-prefix.

 

A maximum of 16,384 (214 ) /16 networks can be defined with up to 65,534 (216 -2) hosts per network. Since the entire 16-bit address block contains 230 (1,073,741,824) addresses, it represents 25% of the total IPv4 unicast address space.

Class C Networks (24-bit Prefixes)

Each Class C network address has a 24-bit network-prefix with the three highest order bits set to 1-1-0 and a 21-bit network number, followed by an 8-bit host-number. Class C networks are now referred to as "24s" since they have a 24-bit network-prefix.

 

A maximum of 2,097,152 (221 ) /24 networks can be defined with up to 254 (28 -2) hosts per network. Since the entire 24-bit address block contains 229 (536,870,912) addresses, it represents 12.5% (or 1/8th) of the total IPv4 unicast address space.

Other Classes

In addition to the three most popular classes, there are two additional classes. Class D addresses have their leading four-bits set to 1-1-1-0 and are used to support IP Multicasting. Class E addresses have their leading four-bits set to 1-1-1-1 and are reserved for experimental use.

Dotted-Decimal Notation

To make Internet addresses easier for human users to read and write, IP addresses are often expressed as four decimal numbers, each separated by a dot. This format is called "dotted-decimal notation".

 

Dotted-decimal notation divides the 32-bit Internet address into four 8-bit (byte) fields and specifies the value of each field independently as a decimal number with the fields separated by dots. Figure 2 shows how a typical 16 bit (Class B) Internet address can be expressed in dotted decimal notation.


Figure 2. Dotted-Decimal Notation


What type of address does my computer use?

The assignment of an address of for your computer may be done in several different ways.    Different methods are used in your place of business, when you "dial-in" on a telephone line, if you have a broadband connection, or if you have a home network.  The way in which you get your address may have an affect on the types of applications that you run.

 

All IP addresses being discussed conform to the classes discussed above.  There are addresses that can be used crossing the internet and these are called "public address".  There are several address ranges reserved for use in a non-public use that should be used internal to a business or a home and can never be used outside of that environment.  Two such address ranges are 10.xx.xx.xx and 192.168.xx.xx (where xx can be any value between 00 and 255).

 

A major reason to use private addresses is that it is difficult to get public addresses due to their shortage and you can assign them as you like.  Because the same address can be used in many different businesses and homes, it does help with conserving the scarce public addresses.

 

There is also another concept in addressing that is "static addresses" and "dynamic addresses".    Static address are addresses that are assigned to a computer and the computer uses that same address every time it communicates.  A dynamic address is an address is that given to a computer for a limited period of time.  For example, when a computer powers up, it asks for an address and is given an address.  When it is powered off and then on again, a different address is given to it.

 

All combinations of public/private addressing and static/dynamic address are possible.    For example, when your computer dials into an Internet Service Provider (ISP), there is a good change it will receive a public/dynamic address.  In other words, the address given to you can be used on the Internet and the next time you call in, there is a good chance your computer will receive a different address.

 

Computers that host web pages will usually be given a static/public address.  If you have a home network that share a single internet connection, you are probably using a private/dynamic address.

 

Why do I care what address I have?

Even though there are many different types of addresses, most people will not care about the type of address that they have.  Some applications won't work in certain situations and that is when you care about the address.

 

If you use a computer for web browsing, any of the addresses should work fine.  If you want to put information on a computer and then let people get the information from that server, it does matter.  In order for someone else to get to your computer, they need to know the address of that computer.  Most people may type in a web site name such as the popular web email server www.hotmail.com.  That server name (www.hotmail.com) has got to be translated into a 4-byte address in the form mentioned above.

 

Because of the way that translation process occurs, it may take several days for the association between name and address to propagate through the Internet.  If that address was constantly changing, you would not get to the right computer.  For this reason, most servers are given static addresses.  If this server was accessible from the Internet, that address should also be a "public address".  If the same server can only be accessed from within the same business, it could be a "static/private" address.

 

One example of an application that is difficult to make work is teleconferencing because many computers that users typically have are given dynamic addresses.  You address is not usually broadcast to the world and hence it is difficult for someone to contact you.

It is even more difficult to do videoconferencing when you are given a private address since this address cannot be used over the Internet.  An interesting way of looking at the problem is to provide an analogy with making a telephone call.  You want to call "Tom" but Tom's name is not in the phone book and his number is 4 digits long (an extension number) and he has no idea what the main number is!

 

There are ways around these problems but they do get a little more complex and when you include the need to encrypt your data for security reasons (credit card information), the problem becomes even more difficult.

 

In Summary:

  • IP addresses are a scarce resource and methods have been developed to conserve them.

  • There are four classes of IP addresses (Class A, B, C, & D)

  • There are public and private IP addresses.

  • Addresses may be dynamic (temporary) or static (permanent)


 

© 2020 NextGen Datacom, Inc.