IP Addresses: An IP address, short for Internet Protocol address, is an identifying number for a piece of network hardware. Having an IP address allows a device to communicate with other devices over an IP-based network like the internet.
Versions: IPv4 and IPv6
IPv4 [32bit] looks like: 192.168.0.5
IPv6 expresses addresses as an 128-bit number. A typical IPv6 address look something like this:
1203:8fe0:fe80:b897:8990:8a7c:99bf:323d
IPv4: 32 bit > 4 octets of 8bits binary to decimal:
Binary: 00000000-00000000-00000000-00000000 Decimal: 0.0.0.0
Binary: 11111111-11111111-11111111-11111111 Decimal: 255.255.255.255
Decimal limit: 0-255 because number 256 needs 9 bits.
Network Classes:
Class A: :0xxx: If the first bit of an IPv4 address is "0", this means that the address is part of class A. This means that any address from 0.0.0.0 to 127.255.255.255 is in class A.
Class B: 10xx : Class B includes any address from 128.0.0.0 to 191.255.255.255. This represents the addresses that have a "1" for their first bit, but don't have a "1" for their second bit.
Class C: 110x : Class C is defined as the addresses ranging from 192.0.0.0 to 223.255.255.255. This represents all of the addresses with a "1" for their first two bits, but without a "1" for their third bit.
Class D: 1110 : This class includes addresses that have "111" as their first three bits, but a "0" for the next bit. This address range includes addresses from 224.0.0.0 to 239.255.255.255.
Class E: 1111 : This class defines addresses between 240.0.0.0 and 255.255.255.255. Any address that begins with four "1" bits is included in this class.
Class D –E reserved for multicasting & experimental reasons.
Reserved Private Ranges:
One of the most useful reserved ranges is the loopback range specified by addresses from 127.0.0.0 to 127.255.255.255. This range is used by each host to test networking to itself. Typically, this is expressed by the first address in this range: 127.0.0.1.
Class A: Class A addresses, the addresses from 10.0.0.0 to 10.255.255.255 are reserved for private network assignment.
Class B: Class B, this range is 172.16.0.0 to 172.31.255.255.
Class C: Class C, the range of 192.168.0.0 to 192.168.255.255 is reserved for private usage.