Sunday, February 10, 2013

The IP Address: Hey, I'm Over Here!

There was a time in the not too distant past that if you put the letters I and P next to each other to be pronounced separately, I (and probably every other young man) would laugh out loud (and this was before lol was known to exist). I still feel sorry for Mr Freely. But over the course of time and constant exposure to the use of IP I can now honestly say that I only snicker on the inside. And that's a good thing as IP is now an everyday term not only for me but most of the known universe.

If you do a Google search for IP you really only get two definitions of any use: Intellectual Property and Internet Protocol. While the tech community has interest in the former, after all patents are really really important, it is Internet Protocol and in particular IP Address, that concerns us today. As usual, if you would like to get into the deep details of history, datagram construction and other finer points Wikipedia has an excellent write up on both IP and IP Address. However, also as usual, these write ups are longer than our limit of one page. So what do you need to know about the IP Address that can be conveyed in less than a page if you need to set up your first network – say a small video video surveillance system.

First: There are two versions of IP Addresses, IPv4 and Ipv6. As you might imagine, IP version 4, precedes IP version 6 (IPv5 is a whole different animal – Streaming Protocol – and isn't really in use). An IPv4 address consists of 4 numbers separated by decimal points. These 4 numbers are each one byte or 8 bits (binary digits). However, they are almost always expressed in decimal format (0 to 255) – a common example is 192.168.1.1. An IPv6 address is similar in nature but the address was expanded from 4 bytes to 16 bytes. The spacers are changed from decimals to colons and instead of using decimal numbers to express the value of each 4 byte block, hexadecimal is generally used ( 0 to F). This makes an IPv6 address look like this – 2001:0DB8:AC10:FE01:0000:0000:0000:0000 (in this example the last 4 groups of 0's can be omitted by using :: at the end). My guess is that you have probably never seen an IPv6 address in use though Windows, Linux and most IP camera manufacturers support it.


Second: There are two ways to assign an address. The first is to use the “Obtain an IP address automatically” feature in Windows. This method uses Dynamic Host Configuration Protocol (DHCP) and lets the Domain Name System assign an IP address to the device being connected to the network – something that could be an entire blog issue on its own so we won't cover it here. The second method is to assign a static(unchanging) IP address to the device. This can be tricky as you need to set the addresses of your network so that all devices can talk to each other. For setting up most IP surveillance systems this means assigning IP addresses (almost always IPv4 addresses) so that the first 3 (of 4) numbers match (i.e. 192.168.1.x) and numbering each device with a unique last number. Obviously once you get to complex systems with more than 255 devices you need a new scheme – which we aren't going to cover in this intro level discussion. Things are always easier when writing at the “VP Level” (see the RAID blog for definition of VP).

So the IP address really is just that: a device's address. Devices on the network reside at certain locations and you have to tell the the switches, routers and computers how to access them. No address and a widget is homeless. To borrow from the Postal Carrier motto: Neither snow nor rain nor heat nor gloom of night stays the network manager from it's appointed rounds. That is, if you tell it where you live.