Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 1) - Ngô Hồng Sơn

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

pdf 43 trang yennguyen 2360
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 1) - Ngô Hồng Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 1) - Ngô Hồng Sơn

Bài giảng Mạng máy tính - Chương 7: Tầng ứng dụng (Phần 1) - Ngô Hồng Sơn
1Chươ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
2Tổ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
3Khái niệm cơ bản
4Nhắ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?
CHATGAME 
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
7Cá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
8Giao 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
9Cá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
http
 request
h t t p
r e q u
e s t
h t t p
r e s
p o n
s e
http
 response
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
TCP
 Conn.
 Req.
GET
 /index.html
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
GET
 img1.jpg
Parse index.html: has 10 
reference to 10 images
Repeat above steps 10 
times!
Send images 1
Close TCP connection
TCP
 Conn.
 Req.
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
TCP
 Conn.
 Req.
GET
 /index.html
GET
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
GET
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
TCP
 Conn.
 Req.
GET
 /index.html
GET
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
HTTP request H T
T P 
r e q
u e s
t
Web 
server
HTTP response H T
T P 
r e s
p o n
s e
26
Web caches
 Proxy: Vừa là client, vừa là server
 Sử dụng bởi các ISP nhỏ, các tổ chức như trường
học, công ty
 Ảnh hưởng của proxy
 Làm giảm lưu lượng web trên ñường ra Internet
 Có thể làm giảm thời gian ñáp ứng
 Thử phân tích vài trường hợp
 cache hit
 cache miss
 proxy bị quá tải
 Trang web thay ñổi/trang web ñộng?
27
Local cache
 Các trang web còn có thể ñược lưu trên máy
cục bộ
 Sử dụng local cache ñể
 Duyệt web offline
 Duyệt các trang web hiệu quả hơn:
28
Phương thức GET có ñiều kiện
 Mục ñích: Máy chủ sẽ
không gửi ñối tượng web 
nếu proxy còn lưu giữ thông
tin cập nhật
 Proxy: chỉ ra thời gian cũ
của ñối tượng
If-modified-since: 
 server: Xác nhận lại có thay
ñổi hay không: 
HTTP/1.0 304 Not Modified
proxy server
HTTP request msg
If-modified-since: 
HTTP response
HTTP/1.0 
304 Not Modified
object 
not 
modified
HTTP request msg
If-modified-since: 
HTTP response
HTTP/1.0 200 OK
object 
modified
29
Quiz
 Hãy cho biết liên kết TCP ñược thiết lập giữa
các máy ntn trong trường hợp dùng web 
proxy?
 Hình vẽ?
30
Case study 2: Email
31
Thư ñiện tử
 MUA (Mail User Agent)
 Lấy thư từ máy chủ, gửi thư ñến
máy chủ
 e.g. Outlook, Thunderbird
 MTA (Mail Transfer Agent): : 
 Chứa hộp thư ñến của NSD (mail 
box)
 Hàng ñợi ñể gửi thư ñi
 e.g. Sendmail, MS Exchange
user
agent
mail
server
mail
server user
agent
 Giao thức:
 Chuyển thư: STMP-Simple 
Mail Transfer Protocol
 nhận thư
 POP – Post Office Protocol
 IMAP – Internet Mail 
Access Protocol
SMTPPOP
IMAP
Mail box Message queue
IMAP
POP
SMTPSMTP
32
Giao thức SMTP
 RFC 2821
 TCP, port 25: Chuyển thư từ client ñến server và
giữa các server với nhau
 Tương tác yêu cầu/trả lời
 Yêu cầu: Lệnh với mã ASCII
 Trả lời: mã trạng thái và dữ liệu
33
Các giao thức nhận thư
 POP: Post Office Protocol [RFC 1939]
 ðăng nhập và lấy hết thư về
 IMAP: Internet Mail Access Protocol [RFC 1730]
 Phức tạp hơn POP
 Cho phép lưu trữ và xử lý thư trên máy chủ
 Quota?
user
agent
sender’s mail 
server
user
agent
SMTP SMTP access
protocol
receiver’s mail 
server
34
Web Mail
 Sử dụng Web browser như một MUA
 MUA và MTA giao tiếp thông qua HTTP 
 Mails ñược lưu trữ trên máy chủ
 E.g. 
 Gmail, 
 Hotmail, 
 Yahoo! Mail, etc.
 Ngày nay, rất nhiều các MTA cho phép truy cập
thông qua giao diện web
 
 
35
Khuôn dạng thông ñiệp thư ñiện
tử
SMTP: Giao thức ñể truyền
thư
RFC 822: ðịnh nghĩa khuôn
dạng
 Phần ñầu
 To:
 From:
 Subject:
 Phần thân
 mã hóa dưới dạng mã
ASCII
header
body
blank
line
36
ðể chuyển dữ liệu ña phương tiện: 
multimedia extensions
 MIME: multimedia mail extension, RFC 2045, 2056
 Thêm một dòng trong phần ñầu chỉ rõ khuôn dạng dữ
liệu gửi ñi
From: alice@crepes.fr 
To: bob@hamburger.edu 
Subject: Picture of yummy crepe. 
MIME-Version: 1.0 
Content-Transfer-Encoding: base64 
Content-Type: image/jpeg 
base64 encoded data ..... 
......................... 
......base64 encoded data 
multimedia data
type, subtype, 
parameter declaration
method used
to encode data
MIME version
encoded data
37
Case Study 3
Ứng dụng truyền tệp
38
FTP: File Transfer Protocol
 Mô hình Client-server
 Trao ñổi file giữa các máy
 RFC 959
 Sử dụng TCP, cổng 20, 21
TCP data 
connection, port 20
FTP
server
user
interface
FTP
client
local file system remote file system
user 
TCP control 
connection, port 21
 ðiều khiển Out-of-band : 
 Lệnh của FTP : cổng 21
 Dữ liệu: cổng 20
 NSD phải ñăng nhập trước khi
truyền file
 Một số server cho phép NSD 
với tên là anonymous
39
Lệnh và mã trả lời
Một số ví dụ
 USER username
 PASS password
 LIST : trả về danh sách
file
 RETR filename Lấy file
 STOR filename ðặt file 
lên máy chủ
Ví dụ về mã trả lời
 331 Username OK, 
password required
 125 data connection 
already open; transfer 
starting
 425 Can’t open data 
connection
 452 Error writing file
40
Ví dụ về ftp client
C:\Documents and Settings\hongson>ftp
ftp> ?
Commands may be abbreviated. Commands are:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
Command line
GUI FTP clients: IE, Firefox, GFTP, .
41
Tóm tắt
 Mô hình ứng dụng
 Client-server vs. P2P 
 Một số ứng dụng và giao thức
 HTTP
 Mail
 FTP
 Về nhà, hãy tìm hiểu thêm
 P2P
 
 Giao diện lập trình Socket
42
Buổi học tới: Data-link Layer
 Các nguyên lý tầng Data-link
 Mạng LAN
43
Acknowledgment
 Bài giảng có sử dụng các tư liệu và hình vẽ
từ:
 Tài liệu của trường ñại học Keio và Ritsumekan
 Tài liệu “Computer Network, a top down 
approach” của J.F Kurose và K.W. Ross

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_7_tang_ung_dung_phan_1_ngo_ho.pdf