Thursday, February 28, 2019

Computing - the Internet, Cont.

I used the postal service to describe how information gets routed on the internet, but that doesn't quite explain what goes on when you type a URL in a browser.

A couple of points need to be made here - we remember names better than numbers, but computers run on numbers. Binary, to be exact.

When we put 'www.google.com' into a browser, we are sending a request to whatever computer hosts the file for that site, and asking them to send us the file.

However, it's a bit like putting 'New York, NY' on the letter... and then the post office asks us for the full and complete zip code, to include the final four digits (the zip might be 10004-1007) In computing, that's actually the IP address... which is really just a fancy way of making all the 1s and 0s a little more human readable. (254.171.170.75 is just a fancy way of saying 111111101010101110101010010010111 by breaking the binary into groups of eight and converting to decimal. Since 11111111 is 255 in decimal, each grouping can store a number between 0 and 255. They started running out of numbers as the internet boomed, and came up with a few workarounds to help extend the system for a little while, but ultimately came up with IPv6 - or Internet Protocol version 6 - as a better solution. IPv6 numbers are in hexadecimal, so you'll see something like FE80:CD00:0000:0CDE:1257:0000:211E:729C, which is again a fancy way of organizing a string of 1's and 0's)

So the computer needs a number, and the address you entered is not it. So the computer has to have a way of looking up what number is associated with that address, sort of like my zip code finder above.

In computers, the entire process relies on what's called a Domain Name Server, or DNS. Most of what you can find online likes to describe DNS as something like a telephone book, but I used zip code for a reason.

Let's say you go to the USPS zip code finder and enter an address in New York, NY... but someone's hacked that site, and it gives you the zip code 92101-1007. The post office routes it off the zip code, so that letter is going to San Diego, CA. You  may have intended to send it to New York, but there's this thing called 'DNS poisoning' where hackers will give your computer an address that isn't the one you intended. If they're really good, they'll even make the site look exactly like the site you expected. It's just, well, it might record your login information or trick you into downloading something malicious.

So you entered an address in your browser, and your computer looks up the number associated with that address. It then sends out the letter(s) to your destination, asking for the web page. Your destination receives your request and serves a response, sending a stream of letters back to you.

That's a very rough idea of what's going on, and I'll dig into it a bit more...

Another time. I've been messing around creating VMs (virtual machines) this morning (CentOS installed fine, but why oh why does my Ubuntu say there was an unresolvable error? Ugh! And I need to find out if I have any old Windows software lying around. Even though I'm just creating some VMs to practice my skills with, virtual machines are computers in their own right. They use the keyboard, mouse, CPU, display screen, etc. that the physical computer does.  See, your CPU is amazingly powerful... and if you're not using it, it sits idle. Once you've downloaded that webpage and sit there reading it, there's not really a lot for your CPU to do. Some genius realized that you can make computing more efficient if you kept that CPU humming... so putting multiple virtual computers on one physical computer was one way of doing that - and provided some additional layers of security and whatnot. Anyways, I'm not really intending to use the VM as a Windows XP or Windows 7 machine, but it could be used that way and the software is proprietary.)

Anyways, I don't really feel like delving further into internet basics.


No comments:

Post a Comment