Bonding Business to Business
Understanding IP Addresses

IP Address Calculations

MSO = N x 16,777,216

SMSO = N x 65,536

SLSO = N x 256

LSO = N x 1

Example

255.

255.

255.

255

 

 

255 x 256 = 65,280

255 x 1 = 255

 

255 x 65,536 = 16,711,680

65,280 + 255 = 65,535

255 x 16,777,216 = 4,278,190,080

16,711,680 + 65,535 = 16,777,215

4,278,190,080 + 16,777,215 = 4,294,967,295 the largest possible IP address and is the broadcast IP address



Note:
The highest value an octet may contain is 255 decimal
An octet is eight bits of data (255 decimal = 377 octal = 11111111 binary)

MSO = Most Significant Octet
SMSO = Second Most Significant Octet
SLSO = Second Least Significant Octet
LSO = Least Significant Octet

Try pinging 4294967294 in a DOS command prompt. It will ping 255.255.255.254


Different Applications Handle IP Addresses Differently
 
MS Internet Explorer Browser (on Windows platform)
Notation parsing rules:
1. ONLY accept decimal up to 255 in x.x.x.x notation or alphanumeric
      example 1.23.45.5 equals 001.023.045.005
      example 1.23.45.256 will be seen as alphanumeric because it exceeds legal numbers
2. if alphabetic characters, assume DNS lookup required
      example "url 3F" would cause a search for "3F" because it does not end in ".com"
      example "url 3F.com" would cause a domain lookup of "3F.com" which would respond
3. If search for content is unsuccessful, report page not found
NOTE: Poor implementation limits full IP decoding by underlying Operating System

Windows2K/XP Command Prompt (Ping)
Notation parsing rules:
1. ONLY accept decimal or Octal numbers (this means no hex OR binary) and alphanumeric
      example "ping 100" does NOT equal 0.0.0.4, but rather 0.0.0.100
2. If NO leading zero, assume decimal - if leading zero, assume octal
      example "ping 100" equals "ping 0.0.0.100"
      example "ping 0100" equals "ping 64" or "ping 0.0.0.64"

      example "ping 0999" equals "ping 01221" or "ping 657" or "ping 0.0.2.145"
       NOTE: this seems odd but it is carrying the mistake in octal entry
3. if alphabetic characters, assume DNS lookup required
      example "ping 3F" would cause a domain lookup of "3F" which would generate failure
              "ping 3F.com" would cause a domain lookup of "3F.com" which would respond
4. if no delimiters (periods), parse from LSD
      example "ping 256" would ping "0.0.1.0"
              "ping 257" would ping "0.0.1.1"
5. if delimiters, parse from LSD of each delimiter; filling leading zeroes
      example "ping 1" equals 000.000.000.001
      example "ping 1.1" equals 001.000.000.001
6. if numerical limits exceeded report error.
NOTE: Ping 2167018083 and you will see it respond from 129.42.18.99

Mozilla's Firefox Browser (on Windows platform)
Notation parsing rules:
1. ONLY accept decimal or Octal numbers (this means no hex OR binary) and alphanumeric
      example "url 100" does NOT equal 0.0.0.4, but rather 0.0.0.100
2. If NO leading zero, assume decimal - if leading zero, assume octal
      example "url 0100" equals "url 64" or 0.0.0.64
      example "url 0999" equals "url 01221" or "url 657" or 0.0.2.145
       NOTE: this seems odd but it is carrying the mistake in octal entry
      NOTE: this will only work if the number decodes to a responding web site
                 in the event no website responds to the decoded number:
                 1. A search is made for a URL containing the string in it's title
                 2. a search is made for a website with the string in it's contents
3. if alphabetic characters, assume DNS lookup required
      example "url 3F" would cause a domain lookup of "3F" which would return first site
                      with 3F in the domain name or error 404 if none found
      example "url 3F.com" would cause a domain lookup of "3F.com" which would respond
      example "url www.3f" would cause a domain lookup of "3f.com" which would respond
4. if no delimiters (periods), parse from LSD
      example "url 256" would find "0.0.1.0"
              "url 257" would find "0.0.1.1"
5. if delimiters, parse from LSD of each delimiter; filling leading zeroes
      example "url 1" equals 000.000.000.001
      example "url 1.1" equals 001.000.000.001
6. if numerical limits exceeded report error.
NOTE: Enter 2167018083 into the URL locator and it will go to 129.42.18.99
      Enter 020112411143 (octal for 2167018083) and it will go to 129.42.18.99

(Mozilla Firefox utilizes the underlying command prompt parsing rules to connect,
      but adds even more intelligence to the search in the event decode fails)