Application Layer 1

5.0(1)
studied byStudied by 9 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/90

flashcard set

Earn XP

Description and Tags

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

91 Terms

1
New cards
what are 'components' of the internet?
billions of connected computing devices called **hosts/ end systems** which run network apps
2
New cards
what is the internet?
* a network of networks


* end systems access the internet using ISPs (Internet service providers) where each ISP is a network, ISPs are also interconnected to communicate


* different networks for different purposes, eg. work or academic
3
New cards
how is the internet connected?
* end systems are connected together by a network of communication links and packet switches
* end systems can send data by segmenting it and adding byte headers, creating packets which are sent to the destination and reassembled
* end systems, packet switches et.c run protocols
4
New cards
what are communication links?
* the physical means that allow devices to communicate by transmitting data through packets
* different links transfer data at different rates
5
New cards
what are examples of communication links?
fiber, copper, radio, satellite
6
New cards
what is bandwith?
transmission rate measures in bits per second
7
New cards
how are networks connected through data?
2 most common internet packet switches- routers and link layer switches via a route/ path in the network

* forward packets to destination
* routers = used in network core
* link layer switches = used in access networks

device to device
8
New cards
what are the 2 internet standards?
RFC - request for comments
IETF - internet engineering task force
9
New cards
what is RFC?
documents that describe the protocols to follow
10
New cards
what is IEFT?
organisation to develop and review protocols so we can know what to expect, world-wide communication
11
New cards
what complex components do networks contain?
hosts
routers
links of various media
applications
protocols
hardware

software
12
New cards
what are the 2 main services of the internet?
* an infrastructure that provides services to **distributed** **applications** (email, instant messaging, movie streaming)
* provides programming interface to applications (for developers to create apps- socket interface provided by end systems)
13
New cards
what are distributed applications?
applications that involve multiple end systems and exchange data with each other.
14
New cards
what is a protocol?
* defines the format, order of messages sent and received among 2 or more communicating network entities, and the actions taken on message transmission, receipt, or other event
* protocols exist for both hardware and software activities


* governs all of the internet
15
New cards
how are protocols organised?
organise protocols into layered architecture (protocol stack)

can be implemented in software or hardware

each layer implements a specific service (service model)

* by conducting internal-layer actions
* by relying on services provided by the previous layer
16
New cards
what are the pros and cons of protocol layering?
pros

* easier to update system components

cons

* can duplicate lower layer functionality
* functionality at one layer may need info that is present in another which violates layer separation goal
17
New cards
what are the 2 protocol stacks?
internet protocol stack
ISO/OSI reference model
18
New cards
what layers does the internet protocol stack contain?
application
transport
network
link
physical
19
New cards
what layers does the ISO/OSI reference model contain?
application
presentation
session
transport
network
link
physical
20
New cards
what does the application layer do?
* support network applications and application layer protocols (FTP, SMTP, HTTP)
* application protocol distributed over many end systems


* uses services from the below layers
21
New cards
what does the transport layer do?
* process application data and transports it between **application** endpoints
* package the data into a packet using protocol: TCP, UDP
* adds header information that the recipient needs to deliver to correctly
22
New cards
what does the network layer do?
* find the destination of the packaged data
* routes the datagrams from source to the destination **host** using IP and routing protocol
* adds information to communicate with the network later on other side
23
New cards
what does the link layer do?
data transfer between neighbouring network links(Ethernet, 802.11 (WiFi), PPP)
24
New cards
what does the physical layer do?
defines the mechanical and electrical interface between systems - moves the individual bits on a wire
25
New cards
what does the presentation layer do?
allow applications to interpret meaning of data, e.g., encryption, compression
26
New cards
what does the session layer do?
synchronisation, checkpointing, recovery of data exchange
27
New cards
What is encapsulation?
combining data and code into a single object

* encasing application data (M) into a segment and adding information. (H)
28
New cards
how is a message affected as it goes down the internet stack?
each layer adds the header information that is required for the job of that layer to be carried out. following layers don't read the data itself, but the header information that can aid in the layer functioning
29
New cards
how does the source host use the internet stack?
the application creates the data that we want to send
uses the layers going down to encapsulate data
30
New cards
how does the destination host use the internet stack?
uses the layers going up the stack, unwrapping encapsulated data
31
New cards
do all components use access the full internet stack?
components access only layers that they need because the different components have different purposes, so can only run certain layers that match those purposes
eg. router only runs network, link and physical
32
New cards
what is front end?
what the user sees
33
New cards
what is back end?
server application that operates on data given from the front end
34
New cards
what do network apps need to do?
run on different end systems
communicate over a network
35
New cards
do we need to write apps for network-core devices (routers)?
no
network-core devices can't run user applications
36
New cards
what do developers need to focus on when creating a network app?
the application layer and what it encompasses
type of application being made as they will use different protocols (eg. web = http protocol, email client uses smtp protocol)
need to know what services are needed from the transport layer

os deals with the rest
37
New cards
what are the 2 main application architectures?
client/server architecture
peer to peer architecture
38
New cards
what is a client server architecture?
made up of a multiple client devices that sends requests to a server that sends responses
39
New cards
what is a server?
an always on host with a permanent IP address and data centres for scaling depending on the amount of clients and demand (eg. submissions just before an exam)
40
New cards
what is a client?
a device that can communicate with server. may have: intermittently connected, dynamic IP addresses, don't communicate directly
41
New cards
what is a peer to peer architecture?
a decentralized network of nodes that are all peers
distribute the workload between peers, and all peers contribute and consume resources within the network without the need for a centralized server
42
New cards
what are the features of P2P architecture?
no always on server. arbitrary end systems directly communicate
peer request services from other peers
self scalability - new peers bring new service capability and new service demands
peers intermittently connected with dynamic IP addresses causing complex management
43
New cards
what is software?
a program existing on the machine
44
New cards
what is a process?
a program executing on a host, consuming memory and resources
45
New cards
how do processes communicate if they are on the same host?
the OS manages communication by defining the inter-process communication
46
New cards
how do processes communicate if they are remote (on different hosts)?
exchanging messages through the network and following protocols (eg. missing this information, validating what has been sent)
47
New cards
what are process communication messages?
messages that contain meaning that help the processes communicate and understand each other
48
New cards
what are the 2 types of process communication messages?
request message
response message
49
New cards
what are the process on a client/server architecture?
client process on clients
server process on servers
50
New cards
what are the processes on a P2P architecure?
apps have both client and server processes
51
New cards
what is a client process?
process that initiates communication
52
New cards
what is a server process?
process that waits to be contacted
53
New cards
what is a socket made up of?
the combination of a source IP address and port number or a destination IP address and port number
54
New cards
how does an application use a socket?
process sends/receives messages to/from its socket (through the socket like a door)
55
New cards
where is the socket within the internet stack?
application → socket → transport layer
56
New cards
what does the socket rely on?
relies on transport infrastructure to deliver message to socket at receiving process
57
New cards
why are identifies needed for processes?
so that processes can receive messages
58
New cards
what do we need to form a process identifier?
ip address
port number
59
New cards
what is an ip address?
host device has unique 32 bit address but many process can run on same host (not enough to identify process on its own
60
New cards
what is a port number?
number associated with a specific process on host
some processes have fixed port numbers (eg. http sever: 80)
61
New cards
what are the 6 things defined by the application layer protocol?
types of messages exchanged
message syntax
message semantics
rules for when & how processes send/respond to messages
open protocol
propriety protocols
62
New cards
what is message syntax?
what fields in a message
how fields are defined
63
New cards
what is message semantics?
meaning of information in fields
64
New cards
what are open protocols?
protocols that are defined in RFCs
allows for interoperability
eg. protocols like HTTP and SMTP
65
New cards
What are proprietary protocols?
protocols developed by organizations who have control over their definition and operation eg. skype
66
New cards
what are transport services?
the services provided by the transport layer
67
New cards
do all applications need the same transport services?
different applications need different transport services
developers need to know what the application needs
68
New cards
what are examples of transport services?
data integrity
timing
throughput
securtiy
69
New cards
what is data integrity as a transport service?
some apps require 100% reliable data transfer (file transfer) whilst others can tolerate loss (audio)
70
New cards
what is timing as a transport service?
* some real time apps require low delay to be effective (interactive games, online telephony)


* non real time apps has no tight constraints on end to end delays
71
New cards
what throughput as a transport service?
throughput = rate at which sending process can deliver bits to receiving process

\
some bandwidth-sensitive apps require minimum amount of throughput to be effective (multimedia) whilst other elastic apps make use of whatever throughput they get
72
New cards
what is security as a transport service?
encryption, data integrity
73
New cards
what are the 2 main internet transfer protocols?
TCP service
UDP service
74
New cards
What does TCP stand for?
Transmission Control Protocol
75
New cards
What does UDP stand for?
User Datagram Protocol
76
New cards
what is UDP?

1. similar to TCP however a connection with another computer isn't set up
2. sends the data randomly without considering order
3. could lead to missing pieces of data
77
New cards
what is an example of TCP in use?
if a website didn't use TCP then pictures wouldn't load, writing could be backwards due to the lack of order/missing data which has been sent
78
New cards
what is TCP?
A protocol which first establishes a session with another computer and guarantees that all the data is sent correctly in order.
79
New cards
what services does TCP provide?
reliable transport
flow control
congestion control
connection setup required between client and server processes
80
New cards
what is flow control?
sender won't overwhelm reciever
81
New cards
what is congestion control?
throttles the sender when network overloads
82
New cards
what services does TCP not provide?
timing
minimum throughput guarantee
security
83
New cards
what services does UDP provide?
unreliable data transfer
faster data transmission
84
New cards
what services does UDP not provide
* reliability
* flow control
* congestion control
* timing
* throughput
* guarantee
* security
* connection setup
85
New cards
SUMMARY: what do layers have?
specific protocols used on that layer
services that the layer provides (as a result of following the protocols)
86
New cards
what encryption is applied to TCP & UDP by default?
no encryption
any cleartext
eg. passwords sent though socket enters the internet in cleartext too
87
New cards
What is TLS/SSL used for?
Encrypts TCP connection - aka. the data which is being sent from client to server
end-point authentication and data integrity
88
New cards
what layer is SSL at?
application layer
apps use SSL libraries that communicate with the TCP
89
New cards
what does API stand for?
Application Programming Interface
90
New cards
what does API do?
allows different apps and services to work together without getting very technical
91
New cards
how is the 'SSL socket' API used?
cleartext passwords sent though the socket get encrypted and then traverse internet encrypted