I have made my mind to release this introductory earlier than I thought, but I will be updating this early every day from now on adding a ton of new things to bite off to learn. In addition, I also will add a changelog at the bottom to see what has been added in or changed. I hope everyone learns something new, and let's continue where I left off from this introduction.
Since this year in school, I got into Computer Science. I learned a ton of interesting things about the internet. Individuals worldwide mostly don't actually know how the internet works, and just depends on it to work, get me? I want to teach some important things you should know to finally understand how things work on the internet. I'll think about making a part two, but this is just some parts of Computer Science that got me automatically hooked on it. Hopefully, everyone learns something out of this, and if you really want more, please feel free to show me support down in the comments!
On the internet, you're always sending things to everyone. Whether you're going to a website, sending an email, or just a basic text messages. All that data you send to someone are usually called Packets (Data). This makes sense in a way because whenever you send a real package to a friend, it goes through a certain way to get to the other person right? The package sounds like Packet, so you should get a thought about how it is.
Packets are modest-sized buffers of data, and, they always have a header on them containing the information you're sending to someone. Don't get confused with the actual header, this is just the other users IP Address (Internet Protocol) you're sending it to so they can exactly get it on their device or technology they own. Remember packets can be anything: images, messages, videos, and music. Packets are usually called frames at the LAN layer, and as segments at the Transport layer. That's another topic to talk about when it comes to layers -- specifically taught on Computer Networking which I will do a tutorial over when it comes to the OSI Model, moving on! Here is an image of what packets can be seen visually:
Since you have now got a brief knowledge towards packets, let's move on to what they actually do to get to the other person.
TCP (Transmission Control Protocol)
I love talking about TCP, it's so interesting, and it's really fun to go over again. TCP (Transmission Control Protocol) is the coach of your packets. It makes sure your packets aren't lost during the time you send them to the other person, which of course these packets are your data delivering a message to a specific server or IP. Packets aren't always 100% going to go through. Whenever you send them these packets, there are multiple ways these little guys can travel. It's actually like a road, the packets can go any direction they want, but aim for the closest pathways it can take to go travel to its specific location faster. A wire might be cut sometimes, and the packets might get lost not actually making it to you while some others do make it.
If this happens, TCP (your coach) will go back and will resend the missing packets to you until you receive them (which of course goes to the receiver). Furthermore, your packets pass through these "pipes" sort to say. Specifically, they're named Sockets, and end-to-end connection bound to a port number so TCP can identify it to be able to reach its destination towards the IP Address it's going to. Here is an image of wires to give you a brief imagination on how you can think about the sockets, and how packets can go any direction they want until they get delivered:
One more thing about TCP, if the data that it is sending is too large of a file. It'll break the packet down into small pieces so it can flow through the sockets faster so it wouldn't overflow and take long to send to the receiver. If the packet is a small file, it will go through without it being broken down. TCP will be at the finish line where the receiver will get your message, and it'll build your packet back to how it was before then completely the same way!
IP Address (Internet Protocol)
IP Addresses, what a lovely unique topic to go over. If you're a gamer that plays competitively. You might already know what an IP Address is, but you don't know what it actually is used for. Many leechers/script kiddies go ahead, and use programs to get some innocent person's IP Address. In addition, they purchase a booting service from a site, and just flood packets into their IPs to hit their internet off; depending on how much packets you sent is the time equivalent of how long the user will have no internet. So let's get into this topic in-depth.
All devices on the internet as its own unique address. An IP Address goes through the exact same protocols you use to send a package to someone in real life. You don't need to know someone to send them a package, but you do need to know their exact same address. You have the package which is your (packet), and you need to write it to their exact address which will be their IP to make sure it gets safely to the person. An address on the internet is just numbers and has their own unique address corresponding to the network. Always remember that IP Addresses are one of the major protocols on the internet, even til' today!
If you own any device that has the ability to have WiFi, that device will have its own specific IP Address. Here's an example of an IP Address to get you started viewing it for the first time:
Random IP Address Example:
Each four different categories has their own specific bits. Traditional IP's are 32 bits with 8-bit long binary. You can see after a specific number, it separates the number with a period. This is because every IP is your information of a location. IP Addresses have changed time-to-time on what each period meant, but for the new generation technology they are now broken down into new different hierarchies:
New Generation Hierarchy:
This was commonly known as IPv4 which was found in the 1973s. This used to hold the internet by giving every device over 4 billion unique addresses, but then not knowing the internet was going to be such a great hit, little did we know, years later we needed unique addresses to hold more devices on the internet! This is why we came up with something called IPv6. This is a new IP Address that is larger than the original one which you can see for yourself here:
This contains 128 bits now instead of 32 bits. Can you guess how many unique addresses this can hold? IPv6 can hold over 340 undecillion unique addresses. I remember learning about this, and it was a fact that every grain of sand here on earth could actually have its own unique address. That's a pretty large amount of IP Addresses don't you think?
DNS (Domain Name System)
The Domain Name System is an amazing thing on the internet. This helps you get to the website you want to go to in a matter of seconds. This is primarily used for the hostname to IP resolution. When you go to a web browser, you type in for an example: [url]www.nextgenupate.com[/url], the DNS Servers will use the name of the website and will get you the IP Address of the site. Once he has received it, it will send it back to your IP so the website could appear back to your screen to start viewing it. Amazing right?
If the DNS Server fails to find the IP Address, it will actually ask multiple more DNS Servers if they have the IP. Once they received the address, they will store it into their servers for later, and send you the site to your screen. Imagine if you had to memorize all your favorite website's IP Address to actually go into it. Just always remember to thank the Domain Name System for taking care of your laziness, haha.
There is no way one DNS Server could handle all the requests everyone is making around the world. This is why we created an Distrubuted Hierarchy for the DNS Servers to be connected with. This is why you see websites ending with the following:
Quick tip: DNS is NOT centralized! It is always in a highly distributed. If it was centralized, this means there would only be one server taking care of everything. Imagine if someone dropped a bomb on the main server. Congratulations, now there wouldn't be anything called "the internet" anymore since the main server that was getting all the requests is now demolished. This is why the internet is distributed to many different servers. If one fails, there will always be a ton of more servers around the world. So the only possible way to lose this creation is by literally waiting for a meteor rock falling from space, and smashing into earth destroying everything. No one wants that, of course, do they now?
From the look of that word, you know this term seems very interesting. Indeed, it actually is. DNS Spoofing is when a hacker changes an IP Address of the original site into a new IP. This new IP could be a fake website which can cause harm to your computer putting Viruses, R.A.Ts, and a ton more dangerous things. It could even be a phishing website to gain access to your real information so be careful, and make sure the website you're on has a little lock at the top left of your search bar to know it's fully secured.
Bandwidth refers to how much digital information we can send every time we receive or send on a connection. You can sometimes call this DTR (Data Transfer Rate) as well. This does matter when it comes to your internet. You might have a slow bandwidth, and then we have others that have a ton of bandwidth. Let's imagine we are on a freeway. Each car is considered a "packet", and they are trying to get out of the freeway into exits. If there is one exit only, the cars will start stacking up, and it takes so long for them to get out. Same goes with bandwidth, the lower you have, the longer it will take.
So if we would increase the bandwidth, more exits could be made for those cars (packets) to exit safely without it stacking up so your internet could run faster. So this does depend on your ISP (Internet Service Provider) on how much bandwidth you're purchasing a month. Each time you're transferring data, you can consider that bandwidth usage. We won't talk about this a lot, but this should give you some knowledge towards this.
HTTP (HyperText Transfer Protocol)
You can think of HTTP as the language that your web browser talks to a server (aka DNS Server). This is almost similar to what we have discussed about the DNS and stuff. HTTP works like this, whenever you type in anything on your web browser. You're typing out an URL (Uniform Resource locator). Once you press enter on your keyboard to go into that website your web browser is having this conversation with a server that happens in a blink of an eye. Your web browser is giving the Server a "GET Request". You're sending a GET Request with the document name of it: "GET document-name". So whenever you're on NextGenUpdate, you're sending a GET Request to NGU's Server that says:
GET /login HTTP 1.1
This will then send you the site's code to be able to log in from that site. You're never just doing "GET Requests", always remember that whenever you log in to a website, search things on the internet, or fill out data in a document. You are sending plain text to a web server that we call "HTTP POST Requests".
When you're signing into NextGenUpdate, you're filling out the form with your username and password. You're sending the servers a POST Request which has your data attached which of course is your username and password. The servers will then send you back a web page to your browser that lets you successfully log into your account.
This also has attached something we call "cookies" on the internet. Cookies are found on your web browser to always remember who YOU are. Think about it as a School ID for an example. This has a certain number, to remember who you are. Your browser always hangs on this cookie for next time. So whenever you exit out and come back to NextGenUpdate, your browser sends a POST Request to the NGU Servers attached to your cookie information (your School ID). The servers will automatically remember who you are, and will send you back information pertaining to you.
Get the joke? No? Okay Moving on!
SSL & TSL (Secure Sockets Layer / Transport Layer Security)
As we all should know by now, the Internet is open to anyone. This means hackers can easily break into basically anything on the internet. Not even with the highest encryption can stop hackers. There will always be a way to make impossible be possible. Let's talk about SSL and TSL.