CCN_Lecture_4
CCN_Lecture_4
Networks
Lecture 4
Power point slides made with the help from the slides
came with the computer networking book written by Kurose
Application Layer
• Most popular application layer protocols
1) HTTP: HyperText Transfer Protocol
- web document request and transfer
2) SMTP: Simple Mail Transfer Protocol
-to send emails
3) IMAP: Internet Message Access Protocol
- to access message in an email mailbox
4) DNS: Domain Name System
- Internet’s directory
- www.chess.com -> 32 bit network address
Some Network Applications
• Social networking (Facebook, Twitter)
• Web
• Text messaging (WhatsApp)
• E-mail
• Multi-user network games
• Streaming stored video (YouTube, Netflix)
• Voice over IP (Skype)
• Real time video conferencing (Zoom)
• Internet search
• Remote login
Creating a Network App
Application Architecture
• Designed by application developer
a) Client-server architecture
b) Peer to peer architecture
Client-Server Architecture
• Server:
- always-on host
- permanent, well known IP address
- often in data centers, for scaling
• Clients:
- contacts, communicates with server
- may be intermittently connected
- may have dynamic IP address
- do not communicate directly with each other
Examples: HTTP, IMAP
Peer-peer Architecture
application BitTorrent
Process Communicating
• Process: program running within a host
• Within same host, two processes communicate using inter-
process communication (defined by OS)
• Process in different hosts communicate by exchanging
messages
transport transport
network network controlled
link by OS
link Internet
physical physical
Addressing Processes
• To receive messages, process must have an
identifier
• Identifier includes both a) IP address and
b) port number
• Only IP address is not sufficient as many processes
can be running on the same host
• Example port numbers:
- HTTP server - 80
- mail server - 25
Application-Layer Protocol
• Application-layer protocol defines
a) Types of messages exchanged:
example: request, response
b) Message syntax:
what fields in messages and
how the fields are delineated
c) Message semantics :
- meaning of information in the fields
d) Rules – for determining when and how processes
send and receive messages
Application-Layer Protocol
• Open protocols:
- defined in RFCs, everyone has access
- example: HTTP – RFC 7230
SMTP – RFC 5321
• Proprietary protocols:
- example: Skype, Zoom
Transport Services need by
Applications
• Reliable data transfer:
- some applications needs 100% reliable data transfer.
example: web document transfer, email,
financial applications
- other applications can tolerate some packet loss
example: audio, video
• Timing:
- some application require low delay to be “effective”.
example: Internet telephony, teleconferencing,
interactive games
Transport Services need by
Applications
• Throughput:
- Some applications require minimum amount of
throughput to be “effective”
example: streaming video
- other apps (called elastic apps) make use of
whatever throughput they get
example: e-mail, web transfers
• Security:
- encryption, data integrity, end-point
authentication
Transport Service Requirements
Application Data Loss Throughput Time-Sensitive
File transfer/ no loss elastic no
download
Email no loss elastic no
Web Documents no loss elastic no
Internet telephony/ loss-tolerant audio: 5Kbps – 1 Mbps yes, 10’s msec
Video conferencing video: 10Kbps – 5 Mbps
Streaming stored loss-tolerant audio: 5Kbps – 1 Mbps yes, few seconds
audio/video video: 10Kbps – 5 Mbps
Interactive games loss-tolerant few Kbps – 10 Kbps yes, 100’s msec
Smartphone no loss elastic yes and No
messaging
Internet Transport Protocol
Services
Service TCP UDP
Reliable transport between sending and receiving process Yes No
Flow control: Sender will not overwhelm receiver Yes No
Congestion control: throttle sender when the network Yes No
overwhelmed
Connection oriented Yes No
Timing guarantee No No
Minimum throughput No No
Security No No
Internet Applications and
Transport Protocol
Application Application Layer Transport Protocol
Protocol
E-mail SMTP [RFC 5321] TCP
Web documents HTTP 1.1 [RFC 7230] TCP
Internet telephony SIP [RFC 3261] TCP or UDP
RTP [RFC 3550] or
Proprietary (e.g., Skype)
Streaming audio/video HTTP [RFC 7230] TCP
Interactive games WOW, FPS (proprietary) UDP or TCP