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

slide bài giảng môn truyền thông và mạng máy tính chương 7. 0 - tầng ứng dụng

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 (779.74 KB, 43 trang )

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

ng viên: Ngô H

ng S
ơ
n
B

môn Truy

n thông và M

ng máy tính
Khoa
CNTT
-
ðHBK
Hà N

i
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, DNS, P2P…
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 và dịch vụ 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
 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…)


ng d

ng :

Các tiến trình giao tiếp với nhau
trên Internet qua việc trao ñổi
thông ñiệp

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

Cài ñặt giao thức ứng dụng ñể
cung cấp dịch vụ
 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

Chương trình
 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), phần mềm thư ñiện tử
(Thunderbird, Outlook, )
 Cài ñặt các giao thức và sử dụng dịch vụ giao vận
 Chương trình máy chủ
 Cung cấp dịch vụ cho người sử dụng

Tiến trình ứng dụng: chương trình ñang chạy trên
hệ ñiều hành

Các tiến trình giao tiếp?
 Trên một máy: IPC (inter-process communication)
 Giữa các máy trên mạng: qua 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

 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
ñể

ch

y/c
ñế
n t

máy tr

m
 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

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 dữ 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
IP header TCP header Dữ liệu - payloadHTTP header
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

×