It all started with wanting to host my own email server…
I thought if I don’t want people spying on my email and I don’t want to have the other limitations of the current providers, why not make my own? Nice thought. So that’s where the tale begins. But when you delve into this subject, you need to understand how the internet works to begin with.
The internet isn’t a magic box. At the most basic level, it’s this: one computer sends a signal to another computer, and that other computer writes it down in a designated file, called a “port”. This message can then be passed along in the same way to other computers. Who gets to read the message? … Everyone. The intended recipient is indicated by what is known as the Internet Protocol Address (I.P. Address). Every computer is assigned a distinct number, like a mail box, which it always is supposed to respond to.
You might be thinking, Couldn’t I have my computer fake its I.P. address? You can. It’s called “IP Spoofing”, and it’s something that the Tor Browser and Tor Network does to hide the computer’s real IP address.
Since IP Addresses are invented per computer, there is no guarantee that they actually go to the intended address, which is why there are tons of issues with security still being discussed today. To avoid this problem, geeks invented “Security Certificates” that say “This IP Address is legitimate” but even that has a ton of holes I won’t get into. The problem isn’t going to go away – it’s a built-in flaw in the internet. Isn’t that wonderful?
Another problem is the one I’ve already stated explicitly: Every computer gets to read the message sent from a computer. It’s a long – and very accurate – game of telephone, sometimes known as the TCP connection. If you just blanket spray your message over the net and wait for anyone to respond, it is analogous to yelling in a room to play Marco Polo, and we might call this a UDP connection. Either way, your message is available to anyone who wants to read it. To counter this problem, geeks invented something called SSL (amongst other things). In short: web traffic encryption. Long explanation: Take your message. Change it using a secret code (like your simple letter codes where A becomes D and F becomes Z). However, the code must belong to the computer you are sending the message to so that it can decrypt it. Next, encrypt the message with a public code and transfer it over the internet. Anyone wanting to read the message must know 1) the public code used to encrypt it and 2) the secret code of the computer meant to receive it. I won’t go into details about the flaws in that, but it is far more secure than HTTPS I’ve read.
Suppose you don’t want to have to share an I.P. Address. After all, IP Addresses are hard to remember (I can’t even remember mine and I’ve seen it a dozen times). Furthermore, you might change your I.P. Address but you don’t want to lose the crowd following you. This is where URLs are used.
A Universal Resource Locator (URL) is an address book name. When your computer sends out a request for a URL instead of an IP Address, it needs direct connection to a central database – the address book – that pairs the URL with an IP address. In all technicality, you don’t actually need to use a URL to access the internet.
Yes, that’s correct. The internet exists without a direct internet connection. You don’t even need an internet service provider (ISP). WHAT?? Correct. Why do you have an ISP? Because the only way to connect to that central database and other computers not in your local vicinity is by having your computer communicate with a computer or server that is connected to those things (and if you don’t pay the company, their server will refuse to talk to you). Also, it’s quite likely that, if you are using a laptop, your laptop signal isn’t strong enough to communicate with other laptops.
If you don’t have an ISP, it’s usually LAN (local area network) or your company’s private network.
If you’re a network expert, feel free to correct me on the above.
URLs seemed like such a great idea in 1993 when the US Commerce Comission gave Network Securities the job of running and managing this massive address book. But several problems occured that come frequently with men, summarized in the simple phrase: abuse of power. Network Securities abused their power for commercial purposes, as did VeriSign, the company that bought Network Securities and is now the current managing company of the database.
The database itself is managed by InterNIC ( http://www.internic.net/ ) (NIC – Network Information Center) controlled by ICAAN (Internet Corporation for Assigned Names and Numbers), with its IANA branch being involved in this business of address book keeping.
The government also abused its power by having specific sites removed from the registry, such as WikiLeaks, now in another registry as http://wikileaks.ch/- which is Swiss. However, earlier this year, the government announced it would “relinquish” its power in the registry business and turn it over to the private sector.
The controversy, however, resulted in the creation of p2p ( http://www.dot-p2p.org ), a bit-torrent-based internet that currently uses OpenNIC – a FREE registration service ( http://wiki.opennicproject.org ) started by the p2p Foundation ( http://p2pfoundation.net ). There are issues with this too, especially security, but there are also benefits: You can’t be booted for having “similar” domain names (ICAAN will boot you if your address is example.net and someone with example.com has more money and wants to boot you). However, similar domain names create a risk of there being “impersonations” in the sense of posing to be the same service (perhaps to obtain login info from unsuspecting visitors). I’ve noticed, though, many people tend to ignore URLs anyways, so the URL could say iluvtofart.info but if it looked like facebook, people would enter their login info anyways. *sigh* So much for safe guards.
One nice thing about OpenNIC and other similar registries is there is no cost to register. To avoid spam, they usually verify your website identity in some way. It does cost money to keep around 100 characters (letters and numbers) in a database all year and tell computers to ask for your server IP address, and that’s how InterNIC works, but with widely distributed network information centers, the cost would be reduced.
OpenNIC allows for the establishment of what are called generic top level domains (gTLD), assuming that the group that wants a new one is willing to manage it.
What’s a top level domain (TLD)? In the current ICAAN system, a top level domain is the domain where a site is registered. In other words, it’s a group of websites that are added to the giant address book (database) via a particular company. For instance, VeriSign runs the .com and .net domains, meaning that if you own a .com site, VeriSign has added it and manages it in the giant address book. In short: your basic URL is actually… backwords.
[sub-domain].[domain name].[top level domain]
Sub-domain addresses are managed and leased by those who hold the domain names. Domain addresses are managed and leased by those who own the top level domains. And that’s why you must type “.com” or “.org” etc. after the website name.
Going From Home
But alas, I just wanted to host my email from home. I could do this for free on OpenNIC, but other computers would not know how to find me without being able to use OpenNIC. Oh, by the way, you need to actually set up your DNS (domain name service) resolver to use OpenNIC, and if you are familiar with Linux, here’s a start:
After all, your browser by default tries to find the big DNS database I talked about earlier, which tends to lag (after all, everyone needs it).
To go from home, the usual suggestion is just paying someone to add a domain name to the database / registry and have it point at your IP address. However, you still need a couple of static IP addresses for the registry. If your IP address changes, it doesn’t do you any good to pay for an IP address that no longer points to your server.
Could you simply share your IP address? Yes and no. Yes, firstname.lastname@example.org would technically work, assuming you’ve set up the mail server (no one is allowed to throw a pie at me for what I just wrote!). But if you want to use online services, they almost always use a lazy algorithm that assumes the email address is followed by a website with an ICAAN formatted URL (e.g. having endings of “.com”, “.net”, “.info”, etc.). This means entering an IP address wouldn’t work. Finally, it’s not anonymous to be doing this anyways, but since the guy on the other end usually knows who it is (unless you use Tor), it doesn’t always matter.
But if you still insist on hosting from your computer, you can
a) Do it the Linux way: http://aurellem.org/free/html/email.html
b) Do it the Windows way: http://www.boutell.com/newfaq/creating/domainathome.html
If you want a domain name, you can try places like snapnames.com or moniker.com or you can resell domain names using enom.com
That’s how the internet works. The internet isn’t such a black magical box after all, is it? Maybe it’s just alittle complicated…