Professional Documents
Culture Documents
Mang-May-Tinh - Ngo-Hong-Son - Chuong-7-0 - Tang-Ung-Dung - (Cuuduongthancong - Com) PDF
Mang-May-Tinh - Ngo-Hong-Son - Chuong-7-0 - Tang-Ung-Dung - (Cuuduongthancong - Com) PDF
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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…
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Khái niệm cơ bản
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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, …)
Network
Chọn ñường và chuyển tiếp gói tin giữa
(IP, ICMP…) các máy, các mạng
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ứng dụng và dịch vụ trên mạng?
MUSIC ONLINE
VoIP
GAME CHAT VoD
ON LINE e-Office
SMS e-BANK
MAIL
SCHOOL
WEB
ON THE YOUTUBE
INTERNET VIDEO
CONFERENCE FTP
EBAY
GOOGLE SKYPE
TELNET
SSH
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ứng dụng và giao thức ứng dụng
Giao thức ứng dụng application
transport
network
ðịnh nghĩa các quy tắc giao tiếp data link
physical
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
application
Cài ñặt giao thức ứng dụng ñể transport
cung cấp dịch vụ network
data link
application
physical
Ví dụ ứng dụng/giao thức: transport
network
Web (HTTP) data link
physical
Mail (SMTP/POP/IMAP) …
6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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 host or host or
và tầng giao vận server server
Socket ñược ñịnh danh bởi
controlled by
Số hiệu cổng app developer
process process
ðịa chỉ IP
socket socket
Kiểu giao thức giao vận
(TCP hay UDP) transport
Internet
transport
layer layer
Socket API (Application services services
Programming Interface): Cho
phép các tiến trình lựa chọn
tham số, lựa chọn dịch vụ… controlled
by OS
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các mô hình ứng dụng
Khách-chủ
P2P
Mô hình lai
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mô hình khách chủ
Khách
client 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
client
lạc trực tiếp với các máy
khách khác
Chủ
client Thường xuyên online ñể
Server
chờ y/c ñến từ máy trạm
Có thể có máy chủ dự
phòng ñể nâng cao hiệu
client năng, phòng sự cố
e.g. Web, Mail, …
10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mô hình ñiểm-ñiểm thuần túy
Peer Peer Không có máy chủ trung
tâm
Các máy có vai trò
ngang nhau
Peer
Peer 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
Peer Peer
11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mô hình lai
Client
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
Server 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…
Client Sau khi kết nối, các máy
Client
sẽ gọi VoIP trực tiếp cho
nhau
Client-Server Comm.
12
P2P Comm.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Case study 1: HTTP và WWW
13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
HTTP và Web
Web clients
WWW: World Wide Web
trao ñổi dữ liệu siêu văn bản
HTML (HyperText Markup htt
Language) trên Internet IE p req
htt ue Web
p res st
HTTP: HyperText Transfer po server
ns
Protocol e
Mô hình Client/Server
Client yêu cầu truy nhập tới các
Firefox
trang web (các ñối tượng web) es
t
u
và hiển thị chúng lên trình duyệt r eq n se
p po
Server: Nhận yêu cầu và trả lời htt s
p re
ht t
cho client
14
Navigator
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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, GET /dccn/index.html HTTP/1.1
HEAD commands) 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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Khuôn dạng HTTP response
status line
(protocol
status code HTTP/1.1 200 OK
status phrase) Connection close
Date: Tue, 16 Mar 2008 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
header
Last-Modified: Mon, 15 Mar 2008 …...
lines
Content-Length: 8990
Content-Type: text/html
17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các liên kết HTTP
HTTP không duy trì HTTP có duy trì
Chỉ một ñối tượng web Nhiều ñối tượng có thể
ñược gửi qua liên kết ñược gửi qua một liên
TCP kết TCP.
Sử dụng mặc ñịnh Sử dụng mặc ñịnh
18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hoạt ñộng của HTTP/1.0
Web client Web server
Time Time
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hoạt ñộng của HTTP/1.1
Web client Web server
Send images 2
Stop-and- Pipeline
request images 10 wait! 20
Time Time
CuuDuongThanCong.com https://fb.com/tailieudientucntt
HTTP/1.1 với pipeline
Web client Web server
21
Time Time
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các phương thức trong thông
ñiệp yêu cầu
HTTP/1.0 HTTP/1.1
GET GET, POST, HEAD
POST PUT
22
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bộ ñệm- Caching
www.xyz.com/index.htm
“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?
24
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sử dụng bộ ñệm web - proxy
25
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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:
27
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Phương thức GET có ñiều kiện
proxy server
Mục ñích: Máy chủ sẽ
không gửi ñối tượng web HTTP request msg
nếu proxy còn lưu giữ thông If-modified-since: <date>
object
tin cập nhật not
Proxy: chỉ ra thời gian cũ HTTP response
modified
của ñối tượng HTTP/1.0
304 Not Modified
If-modified-since: <date>
server: Xác nhận lại có thay
HTTP request msg
ñổi hay không: If-modified-since: <date>
HTTP/1.0 304 Not Modified object
modified
HTTP response
HTTP/1.0 200 OK
<data>
28
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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ẽ?
29
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Case study 2: Email
30
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thư ñiện tử
MUA (Mail User Agent) Giao thức:
Lấy thư từ máy chủ, gửi thư ñến Chuyển thư: STMP-Simple
máy chủ
Mail Transfer Protocol
e.g. Outlook, Thunderbird…
nhận thư
MTA (Mail Transfer Agent): :
Chứa hộp thư ñến của NSD (mail POP – Post Office Protocol
box) IMAP – Internet Mail
Hàng ñợi ñể gửi thư ñi Access Protocol
e.g. Sendmail, MS Exchange…
IMAP IMAP
mail mail
POP POP
user server server user
SMTP
agent agent
SMTP SMTP 31
32
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các giao thức nhận thư
SMTP SMTP access user
user
agent protocol agent
Quota?
33
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
http://mail.hut.edu.vn
http://mail.fit.hut.edu.vn
34
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Khuôn dạng thông ñiệp thư ñiện
tử
SMTP: Giao thức ñể truyền
thư
header
blank
RFC 822: ðịnh nghĩa khuôn line
dạng
Phần ñầu
body
To:
From:
Subject:
Phần thân
mã hóa dưới dạng mã
ASCII
35
CuuDuongThanCong.com https://fb.com/tailieudientucntt
ðể 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
MIME version To: bob@hamburger.edu
Subject: Picture of yummy crepe.
method used MIME-Version: 1.0
to encode data Content-Transfer-Encoding: base64
Content-Type: image/jpeg
multimedia data
type, subtype, base64 encoded data .....
parameter declaration .........................
......base64 encoded data
encoded data
36
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Case Study 3
Ứng dụng truyền tệp
37
CuuDuongThanCong.com https://fb.com/tailieudientucntt
FTP: File Transfer Protocol
TCP control
connection, port 21
user FTP FTP
interface client server
TCP data
user connection, port 20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Lệnh và mã trả lời
Một số ví dụ Ví dụ về mã trả lời
USER username 331 Username OK,
password required
PASS password 125 data connection
LIST : trả về danh sách already open; transfer
starting
file
425 Can’t open data
RETR filename Lấy file connection
STOR filename ðặt file 452 Error writing file
lên máy chủ
39
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ về ftp client
Command line
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
41
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Buổi học tới: Data-link Layer
Các nguyên lý tầng Data-link
Mạng LAN
42
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
43
CuuDuongThanCong.com https://fb.com/tailieudientucntt