哈工大计算机学院李全龙Computer Networks 2: Application Layer 1Chapter 2: Application Layer
Our goals: conceptual, implementation aspects of network application protocols transport-layer service models client-server paradigm
peer-to-peer paradigm
learn about protocols
by examining popular application-level protocols
HTTP FTP
SMTP / POP3 / IMAP
DNS
programming network
applications
socket API
哈工大计算机学院李全龙Computer Networks 2: Application Layer 2
Some network apps
E-mail Web
Instant messaging Remote login P2P file sharing Multi-user network
games
Streaming stored video clips
Internet telephone Real-time video
conference
Massive parallel computing ……
哈工大计算机学院李全龙Computer Networks
2: Application Layer 3Creating a network app
Write programs that
run on different end systems and
communicate over a network.
e.g., Web: Web server software communicates with browser software
little software written for devices in network core
network core devices do not run user application code
application on end systems allows for rapid app
development, propagation
application transport network data link physical
application transport network data link physical
application transport network data link physical
哈工大计算机学院李全龙Computer Networks 2: Application Layer 4
Chapter 2: Application layer
2.1 Principles of
network applications 2.2 Web and HTTP 2.3 FTP
2.4 Electronic Mail
SMTP, POP3, IMAP
2.5 DNS
2.6 P2P file sharing 2.7 Socket programming
with TCP
2.8 Socket programming with UDP
哈工大计算机学院李全龙Computer Networks 2: Application Layer 5Application architectures
Client-server Peer-to-peer (P2P)
Hybrid of client-server and P2P
哈工大计算机学院李全龙Computer Networks 2: Application Layer 6
Client-server architecture
server:
always-on host
permanent IP address
server farms for scaling clients:
communicate with server
may be intermittently connected
may have dynamic IP addresses
do not communicate directly with each other