Bài giảng Mạng máy tính - Chương 2: Tầng ứng dụng - Bùi Trọng Tùng

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 )

 Cung cấp các dịch vụ trên

mạng.

 Trong mô hình TCP/IP không

có 2 tầng trình diễn và tầng

phiên, nhưng các giao thức

tầng ứng dụng phải cung cấp

các chức năng của 2 tầng

này (biểu diễn dữ liệu, điều

khiển phiên )

Ứng dụng mạng

 Hoạt động trên các hệ thống

đầu cuối (end system)

 Cài đặt giao thức ứng dụng để

cung cấp dịch vụ

 Gồm có 2 tiến trình giao tiếp

với nhau qua môi trường

mạng:

 Client: cung cấp giao diện NSD,

gửi thông điệp yêu cầu dịch vụ

 Server: cung cấp dịch vụ, trả

thông điệp đáp ứng

 Ví dụ: Web

 Web browser (trình duyệt Web):

Chrome, Firefox

 Web server: Apache, Tomcat

application

transport

network

data link

physical

application

transport

network

data link

physical

application

transport

network

data link

physical

 

pdf 28 trang kimcuc 2660
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 2: Tầng ứng dụng - Bùi Trọng Tùng", để 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 2: Tầng ứng dụng - Bùi Trọng Tùng

Bài giảng Mạng máy tính - Chương 2: Tầng ứng dụng - Bùi Trọng Tùng
1Chương 2 
Tầng ứng dụng
1
1. Tổng quan về tầng ứng 
dụng
2
2Nhắ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)
 Cung cấp các dịch vụ trên 
mạng.
 Trong mô hình TCP/IP không 
có 2 tầng trình diễn và tầng 
phiên, nhưng các giao thức 
tầng ứng dụng phải cung cấp 
các chức năng của 2 tầng 
này (biểu diễn dữ liệu, điều 
khiển phiên) 
3
Ứ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 4
3Ứng dụng mạng
 Hoạt động trên các hệ thống 
đầu cuối (end system)
 Cài đặt giao thức ứng dụng để 
cung cấp dịch vụ
 Gồm có 2 tiến trình giao tiếp 
với nhau qua môi trường 
mạng:
 Client: cung cấp giao diện NSD, 
gửi thông điệp yêu cầu dịch vụ
 Server: cung cấp dịch vụ, trả 
thông điệp đáp ứng
 Ví dụ: Web 
 Web browser (trình duyệt Web): 
Chrome, Firefox
 Web server: Apache, Tomcat
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
5
Giao tiếp giữa các tiến trình ứng dụng
 Socket: SAP của tầng giao vận
 Các tiến trình ứng dụng sử dụng socket gọi dịch vụ của tầng giao 
vận để trao đổi thông điệp
 Định danh cho tiến trình bởi: Địa chỉ IP, Số hiệu cổng
 Ví dụ: tiến trình web server trên máy chủ của SoICT có 
định danh 202.191.56.65:80
Network
controlled
by OS
controlled by
app developer
transport
application
physical
link
network
process
transport
application
physical
link
network
process
socket
6
4Các mô hình ứng dụng
 Khách-chủ (Client/Server)
 Ngang hàng (P2P: Peer-to-peer)
 Mô hình lai 
7
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
8
5Mô hình ngang hàng 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
9
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.
10
62. Tên miền và dịch vụ DNS
11
Giới thiệu chung
 Tên miền: định danh trên tầng ứng dụng cho các nút 
mạng
 Trên Internet được quản lý tập trung
 Quốc tế: ICANN
 Việt Nam: VNNIC
 DNS(Domain Name System): hệ thống tên miền
 Không gian thông tin tên miền
 Gồm các máy chủ quản lý thông tin tên miền và cung cấp dịch vụ 
DNS
 Vấn đề phân giải tên miền sang địa chỉ IP
 Người sử dụng dùng tên miền để truy cập dịch vụ
 Máy tính và các thiết bị mạng không sử dụng tên miền mà dùng 
địa chỉ IP khi trao đổi dữ liệu
 Làm thế nào để chuyển đổi tên miền sang địa chỉ IP?
12
7Chuyển đổi địa chỉ và ví dụ
NSD
Tôi muốn vào địa chỉ 
www.soict.hust.edu.vn
Máy chủ tên 
miền
Mời truy cập vào
202.191.56.65
Máy chủ web
202.191.56.65
Cần có chuyển 
đổi địa chỉ 
• Máy tính dùng địa chỉ IP
• NSD dùng tên miền
Bạn cũng có thể 
nhập địa chỉ trực tiếp 13
Quy tắc đặt tên miền
 Quy tắc đặt tên miền:
 Độ dài tối đa : 255 ký tự
 Độ dài tối đa của label : 63 ký tự
 Label phải bắt đầu bằng số hoặc chữ, chỉ 
chứa số, chữ, “-“, “.”
 Phân cấp tên miền : gốc, cấp 1, cấp 2
14
8Hệ thống DNS
 Không gian tên miền
 Kiến trúc : hình cây
 Root
 Zone
 Mỗi nút là một tập hợp các 
bản ghi mô tả tên miền tương 
ứng với nút đó.
 SOA
 NS
 A
 PTR
 CNAME
15
Hệ thống máy chủ DNS
 Máy chủ tên miền gốc (Root server)
 Trả lời truy vấn cho các máy chủ cục bộ
 Quản lý các zone và phân quyền quản lý cho máy chủ cấp dưới
 Có 13 hệ thống máy chủ gốc trên mạng Internet (
servers.org)
16
9Hệ thống máy chủ DNS (tiếp)
 Máy chủ tên miền cấp 1 (Top Level Domain)
 Quản lý tên miền cấp 1
 Máy chủ được ủy quyền (Authoritative DNS 
servers)
 Quản lý tên miền cấp dưới
 Máy chủ của các tổ chức: của ISP
 Không nằm trong phân cấp của DNS
 Máy chủ cục bộ: dành cho mạng nội bộ của cơ 
quan tổ chức
 Không nằm trong phân cấp của DNS
17
Phân giải tên miền
 Tự phân giải
 File HOST : C:\WINDOWS\system32\drivers\etc\
 Cache
 Dịch vụ phân giải tên miền DNS: client/server
 UDP, Port 53
 Phân giải đệ quy (Recursive Query)
 Phân giải tương tác (Interactive Query)
18
10
Phân giải tương tác
 Cơ chế mặc định trên các máy chủ DNS
root 
server
TLD 
server
Authoritative 
DNS server
soict.hust.edu.vn soict.hust.edu.vn
dns.vn
dns.hust.edu.vn
Hỏi dns.hust.edu.vn202.191.56.65
Tải đặt lên máy chủ tên miền 
gốc rất lớn. Thực tế máy chủ 
DNS cục bộ thường đã biết các 
máy chủ TLD (cơ chế cache).
Local/ISP
server
19
Phân giải đệ quy
 Tùy chọn mở rộng
Root 
server
TLD 
server
Authoritative 
DNS server
soict.hust.edu.vn
soict.hust.edu.vn
dns.vn
dns.hust.edu.vn
202.191.56.65
202.191.56.65
soict.hust.edu.vn
202.191.56.65
Tải đặt lên các máy chủ cấp trên 
rất lớn. Thực tế máy chủ tên miền 
gốc và máy chủ cấp 1 không thực 
hiện phân giải đệ quy
Local/ISP
server
20
11
Tấn công đầu độc DNS
21
3. HTTP và WWW
22
12
HTTP và Web
 Internet trước thập kỷ 1990s:
 Hầu như chỉ sử dụng hạn chế trong cơ quan chính phủ, phòng 
nghiên cứu...
 Các dịch vụ email, FPT không phù hợp cho chia sẻ thông tin đại 
chúng
 Không có cơ chế hiệu quả để liên kết các tài nguyên thông tin 
nằm rải rác trên Internet 
 Năm 1990, Tim Berners-Lee giới thiệu World Wide Web:
 Trao đổi thông tin dưới dạng siêu văn bản (hypertext) sử dụng 
ngôn ngữ HTML (Hypertext Markup Language)
 Các đối tượng không cần đóng gói “tất cả trong một” như trên 
các văn bản trước đó
 Siêu văn bản chỉ chứa chứa liên kết (hypertext) tới các đối tượng 
khác (định vị bằng URL).
23
Uniform Resource Locator
 Định vị một tài nguyên bất kỳ trên mạng và cách 
thức để truy cập tài nguyên đó
protocol://hostname[:port]/directory-path/resource
 protocol: Giao thức (http, ftp, https, smtp, rtsp)
 hostname: tên miền, địa chỉ IP
 port: cổng ứng dụng (có thể không cần)
 directory path: đường dẫn tới tài nguyên
 resource: định danh của tài nguyên
24
13
HTTP và Web
 WWW: World Wide Web
 trao đổi dữ liệu siêu văn bản 
HTML (HyperText Markup 
Language) trên mạng
 HTTP: HyperText Transfer 
Protocol
 Mô hình Client/Server
 Client yêu cầu truy nhập tới các 
trang web (chứa các đối tượng 
web) và hiển thị chúng trên 
trình duyệt
 Server: Nhận yêu cầu và trả lời 
cho client
PC running
Firefox browser
server 
running
Apache Web
server
iphone running
Safari browser
25
HTTP hoạt động ntn?
 Server mở một TCP socket chờ yêu cầu kết nối 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
26
14
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)
header
lines
carriage return, 
line feed at start
of line indicates
end of header lines
GET /~tungbt/index.htm HTTP/1.1\r\n
Host: soict.hust.edu.vn\r\n
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml\r\n
Accept-Language: en-us,en;q=0.5\r\n
Accept-Encoding: gzip,deflate\r\n
Accept-Charset: ISO-8859-1,utf-8;q=0.7\r\n
Keep-Alive: 115\r\n
Connection: keep-alive\r\n
\r\n
27
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
28
15
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\r\n
Date: Thu, 31 Jul 2014 00:00:14 GMT\r\n
Server: Apache/2.2.15 (CentOS)\r\n
Last-Modified: Wed, 30 Jul 2014 23:59:50 GMT\r\n
ETag: "17dc6-a5c-bf716880"\r\n
Accept-Ranges: bytes\r\n
Content-Length: 2652\r\n
Connection: close\r\n
Content-Type: text/html; charset=UTF-8\r\n
\r\n
data data data data data ... 
29
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ụ
30
16
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
31
Hoạt động của HTTP/1.0
Time Time
Web client Web server
Init TCP connection 
Send HTTP response: index.html
Close TCP connection
OK, send HTTP request 
Accept TCP connection
Parse index.html: has 10 
reference to 10 images
Repeat above steps 10 
times!
Send images 1
Close TCP connection
Accept TCP connection
2xRTT
32
17
Hoạt động của HTTP/1.1 
Time Time
Web client Web server
Init TCP connection 
Send HTTP 
response: index.html
OK, send HTTP request 
Accept TCP connection
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
33
HTTP/1.1 với pipeline
Time Time
Web client Web server
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 
34
18
HTTP là giao thức stateless
 Một phiên hoạt động của HTTP:
 Trình duyệt kết nối với Web server
 Trình duyệt gửi thông điệp yêu cầu HTTP Request
 Web server đáp ứng với một thông điệp HTTP Response
 lặp lại
 Trình duyệt ngắt kết nối
 Các thông điệp HTTP Request được xử lý độc lập
 Web server không ghi nhớ trạng thái của phiên 
HTTP
 Nếu dịch vụ Web cần xác thực người dùng thì người dùng sẽ 
phải đăng nhập lại cho mỗi thông điệp HTTP Request gửi đi 
35
HTTP Cookie
 Cookie: dữ liệu do Web server tạo ra, chứa thông tin trạng thái của 
phiên làm việc
 Server có thể lưu lại cookie(một phần hoặc toàn bộ)
 Sau khi xử lý yêu cầu, Web server trả lại thông điệp HTTP Response 
với coookie đính kèm
 Set-Cookie: key = value; options;
 Trình duyệt lưu cookie
 Trình duyệt gửi HTTP Request tiếp theo với cookie được đính kèm
36
Trình duyệt Web server
HTTP Request
HTTP Response
CookieCookieCookie
HTTP Request
Cookie
19
HTTP Cookie - Ví dụ
37
HTTP Response
HTTP Cookie - Ví dụ
 HTTP Request
38
20
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
39
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
Web 
server
40
21
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
41
Web proxy
 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?
42
22
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
43
4. Email
44
23
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ư: SMTP-Simple 
Mail Transfer Protocol
 nhận thư 
 POP – Post Office Protocol
 IMAP – Internet Mail Access 
Protocol
SMTP
POP
IMAP
Mail box Message queue
IMAP
POP
SMTPSMTP
45
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
46
24
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ủ
user
agent
sender’s mail 
server
user
agent
SMTP SMTP access
protocol
receiver’s mail 
server
47
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
 
 
48
25
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
49
Để 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
50
26
5. Ứng dụng truyền tệp
51
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 52
27
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
53
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, . 54
28
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
55
Tài liệu tham khảo
 Keio University
 “Computer Networking: A Top Down Approach”, 
J.Kurose
 “Computer Network”, Berkeley University
56

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_2_tang_ung_dung_bui_trong_tun.pdf