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

mạng máy tính ngô hồng sơn chương 7 0 tang ứng dụng sinhvienzone com

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

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

1

SinhVienZone.com

https://fb.com/sinhvienzonevn


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…
2

SinhVienZone.com

https://fb.com/sinhvienzonevn



Khái niệm cơ bản

3

SinhVienZone.com

https://fb.com/sinhvienzonevn


Nhắc lại về kiến trúc phân tầng
Application

Hỗ trợ các ứng dụng trên mạng

(HTTP, Mail, …)

Transport

Truyền dữ liệu giữa các ứng dụng

(UDP, TCP …)

Network
(IP, ICMP…)

Datalink
(Ethernet, ADSL…)

Physical
(bits…)


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ý
4

SinhVienZone.com

https://fb.com/sinhvienzonevn


Ứng dụng và dịch vụ trên mạng?
MUSIC ONLINE
VoIP

GAME
ON LINE

CHAT

VoD
e-Office
e-BANK

SMS
MAIL
SCHOOL

ON THE
INTERNET

WEB

YOUTUBE
VIDEO
CONFERENCE

GOOGLE
TELNET

FTP
EBAY

SKYPE
SSH

NEWS

BITTORENT

E-COMMERCE

GRID
e-Goverment

SinhVienZone.com

https://fb.com/sinhvienzonevn


5


Ứ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…)

application
transport
network
data link
physical

Ứ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:

application
transport
network

data link
physical

Web (HTTP)
Mail (SMTP/POP/IMAP) …

application
transport
network
data link
physical

6

SinhVienZone.com

https://fb.com/sinhvienzonevn


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
7

SinhVienZone.com

https://fb.com/sinhvienzonevn


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ụ…

host or
server

host or

server

process

controlled by
app developer

socket

socket
transport
layer
services

process

Internet

transport
layer
services

controlled
by OS
8

SinhVienZone.com

https://fb.com/sinhvienzonevn



Các mô hình ứng dụng
Khách-chủ
P2P
Mô hình lai

9

SinhVienZone.com

https://fb.com/sinhvienzonevn


Mô hình khách chủ
client

client

client

Server

client

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, …
10

SinhVienZone.com

https://fb.com/sinhvienzonevn


Mô hình ñiểm-ñiểm thuần túy
Peer

Peer

Peer
Peer

Peer

Peer

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
11

SinhVienZone.com

https://fb.com/sinhvienzonevn


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

Client

Server

Client

Client


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

Client-Server Comm.
12

P2P Comm.
SinhVienZone.com

https://fb.com/sinhvienzonevn


Case study 1: HTTP và WWW

13

SinhVienZone.com

https://fb.com/sinhvienzonevn


HTTP và Web
WWW: World Wide Web

Web clients


trao ñổi dữ liệu siêu văn bản
HTML (HyperText Markup
Language) trên Internet

IE

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

Firefox

htt
p

htt
p

req
ue
st
res
po
ns
e


server

t
es
u
eq
se
r
n
p
po
htt
s
re
p
t
ht
14

Navigator
SinhVienZone.com

Web

https://fb.com/sinhvienzonevn


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 HTTP header

Dữ liệu - payload
15

SinhVienZone.com

https://fb.com/sinhvienzonevn


Khuôn dạng HTTP request
Mã ASCII (dễ dàng ñọc ñược dưới dạng văn bản)
request line
(GET, POST,
HEAD commands)

GET /dccn/index.html HTTP/1.1
Host: www.it-hut.edu.vn
User-agent: Mozilla/4.0
header Connection: close
lines Accept-language:en-us

CR, LF


(extra carriage return, line feed)

indicates end
of message
16

SinhVienZone.com

https://fb.com/sinhvienzonevn


Khuôn dạng HTTP response
status line
(protocol
status code
status phrase)
header
lines

data, e.g.,
requested
HTML file

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 ...

17

SinhVienZone.com

https://fb.com/sinhvienzonevn


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

18

SinhVienZone.com


https://fb.com/sinhvienzonevn


Hoạt ñộng của HTTP/1.0
Web client

Web server

TCP C
onn. R
eq.

Init TCP connection

Accept TCP connection
OK, send HTTP request

GET /index
.html

index.

Parse index.html: has 10
reference to 10 images

html

Close TCP connection


TCP C
onn. R
eq.

ted
Accep

Repeat above steps 10
times!

GET im
g1.jpg

pg
img1.j

2xRTT

Accept TCP connection

Send images 1

Close TCP connection
19

Time
SinhVienZone.com

Send HTTP response: index.html


Time
https://fb.com/sinhvienzonevn


Hoạt ñộng của HTTP/1.1
Web client

Web server

TCP C
onn. R
eq.

Init TCP connection

ted
Accep

OK, send HTTP request
Parse index.html: has 10
reference to 10 images
request images 1

GET /index
.html

index.

html


Send HTTP
response: index.html

GET…

pg
img1.j

request images 2

Accept TCP connection

Send images 1

GET…

Send images 2
request images 10

Time
SinhVienZone.com

Stop-andwait!

Pipeline
20

Time
https://fb.com/sinhvienzonevn



HTTP/1.1 với pipeline
Web client

Web server

TCP C
onn. R
eq.

Init TCP connection

ted
Accep

OK, send HTTP request
Parse index.html: has 10
reference to 10 images
request images 1 -10

GET /index
.html

index.

html

Accept TCP connection

Send HTTP

response: index.html

GET…

Send images 1-10

21

Time
SinhVienZone.com

Time
https://fb.com/sinhvienzonevn


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
http://www.google.com/search?q=computer+network&flags=68&num=10
22

SinhVienZone.com

https://fb.com/sinhvienzonevn


Mã trạng thái trả lời
Trong dòng ñầu tiên của thông ñiệp trả lời, ví dụ
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
23

SinhVienZone.com

https://fb.com/sinhvienzonevn


Bộ ñệm- Caching
“Cache”: Bộ nhớ ñệm
Khái niệm bộ nhớ cache
trong máy tính

www.xyz.com/index.htm

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?
24

SinhVienZone.com


https://fb.com/sinhvienzonevn


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

Web
server
HT
T

clientHTTP

Pr

eq u

Proxy

server

est

r es
pon
se
st
e
u
eq
r
P
n se
T
o
p
HT
es
r
TP
T
H

es t
u
q
e
Pr
T

nse
o
HT
p
r es
P
T
HT

client

25

SinhVienZone.com

https://fb.com/sinhvienzonevn


×