Bài giảng Mạng máy tính - Chapter 2: Application Layer - Nguyễn Lê Duy Lai

Computer Networks  
Lectured by:  
Nguyen Le Duy Lai  
(lai@hcmut.edu.vn)  
Computer  
Networking: A Top  
Down Approach  
7th Edition, Global Edition  
Jim Kurose, Keith Ross  
Pearson  
April 2016  
Introduction 1-1  
Chapter 2  
Application Layer  
Computer  
Networking: A Top  
Down Approach  
7th Edition, Global Edition  
Jim Kurose, Keith Ross  
Pearson  
April 2016  
Application Layer  
2-2  
Chapter 2: outline  
2.5 P2P applications  
2.1 principles of network  
applications  
2.6 video streaming and  
Content Distribution  
Networks (CDNs)  
2.2 Web and HTTP  
2.3 electronic mail  
SMTP, POP3, IMAP  
2.4 DNS  
2.7 socket programming  
with UDP and TCP  
Application Layer 2-3  
Chapter 2: application layer  
our goals:  
conceptual,  
learn about protocols by  
examining popular  
application-level  
protocols  
implementation aspects  
of network application  
protocols  
HTTP  
FTP  
SMTP / POP3 / IMAP  
DNS  
transport-layer  
service models  
client-server  
creating network  
paradigm  
applications  
peer-to-peer (P2P)  
socket API  
paradigm  
content distribution  
networks (CDNs)  
Application Layer 2-4  
Some network apps  
e-mail  
web  
text messaging  
remote login  
P2P file sharing  
voice over IP (e.g.,  
Skype)  
real-time video  
conferencing  
social networking  
search  
…  
multi-user network  
games  
…  
streaming stored  
video (YouTube, Hulu,  
Netflix)  
Application Layer 2-5  
application  
transport  
network  
data link  
physical  
Creating a network app  
write programs that:  
run on (different) end systems  
communicate over network  
e.g., web server software  
communicates with browser  
software  
application  
transport  
network  
data link  
physical  
no need to write software  
for network-core devices  
application  
transport  
network  
data link  
physical  
network-core devices do not  
run user applications  
applications on end systems  
allows for rapid app  
development, propagation  
Application Layer 2-6  
Application architectures  
possible structure of applications:  
client-server  
peer-to-peer (P2P)  
Application Layer 2-7  
Client-server architecture  
server:  
always-on host  
permanent IP address  
data centers for scaling  
clients:  
communicate with server  
may be intermittently  
client/server  
connected  
may have dynamic IP  
addresses  
do not communicate directly  
with each other  
Application Layer 2-8  
P2P architecture  
no always-on server (peer)  
peer-peer  
arbitrary end systems  
directly communicate  
peers request service from  
other peers, and 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  
Application Layer 2-9  
Processes communicating  
clients, servers  
process: program running  
within a host  
client process: process that  
within same host, two  
processes communicate  
using inter-process  
communication (defined by  
OS)  
initiates communication  
server process: process that  
waits to be contacted  
processes in different hosts  
communicate by exchanging  
messages  
aside:applications with P2P  
architectures have client  
processes & server  
processes  
Application Layer 2-10  
Sockets  
process sends/receives messages to/from its socket  
socket analogous to door  
sending process shoves message out door (or socket)  
sending process relies on transport infrastructure on  
other side of door to deliver message to socket at  
receiving process  
application  
application  
socket  
controlled by  
app developer  
process  
process  
transport  
transport  
controlled  
by OS  
network  
link  
network  
link  
Internet  
physical  
physical  
Application Layer 2-11  
Addressing processes  
identifier includes both IP  
address and port numbers  
associated with process on  
host.  
example of port numbers:  
HTTP server: 80  
to receive messages,  
process must have identifier  
host device has unique 32-  
bit IP address  
Q: does IP address of host on  
which process runs suffice for  
identifying the process?  
SMTP mail server: 25  
E.g., to send HTTP message  
to gaia.cs.umass.edu web  
server:  
A: no, many processes can  
be running on same host  
IP address: 128.119.245.12  
port number: 80  
more shortly…  
Application Layer 2-12  
App-layer protocol defines  
types of messages  
open protocols:  
exchanged,  
defined in RFCs  
allows for interoperability  
e.g., HTTP, SMTP  
proprietary protocols:  
e.g., Skype  
e.g., request, response  
message syntax:  
what fields in messages  
& how fields are  
delineated  
message semantics  
meaning of information  
in fields  
rules for when and how  
processes send & respond  
to messages  
Application Layer 2-13  
What transport service does an app need?  
data integrity  
some apps (e.g., file transfer,  
throughput  
some apps (e.g.,  
multimedia) require  
minimum amount of  
throughput to be  
web transactions) require  
100% reliable data transfer  
other apps (e.g., audio) can  
effective”  
tolerate some loss  
other apps (elastic apps)  
make use of whatever  
throughput they get  
timing  
some apps (e.g., Internet  
telephony, interactive  
games) require low delay  
to be effective”  
security  
encryption, data integrity,  
Application Layer 2-14  
Transport service requirements: common apps  
application  
throughput  
data loss  
time sensitive  
file transfer  
e-mail  
Web documents  
real-time audio  
/video  
elastic  
no loss  
no  
no loss  
elastic  
no  
no loss  
loss-tolerant  
elastic  
no  
audio: 5kbps-1Mbps  
video:10kbps-5Mbps  
same as above  
few kbps up  
elastic  
yes, 100s msec  
stored audio/video  
interactive games  
text messaging  
loss-tolerant  
loss-tolerant  
no loss  
yes, few secs  
yes, 100s msec  
yes and no  
Application Layer 2-15  
Internet transport protocols services  
TCP service:  
connection-oriented: setup  
required between client and  
server processes  
reliable transport between  
sending and receiving  
processes  
UDP service:  
connectionless  
unreliable data transfer  
between sending and  
receiving process  
does not provide: reliability,  
flow control, congestion  
control, timing,  
flow control: sender wont  
overwhelm receiver  
throughput guarantee,  
security, or connection  
setup,  
congestion control: throttle  
sender when network  
overloaded  
does not provide: timing,  
minimum throughput  
guarantee, security  
Q: why bother? Why is  
there a UDP?  
Application Layer 2-16  
Internet apps: application, transport protocols  
application  
layer protocol  
underlying  
transport protocol  
application  
SMTP [RFC 2821]  
Telnet [RFC 854]  
HTTP [RFC 2616]  
FTP [RFC 959]  
HTTP (e.g., YouTube),  
RTP [RFC 1889]  
SIP, RTP, proprietary  
(e.g., Skype)  
e-mail  
remote terminal access  
Web  
TCP  
TCP  
TCP  
TCP  
TCP or UDP  
file transfer  
streaming multimedia  
Internet telephony  
TCP or UDP  
Application Layer 2-17  
Securing TCP  
TCP & UDP  
SSL is at app layer  
no encryption  
apps use SSL libraries, that  
talkto TCP  
SSL socket API  
E.g., cleartext passwords  
sent into socket traverse  
Internet encrypted  
E.g., Passwords sent into  
socket traverse Internet in  
cleartext  
SSL  
provides encrypted TCP  
connection  
see Chapter 8  
data integrity  
end-point authentication  
Application Layer 2-18  
Chapter 2: outline  
2.5 P2P applications  
2.1 principles of network  
applications  
2.6 video streaming and  
content distribution  
networks  
2.2 Web and HTTP  
2.3 electronic mail  
SMTP, POP3, IMAP  
2.4 DNS  
2.7 socket programming  
with UDP and TCP  
Application Layer 2-19  
Web and HTTP  
First, a review…  
web page consists of objects  
object can be HTML file, JPEG image, Java applet,  
audio file,…  
web page consists of base HTML-file which  
includes several referenced objects  
each object is addressable by a URL, e.g.,  
path name  
host name  
Application Layer 2-20  
Tải về để xem bản đầy đủ
pdf 107 trang myanh 13760
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chapter 2: Application Layer - Nguyễn Lê Duy Lai", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chapter_2_application_layer_nguyen_l.pdf