Alex Shukhman

I'm a developer with his head in the cloud...

A Description of the Internet in 10 Parts

24 Aug 2020 » other

Please note that the following contains simplified explainations from a high-level. It is not meant to be an all-encompassing description of the topic but rather an exploration thereof.

The word “internet” describes a generalized concept of interconnected publicly and privately-accessible networks. The following document describes in simple terms how the internet works.

Part 1: Web Browsers

A web browser, like Chrome or Firefox, is a digital tool that renders information from web servers. A user, when typing a URL into the URL bar, sends a notification to a server asking for information. This is called a “request”, and it’s generally handled over a protocol called HyperText Transfer Protocol (HTTP). When the server receives the request, it responds with data like a website, a video, or a redirection to another URL. Websites that are meant for web browsers are written in a language called HyperText Markup Language (HTML) which is an instruction set on what to display for a user.

Part 2: Web Clients

Web browsers are only a subset of a larger grouping of tools called web clients. These tools are any digital tool, from an iOS application to an IoT device’s embedded software, that connects to servers and sends requests over the internet.

Part 3: Web Servers

A web server is a computer that does a specific set of tasks very well. Unlike a laptop or desktop computer, servers generally don’t have displays for images or user interfaces. This is by design because servers are not generally accessible by the public. Instead, servers make only the functionality they excel at available for public request.

Part 4: Internet Service Providers

An internet service provider like Comcast, AT&T, and Verizon, is a company that offers a connection to the internet for a price. All requests that a client makes will pass through the internet service provider’s hardware which will note the volume of requests and data sent through their services and redirect the request to other nodes on the network securely and efficiently.

Part 5: Network Addresses

A network address is a dynamically-assigned description of where a device like a client or a server is in the network. Network addresses like IP addresses are machine-readable and serve mostly as an instruction set for network routering servers (routers) to determine where to send the information. As connections may span across multiple routers before reaching their final destination, routers rarely consider the full path of the request. Rather, they will often know only the correct peer (directly connected node on the network) through which to send the request.

Part 6: Domains

In order to avoid forcing users to remember network addresses, the international community of internet developers created a concept of domains or human-readable address locations. As these human-readable addresses are generally much longer strings of text, they are converted to more efficient address names by servers called Domain Name System (DNS) servers. DNS servers exist at many points in a network, but only a few (Root DNS Severs) are the centralized authority of domain names. All other DNS servers will store (cache) the root DNS servers’ data and can be invalidated by the root DNS servers.

Part 7: The Internet Backbone

The internet backbone is a term that generally describes all of the possible connections between all of the nodes on the internet. For example, there exists cabling under the Atlantic Ocean that connects the United States’ routers with European routers. This is a portion of the backbone, but so is all of the cable owned by an ISP that connects to homes and offices. In modern times, the internet backbone has significantly expanded to include wireless connection networks like 4G and satellite internet as well.

Part 8: Abstraction Layers

In order to avoid the extra work of handling data bit by bit, the international community of internet developers devised a model of “layers” of abstraction. Generally, a web developer writing code for a web server will not concern themselves with the bit packets that enter their clients’ machines. They will instead write more human-readable data structures and these structures are translated and mutated to become transmittable over serial connections (as almost all internet connections are serial). For some perspective, there are seven layers in the standard OSI model, most web developers only regularly work with between one and three of the highest-level layers.

Part 9: Security

Because every device on the internet could theoretically access the data passing through any other part of the internet (network sniffing), safety measures are used to prevent unwanted data leaks. The most commonly-used safety measure is called Transport Layer Security (TLS, or the “s” at the end of https://). TLS is a pattern of data management that uses carefully-handled encryption and decryption keys to obfuscate data before it is sent through the internet backbone.

Part 10: Protocols

Protocols like HTTP, SMTP, BlueTooth, and many more are highly specialized and simplified languages that devices use to communicate. They can be as simple as signaling protocols that use a handful of bits to describe a command, to as complex as instruction sets on how to render information and for whom that information should and should not be rendered.

Related Posts