5.1 Flashcards
What is the Internet?
A network of networks. (global system of computers connected together)
What means that the Internet is redundant?
Can reach a computer through multiple paths
What means that the Internet is hierarchical?
Organized into ever smaller groups
The Internet allows computers to send
information (bytes) to each other.
Explain the birth of the Internet.
It started in 1957 in response to Sputnik.
US initiative lead to ARPA.
ARPANET in 1969 connected 4 universities.
There was an evolution on the internet. Distinguish between early-use, 1990s and today.
Early-use: email, file transfer, scientific calculations.
1990s: user-friendly tools, public subscriptions.
Today: 15,14 billion nodes, 5,19 billion nodes, over 330000000 TB of daily data!
When you use a website, you are…
connected to a large network of computers in the internet.
Explain what’s the server and the client in the client-server network model.
Server: power computer that can provide resources or services to one or more clients.
Client: a computing device that needs access to the resources or services provided by your server.
The client is connected to a network of computers & your server should be connected to this network as well.
Most servers tend to have a…
one-to-many relationship with clients.
Explain what the traceroute command does.
It’s a tool that shows the path data takes from your computer to a destination on the Internet. It displays the IP addresses of the routers it passes through & measures how long it takes to reach each one.
We can diagnose network issues & understand the route data follows.
Explain how the client-server model works.
- client asks server for information (request)
- request is sent to server
- server decodes request, sends back information (response)
- client interprets response
Explain the client-server model with an example.
If you are loading a website, then the client is your computer, the server is another computer at the URL and the request is ask for a webpage.
Internet is a type of network, which one? Develop the answer.
Internet is a WAN in which all computers communicate using a standardized protocol known as IP.
URL:
Uniform Resource Locator
Protocol:
rules for information
Domain Name:
gets converted to an IP adress via a Domain Name Server (DNS)
IP Adress:
computer-readable
Hierarchy:
each byte of the adress gets more specific
A protocol specifies how the communication is handled by establishing a…
standardized vocabulary.
A protocol can specify two things:
Hardware details: frequency at which the data is transmitted.
Software details: representation of an address (name in the network).
Which is the protocol suite used for the Internet?
TCP/IP
The TCP/IP Protocol sets…
the rules for sending information between computers.
Why is the TCP/IP Protocol important? What would happen if it didn’t exist?
The TCP/IP is important because we need a standardized vocabulary for the Internet, also be able to have global communication, reliability, security, good addressing and routing… If these protocols didn’t exist, we will lack of standardized rules for communication, data exchange, or addressing. Therefore, the network will become chaotic and unreliable with low efficiency
Which are the layers in the TCP/IP Protocol?
Application layer
Transport layer
Internet layer
Network layer
Explain briefly the network layer.
Captures the physical aspects of data transmission such as the media used (wire/wireless) & the hardware related protocols.
Explain briefly the internet layer.
Looks after the logical transmission of data. We define the logical address (IP) of our devices connected to the Internet in this layer.
Explain briefly the transport layer.
This layers is responsible for end-to-end communication, specifically error-free transfer. Ex: TCP & UDP protocols.
Explain briefly the application layer.
This is where your server needs to define its networking preferences such as using SSL, etc.
In the application layer, arrival protocols facilitate…
data conversion & interpretation for specific applications.
In the application layer, arrival protocols define…
rules for data presentation (HTML/CSS), encryption, and session management (cookies).
Name two types of protocols related to the application layer. (what are they used for?)
HTTP (Hypertext Transfer Protocol): used for web browsing, defines how web browsers & servers communicate.
SMTP (Simple Mail Transfer Protocol): used for email transmission between mail servers.
The transport layer is responsible for…
end-to-end communication & data integrity.
The transport layer handle
data segmentation, sequencing, error correction, & flow control.
Name two core Internet protocols for data handling.
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
TCP is…
reliable
UDP is…
faster
A packet is…
data parcel sent across a network
TCP separates information into…
chunks (packets)
TCP … packets
sends & reassembels
TCP ensures
information is complete & correct
Most computing networks are connected to the Internet
adhere to the TCP/IP protocol
Every device is assigned a unique…
4-byte IP adress (IPv4)
From where do you get your IP adress?
Through the ISP (Internet Serves Provider) when using the Internet.
Which are the two types of IP adresses? (related to change)
Static: your IP adress does not change
Dynamic: your IP adress changes frequently
Which are the two types of IP adresses? (related to privacy)
Public: this IP adress is accessible from anywhere on the Internet
Private: are only valid within in a local network
If you Google your IP adresss…
you are presented with your public adresses.
Explain the difference between IPv4 and IPv6.
IPv4 is a 4-byte IP address typically expressed in dotted-decimal format, like “192.168.1.1.”
IPv6 is a 16-byte IP address expressed in hexadecimal notation with colons, like “2001:0db8:85a3:0000:0000:8a2e:0370:7334.”
Why do we need IPv6?
Because we run out of combinations for IPv4 as there’s too many people and to many devices.
What are domain names (give an example) and why we need them?
We have domain names because we need an easy-to-remember IP address representation. A real life-example of a domain name is www.wikihow.com.
What does the DNS (Domain Name System) do?
Tracks domain names and IP addresses.
Give examples of top-level domains:
.edu, .org, .nl
Describe how domain names are hierarchical. (use an example)
Domain names are hierarchical as they have the top-level domain (TLD) which is the highest level in the hierarchy, like .edu, .org, .com. etc. For example, in www.wikihow.com the top-level domain is .com, the second-level domain is wikihow and the subdomain is www. Each byte of the address gets more specific.
What is DNS spoofing?
When a client sends a request to a real website, but the DNS Resolver is attacked by an attacker, who uses his server to send a spoofed response to the DNS Resolver and then, the DNS Resolver sends that response to the client. So, the request resolves to fake website.
What does the Network Layer do?
Define the physical connection between devices.
Specify cable types, signal standards, and data rates.
Ethernet is…
standard for wired connections (twisted-pair or coaxial cables)
Wi-Fi is…
standard for wireless connections, using radio frequency technology.
Wi-Fi handles communication to/from…
router.
Who governs the Internet?
No single entity runs the Internet.
Is governed by shared protocols, procedures, technologies (standardisation).
Supervised by ICANN.
What is ICANN?
Internet Corporation for Assigned Names & Numbers.
A router helps us in two ways:
Forward packets to the clients & servers.
Handle the allocation & deallocation of Private IP addresses.
What is our solution relating to the expensive memory and CPU?
We link cheap computers into a “giant” computer (each computer solves/stores part of the problem)
What are the challenges to the solution related to expensive memory and CPU?
Computer failures
Storing information across multiple computers
Waiting for all computers to finish calculations
Application Programming Interface acts as an…
intermediary between two applications (usually client & server)
What APIs do?
Define what operation can be performed on the server and how those operations can be executed, and the data format used for communication.
APIs allow:
abstraction & access. This means it allows you to use functionalities of a web server without knowing how it works.
Define API.
Set of rules & commands for data access.
Is a set of rules, protocols, and tools that allows different software applications to communicate with each other.
Give an example of an API.
The weather bureau’s software system contains daily weather data, so your phone “communicates/talks” with this system via APIs and then shows you daily weather updates on your phone.
Why we want to serialize & deserialize data?
Because we want to be able to transfer code to any other language and then run it in any device.
Give an example of serializing & deserializing data:
Serialize Swift into JSON and deserialize JSON to Python.
What is JSON?
JSON is JavaScript Object Notation, when structuring data for APIs we commonly use JSON as it’s easy to understand for humans and it has a highly versatile format.
What is special of JSON?
From JSON we can transfer code to any other language!
What is formatting data?
Structuring data for APIs (organization & format(JSON))
Identify the main components of an API. (7)
Endpoint
Method
Headers
Request body
Response
Authentication
Documentation
Explain Endpoint function.
This is the URL of the API, which specifies the location of the API and the resources it can access.
Explain Method function.
This specifies the type of request being made to the API, such as GET, POST, PUT, DELETE, etc.
Explain Headers function.
These contain additional information about the request, such as authentication details, content type, and other metadata.
Explain Request body function.
This is the data sent to the API as part of the request.
Explain Response function.
This is the data that the API sends back in response to the request. It may include a status code, headers, and a response body.
Explain Authentication function.
This is a mechanism to verify the caller’s identity and ensure that only authorized users can access the API.
Explain Documentation function.
This is information about using the API, including details about the endpoint, methods, parameters, and response format.