Tải bản đầy đủ (.pdf) (40 trang)

Chương 7: Tầng Ứng Dụng pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (781.61 KB, 40 trang )

1
Chương 7:
Tầng ứng dụng
D

án HEDSPI
Khoa CNTT-
ð
HBK Hà N

i
Gi

ng viên: Ngô H

ng S
ơ
n
B

môn Truy

n thông và M

ng máy tính
2
Tổng quan
 Buổi trước: Tầng giao vận

Nguyên lý của tầng giao vận


TCP và UDP

Khái niệm kiểm soát luồng và kiểm soát tắc
nghẽn
 Hôm nay: Tầng ứng dụng

Nguyên lý của tầng ứng dụng

Case study: HTTP, Mail, FTP…
3
Khái niệm cơ bản
4
Nhắc lại về kiến trúc phân tầng
Application
(HTTP, Mail, …)
Transport
(UDP, TCP …)
Network
(IP, ICMP…)
Datalink
(Ethernet, ADSL…)
Physical
(bits…)
Hỗ trợ các ứng dụng trên mạng
Truyền dữ liệu giữa các ứng dụng
Chọn ñường và chuyển tiếp gói tin giữa
các máy, các mạng
Hỗ trợ việc truyền thông cho các thành
phần kế tiếp trên cùng 1 mạng
Truyền và nhận dòng bit trên ñường

truyền vật lý
5
Ứng dụng trên mạng?
CHAT
GAME
ON LINE
WEB
MAIL
SKYPE
YOUTUBE
SSH
TELNET
FTP
VoD
SCHOOL
ON THE
INTERNET
GOOGLE
BITTORENT
E-COMMERCE
EBAY
MUSIC ONLINE
GRID
VIDEO
CONFERENCE
e-BANK
VoIP
NEWS
SMS
e-Office

e-Goverment
6
Ứng dụng và giao thức ứng dụng


ng d

ng :

Các tiến trình (có giao tiếp với
nhau) trên Internet

Hoạt ñộng trên các hệ thống
cuối

Trao ñổi thông ñiệp
 Giao th

c

ng d

ng

ðịnh nghĩa các quy tắc giao tiếp

Sử dụng các dịch vụ giao vận
(TCP/UDP…)
 Ví d
ụ ứ

ng d

ng/giao th

c:

Web (HTTP)

Mail (SMTP/POP/IMAP) …
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
7
Các thành phần của ứng dụng

Giao diện NSD:
 Hỗ trợ cho NSD ñể làm việc với ứng dụng, e.g. trình duyệt
Web (Firefox, IE), chương trình gửi thư (Thunderbird,

Outlook, )
 Cài ñặt các giao thức và sử dụng dịch vụ giao vận

Tiến trình ứng dụng: một chương trình ñang chạy

Các tiến trình giao tiếp ntn?
 Trên một máy: IPC (inter-process communication)
 Giữa các máy trên mạng: Giao thức ứng dụng

Socket
8
Giao tiếp giữa các tiến trình trên
Internet
 Nhắc lại: Socket là một giao
diện giữa tiến trình ứng dụng
và tầng giao vận
 Socket ñược ñịnh danh bởi
 Số hiệu cổng
 ðịa chỉ IP
 Kiểu giao thức giao vận
(TCP hay UDP)
 Socket API (Application
Programming Interface): Cho
phép các tiến trình lựa chọn
tham số, lựa chọn dịch vụ…
process
transport
layer
services
socket

host or
server
process
transport
layer
services
socket
host or
server
Internet
controlled by
app developer
controlled
by OS
9
Các mô hình ứng dụng
 Khách-chủ
 P2P
 Mô hình lai
10
Mô hình khách chủ
 Khách

Gửi yêu cầu truy cập dịch vụ
ñến máy chủ

Có thể có ñịa chỉ IP ñộng hay
vào mạng không thường xuyên

Về nguyên tắc, không liên lạc

trực tiếp với các máy khách
khác
 Chủ

Thường xuyên online

ðịa chỉ IP tĩnh

Có thể có máy chủ dự phòng ñể
nâng cao hiệu năng, phòng sự
cố
 e.g. Web, Mail, …
client
client
client
client
Server
11
Mô hình ñiểm-ñiểm thuần túy
 Không có máy chủ trung tâm
 Các máy có vai trò ngang
nhau
 Hai máy bất kỳ có thể liên lạc
trực tiếp với nhau
 Có thể có IP ñộng, không cần
vào mạng thường xuyên
 E.g. Gnutella
PeerPeer
Peer
Peer

Peer
Peer
12
Mô hình lai

Một máy chủ trung tâm
ñể quản lý NSD, thông
tin tìm kiếm…

Các máy khách sẽ giao
tiếp trực tiếp với nhau
sau khi ñăng nhập

E.g. Skype
 Máy chủ Skype quản lý
các phiên ñăng nhập, mật
khẩu…
 Sau khi kết nối, các máy
sẽ gọi VoIP trực tiếp cho
nhau
Server
Client
Client
Client
Client-Server Comm.
P2P Comm.
13
Case study 1: HTTP và WWW
14
HTTP và Web

 WWW: World Wide Web

trao ñổi tài liệu siêu văn bản
HTML (HyperText Markup
Language) trên Internet
 HTTP: HyperText Transfer
Protocol

Mô hình Client/Server

Client yêu cầu truy nhập tới các
trang web (các ñối tượng web)
và hiển thị chúng lên trình duyệt

Server: Nhận yêu cầu và trả lời
cho client
h
t
t
p

r
e
q
u
e
s
t
h
t

t
p

r
e
q
u
e
s
t
h
t
t
p

r
e
s
p
o
n
s
e
h
t
t
p

r
e

s
p
o
n
s
e
Web clients
Web
server
IE
Firefox
Navigator
15
HTTP hoạt ñộng ntn?

Server mở một TCP socket chờ tại cổng 80 (default)

Client khởi tạo một liên kết TCP tới server

Server chấp nhận yêu cầu tạo liên kết

Trao ñổi thông ñiệp HTTP (giao thức ứng dụng)
 HTTP Request
 HTTP Response

ðóng liên kết TCP
16
Khuôn dạng HTTP request

Mã ASCII (dễ dàng ñọc ñược dưới dạng văn bản)

GET /dccn/index.html HTTP/1.1
Host: www.it-hut.edu.vn
User-agent: Mozilla/4.0
Connection: close
Accept-language:en-us
(extra carriage return, line feed)
request line
(GET, POST,
HEAD commands)
header
lines
CR, LF
indicates end
of message
17
Khuôn dạng HTTP response
HTTP/1.1 200 OK
Connection close
Date: Tue, 16 Mar 2008 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 15 Mar 2008 …
Content-Length: 8990
Content-Type: text/html
data data data data data
status line
(protocol
status code
status phrase)
header
lines

data, e.g.,
requested
HTML file
18
Các liên kết HTTP
HTTP không duy trì

Chỉ một ñối tượng web
ñược gửi qua liên kết
TCP

Sử dụng mặc ñịnh
trong HTTP/1.0

HTTP 1.0: RFC 1945
HTTP có duy trì

Nhiều ñối tượng có thể
ñược gửi qua một liên
kết TCP.

Sử dụng mặc ñịnh
trong HTTP/1.1

HTTP 1.1: RFC 2068
19
Hoạt ñộng của HTTP/1.0
Time Time
Web client Web server
T

C
P

C
o
n
n
.

R
e
q
.
G
E
T

/
i
n
d
e
x
.
h
t
m
l
i
n

d
e
x
.
h
t
m
l
A
c
c
e
p
t
e
d
Init TCP connection
Send HTTP response:
index.html
Close TCP connection
OK, send HTTP request
Accept TCP connection
G
E
T

i
m
g
1

.
j
p
g
Parse index.html: has 10
reference to 10 images
Repeat above steps 10
times!
Send images 1
Close TCP connection
T
C
P

C
o
n
n
.

R
e
q
.
i
m
g
1
.
j

p
g
Accept TCP connection
2xRTT
20
Hoạt ñộng của HTTP/1.1
Time Time
Web client Web server
T
C
P

C
o
n
n
.

R
e
q
.
G
E
T

/
i
n
d

e
x
.
h
t
m
l
G
E
T

i
n
d
e
x
.
h
t
m
l
A
c
c
e
p
t
e
d
Init TCP connection

Send HTTP
response: index.html
OK, send HTTP request
Accept TCP connection
G
E
T

i
m
g
1
.
j
p
g
request images 2
Parse index.html: has 10
reference to 10 images
request images 1
Send images 1
Send images 2
request images 10
Stop-and-
wait!
Pipeline
21
HTTP/1.1 với pipeline
Time Time
Web client Web server

T
C
P

C
o
n
n
.

R
e
q
.
G
E
T

/
i
n
d
e
x
.
h
t
m
l
G

E
T

i
n
d
e
x
.
h
t
m
l
A
c
c
e
p
t
e
d
Init TCP connection
Send HTTP
response: index.html
OK, send HTTP request
Accept TCP connection
Parse index.html: has 10
reference to 10 images
request images 1 -10
Send images 1-10

22
Các phương thức trong thông
ñiệp yêu cầu
HTTP/1.0
 GET
 POST
 HEAD

yêu cầu máy chủ loại một
số ñối tượng ra khỏi thông
ñiệp trả lời
HTTP/1.1
 GET, POST, HEAD
 PUT

tải file lên máy chủ, ñường
dẫn chỉ ra trong URL, file
ñể trong body
 DELETE

Xóa file chỉ ra bới ñường
dẫn
Lưu ý: Có 2 cách ñể gửi tham số ñến server: POST hoặc GET
/>23
Mã trạng thái trả lời
200 OK

request succeeded, requested object later in
this message
301 Moved Permanently


requested object moved, new location specified
later in this message (Location:)
400 Bad Request

request message not understood by server
404 Not Found

requested document not found on this server
505 HTTP Version Not Supported
Trong dòng ñầu tiên của thông ñiệp trả lời, ví dụ
24
Bộ ñệm- Caching
 “Cache”: Bộ nhớ ñệm
 Khái niệm bộ nhớ cache
trong máy tính

L1 cache, L2 cache

“cache miss”, “cache hit”

Xem xét trường hợp sau:

Một tổ chức có một ñường
nối tới Internet

Tất cả lưu lượng truy cập
web ñều ñi qua liên kết này

Nhiều NSD web có thể

cùng truy nhập tới cùng một
nội dung

Giải pháp cải tiến?
www.xyz.com/index.htm
25
Sử dụng bộ ñệm web - proxy
 NSD ñặt tham số kết nối
truy cập web của trình
duyệt qua một máy chủ
proxy
 trình duyệt gửi yêu cấu
ñến proxy

Miss: Proxy gửi yêu cầu
tới máy chủ web, trả lời
trình duyệt và lưu ñệm
ñối tượng web

Hit: Proxy trả ñối tượng
web cho trình duyệt
client
Proxy
server
client
H
T
T
P


r
e
q
u
e
s
t
H
T
T
P

r
e
s
p
o
n
s
e
H
T
T
P

r
e
q
u
e

s
t
H
T
T
P

r
e
q
u
e
s
t
Web
server
H
T
T
P

r
e
s
p
o
n
s
e
H

T
T
P

r
e
s
p
o
n
s
e

×