This post is intended to provide a little bit of high level information about how the internet does some of the things it does. Since most of it is done by “magic” 🙂 , very few of us think about the impact of how or what it is doing. This article will end up tying directly to what will be my next post, “Passwords, Privacy and Prevention – Oh My”.
I’ll warn you, it’s long… so judge accordingly 🙂
Anyway let’s talk a little bit about what I mean by the internet. Most of you probably have some device (phone, tablet, computer, laptop, *other), that can access this mythical and magical presence called “The Internet”. While your interaction and usage of the internet may differ in some ways, pretty much everyone uses it for communication and entertainment purposes. Now what you call entertainment may not exactly be mine or anyone else’s cup of tea. Primarily because a) I hate tea and b) who in the world can watch another “cats are cute video”, no seriously…. stop posting them 🙂
Oh, this is now a puuuurrrfect time, omg see how they impact me… to talk a bit about what in the heck the internet is and how it works (again at a high level) and how in the world it connects all the things that you do, with all the things that other people do…
Most people have heard the phrase “information highway”. This is one way, while also being an accurate way, to describe the internet. You see in the beginning someone said let there be… wait sorry wrong story. Anyway, the internet is a massive connection of hardware, configured to enable the flow of data, to be streamed from place to place.
Let’s take a look at terms and descriptions that will help tie together what you are really doing.
- Data Packets: — A data packet is like an envelope that has a letter in it. Your envelope has your destination address and usually the originators address. Sending a single email, could result in 1, dozens, or hundreds of even thousands of packets. When those packets reach their destination, they have to be re-assembled in the correct order… or you get something that looks when I try to cook anything beyond toast.. (yes dear I was referring to me making dry toast.. I can do that!!)
The first step in sending your data, is having the “path” to your destination figured out. This literally means, what cables, hardware etc are used to get your data to where it needs to go. Think of the process like Map Quest. You tell it where you are, you tell it where you want to go and Map Quest (or in this case “The Internet”) gives your device options. It picks one and sends the data. Now in some cases, you may have picked a bad option in which case as long as you have GPS you can probably find your way back. Wait my wife reminded me the internet doesn’t have GPS so ignore that part.
Data that is attempted to be sent to a non-accessible destination will merely bounce back and you will get errors (which we will talk about later). Sort of like when you see 404 Errors in your browser or an error “destination not reachable”.
When one or more packets does not reach the destination, that’s usually when a file is corrupted and when you try to open it.. your computer just laughs at you. No seriously it really is, although you might have to turn your speakers up to hear it.
- Cable : — Acts as an actual physical”path” for the data to make it’s way between hardware devices, until it makes it to its destination. Examples are coax, fiber, optical, Ethernet etc. Yes yes I know about wireless… but we will get to that in a minute. Here are visuals of the different cables (so you can see the ends).
- Switches, Routers, LanPlexes, Smart Hubs, Hubs: — These are examples of physical devices that when configured properly, can interpret the envelope of your data packets to properly follow the “Map Quest” directions to get your data to where it should go.
Now the very nice thing about these hardware devices is that, they are smart enough, in some cases, to realize that your original directions are crap and re-route your data packet. Yeah for us, we don’t have to retry!! Although sometimes.. the new route can be very slow 🙁 , booooo for us.
Note: Hubs are a special thing per say. I only mean that as they are easy. They are intended to provide you the ability to take a single cable which would only allow 1 computer and “use” that incoming connection to add more computers. Its almost like saying splitter. Instead of having a single computer connected, you use a hub, which has 8 ports (or whatever). 1 port is the incoming line, and 7 others could be other computers.
They will all talk to the internet via the hub, which in turns sends all traffic through that shared cable. It could slow your internet use down if you use a lot of streaming. It is not a router, because a router is smart enough to know which port is the destination port for traffic. I hub merely spams all ports (unless it’s a smart switch bla bla longer story) with all the data from everyone, and the individual receiver has to decide if they should ignore it or not. This is how hackers sometimes get you.
You have probably heard of Denial of Service Attacks.. Yeah this is one type. Here is an example of some devices. The top are pretty much business devices and the two bottom would be home users (or small business).
- Cable Modems / Gateway: — found in both business and home network configuration. It is used to connect you to your internet provider. Whether it’s via Satellite, Coax (cable) , DSL (phone) or even Fiber, these devices will translate requests coming from your home computers to “Internet Compatible Speak” and back again. Providing you your actual connection to the internet.
In many cases, you will have your own personal Wireless router which will connect your home devices to your ISP (internet service providers) Cable Modem / gateway. In some cases it is possible for your ISP equipment to do both at the same time, or they might provide you both items (at a cost of course!!). Here is an example of the front and back of what a cable modem might look like.
- Network Adapters: — whether your network adapter is wired or wireless you are going to be attaching to a router. In most homes you will have your pre-mentioned ISP hardware device, along with your own personal wired or wireless (or combo of both) router. Depending on where you live and age of your home, you may have rj45 internet jacks with cat5 (or better) cable already in your home.
This enables you to “wire” your devices to your router directly. Otherwise you end up using the wireless component of your router. Your router will then get an IP address from your ISP hardware via some configuration (like DHCP, or maybe even a STATIC IP). This enables your machines ==> to your router ==> to your ISP device ==> **Internet and back again Here are examples of PCMIA, USB and Machine wired / wireless adapters
- Patch Panels: Ok I am only mentioning this because most homes that have wired connections will have one. You know, the OnQ Panel in your laundry room or under the stairs closet or in your master closet. Anyway, patch panels are sort of like hubs, except that they are used to convert your “stripped cat 5 cable” to an RJ45 jack. Think speaker wire. You run it, you strip it and then you have to make it capable of being plugged into.
Well how do you do that, if it’s just wires. Well you take those 8 wires (called twisted pair), and you attach them to the patch panel. Patch panels will have 1 (x number) of ports. The patch panel on the back accepts these wires, but then on the front of it usually has an RJ 45 jack. In your OnQ panel, you will then see smaller cables running from those jacks into some hub or router.
In my current home, it actually had Cat 5 cable, but the cable was only using 4 of the wires at each jack, for phone. So I ripped out the phone patch panel, bought an Ethernet supporting patch panel, and rewired all the jacks with new RJ45 ends (clip, re-wire, install). After that I ran smaller cables from the new patch panel into my 8 port hub and voila my home has full wired Ethernet. Here is an example of a patch panel used in a home. You can see the wires coming in and the RJ45 jacks on the front.
- Firewalls and Proxy Servers: Well firewalls are intended (whether physical or software) to block incoming external traffic. This means if someone tries to directly connect to your computer.Wait, what does it mean to connect to my computer???
Well if you accidentally download spy ware or other software that runs and that software configures itself to “listen” for incoming connections then someone who knows it’s there, can easily attempt to connect to that running software. Which most likely has bad intentions… The other way, is that there is some bug in Mac, iOS, Microsoft code, that hackers know about and that most consumers doesn’t even realize there is some Operation System level “listener” on their machine. Hackers doesn’t know for sure if your computer is or isn’t listening, so they just start spamming all the known Class-C internet IP address until bingo they get lucky and find one that is one.
Yes… they are that bored… and writing scripts to do this is easy. Here is an example of hardware and software firewalls.
Now for the fun stuff… wait wasn’t that previous stuff fun!!!! 🙂
Ok so now you have a basic understanding of the hardware used to connect devices. I will actually have an image at the end of this to show you. Now we need to talk though about how the internet actually “does” what it does.
Firstly let’s identify things people do:
- Streaming (Movies, YouTube, Whatever) – UGH CATS!!!!!!!!!!
- Visit Websites
- Buy Things (shopping carts, tracking shipments etc)
- Social Media (tweets, facebook, yahoo, whatever)
- Purchase digital content
- Download Patches
- Phone Services (skype, home phone, etc)
Each of this things requires several important things to even work
- A Class-X Internet IP Address (version 4 or 6) – think of this as your identification. This identification belongs as part of your data packet envelope. We are done with version 4, so we now how version 6 which can have bazillions more
It is important to know that only internet capable IP addresses are allowed to “travel” along the information highway. Therefor if you attempt to send an IP address that doesn’t meet the criteria for being Class-C(B), all internet ready / capable devices are supposed to say “ewwwwww get away from me, you have cudies”.
Well something like that anyway :-).
This is why when you have a home network, you have to purchase internet service provider services, so that they can “translate” your requests from a local IP (most would be called class-A) to an “internet capable one”. What this simply means is.. all requests get “masked” as coming from an internet IP address, in the data packet envelope, it also tracks the originators local IP address. This way your ISP device and your personal router, can “send” the response to your request back to the correct machine on your network.
You know how you bought yourself a router and by default it had a configuration of 192.168.0.1 or 192.168.1.1? And if you turned on DHCP on your router, all your machines would get an address between 192.168.x.1 = 192.168.x.x (up to 254) depending on your configuration). So you could have up to 250ish devices on this single configuration.
But those IP address are NOT internet capable. So you have to have them masked for you. Hence your ISP devices and services.Your ISP on the other hand has purchased the rights to a range of Class-C ip address. So when you connect your device to theirs and you have a static ip (it never changes), they give you one, you configure it in your router and boom done. If your router is configured for DHCP (with your isp) then you will get a temporary Class-C ip for your home. It’s called a lease, and it can last from hours to forever, depending on your ISP’s internal policies.
- Bandwidth: –– Bandwidth is really 2 things to me. One is the quota of allowed bandwidth (think your 4 gigs on your phone), and two is the “size” of your internet pipe. If your pipe is 10MBS, but you are trying to send 1GIG through it… guess what it won’t work. You are bogged down and you hate the internet.
Well so do the service provides, as well as business’s whom get overloaded (again Denial of Service) with people spamming them. Download huge files, bots going crazy etc. just like you, businesses and even internet provides have to “connect” to the internet.
They will have some devices which act as their giant super highways, which they then sell YOU a piece of 🙂 in the form of internet services. They call this your home / business SPEED, which could be 10mbs download and 1mbs upload.
Imagine you have a web site called www.mysuperawesomehomesite.com . If you are hosting it on a machine at your house, when people connect to it (through your ISP ==:> Your Router ==> Your Firewall ==> Your Hosting Local Machine ==> IIS / Apache whatever), you incur upload speed rates, which are always slower than download.
Or if you yourself upload huge amounts of data to some site or external device on the internet (like work).When you yourself go to www.microsoft.com and download a patch or software, that is your “download” speed. Which is always much faster.Increasing your upload speed always costs, while you will notice that ISP’s are giving away much faster download speeds, sometimes for free, as they upgrade their systems.
- DNS Support (Domain Name Services) — Ok so there are literally millions of IP addresses out there, and they are changing all the time (remember some are temporarily leased). But even if they were all static and we were only talking about businesses, no one could possibly remember every single IP address, for every single Site on the planet. So instead we have friendly names.In internet technical babble, we would call them alias’s or cnames. This means that we have an IP address, and we want to give it a “name” that can be used to get people to our site.What this actually means is the following:
a) You type the name in your browser (for instance)
b) Your system does a DNS check for that name
c) If that name is found, your system get’s the actual IP address
d) the IP Address is used in your “data packet request” to get you to the right place. How you ever typed in an address and get an error, Destination not reachable, or not found or brought to a “search engine” to try to find what it thinks you don’t know how to spell?
Well these can be because the name doesn’t actually match to any configured IP address. Maybe you misspelled it, the site is down, the company has folded… whatever. Companies like GoDaddy make a lot of money selling the ability to assign a name, to your personal Class-C IP address. Imagine typing 126.96.36.199 instead of www.microsoft.com .. Yeah good luck with that.
Not only that, but many companies look at the headers of each request, and if you are using the IP address in your request, versus the name, they might ignore you. Hey but you just said it uses the IP not the name. Yes that is true, for routing your request (map questing you), but there is a specific piece of information in the envelope that tells the destination, what URL you were looking for (www.microsoft.com) is a URL or universal resource locator… yeah I said it.
One IP address can actually have pretty much unlimited names assigned to it, all taking you to the same place. www.iamawesome.com could point to 215.14.14.xxx, while so could www.dangbabyirock.com (btw don’t go to either of those places.. I haven’t even attempted too but Lord knows who put what there) and IF those places exist.. my apologies 🙂 for using your names.
Sometimes mistakes happen and people make aliases or cnames point to the wrong IP address and instead of www.microsoft.com you go to www.xxxxxxxx.com, whatever 🙂Last little note: Each widows machines actually has a DNS Client, which helps “cache” or “store recently used DNS names” locally so that you don’t have to keep checking with an external DNS server. However, sometimes this can go awry and you end up need to reboot (or if you know how, flushing the cache and restarting the service). Or sometimes disabling and re-enabling your adapter works.
- Available Client / Server Ports: — think about this as like “line” on a telephone. For most of us we have a single phone number, and only 1 line, so we can’t transfer calls between “lines”. However for computers to communicate together they actually need an IP address, a local port number and then a bunch of “line ports”. Ok let me walk you though this.Example: Online Gaming
a) You start up their software on your PC
b) their software looks up their home ip address lets say 188.8.131.52
c) they also know the port, let’s say port 8118 to attempt to connect to their home server.For SMTP email for instance it’s port 25, for POP3 its 110, for Web 80 and 443. It’s the literal combination of IP / Port that enables software to “listen” for incoming connections. Hence why if you know of an exploit, you actually know exactly what combinations to try.
d) on your local computer, their client will create a local IP / Port combination in software. They then tell this combination to try to communicate to an external system by the external known configuration. In our example it would be 184.108.40.206 / 8118 combo. So the operator is listening on that combination ONLY
e) once you connect to the operator, (home server combination), you need to get transferred to an auxiliary line, or less the operator will be busy with just you and the whole process falls apart.
f) so what actually happens is, you connect initially on that combination (operator), but then the server will generate a secondary IP / Port combination, and hand that to your incoming request… Your software knows to change how it communicates to the server, to now communicate over this new configuration, hence freeing up the operation.Yes I know it’s confusing… but just say you got transferred to a new line 🙂 but in the same house.
Note: now if you have SO many clients coming in, that you use up the available IP / Port combinations (long ago it was 5000 and easily used up), then new clients would NOT be able to connect. This was another Denial of Service tactic too, but it’s become less and less that.
- Possible DHCP / WINS / Local DNS / Net Bios – ok this one I will make quicker. DHCP is a way to provide local IP address to your system. WINS is like a local DNS server. It takes the combinations of DHCP IP address and Devices it was handed too and stores the. Then when local computers try to send data to other local devices, the internal WINS server does the translation, because external DNS servers would never know about your local machines.With Windows 200X and higher, if you had your own home server, like I do, you can configure actual local DNS for your home instead of WINS.
Then when you have DHCP, it actually stores (its called registering) the DHCP leases in DNS rather than WINS.NetBIOS was merely another way to call your computer something like Joe and have others be able to see it as Joe, versus your local network name which could be Joe.localnetwork . This would be what is called the FDQN. Fully Qualified Domain Name. www.microsoft.com is an FDQN. If you merely used the IP it’s not FDQN, or if you tried to connect via the local computer name (NetBIOS) then it also wouldn’t be FDQN. However LOL every computer also has an FDQN joe.gernaey.local.net for instance (in my internal DNS).
- A Communication Protocol: — The protocol is actually many things. One of them is the transport. Transport here means what is the way in which a packet of data is “packaged up” and sent to the other side. TCP and UDP are very specifically low level “package and transporters” of data.The data itself could be a document, it could be a language such as HTML for Web and many other things, as to the transport protocol, it’s just data. And the Transport only needs to know how to “talk send / receive”.
Then there is actual language protocol. This is where software comes in. Image you wanted to have a Web Page, that would display a picture. Well first a “client” computer (the one talking to your web server) would have to know how to “call” or communicate to your computer. In which case we would usually say HTTP / TCP.Now when we ask to view http://www.microsoft.com/default.aspx our browser (Chrome, IE, Safari) has to know how to interpret the data that came back. Remember we said we wanted to display a picture. So the Web Page, has to be coded in a language that your browser understands, AND the correct syntax has to be used, for “displaying a picture”.The best analogy I can give is this. You write a letter. (omg sorry bad example, no one writes letters anymore)…
Anyway, you write a letter in English, and you encode it for privacy. So when most people read it, it looks just like a garbled mess.You have to know how to send a letter. Put it in an envelope and put a stamp on it and put it in the mailbox. This would be the process of “transport”, thereby the postal service is your transport protocol.Now when the letter is received, the person has to know how to open the envelope. I usually use my miter saw 🙂
So the transport protocol has to be understand for how to send it, and how to receive it.Lastly, now that I opened it, I have to know how to translate the message to make it make sense. If I didn’t have the code to decode your garbled mess, it would stay that way… Well same thing for computers. If the software you have doesn’t know how to communicate (send / receive) and or has no idea how to properly write / read a message. You are hosed. Hence the poor communication across the globe actually.Here is an image to go along with the discussion.
I don’t see that this image says it’s copyright, but here is credit whom I got it from (from bing) Credit to e-negotiations.org
I realize this is a lot of information and it may not have done anything but confuse you more, but I hope it helps explain at least a little. There is much that I left out, but honestly to a point it doesn’t help you.
Each service and internet activity I listed as what people do on the internet, will fall into these categories of steps and leveraged technical capabilities.
Companies like IBM, HP, Novell, Linksys, Cisco etc have made a fortune selling hardware to that connects people and businesses to the internet and therefor each other.
Even your wireless phone provider has these services to get you onto the internet. Their gateway may look different (Satellites) but it’s still the same principal.
If you have any questions or comments I would love to hear them. Thanks for reading along with me 🙂
P.S. I didn’t create any of these images, but none of them are copyright as far as I can tell. If they are and I made a mistake I will fix and apologies to their authors respectively.