Application Layer I Flashcards

To give an overview of: • The Internet and its components and services • Protocols and protocol layers To understand: • The main principles of network applications • Application architectures • Process communication • Transport services

1
Q

Internet: components view

A

▪ billions of connected
computing devices:
* hosts = end systems
* running network apps
▪ communication links
* fibre, copper, radio,
satellite
* transmission rate:
bandwidth
▪ packet switches: forward
packets (chunks of data)
* routers and switches
▪ Internet: “network of
networks”
* Interconnected ISPs
▪ protocols control sending,
receiving of messages
* e.g., TCP, IP, HTTP, SMTP,
802.11
▪ Internet standards
* RFC: Request for comments
* IETF: Internet Engineering Task
Force

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Internet: service view

A

▪infrastructure that provides
services to applications:
* Web, VoIP, email, games, e-
commerce, social nets, …
▪ provides programming
interface to apps
* hooks that allow sending
and receiving app programs
to “connect” to Internet
* provides service options,
analogous to postal service

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a protocol?

A

specific messages sent
… specific actions taken
when messages
received, or other
events

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

protocols def

A

protocols define format,
order of messages sent and
received among network
entities, and actions taken
on message transmission,
receipt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

network protocols

A

▪ machines rather than
humans
▪ all communication activity
in Internet governed by
protocols

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Protocol layers

A

▪ hosts
▪ routers
▪ links of various
media
▪ applications
▪ protocols
▪ hardware,
software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

layers

A

each layer implements a service
▪ via its own internal-layer actions
▪ relying on services provided by layer below

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Protocol stack

A

*internet protocol stack
*ISO/OSI reference model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Internet protocol stack

A
  • application: supporting network
    applications (FTP, SMTP, HTTP)
  • transport: process-process data
    transfer (TCP, UDP)
  • network: routing of datagrams from
    source to destination (IP, routing
    protocols)
  • link: data transfer between
    neighbouring network elements
    (Ethernet, 802.11 (WiFi), PPP)
  • physical: bits “on the wire
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

ISO/OSI reference model

A
  • presentation: allow
    applications to interpret
    meaning of data, e.g.,
    encryption, compression,
  • session: synchronisation,
    checkpointing, recovery
    of data exchange
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Some network apps

A
  • e-mail
  • web
  • P2P file sharing
  • text messaging
  • voice over IP
  • video conferencing
  • multi-player network games
  • streaming stored video
  • social networking
  • search
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Creating a network app

A

▪ write programs that
* run on (different) end systems
* communicate over network
* e.g., web server software
communicates with browser
software
▪ no need to write
software for network-
core devices
* network-core devices do not
run user applications
* applications on end systems
allows for rapid app
developmen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Application architectures

A

▪ Main structures of applications:
* Client-server
* Peer-to-peer (P2P)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Client-server architecture

A

server:
* always-on host
* permanent IP address
* data centres for scaling
▪ clients:
* communicate with server
* may be intermittently
connected
* may have dynamic IP addresses
* do not communicate directly
with each other

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

P2P architecture

A
  • no always-on server
  • arbitrary end systems directly
    communicate
  • peers request service from
    other peers, provide service in
    return to other peers
  • self scalability – new peers bring
    new service capacity, as well as
    new service demands
  • peers are intermittently
    connected and change IP
    addresses
  • complex management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Processes communicating

A

process: program running
within a host
* within same host, two
processes communicate
using inter-process
communication (defined by
OS)
* processes in different hosts
communicate by
exchanging messages

17
Q

clients, servers

A

client process: process
that initiates
communication
server process: process
that waits to be contacted

18
Q

Sockets

A
  • process sends/receives messages to/from its socket
  • socket analogous to door
  • sending process shoves message out door
  • sending process relies on transport infrastructure on other side of
    door to deliver message to socket at receiving process
19
Q

Addressing processes

A
  • to receive messages, process
    must have identifier
  • host device has unique 32-
    bit IP address
  • identifier includes both IP
    address and port numbers
    associated with process on
    host.
20
Q

App-layer protocol defines

A

*types of messages
exchanged,
* e.g., request, response
* message syntax:
* what fields in messages
& how fields are defined
* message semantics
* meaning of information
in fields
* rules for when and how
processes send & respond to
messages
open protocols:
* defined in RFCs
* allows for interoperability
* e.g., HTTP, SMTP
* proprietary protocols:
.e.g., Skype

21
Q

What transport service does an
app need?

A

data integrity
timing
throughput
security

22
Q

data integrity

A
  • some apps (e.g., file transfer,
    web transactions) require
    100% reliable data transfer
  • other apps (e.g., audio) can
    tolerate some loss
23
Q

timing

A
  • some apps (e.g., Internet
    telephony, interactive
    games) require low delay
    to be “effective”
24
Q

throughput

A
  • some apps (e.g.,
    multimedia) require
    minimum amount of
    throughput to be
    “effective”
  • other apps (“elastic apps”)
    make use of whatever
    throughput they get
25
Q

security

A
  • encryption, data integrity,
26
Q

Internet transport protocols
services

A

TCP service
UDP service

27
Q

TCP service

A
  • reliable transport between
    sending and receiving process
  • flow control: sender won’t
    overwhelm receiver
  • congestion control: throttle
    sender when network
    overloaded
  • does not provide: timing,
    minimum throughput
    guarantee, security
  • connection-oriented: setup
    required between client and
    server processes
28
Q

UDP service:

A
  • unreliable data transfer
    between sending and
    receiving process
  • does not provide:
    reliability, flow control,
    congestion control,
    timing, throughput
    guarantee, security, or
    connection setup,
29
Q

Securing TCP

A

TCP & UDP
TLS / SSL
SSL is at app layer
SSL socket API

30
Q

TCP & UDP

A
  • no encryption
  • cleartext passwords sent
    into socket traverse
    Internet in cleartext
31
Q

TLS / SSL

A
  • provides encrypted TCP
    connection
  • data integrity
  • end-point authentication
32
Q

SSL is at app layer

A
  • apps use SSL libraries, that
    “talk” to TCP
33
Q

SSL socket API

A
  • cleartext passwords sent
    into socket traverse
    Internet encrypted