# 1.1 What Is the Internet?

### 1.1.1 A Nuts-and-Bolts Description&#x20;

* The Internet is a computer network that interconnects hundreds of millions of computing devices throughout the world
  * Devices: **hosts** or **end systems**&#x20;
* End systems are connected together by a network of **communication links** and **packet switches**
  * Different links can transmit data at different rates, with the **transmission rate** of a link measured in bits/second&#x20;
  * **packet:** When one end system has data to send to another end system, the sending end system segments the data and adds header bytes to each segment. The resulting packages of information is packet.&#x20;
  * A **packet switch** takes a packet arriving on one of its incoming communication links and forwards the packet on one of its outgoing communication links.&#x20;
    * **Routers:** typically used in the network core &#x20;
    * **Link-layer switches:** typically used in access networks
  * &#x20;**Route / path:** the sequence of communication links and packet switches traversed by a packet from the sending end system to the receiving end system&#x20;
* End systems access the Internet through **Internet Service Providers (ISPs)**&#x20;
  * E.x. residential ISPs (local cable or telephone companies), corporate ISPs, university ISPs, ...
* End systems, packet switches, and other pieces of the Internet run **protocols** that control the sending and receiving of information within the Internet
  * **Transmission Control Protocol (TCP)**
  * **Internet Protocol (IP)**
    * Specifies the format of the packets that are sent and received among routers and end systems&#x20;
* **Internet standards** are developed. The IETF standards documents are called **requests for comments (RFCs).**&#x20;

### 1.1.2 A services Description&#x20;

* Description: An infrastructure that provides services to applications.&#x20;
  * Distributed applications: involve multiple end systems that exchange data with each other&#x20;
    * Example: electronic mail, web surfing, social networks, instant messaging, voice-over-IP (VoIP), video streaming, distributed games, P2P file sharing
* End systems attached to the Internet provide an **Application Programming Interface (API)** that specifies how a program running on one end system asks the Internet infrastructure to deliver data to a specific destination program running on another end system.&#x20;

### 1.1.3 What Is a Protocol?&#x20;

A **protocol** defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.

* All activity in the Internet that involves two or more communicating remote entities is governed by a protocol&#x20;
  * _Hardware-implemented protocols_ in two physically connected computers: control the flow of bits on the "wire" between the two network interface cards&#x20;
  * _Congestion-control protocols_: control the rate at which packets are transmitted between sender and receiver&#x20;
  * _Protocols in routers_: determine a packet's path from source to destination&#x20;

![A computer network protocol ](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MZZGqcnD4MJ7BqmPn1y%2F-MZZOUO-nFjoEy-6VKW3%2Fimage.png?alt=media\&token=acacc6a4-cd3b-426e-9fab-1cce8a9ca2e1)

