Chapter 2: Application Layer: (PART 2)
Chapter 2: Application Layer: (PART 2)
Outline
Web and HTTP
FTP
Electronic Mail
SMTP, POP3, IMAP
DNS
P2P Applicaitons
3
FTP
FTP: the file transfer protocol
It is used to transfer to/from remote host
Client/server model
Clientside initiates transfer
Server is the remote host
FTP server: port 21
10
FTP
FTP: two connections one for control, the other for data
TCP control connection server port 21
TCP data connection server port 20
The control connection is out of band
11
Electronic Mail
Three major components
User agents
Mail reader
Composing, editing, reading mail messages
Outlook, Thunderbird
Mail servers
Mailbox contains incoming messages for user
Message queue
Simple mail transfer protocol: SMTP
Between mail servers to send email messages
12
Electronic Mail
SMTP uses persistent connections
SMTP requires message to be in 7-bit ASCII
Comparison with HTTP
HTTP: pull
SMTP: push
Both have ASCII command/response interaction
13
Electronic Mail
Mail access protocol: Retrieval from server
POP: Post Office Protocol
IMAP: Internet Mail Access Protocol
HTTP: Gmail, Hotmail, Yahoo
14
DNS
Domain Name System (DNS)
Distributed database
Implemented in hierarchy of many name servers
Application-layer protocol
Core internet function
Hostname to IP address translation
Host aliasing
Mail server aliasing
Load distribution
15
DNS
Domain Name System (DNS)
Why not centralize DNS?
Single point of failure
Traffic volume
Distant centralized database
Maintenance
16
P2P Applications
No always on server
End systems directly communicate
Peers may change IP addresses
Examples:
File distribution (BitTorrent)
Streaming
VoIP (Skype)
17
P2P Applications
P2P file distribution: BitTorrent
Tracker: Tracks peers participating in torrent
Torrent: Group of peere exchanging chunks of a file
Churn: Peers may come and go
Once peer has entire file, it may leave or remain in torrent