Basic Internet Architecture
A distributed system can be defined as follows: “A system in which hardware and software components located on networked computers communicate and coordinate their actions only by passing messages” (Coulouris George & Kindberg, 2006). This definition covers the entire range of distributed systems in which networked computers can usefully be deployed.
Another definition of a distributed system is given on the Microsoft website:
The purpose of distributed systems is to perform distributed computing, facilitated by networked computers that could be separated by large distances. Distributed systems therefore rely on computer networking. They communicate and coordinate by sending messages. The goal of distributed computing is to share access to, and to provide distributed resources.
The Internet is the most well-known example of a distributed system. The Internet is a very large distributed system that allows users throughout the world to use its services, which include the World Wide Web (the “Web”, or “WWW”, Email, FTP (the File Transfer Protocol), Telnet (used for computer systems to be used remotely), along with other services. The Internet is also a de-centralized distributed system that does not have an authoritative “governing body”.
The Internet defies a concise definition, as it can be defined and described from a variety of viewpoints. From a technical viewpoint, it is a vast number (in the millions) of interconnected computing devices. Some of these devices play the role of hosts, or end systems that run network applications. The Internet is a “network of networks”, and hence its name (Inter-Networking or Inter-Network). End systems are connected to the Internet and access the Internet through Internet Service Providers (ISPs) . Each ISP is itself a network consisting of communication links and switches that enable communication. These components, as well as others that constitute the Internet, operate based on protocols, or agreed-upon rules that control the sending and receiving of messages. These protocols include TCP (Transmission Control Protocol), IP (Internet Protocol), HTTP (Hyper Text Transfer Protocol), as well as other protocols for wireless communications and for Voice over IP (VoIP).
If the Internet is thought of as a vast network that can represented by an interconnected graph, each device on the Internet is a node, or point on the graph, which is connected to other nodes through communication links. Optical fiber, copper wire, radio, and satellite are common communication links. The transmission rate through these links, or link capacity, is known as bandwidth, measured in bits per second (bit/s or bps). Throughput refers to the rate at which something is produced or processed. In communication networks, throughput is the rate at which messages are successfully delivered over a communication channel. Like bandwidth, throughput is measured in bps (Kurose, 2007).
The Internet can also be described from a service viewpoint, where the Internet is described as an infrastructure that provides services to applications. Some of these well-known services are the Web, VoIP, email, e-commerce, social networks, and networked games. These services are distributed applications involving multiple end systems that exchange data with each other. The end systems that are connected to the Internet provide an application programming interface (API) that specifies how a program running on one end system requests the Internet infrastructure to deliver data to a specific destination program running on another end system, analogous to postal systems.