Web and Internet Basics

Created Tuesday 08 June 2021

Diversity of layers (OSI)

Application (HTTP, telnet, etc)
Presentation (framework MIME)
Session (pipe,SOCKS)
Transport (reliable packet delivery, TCP)
Network (nodes and address, IP)
Data (PPP)
Physical (wires, radio, USB)

Diversity of layers (OSI)

Application - Purpose
Presentation - Structured efficiently for a purpose
Session - CONTINUOUSLY, no breaks
Transport - Reliably, with confirmation
Network - Getting data from A to B
Data - 0s and 1s
Physical

Where your attention is required

Application (HTTP, telnet, etc)
Presentation (framework MIME)
Session (pipe,SOCKS)
Transport (reliable packet delivery, TCP)
Network (nodes and address, IP)
Data (PPP)
Physical (wires, radio, USB)

Lets go in a good order

Physical (wires, radio, USB)
Network (nodes and address, IP)
Application (HTTP, telnet, etc)

PHYSICAL - Lets start with

There is NO CLOUD.

It is just COMPUTERS connected to other COMPUTERS.

In a billion different ways, but you know
Through the AIR and Through the WIRES
wires and lasers and microwaves and x rays sort of

PHYSICAL - Lets start with

None of these computers are fundamentally different from this:

Physical- and virtual

The closest to "different from this" are the different flavors of
Virtualization (and similar)
here are some words that have to do with that:
KVM, Kubernetes, Docker, Containerization, VMWare, Virtualbox

All essentially having to do with:

A little "imaginary" computer running inside a "bigger" real computer,
to make them easier to modify in some way or another
(i.e. you can "create" and "destroy" computers with commands,
or update like 100 at once, etc. etc.)

To be perfectly honest

Most "servers" you encounter will be like this;
but you may not even need to think about that,
which is kind of the point.

So again, just a computer + computer

NETWORK

Packet Switched/Peer to Peer

This is the *default.*

It's not a one to one connection, it goes through a bunch of peoples stuff, always

"nodes/switches" and "pipes"
DECENTRALIZED

IP

Lots of practical weirdness here:
IP addresses - basically a phone number

IPv4

The classic way of doing IPs. Of course, there aren't enough.
So that's why we have routers.
(Pretty much the same as "extensions" for phone numbers)

IPv6 makes it so there enough numbers, and the two systems basically just work together

DNS

Like a phone book, but MOSTLY decentralized.
Obviously a bit controversial now, because they are not fully decentralized.
jrm4.com? oh, thats actually SOMETHING-198.136.61.171

DNS

(quick note, there is NOT always a one-to-one relationship
between "website name" and "IP address")

Google has MANY ip addresses
198.136.61.171 has MANY .coms etc

Also, Ports

Okay, so every bit of stuff that goes over the internet and uses this
is also using a particular "port"
Which is just another "extension" type number,
where the defaults have particular purposes.
A lot of the time you don't see them because the software hides them and you don't need to.

Ports

21 - FTP
22 - SSH (sFTP)
80 - HTTP
443 -HTTPS

I bring this up for another reason

Internet communication is the same as "real" communication, namely

Communication

There must be a reciever and sender.
On the net, this is a *technical* point.

Lets do the web

How does TORCH Work? Like this:

Somebody set up a real/big computer

Installed Linux
Installed Virtualization Software
Set up a system to tell a router
"HEY this big computer is allowed to get and give 128.186.*.* addresses"

Somebody set up "Torch"

Was assigned one (or more) of those addresses
Also got to say "HEY DNS, put 'torch.cci.fsu.edu' in the phone book

More Torch, but you can do this at home

Installed Linux, again, virtually.
Installed a Web Server (Apache)
Did this:
HEY, for every user here, put in public_html

What Apache Does

Listens on ports 80 and 443.
If someone asks for a file that matches one I have..
..by means of naming and folder (and other) rules
I send them that HTML file.

What Apache Does, slightly more complex

If they ask for a PHP file I have
I *FIRST* do what the PHP file tells me to do...
..and then I send THAT.

What Apache Does, weirdly not complex

If they ask for a Javascript file I have..
..yeah, I just give it to them, not my problem.

What your computer does:

Asks for the HTML file, downloads it.
If successful, reformats it and prints it to the screen for easy viewing

What your computer does, if PHP

No difference. Your computer doesn't do the PHP. It's still just HTML from your pov

What your computer does, if Javascript...

Just runs it. Runs A RANDOM FILE IT JUST GOT FROM THE INTERNET
do we see the problem here? ☺

NOT OUR PROBLEM THIS AINT CYBERSECURITY.