Internet Protocol 
Address Assistant 
User Guide
June 1997
Initial Release Version 1.1
Copyright © 1997 Anthony Johnston

Welcome to the Internet Protocol Address Assistant user guide. This guide is based on extracts from the 
online help system which is supplied with the IPAA. 

Contents

Installation							
Overview							
Usage							
OSPF Summaries						
Contacting the Author					
Bug Reports						
Revision History						
Distribution & Media					
System Requirements					
License							
Bibliography						
Addressing RFC's						
IP Classes							
Other Products - The VLSM Assistant			

Installation

Once you have executed the self extracting ZIP file you should run the "setup.exe" file and follow the on-screen instructions.
 The setup program also creates an "un-install" program which you can run to remove the IPAA from your system.  

Overview

The IP Address Assistant (IPAA) is a Windows 95 program which enables the manipulation of TCP/IP Version 4 and OSPF
 network addresses.

You can use the IPAA to help you SubNet any given IP V4 address.. 

The IPAA performs a series of calculations on your IP Address and provides you with the following information:-

1) A list of SubNet masks applicable to the IP Address entered to enable you to further SubNetyour IP Address. 
2) A list of IP SubNets generated using your IP Address and mask combination.
3) The first and last valid IP Addresses you can use on each SubNet.
4) The binary and decimal values of the broadcast address for each IP SubNet you have selected.
5) The binary and decimal values of the generated Subnet Address.
6) Identification of the IP class bits used in your IP Address.
7) Identification of which bits are the Network bits and which are the Host bits for your address.
8) When used with OSPF networks a suggestion of which network address and mask to use  
    to summarise network advertisements.

The IPAA Will generate IP SubNet addresses which utilise the "Zero SubNet" address range Whilst this the use of this
address range was originally discouraged its use has recently been permitted. You should however, be aware that some
equipment may not support the use of this SubNet 

It is your responsibility to ensure that your equipment will support this address range. 

Usage

When you start the IPAA you will see the following display:-

There are four edit boxes which enable you to enter the four parts of the IP address you wish to SubNet each
portion of the IP address should be entered without including the periods.
Thus to enter the IP Address  of 100.1.1.1 you should enter 100 then 1 then 1 then 1 and finally 1.   

Each edit box contains enough space for you to enter one portion of your IP address which must fall between the
numbers 0 to 255 inclusive. If you enter any other characters the background of the edit box will turn RED and you
must then erase any numbers you have entered and re-input valid data.

Pressing the TAB key will validate the digits you have entered into the edit box and if these digits are accepted the
cursor will be positioned over the next edit box.

Pressing TAB whilst in the last edit box will display the a list of SubNet masks which the IPAA has calculated based
on your input IP Address. 

If you then wish the IPAA to generate a list of valid Sub Nets for this address you have two three ways of doing this:-

1) By selecting a SubNet mask specified in the SubNet Masks listbox.
2) By specifying the number of hosts you need per SubNet.
3) By specifying the number of SubNets you need.

Selecting either 2 or 3 will result in a SubNet mask being highlighted in the listbox, if you click one of these masks
the IPAA will display the following:-

The following additional items of information are now displayed which includes:-

	 The SubNet Mask Chosen.
 	 A list of valid sub nets generated using your input address and SubNet Mask.

	 The number of valid SubNets.
  	 The number of valid host addresses for each of these SubNets.

If there are more than 7 valid subnets a vertical scroll bar will be displayed and you can use this
to display the additional sub nets by selecting the bar with the mouse and dragging it down the scroll bar.
If a large value SubNet mask - such as 255.255.255.224 is used (which could in certain circumstances result in 
16 million sub nets) then an additional control will appear directly under the Sub Nets listbox which will display the
valid sub nets in groups of 5,000. 

You should be aware that this operation could take some time to scroll through all of the possible 
combinations of valid addresses.

When you are sub netting an IP address you are in effect borrowing bits from the host portion of the IP address to use
as additional network bits. The IPAA displays the number of SubNet bits you have borrowed in addition to those 
associated with the natural net mask for the class of IP Address you are using. 
Thus if - as in this case-  an IP Address of 100.1.1.1 is entered (a class A IP Address which uses 8 bits of natural mask)
and a mask of 255.252.0.0 is chosen, then this represents and additional 6 bits of the Host range "borrowed" to
supplement the Network Range. 

If you wish to obtain further information about the possible range of valid IP addresses for any particular subnet you 
should select one of the Sub Nets by clicking one of them with the left mouse button  the IPAA will then display the
following information:-

If you select one of the displayed SubNets ( 100.12.0.0 in this case). The IPAA then displays the value of the first 
and last valid IP Address you can use on this SubNet together with the SubNet Directed Broadcast address for the SubNet. 
This value is displayed in both Dotted Decimal Notation and as binary.

OSPF Summaries

This page of the IPAA suggests a suitable network mask to use when summarising a range of 
OSPF addresses. 

If you select the OSPF Summaries page the following is displayed:-

The two edit boxes enable you to specify the IP SubNet  addresses you wish to summarise 
Addresses should be entered as complete addresses separated by periods.

Pressing the tab key will take you from one field to the other.

Once you have entered both SubNet addresses the IPAA will then display the following page 

The Network address and suggested mask are now displayed.

Contacting The Author

The author welcomes comments regarding the use of this software.
Please address any such comments
to :- Anthony@teamvall.demon.co.uk

Bug Reports
This version is the first public release of the product and contains no reported bugs. That is to not to say that there
are no"undocumented features" in this software. If you do find one of these features please mail the following information to:-

 Anthony@teamvall.demon.co.uk

If you are reporting a problem with IPAA, please provide the following information:

 The version number (ie IPAA, version 1.1).
 Your name and e-mail/snail mail address.
 Your hardware and software configuration.
 A description of the problem, and what you were trying to do when the problem occurred.
 You must also include the IP address(es) and SubNet Mask you were using.

Revision History

February 1997 Version 0.9 

	Minor usability bugs fixed

April 1997 Version 1.0 

	 First public release.

June 1997 Version 1.1 

	Added Support for "SubNet zero"

Distribution & Media

The IPAA is available from CompuServe, the Internet or directly from the author (see "Contacting the Author") and 
consists of a single self-extracting executable file. 
Once this file is executed it produces a number of files including a setup program which you should execute to guide
you though the process of installing the  IPAA on your computer. 

System Requirements

An IBM PC or compatible that meets Microsoft Windows 95 requirements. 
Microsoft Windows 95.
A mouse or other pointing device.
Six Megabytes of free disk space (1 Megabyte if you delete the documentation).

It is recommended that you have at least 8 megabytes of free memory available.
This is due to the potentially large number of SubNets which can be generated using certain SubNet mask combinations.

I have been unable to test this product on Windows NT, I have no reason to believe that it won't work but if someone
does try it out I would appreciate it they let me know the results.

License
If you use the IPAA you agree to be bound by the following license 
agreement:-

THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, AND IN 
NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 
NEGLIGENCE OR OTHER ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
USE OR PERFORMANCE OF THIS SOFTWARE.

IN NO CIRCUMSTANCES ARE YOU GIVEN PERMISSION REVERSE ENGINEER, 
DE-COMPILE OR OTHERWISE DISASSEMBLE THE IPAA PROGRAM.  

Permission to use, copy, and distribute this software and its documentation for any purpose 
other than its commercial exploitation is hereby granted without fee, provided that the above
copyright notice appear in all copies and that both that copyright notice, disclaimer, and this 
permission notice appear in supporting documentation, and that the name of author not be 
used in advertising or publicity pertaining to distribution of the software without specific,
written prior permission. 

The author makes no representations about the suitability of this software for any purpose.
 It is provided "as is" without expressed or implied warranty.

Bibliography

I have found the following books very helpful in obtaining an understanding of the issues
surrounding IP addressing and SubNetting. However as all recommendations are subjective 
please inspect these books to make sure that they are what you require.

Title:	TCP/IP Running a Successful Network 
Author(s)	Washburn & J.T. Evans.
Publisher	Addison-Wesley
ISBN	0-201-62765-5

Title	TCP/IP Illustrated Volume 1 The Protocols
Author(s)	W. Richard Stevens
Publisher	Addison-Wesley
ISBN	0-201-63346-9

Title	TCP/IP Addressing - Designing and Optimizing Your IP Addressing Scheme
Author(s)	Buck Graham
Publisher	Academic Press Ltd
ISBN	0-12-294630-8

Title	Routing In The Internet
Author(s)	Christian Huitema
Publisher	Prentice Hall
ISBN                 0-13-132192

Addressing RFC's

The IPAA deals only with IP Version 4 (or 32 bit) addressing. As an explanation of IP addressing
is beyond the scope of this help system I have included references to a number of RFC's which 
deal with some of the issues surrounding IP V4 Addressing and routing.

These include:-

RFC1700 S
    J. Reynolds, J. Postel, "ASSIGNED NUMBERS", 10/20/1994. (Pages=230)
    (Format=.txt) (Obsoletes RFC1340) (STD 2)

RFC1627 I
    E. Lear, E. Fair, D. Crocker, T. Kessler, "Network 10 Considered Harmful
    (Some Practices Shouldn't be Codified)", 07/01/1994. (Pages=8)
    (Format=.txt)

RFC1597 I
    Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, "Address Allocation
    for Private Internets", 03/17/1994. (Pages=8) (Format=.txt)

RFC1520  
    Y. Rekhter, C. Topolcic, "Exchanging Routing Information Across
     Provider Boundaries in the CIDR Environment", 09/24/1993.
     (Pages=9) (Format=.txt)

RFC1519 
     V. Fuller, T. Li, J. Yu, K. Varadhan, "Classless Inter-Domain
     Routing (CIDR): an Address Assignment and Aggregation Strategy",
     09/24/1993. (Pages=24) (Format=.txt) (Obsoletes RFC1338)

RFC1518  
     Y. Rekhter, T. Li, "An Architecture for IP Address Allocation with
     CIDR", 09/24/1993. (Pages=27) (Format=.txt)

RFC1517  
     R. Hinden, "Applicability Statement for the Implementation of
     Classless Inter-Domain Routing (CIDR)", 09/24/1993. (Pages=4)
     (Format=.txt)

RFC1219 
    P. Tsuchiya, "On the Assignment of SubNet Numbers", 04/16/1991.
    (Pages=13) (Format=.txt)

RFC0950 S
    J. Mogul, J. Postel, "Internet standard subnetting procedure", 08/01/1985.
    (Pages=18) (Format=.txt) (STD 5)

RFC0940
    Gateway Algorithms and Data Structures T, "Toward an Internet standard
    scheme for subnetting", 04/01/1985. (Pages=3) (Format=.txt)

RFC0936
    M. Karels, "Another Internet SubNet addressing scheme", 02/04/1985.
    (Pages=4) (Format=.txt)

RFC0932
    D. Clark, "Subnetwork addressing scheme", 01/01/1985. (Pages=4)
    (Format=.txt)

RFC0917
    J. Mogul, "Internet subnets", 10/01/1984. (Pages=22) (Format=.txt)

It is advisable to check for the latest RFC's for a fuller picture of routing - many sites on the
 Internet now carry the copies of all RFC's

IP Classes

Each IP Address has a degree of hierarchy associated with it with the first digits being used to
identify the Class of the IP address.

The following table illustrates the typing of IP Classes:-

Class	1st Address	Last Address	Class Value	Network Bits	Max Hosts/Network 
A	1		126		0XXX		7		16,777,216
B	128.1		191.254	10XX		14		65,536
C	192.0.1	223.255.254	110X	21	256
D	224.0.0.0	239.255.255.254	1110		None		Not Applicable
E	240.0.0.0	255.255.255.254	1111		None		Not Applicable

Class Value indicates the value of the first few binary digits in the first series of IP address digits.
There are a number of special cases of IP addresses, specifically address 0 and 127 in the
Class A range are reserved. 
Address 127 is used for a software loop back test which is essentially a diagnostic device since 
no IP packet with an address beginning 127.X.X.X should be forwarded by a network adapter
 onto the network.
Class D addresses are used in Multicasting and Class E addresses are for experimental use only

Note that these values are valid only if not using SubNet-ed addressing the IPAA is
 used to further break down class A, B or C addresses into Sub Nets.

Other Products - VLSM Assistant

The Variable Length SubNet Mask Assistant (VLSM) is a companion program which 
enables an IP network designer to have a much greater degree of flexibility in the use of 
assigned IP SubNet addresses. 

The use of a single SubNet mask as practised using standard IP subnetting techniques 
(& of course the IPAA) for the entire network restricts flexibility particularly when the 
range of available IP addresses is limited.

Suppose that you had been allocated a Class C address by your ISP but you need to 
connect a number of hosts and locations to the Internet using this SubNet address.
It is of course possible to further SubNet this address by using standard IP subnetting 
techniques (or by using the IPAA).
However, using traditional SubNett-ing techniques each SubNet you create from this 
address must have the same number of hosts  regardless of the actual number hosts you plan
 to install on the SubNets, this leads to an inefficient use of IP addresses and probably
doesn't fit with your requirements. 
However by using Variable Length SubNet Mask (VLSM) techniques you can have differing
number of hosts per SubNet and free up IP address space resource for use elsewhere in your
organisation.

Designing VLSM networks can be very comber some (and prone to errors) as by necessity
VLSM techniques involve the use of non byte aligned Net Masks, and, unless your binary
arithmetic is excellent, you need the VLSM Assistant a tool which takes the pain out of VLSM. 

By using a graphical (Windows 95) interface and few clicks of the mouse you can generate 
VLSM configurations in minutes - be the envy of major governments! - show your boss 
how clever you are!

The following is screen shot of the development version of the VLSM Assistant to illustrate its
 use with a Class B IP Address which displays a summary of the Network you wish further
 SubNet using VLSM techniques, It shows the initial IP Address and the Net mask initially chosen

This is an hierarchical display of the valid SubNet addresses the VLSM Assistant has generated 
using your input IP address and initial SubNet mask combination. 
Selecting one of these SubNets will result in the list network masks, displayed in the
 "Available SubNet Masks" area being updated to reflect the new set of valid network masks.
 Selecting one of the network masks by dragging and dropping it onto the one these SubNets 
will enable you to further SubNet your network. The number of hosts/subnets available by using 
this net mask is also displayed.   

This area shows the valid network masks for each of the SubNets selected in the
"Generated Addresses" area. Only those network masks which are valid for each SubNet 
are displayed, thus this display will change depending on which IP Address is selected in the
"Generated Addresses Area".
 
This item shows the name given to this SubNet, together with the suggested network mask to use. 

Also listed are the first and last valid IP Addresses on this SubNet together with the SubNet 
directed broadcast address.

The VLSM Assistant is not freeware - it is shareware and further details can be obtained by 
contacting the author of the IPAA.

Please note as mentioned earlier this is a picture of the development version of the VLSM 
Assistant (as at June 1997). I cannot guarantee that the production version of the VLSM Assistant will look exactly like this screen shot.