Autosave: 2024-09-06 10:00:02

This commit is contained in:
thomasabishop 2024-09-06 10:00:02 +01:00
parent e224ac50e6
commit e2a024719f
4 changed files with 69 additions and 8 deletions

Binary file not shown.

View file

@ -1,7 +1,23 @@
---
title: Application_Layer_of_Internet_Protocol
tags: []
tags: [internet, networks]
created: Friday, September 06, 2024
---
# Application Layer of the Internet Protocol
The final, topmost layer of the Internet Protocol suite.
![Data at the Application Layer](../img/application-layer-data.png)
The Application Layer is where we get to the protocols that describe the
behaviour of applications. All the preceding lower levels are effectively
**plumbing that enables applications to do the things they want accross the
internet**.
Whereas the lower levels facilitate communication accross the internet, the
Application Layer is concerned with achieving a specific task once the ability
to communicate is assured.
Application Layer protocols include HTTP, the Simple Mail Transfer Protocol
(SMTP), and FTP.

View file

@ -0,0 +1,43 @@
---
title: Example_scenario_internet_data_transfer
tags: [networks, internet]
created: Friday, September 06, 2024
---
# Example scenario of data transfer accross the internet
![Path of a network request accross the internet](../img/network-request-layers.png)
![All layers of the IP](../img/all-layers-of-IP.png)
- A client device is connected to a wireless WiFi network.
- This network is connected to the internet via a router.
- Elsewhere on the internet is a server also connected to the internet via
router.
- A user of the client device opens a web browser and requests a web page hosted
on the server (we will assume it already knows the IP address)
- The web browser knows HTTP - a protocol of the
[Application Layer](Application_Layer_of_Internet_Protocol.md) - and forms an
HTTP request intended for the destination server.
- The browser hands off the HTTP request to the TCP/IP software stack of the
device's [operating system](Basic_model_of_the_operating_system.md), asking
that the data be delivered to the server on its IP address and at port 80.
- The TCP/IP software stack on the client OS encapsulates the HTTP payload in a
TCP segment (at the
[Transport Layer](Transport_Layer_of_Internet_Protocol.md)), setting the
destination port to 80 in the segment header.
- The [Internet Layer](Internet_Layer_of_Internet_Protocol.md) software on the
client then wraps the TCP segment in an IP packet, which includes the
destination IP address of the server in the packet header.
- At the [Link Layer](Link_Layer_of_Internet_Protocol.md) of the client device,
the IP packet is encapsulated in a frame with the
[MAC_address](MAC_addresses.md) of the local router in its header. The frame
is wirelessly transmitted by the client device's WiFi hardware.
- The wireless access point receives the frame and passes to the router. The
router examines the internet layer packet to determine the destination IP
address.
- To reach the server, the request needs to travel through multiple routers on
the internet and the process is replicated (looking up MAC address of the
device and determining IP target). Eventually, the request reaches the router
on the network where the server is connected.
- The last router

View file

@ -37,12 +37,14 @@ protocols. From the top:
communication accross networks. It is responsible for identifying hosts on the
inter-network by their addresses and routing data from network to network.
- The **Transport Layer** come back to this
- The [Transport Layer](Transport_Layer_of_Internet_Protocol.md) creates a
commmunication channel between two hosts using ports and sockets.
- The **Application Layer** is concerned with software that utilises information
received and sent over the internet, for instance web pages and emails. This
is the highest level of abstraction for which all the lower levels serve as
"plumbing". Examples of protocols operative at the Application Layer include
HTTP and SSH.
- The [Application Layer](Application_Layer_of_Internet_Protocol.md) concerned
with software that utilises information received and sent over the internet,
for instance web pages and emails. This is the highest level of abstraction
for which all the lower levels serve as "plumbing". Examples of protocols
operative at the Application Layer include HTTP and SSH.
![Path of a network request accross the internet](../img/network-request-layers.png)
See:
[Example_scenario_internet_data_transfer](Example_scenario_internet_data_transfer.md)