When most people think of the Internet, they think of a magical cloud that lets you access your favorite websites, shop online, and you assumingly endless stream of cat pictures, but there isn't any magic involved. There's no mysterious entity that grants us a cat picture on-demand. The Internet is just an interconnection of computers around the world, like a giant spider web that brings all of us together. We call the interconnection of computers a network. Computers in a network can talk to each other and send data to one another. You can create a simple network with just two computers. In fact, you might already have your own network at home connecting all of your home devices. Let's think on a bigger scale. What about the computers at your school or workplace? Are they in a network? They sure are. All of the computers there are linked together in a network. Can we link your home, school, and workplace's networks together? We absolutely can. Your workplace connects to a bigger network, and that network connects to an even bigger network and on and on. Eventually, you've got billions of computers that are interconnected, making up what we call the Internet. You, like most people, probably access the Internet through a browser like Mozilla Firefox, Google Chrome, Microsoft Edge, or something else. This is done through the World Wide Web. But don't make the mistake of thinking the Internet is the World Wide Web. The Internet is the physical connection of computers and wires around the world. The web is the information on the Internet. We use it to access the Internet through a link like www.google.com. The World Wide Web isn't the only way we can access the Internet. Your email, chat, and file-sharing programs are also ways you can access the Internet. In the IT field, managing, building, and designing networks is known as networking. Networking is a super important and large field in IT. There are specialized jobs, college degree programs, and tons of literature dedicated entirely to networking. If you work in the IT field, it's super critical that you understand the fundamentals of networking. The Internet is composed of a massive network of satellites, cellular networks, and physical cables buried underneath the ground. We don't actually connect to the Internet directly. Instead, computers called servers connect directly to the Internet. Servers store the websites that we use, like Wikipedia, Google, Reddit, and BBC. These websites serve content. The machines that we use, like our mobile phones, laptops, video game consoles, and more are called clients. Clients request the content like pictures, websites from the servers. Clients don't connect directly to the Internet. Instead, they connect to a network run by an Internet service provider or ISP, like CenturyLink, Level 3, Comcast, Telefonica and things like that. ISPs have already built networks and run all the unnecessary physical cabling that connects millions of computers together in one network. They also connect to other networks and other ISPs. These other networks connect to the networks of Google, Reddit, universities, basically all the other networks in the world. Together, they form one giant network of computers called the Internet. But how do the clients know how to get to servers? Well, how would you send a letter to someone? You'd put your address on the letter and send it to the address of the person you're sending the letter to. Computers have addresses just like houses. Computers on a network have an identifier called an IP address. An IP address is composed of digits and numbers like 100.1.4.3. When we want to access a website, we're actually going to their IP address, like 172.217.6.46. Devices that can connect to a network have another unique identifier called a MAC address. MAC addresses are generally permanent and hard-coded onto a device. A sample MAC address can be something like this. When you send or receive data through a network, you need to have both an IP and a MAC address. You might be wondering why we need to have two different numbers to identify something. That's a good question. Think again of the letter analogy we use before. An IP address is your house address, while the MAC address is the name of this recipient of the letter. You want to make sure your letter gets to the right location and to the right person. A more simplified example of the letter delivery would go like this. I'm in New York city and I got a letter that I want to send to a friend, May. May's halfway across the world in Tokyo. Our letter, we'll go through lots of places before it reaches her. I put her name and address on there and I also put my name and address on there too. When I drop my letter off at the post office, the mail person looks at it. He thinks, I don't know how to get to Tokyo from here, but there's a truck that's headed to Texas. He puts my letter in that truck at the post office in Texas. A mail person looks at the letter and says, I don't know how to get to Tokyo from here, but we have a truck going to San Francisco. She puts my letter in that truck. At the post office in San Francisco, yet another mail person looks at my letter. He says, there's a plane headed to Tokyo and puts the letter on that plane. When it finally reaches Tokyo, the postman there says, I know where May lives and delivers the letter to her. Obviously, there are many more nuance to mail delivery than what I described, but this process is similar to how information gets routed across the Internet. One thing to call out is that data that's sent through a network is sent through packets. There's little bits of data and you guessed it, ones and zeros. It doesn't matter if it's pictures, email, music, or text. When we move data through the network, we break them down into packets. When a packet gets to its destination, it will rearrange itself back in order. Think of a packet like a letter. Let's actually look at this process again, but this time we'll use IP addresses and MAC addresses. Natalie has a computer with IP address 113.8.81.2 and she wants to go to google.com and search for pictures of cats. Before she does that, her computer has to send a packet to ask google.com if it can access their website. Our packet knows google.com's IP address is 172.217.6.46, but it doesn't know how to get there just yet. The packet travels from one place to another at each destination where it asks, hey, do you know where google.com is? Eventually it'll be routed to another destination that can get the packet closer and closer to google.com. Once it reaches a destination that can deliver the packet to aserver@google.com, Google will send Natalie a packet saying she can access an unlimited number of cat pictures.