How to Understand the Internet: The Essential Book for the Digital Age (8th Edition)
How the Internet Works (8th Edition)
Have you ever wondered how the Internet works? How can you send an email, watch a video, or play a game online with just a few clicks or taps? The Internet is a complex and fascinating system that connects billions of computers around the world. It enables us to communicate, share, learn, and create in ways that were unimaginable before. But how does it actually work?
How the Internet Works (8th Edition)
In this article, we will explain the basic concepts and principles behind the Internet. We will cover what the Internet is, how it connects computers, how it routes packets, how it handles congestion and errors, how it supports different applications, and how it evolves and improves over time. By the end of this article, you will have a better understanding of how the Internet works and why it is so important for our society.
What is the Internet?
The Internet is a global network of networks that allows computers to communicate with each other. It is not a single entity or organization, but rather a distributed system that consists of millions of interconnected devices. The Internet can be used for various purposes, such as sending emails, browsing websites, streaming videos, playing games, conducting research, and more.
The history of the Internet dates back to the 1960s, when the US Department of Defense funded a research project called ARPANET (Advanced Research Projects Agency Network). The goal was to create a network that could survive a nuclear attack by using packet switching technology. Packet switching is a method of breaking up data into smaller units called packets and sending them over different paths to their destination. This way, if one path is damaged or congested, the packets can still reach their destination through another path.
Over time, ARPANET expanded to include more networks and computers from universities, research institutions, and private companies. It also adopted new protocols (rules and standards) for communication, such as TCP/IP (Transmission Control Protocol/Internet Protocol). TCP/IP is still the main protocol suite used by the Internet today. In 1983, ARPANET officially switched to TCP/IP and became part of the Internet.
The Internet continued to grow rapidly throughout the 1980s and 1990s, thanks to the development of new technologies such as personal computers, modems, routers, fiber-optic cables, satellites, wireless networks, etc. The World Wide Web (WWW), which is a system of interlinked documents accessed via web browsers, was also invented in 1989 by Tim Berners-Lee at CERN (European Organization for Nuclear Research). The Web made the Internet more accessible and popular to the general public.
Today, the Internet connects billions of devices and users around the world. It is constantly evolving and improving to meet the increasing demands and challenges of the digital age.
How does the Internet connect computers?
The Internet connects computers by using packets and protocols. Packets are small segments of data that contain both the information and the instructions for how to handle it. Protocols are rules and standards that define how packets are formatted, transmitted, and processed.
What are packets?
A packet is a small segment of a larger message that is sent over the Internet. For example, when you send an email, your computer breaks up the email into smaller packets before sending them to the recipient's computer. Each packet contains both data and information about that data. The information about the packet's contents is known as the header, and it goes at the front of the packet so that the receiving computer knows what to do with it.
The header typically includes the following information:
The source IP address: the unique identifier of the computer that sent the packet
The destination IP address: the unique identifier of the computer that should receive the packet
The protocol: the type of communication that is being used (e.g., TCP, UDP, HTTP, etc.)
The sequence number: the order of the packet in the message
The checksum: a value that is used to verify the integrity of the packet
The data part of the packet contains the actual information that is being sent, such as text, images, audio, video, etc. The data can be encoded in different formats depending on the application that is being used.
To send a packet over the Internet, your computer converts it into bits (binary digits), which are either 0 or 1. The bits are then translated into pulses of light or electricity that can travel over wires, cables, radio waves, or other types of networking infrastructure. The receiving computer then converts the pulses back into bits and reassembles them into packets.
What are protocols?
A protocol is a set of rules and standards that define how packets are formatted, transmitted, and processed over the Internet. Protocols ensure that computers can communicate with each other in a consistent and reliable way. There are many protocols that are used by different layers and applications of the Internet. Some of the most common protocols are:
TCP/IP: Transmission Control Protocol/Internet Protocol. This is the main protocol suite that governs how packets are sent and received over the Internet. It consists of four layers: application, transport, network, and link. Each layer has a specific function and uses different protocols to perform it.
HTTP: Hypertext Transfer Protocol. This is the protocol that is used by web browsers and web servers to exchange web pages and other resources over the Internet. It defines how requests and responses are formatted and transmitted.
HTTPS: Hypertext Transfer Protocol Secure. This is an extension of HTTP that adds encryption and authentication to ensure security and privacy of web communication.
DNS: Domain Name System. This is a system that translates human-readable domain names (e.g., www.example.com) into numerical IP addresses (e.g., 192.168.1.1) that computers can understand.
FTP: File Transfer Protocol. This is a protocol that is used to transfer files between computers over the Internet.
SMTP: Simple Mail Transfer Protocol. This is a protocol that is used to send emails over the Internet.
How does the Internet route packets?
The Internet routes packets by using routers and IP addresses. Routers are devices that forward packets from one network to another. IP addresses are unique identifiers for computers on the Internet.
What are routers?
A router is a device that connects two or more networks and forwards packets between them. A router has multiple ports, each connected to a different network. A router also has a routing table, which is a database that stores information about how to reach different destinations on the Internet.
When a router receives a packet from one network, it looks at its header to find out its destination IP address. It then consults its routing table to find out which port to send it to. The routing table may contain specific entries for individual IP addresses or ranges of IP addresses, or default entries for unknown destinations.
If the router finds a matching entry in its routing table, it forwards the packet to the appropriate port. If not, it forwards it to its default port, which is usually connected to another router or a gateway (a device that connects different types of networks). The process repeats until the packet reaches its final destination or gets dropped due to errors or congestion.
What are IP addresses?
An IP address is a unique identifier for a computer on the Internet. It consists of four numbers separated by dots, each ranging from 0 to 255. For example, 192.168.1.1 is an IP address. Each number represents a part of the address that corresponds to a different level of the network hierarchy.
There are two versions of IP addresses: IPv4 and IPv6. IPv4 is the older version that has a limited number of possible addresses (about 4.3 billion). IPv6 is the newer version that has a much larger number of possible addresses (about 340 undecillion). IPv6 addresses are written in hexadecimal notation, which uses 16 symbols (0-9 and A-F) instead of 10 symbols (0-9). For example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334 is an IPv6 address.
IP addresses are assigned to computers by Internet Service Providers (ISPs), which are companies that provide access to the Internet. ISPs have a range of IP addresses that they can allocate to their customers. Some IP addresses are static, meaning they do not change over time. Some IP addresses are dynamic, meaning they can change over time depending on the availability and demand.
IP addresses are also divided into two types: public and private. Public IP addresses are visible and reachable on the Internet. Private IP addresses are not visible or reachable on the Internet, but only within a local network. For example, 192.168.1.1 is a private IP address that is commonly used for routers and other devices within a home network.
How does the Internet handle congestion and errors?
The Internet handles congestion and errors by using TCP and UDP. TCP and UDP are two protocols that operate at the transport layer of the TCP/IP model. They are responsible for ensuring that packets are delivered reliably and efficiently from one computer to another.
What is TCP?
TCP stands for Transmission Control Protocol. It is a reliable and ordered protocol that guarantees that packets are delivered without errors, duplication, or loss. TCP also regulates the flow of packets to avoid congestion and ensure optimal performance.
TCP works by establishing a connection between two computers before sending any data. The connection is maintained until all the data is transferred or the connection is terminated. TCP uses a three-way handshake to establish a connection. The three steps are:
The sender sends a SYN (synchronize) packet to the receiver with a sequence number.
The receiver sends back a SYN-ACK (synchronize-acknowledge) packet with an acknowledgment number that is equal to the sequence number plus one.
The sender sends back an ACK (acknowledge) packet with an acknowledgment number that is equal to the sequence number plus one.
TCP also uses acknowledgments and timers to ensure reliability and efficiency. The sender assigns a sequence number to each packet and expects an acknowledgment from the receiver within a certain time frame. If the sender does not receive an acknowledgment within the time frame, it assumes that the packet was lost or corrupted and retransmits it. The receiver also checks the sequence numbers of the packets and discards any duplicates or out-of-order packets.
TCP also uses flow control and congestion control mechanisms to regulate the rate of packet transmission. Flow control prevents the sender from overwhelming the receiver by adjusting the window size, which is the amount of data that can be sent without waiting for an acknowledgment. Congestion control prevents the network from being overloaded by reducing the window size when there is congestion or increasing it when there is no congestion.
What is UDP?
UDP stands for User Datagram Protocol. It is a fast and unordered protocol that does not guarantee that packets are delivered without errors, duplication, or loss. UDP does not establish a connection before sending data, nor does it use acknowledgments or timers to ensure reliability or efficiency.
UDP works by sending packets directly to the destination without any intermediate steps or checks. UDP only adds a header to each packet with the source port, destination port, length, and checksum. The checksum is used to verify the integrity of the packet, but it does not trigger any retransmission if there is an error.
UDP is suitable for applications that require speed and real-time communication, such as video streaming, online gaming, voice over IP, etc. UDP does not care about the order or completeness of the packets, as long as they are delivered quickly and with minimal delay. UDP also does not impose any flow control or congestion control mechanisms, leaving it to the application to handle them.
How does the Internet support different applications?
The Internet supports different applications by using ports and sockets. Ports and sockets are concepts that operate at the application layer of the TCP/IP model. They are responsible for identifying and connecting specific applications on different computers.
What are ports?
A port is a number that specifies a particular application or service on a computer. For example, port 80 is used for HTTP, port 25 is used for SMTP, port 53 is used for DNS, etc. There are 65,536 ports available on a computer, ranging from 0 to 65535. Ports from 0 to 1023 are called well-known ports and are reserved for common and standardized services. Ports from 1024 to 49151 are called registered ports and are assigned to specific applications by the Internet Assigned Numbers Authority (IANA). Ports from 49152 to 65535 are called dynamic or ephemeral ports and are used for temporary or random purposes.
Ports are used to distinguish between different applications or services on the same computer. For example, when you browse a website, your web browser uses port 80 to communicate with the web server. When you send an email, your email client uses port 25 to communicate with the mail server. When you use a domain name, your computer uses port 53 to communicate with the DNS server.
What are sockets?
A socket is a combination of an IP address and a port number that uniquely identifies an application or service on a computer. For example, a socket could be 192.168.1.1:80, which means the HTTP service on the computer with the IP address 192.168.1.1.
Sockets are used to establish connections between different applications or services on different computers. For example, when you browse a website, your web browser creates a socket with your IP address and an ephemeral port number (e.g., 192.168.1.1:12345) and connects it to the socket of the web server with its IP address and port 80 (e.g., 18.104.22.168:80). When you send an email, your email client creates a socket with your IP address and an ephemeral port number (e.g., 192.168.1.1:23456) and connects it to the socket of the mail server with its IP address and port 25 (e.g., 22.214.171.124:25).
How does the Internet evolve and improve?
The Internet evolves and improves by innovation and collaboration. Innovation is the process of creating new technologies, products, services, or solutions that improve the performance, functionality, or usability of the Internet. Collaboration is the process of working together with other individuals, organizations, or communities to achieve common goals, standards, or policies that benefit the Internet.
Examples of Internet innovation
Some examples of Internet innovation are:
Cloud computing: This is a model of delivering computing resources (such as servers, storage, databases, software, etc.) over the Internet as a service rather than as a product. Cloud computing enables users to access and use these resources on demand without having to own or manage them.
Internet of Things (IoT): This is a network of physical objects (such as sensors, devices, appliances, vehicles, etc.) that are embedded with electronics, software, and connectivity that enable them to communicate and exchange data over the Internet. IoT enables users to monitor and control these objects remotely and create new applications and services based on them.
5G: This is the fifth generation of mobile network technology that provides faster speed, lower latency, higher capacity, and better reliability than previous generations. 5G enables users to access and use high-quality video streaming, virtual reality, augmented reality, cloud gaming, and other bandwidth-intensive applications over the Internet.
Examples of Internet collaboration
Some examples of Internet collaboration are:
Standards bodies: These are organizations that develop and maintain technical standards for the Internet, such as protocols, formats, interfaces, etc. Standards bodies ensure interoperability and compatibility among different systems and devices on the Internet. Some examples of standards bodies are IETF (Internet Engineering Task Force), W3C (World Wide Web Consortium), IEEE (Institute of Electrical and Electronics Engineers), etc.
modify, and distribute the source code of the software. Open source enables users to collaborate and contribute to the improvement and innovation of the software. Some examples of open source software are Linux, Firefox, WordPress, etc.
Online communities: These are groups of people who share common interests, goals, or values and interact with each other over the Internet. Online communities enable users to communicate, exchange information, provide feedback, support each other, and create new content and services. Some examples of online communities are Wikipedia, Reddit, Stack Overflow, etc.
The Internet is a remarkable system that connects billions of computers and users around the world. It works by using packets and protocols to send and receive data over a network of networks. It uses routers and IP addresses to route packets to their destinations. It uses TCP and UDP to handle congestion and errors. It uses ports and sockets to support different applications. It evolves and improves by innovation and collaboration.
The Internet has transformed our society in many ways. It has enabled us to access and share information, communicate and collaborate, learn and create, entertain and enjoy, and more. It has also created new challenges and opportunities for security, privacy, governance, ethics, and sustainability. The Internet is not a static or fixed system, but a dynamic and evolving one that reflects our collective needs and aspirations.
Here are some frequently asked questions about how the Internet works:
Q: What is the difference between the Internet and the Web?A: The Internet is the network of networks that connects computers around the world. The Web is a system of interlinked documents that are accessed via web browsers over the Internet. The Web is one of the many applications that use the Internet.
Q: What is an IP address?A: An IP address is a unique identifier for a computer on the Internet. It consists of four numbers separated by dots, each ranging from 0 to 255. For example, 192.168.1.1 is an IP address.
Q: What is a packet?A: A packet is a small segment of data that is sent over the Internet. It contains both data and information about that data. The information about the packet's contents is known as the header.
Q: What is a protocol?A: A protocol is a set of rules and standards that define how packets are formatted, transmitted, and processed over the Internet. For example, TCP/IP is the main protocol suite that governs how packets are sent and received over the Internet.
Q: What is a router?A: A router is a device that connects two or more networks and forwards packets between them. A router has multiple ports, each connected to a different network. A router also has a routing table, which is a database that stores information about how to reach different destinations on the Internet.