The text introduces the concept of Quality of Service (QoS), explaining the difference between a connection’s theoretical capacity and its actual performance. It then presents fundamental concepts such as bandwidth, throughput, latency, RTT, and jitter.
The lesson also describes the role of buffers and jitter buffers, which are used to compensate for irregularities in data reception—particularly in streaming and real-time communications.
The final section explains why different types of media require different levels of Quality of Service: text and images are less time-sensitive, whereas video calls, live streaming, and online gaming require low latency and continuous data flow. Finally, the “ping” command is introduced as a tool for verifying host reachability and measuring response time.
Quality of Service
In networking, the term quality of service, or simply QoS (from the English Quality of Service), is used to refer either to the parameters used to characterize the quality of the service provided by the network (for example, speed, packet loss, delay, etc.) or to the tools and techniques used to achieve a desired quality of service (Blake et al., 1998; International Telecommunication Union [ITU], 2011).
Below is a list of the main attributes used to define the quality of a network connection.
Bandwidth
Bandwidth, in computing, refers to the amount of data that can be transferred from one point to another in a given period of time (Chimento & Ishac, 2008).
Bandwidth=\frac{Amount\;of\; information}{Transfer\;time}Bandwidth is measured in bits per second (bps). The bit rate is the number of bits transferred in one second. Its most common multiples are kilobits per second (Kbps, one thousand bits per second), megabits per second (Mbps, one million bits per second), and gigabits per second (Gbps, one billion bits per second) (Chimento & Ishac, 2008).
Bandwidth can refer to different links. For example, it can indicate the capacity of a local network link or that of the last mile, that is, the link that connects the user’s network to the ISP’s network (Chimento & Ishac, 2008).
When we talk about the “Internet speed” of a home connection, we normally mean the bandwidth available on the last mile.
In networking terminology, the term bandwidth is often used to indicate the theoretical maximum data transfer capacity of a connection, measured in bits per second (Chimento & Ishac, 2008).
In this context, describing a connection as 100 Mbps means that, under ideal conditions, it can transfer up to 100 million bits per second.
This speed can vary depending on the following factors (Chimento & Ishac, 2008; Constantine et al., 2011):
Bandwidth can be symmetric or asymmetric (Constantine et al., 2011):
Many residential ISPs offer asymmetric connections, with higher download speeds than upload speeds. This is because, statistically, users tend to download content from the Internet more often than they upload new content (Constantine et al., 2011).
Example
The ADSL acronym stands for Asymmetric Digital Subscriber Line. This connection technology is asymmetric because downstream bandwidth is greater than upstream bandwidth.
Another important concept is throughput (Constantine et al., 2011).
Throughput is the actual amount of data transferred over a given period of time. Unlike theoretical bandwidth, throughput takes into account real network conditions, such as congestion, interference, distance, signal quality, packet loss, and traffic generated by other users (Constantine et al., 2011).
Therefore, throughput is always lower than bandwidth or, at most, equal to it (Chimento & Ishac, 2008; Constantine et al., 2011).
Throughput can depend on the following factors (Chimento & Ishac, 2008; Constantine et al., 2011):
Example
I need to download a 20 MB file (one byte equals 8 bits), and it takes 20 minutes.
\begin{aligned}
\text{Throughput}
&= \frac{20\,\mathrm{MB}}{20\,\mathrm{min}} \\[1em]
&= \frac{20\,000\,000\,\mathrm{B}}
{20 \cdot 60\,\mathrm{s}} \\[1em]
&= \frac{20\,000\,000 \cdot 8\,\mathrm{b}}
{20 \cdot 60\,\mathrm{s}} \\[1em]
&= \frac{160\,000\,000\,\mathrm{b}}
{1\,200\,\mathrm{s}} \\[1em]
&= 133\,333\,\mathrm{bps}
\approx 133\,\mathrm{kbps}
\end{aligned}Bandwidth can be used to calculate the theoretical minimum transfer time for content of a given size in bytes (Chimento & Ishac, 2008).
Consider the inverse bandwidth formula:
transfer\;time=\frac{Amount\;of\;information}{Bandwidth}Example
Suppose we want to transfer a 10 MB (10 megabyte) file to a device with a bandwidth of 5 Mbit/s.
The transfer time will be given by:
\begin{aligned}
\text{transfer time}
&= \frac{10\,\mathrm{MB}}{5\,\mathrm{Mbps}} \\[1em]
&= \frac{10\,000\,000 \cdot 8\,\mathrm{b}}
{5\,000\,000\,\mathrm{bps}} \\[1em]
&= \frac{80\,000\,000\,\mathrm{b}}
{5\,000\,000\,\mathrm{bps}} \\[1em]
&= 16\,\mathrm{s}
\end{aligned}Latency
Latency (also called latency time) is the time between sending a packet, request, or signal and its reception or response by the destination: it represents the delay between the start of an action and its actual execution or response (ITU, 2019; Almes et al., 1999).
Latency is measured in milliseconds (ms) and is affected by several factors within a network. Some of the main factors that contribute to latency include (ITU, 2019; Almes et al., 1999):
It is important to emphasize that bandwidth and latency are not the same thing (ITU, 2019; Constantine et al., 2011).
A connection with high bandwidth can transfer large amounts of data per second, but it does not necessarily have low latency.
Latency also depends on physical distance, the path followed by packets, congestion, and processing times in network devices.
Latency can have a significant impact on many activities, especially applications that require fast response times, such as online games or video calls (International Telecommunication Union [ITU], 2003; ITU, 2011).
For example, high latency in online games can cause a delay between the user’s action and the game’s response, negatively affecting the gaming experience.
In general, low latency is preferable, especially for real-time applications, because it allows the network to operate more smoothly and responsively.
Network operators and network engineers constantly seek to improve latency by optimizing infrastructure, implementing advanced technologies, and using efficient protocols.
Example
A connection with latency around 15–30 ms can feel very responsive for online games. By contrast, latency of 80–100 ms is still usable, but it can make delay more noticeable in real-time applications.
Round Trip Time (RTT, round-trip time) is a measure related to latency: it is the time between sending a packet to a destination and receiving the corresponding response back at the sender (Almes et al., 1999).
In other words, RTT is the total time required to complete a round trip between two points in a network connection.
In an ideal, symmetric network, RTT can be considered approximately twice the one-way latency, because it includes both the time needed to reach the destination and the time needed to receive the response. In real networks, however, this relationship is not always exact because the outbound and return paths can have different delays (Almes et al., 1999).
Jitter
Jitter is another important concept that is particularly relevant to real-time applications, such as voice calls over the Internet or videoconferencing (Schulzrinne et al., 2003; Demichelis & Chimento, 2002).
Jitter represents the variation in the latency of data packets as they travel from a source to a destination across the network (Demichelis & Chimento, 2002).
Jitter can be problematic for real-time applications because it can cause issues such as delays in voice or image transmission during a video call (Schulzrinne et al., 2003; Morton & Claise, 2009).
If jitter is low, the packet flow is more uniform and the user experience is better, because there are fewer interruptions or synchronization problems between participants.
Jitter can have several causes, including (Morton & Claise, 2009):
To address jitter and improve the quality of real-time communications, network service providers and application developers implement various techniques, such as traffic prioritization, the use of buffers (we will examine this technique shortly), or the selection of more stable network paths, in order to reduce latency variability and maintain a regular data flow (Blake et al., 1998; Morton & Claise, 2009).
We can think of jitter as the standard deviation of latency (Demichelis & Chimento, 2002).
Standard deviation is a statistical measure that represents the dispersion or variability of a set of data relative to its mean. In other words, it indicates how much the values in a sample tend to differ from the sample mean.
Example
If the mean of a data set is 5 and the standard deviation is 0, it means that all the data values are equal to 5..
Buffer
The term buffer refers to a portion of temporary memory used to compensate for differences in speed between two devices or processes exchanging data (Morton & Claise, 2009).
In practice, the buffer accumulates data waiting to be processed or transmitted, acting as a “cushion” (hence the name) between the producer and the consumer of the data.
Imagine a tap from which water flows faster than a glass can collect it without overflowing: an intermediate container is needed.
In digital systems, that container is the buffer: temporary RAM that helps compensate for differences in speed and timing irregularities.
Example
Some practical examples of buffer use:
An important use of buffers on the Internet is to limit the effects of temporary variations in data reception. For example, in video or audio streaming, the buffer preloads part of the content to prevent interruptions during playback (Morton & Claise, 2009).
When a user starts a video, for example on YouTube, Netflix, or Spotify, the system does not immediately play each piece of data as soon as it is received.
Instead, it accumulates part of the content in a local buffer, that is, temporary memory. When the buffer contains enough data, playback begins.
Meanwhile, new data continue to arrive and fill the buffer.
This process protects against temporary network slowdowns and allows smoother playback even when data do not always arrive at a regular rate.
However, if the incoming data flow remains consistently higher than the processing or playback capacity, the buffer will eventually fill up, causing waits, dropped data, or interruptions.
In real-time streams, such as voice calls and video calls, the more specific term jitter buffer is used (Morton & Claise, 2009).
A jitter buffer is a buffer designed to compensate for variations in packet arrival times while keeping latency as low as possible (Morton & Claise, 2009).
The main difference is:

The buffer is used to compensate for jitter and make playback more regular.
Quality of Service in Media
Having adequate quality of service for media playback is important because poor quality of service causes degradation of the media itself (Blake et al., 1998; ITU, 2011).
Quality of service can have different requirements depending on the type of media (ITU, 2011; Schulzrinne et al., 2003):
Managing quality of service for media presents four levels of difficulty, in increasing order (ITU, 2011; Schulzrinne et al., 2003):
Ping
A simple way to analyze quality of service is ping (Postel, 1981; Almes et al., 1999).
Ping is a network command used to check whether a host is reachable over an IP network and to measure response time. It can also help identify packet loss by showing whether some requests receive no response (Postel, 1981; Almes et al., 1999).
The name comes from the sound of sonar on submarines: just as a sound echo checks whether something responds, ping checks whether a host responds on the Internet or on a LAN.
Ping can be entered as a command in the operating system terminal. For example, if you type:
ping google.com
The result will be:
Response from 142.250.184.14: byte=32 tempo=24ms TTL=118
Where:






No responses yet