What is the Internet?
The Internet is a global network of interconnected computers and devices that communicate with each other.
It can be understood in two main ways.
As a system of hardware and software components
The Internet connects billions of devices globally (called hosts or end systems).
Devices are connected together by a network of communication links and packet switches (e.g., routers and/or link-layer switches).
Data is:
- broken into packets at the sender
- routed through the network
- reassembled at the receiver
A route or path through the network is the sequence of communication links and packet switches traversed by a packet:
- from the sending end system
- to the receiving end system
Internet Service Providers (ISPs):
- connect end systems
- are hierarchically structured (lower-tier and upper-tier ISPs)
- each ISP network:
- is in itself a network of packet switches and communication links
- is managed independently
- runs the IP protocol
- conforms to certain naming and address conventions
End systems, packet switches, and other pieces of the Internet run protocols (e.g., TCP/IP):
- protocols govern how data is transmitted within the Internet
- protocols must be standardized for interoperability:
- managed by the Internet Engineering Task Force (IETF)
- through RFCs (Requests for Comments)
As an infrastructure that provides services to distributed applications
The Internet serves as a platform for distributed applications (e.g., email, web, streaming, gaming).
These applications run on end systems, not within the network core (switches and routers).
To enable communication between programs on different systems:
- the Internet provides a socket interface
- like a set of mailing rules allowing Alice to send a letter to Bob
- developers must use this interface to send/receive data across the network
The Internet offers different service types:
- just like the postal service offers express or standard delivery
- and developers choose the appropriate one for their application