This document is written for the casual Windows user that is looking to dive into the Storj world but is confused by some of the computer network aspects. Warning: this is NOT a quick-setup guide or particularly light reading.
Storj is officially sourced out of GitHub, at https://github.com/storj/storj, and supported at https://forum.storj.io. In a nutshell: Storj allows most Windows (or Unix) users to make spare space available for rent by others. Of course, you will also be able to rent space from others, but that is not the focus of this guide.
This guide is an attempt to explain the networking technologies used, at a fairly high level, from a Windows user configuration standpoint. Windows examples will be used, but the same concepts apply for Unix/Linux users. It presumes your network has access to the Internet (believe it or not, some don’t, but they won’t be reading this).
Computers talk to each other using a protocol called TCP/IP. Most computers use a version of that called TCP/IP V4. This guide will focus on that and considers TCP/IP V6 beyond its scope. Know that both V4 and V6 are often run on the same physical network. All comments below are specific to TCP/IP V4 and should be taken in that context.
TCP/IP V4 address are designated in the form of 192.168.0.1. Each portion between the dots is a number from 0 to 255 (hexadecimal 00 to FF, which is sometimes used instead of decimal numbers). During the mid-80s, the implied range of addresses, from 00.00.00.00 to 255.255.255.255 seemed huge, but in today’s world of smartphones, PCs, tablets, and other TCP/IP enabled devices, it is woefully inadequate – and has been for over a decade. Smart people recognized this and came up with something called NAT – Network Address Translation. In today’s world, networks are given unique public IP addresses, and most machines behind those networks are given private addresses. Great detail on this can be found at:
Suffice it to say that if your machines IP address starts with 10., 172.16., or 192.168.1. you are using a reserved private address and somewhere on your network is a firewall. How can you tell? Windows users can open a command prompt (Start-cmd) and type in
ipconfig /all. On my machine, there is a section that looks like this:
Let’s look at each of these lines:
Connection-specific DNS suffix: lan.carpenter-farms.us
DNS is short for Domain Name Services. It is the system on the network that allows people to use names for computers instead of numbers. So, for instance, you can web to http://www.carpenter-farms.us instead of needing to web to http://18.104.22.168.
Description is just the name of the brand of chip used to control the network port.
Physical address is also known as the MAC address. Note that the MAC address is almost always given in hexadecimal. Also note that its 6 token long vs. the 4 token in IP address. That means there are 281,470,681,743,360 more MAC addresses available than TCP/IP V4 addresses. Traditionally EVERY device (PC, phone, router, access-point, etc.) has a unique MAC address in the world. If you call for service on your internet connection, chances are the service desk will ask for the MAC address of your modem.
DHCP Enable is a yes/no flag. DHCP is short for Dynamic Host Configuration Protocol. It is another service, like DNS, that is built for the purpose of handing out IP addresses and related information. Computers with direct public access, like those that host web pages, typically have “static” hardcoded addresses. Computers that just access the Internet, like most home PCs, phones etc. are given “dynamic” addresses from a pool within a private network. For most people, that is in the range of 192.168.0.2 to 192.168.0.254, which is enough for most homes. What happened to .1 and .255? .1 is, traditionally but not always, the address of your routers/modems internal connection. .255 is used for something called “broadcasting”, which we won’t go into here.
Autoconfiguration Enabled This allows windows to assign an IP address even if DHCP is not working on your network. Doing so is almost completely useless and you will see an address like 22.214.171.124 (which is a big hint your DHCP service is broke, about its only use).
Link Local IPV6 is the version 6 IP address Windows assigned if you have IPV6 enabled (it is by default). IPV6 has a much longer address and should, someday, replace IPV4. The current use of NAT firewalls has pushed that date out a long way, and did so many years ago.
IPV4 Address is your local IP address on your local network. If it starts with any of the private address numbers mentioned above, and you have access to the Internet, you are running behind a NAT based firewall that has a public address coming out of another port. In my case, 10.184.155.202 has been assigned by my DHCP server. Since it starts with 10., it´s within a private network and does not, technically, have direct access to the Internet. More on that a bit farther down.
Subnet Mask tells the system which part of the IP address is locally connected vs. connected by a router somewhere. It is equally common to see this both in decimal, like 255.255.255.0 and in hexadecimal like ff.ff.ff.0. Any part of an address that is part of the “0” area is considered local on your network and should be able to be talked to directly. So, for instance, my file server is at address 10.184.155.136. Since my pc is at address 126.96.36.199, it is on the same network and can be directly addressed. E.g. the two machines can talk to each other without having to go through a router.
Lease Obtained and Lease Expired are just informational details provided by the DHCP server. That server hands out IP address, but not forever. They expire and can be reused by other machines. However most DHCP servers will usually reassign the same address to the same machine when that address expires and the machine checks back in with it. This is why most home users cannot host a web page – their address is dynamically assigned by their Internet Service Provider and can change, although it rarely does so. There are workarounds, like Dynamic DNS, but that is out of scope of this document.
Default Gateway is key. This is the address anything not local is sent to. Using the examples above, if I web to http://www.carpenter-farms.us I am actually webbing to 188.8.131.52. Since 199.34.228 does not match my internal network address of 10.184.155 all communication to that node will be sent to my default gateway, 10.184.155.2, to handle. That gateway, which is my router/modem, will send the TCP/IP information (called a “packet”) along to ITS default gateway, and so on and so forth until the packet arrives at the webpage. Because my gateway has a PUBLIC IP address (184.108.40.206), and that address is tagged in the packets as being the source address of the packet, the website can then return its information via a similar process.
DHCP Server is just the IP address of the machine that gave me my address.
(Skipping more IPV6 Stuff)
DNS Servers are the IP addresses of the Domain Name Servers this machine is using. They are tried in the order listed. I have two such servers on my local area network (LAN), plus I use 220.127.116.11 just in case they are both down. The DHCP server will normally provide this information unless you are statically assigned, in which case the administrator that assigned the address will manually provide this information.