Bài giảng Mạng máy tính - Chương 6: Tầng ứng dụng - Bùi Trọng Tùng
Chương 6.
Tầng ứng dụng
1
1
1. Tổng quan về tầng ứng
dụng
2
2
1
Nhắc lại về kiến trúc phân tầng
Cung cấp các dịch vụ trên
mạng.
Application
(HTTP, Mail, …)
Transport
(UDP, TCP …)
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…)
Network
(IP, ICMP…)
Datalink
(Ethernet, ADSL…)
Physical
(bits…)
3
3
Ứng dụng và dịch vụ trên mạng?
MUSIC ONLINE
VoIP
GAME
ON LINE
CHAT
SMS
VoD
e-Office
MAIL
e-BANK
SCHOOL
ON THE
INTERNET
WEB
YOUTUBE
VIDEO
CONFERENCE
FTP
EBAY
GOOGLE
NEWS
SKYPE
TELNET
SSH
E-COMMERCE
GRID
e-Goverment
BITTORENT
4
4
2
Ứng dụng mạng
application
transport
network
data link
physical
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ụ
application
transport
network
data link
physical
application
transport
network
data link
physical
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…
5
5
Giao tiếp giữa các tiến trình ứng dụng
Socket: điểm truy cập dịch vụ 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
application
application
socket
controlled by
app developer
process
process
transport
transport
controlled
by OS
network
link
network
link
Network
physical
physical
6
6
3
Giao tiếp giữa các tiến trình
Tiến trình client: gửi yêu cầu
Tiến trình server: trả lời
Mô hình điển hình: 1 server – nhiều client
Client cần biết địa chỉ của server: địa chỉ IP,
số hiệu cổng
wait for result
handles response
client
request
response
server
handle
request
wait
wait
7
7
Các mô hình ứng dụng
Khách-chủ (Client/Server)
Ngang hàng (P2P: Peer-to-peer)
Mô hình lai
8
8
4
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
lạc trực tiếp với các máy
khách khác
client
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
năng, phòng sự cố
client
e.g. Web, Mail, …
9
9
Mô hình ngang hàng thuần túy
Không có máy chủ trung
tâm
Peer
Peer
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
Peer
Peer
Không cần vào mạng
thường xuyên
E.g. Gnutella
Peer
Peer
10
10
5
Mô hình lai
Một máy chủ trung tâm
để quản lý NSD, thông
tin tìm kiếm…
Client
Các máy khách sẽ giao
tiếp trực tiếp với nhau
sau khi đăng nhập
Server
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
sẽ gọi VoIP trực tiếp cho
nhau
Client
P2P Comm.
Client-Server Comm.
11
11
2. Tên miền và dịch vụ DNS
12
12
6
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?
13
13
Chuyển đổi địa chỉ và ví dụ
• Máy tính dùng địa chỉ IP
• NSD dùng tên miền
Tôi muốn vào địa chỉ
NSD
Cần có chuyển
đổi địa chỉ
Mời truy cập vào
202.191.56.65
Máy chủ tên
miền
Bạn cũng có thể
nhập địa chỉ trực tiếp
Máy chủ web
202.191.56.65
14
14
7
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…
15
15
Hệ 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…
16
16
8
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 (http://www.root-
servers.org)
17
17
Hệ 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
18
18
9
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)
19
19
Thông điệp DNS
DNS Query và DNS
SRC = 53
checksum
DST = 53
length
Reply
Chung khuôn dạng
QUESTION: tên miền cần
truy vấn
Identification
#Question
Flags
#Answer RRs
Số lượng: #Question
#Authority RRs
#Additional RRs
ANSWER: thông tin tên
miền tìm kiếm được
QUESTION
Số lượng: #Answer RRs
ANSWER
AUTHORITY
ADDITIONAL
AUTHORITY: địa chỉ
server trả lời truy vấn
ADDITIONAL: thông tin
phân giải tên miền cho
các địa chỉ khác
20
20
10
Phân giải tương tác
Cơ chế mặc định trên các máy chủ DNS
Tải đặt lên máy chủ tên miền
root
server
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).
soict.hust.edu.vn
soict.hust.edu.vn
TLD
server
202.191.56.65
Default
Hỏi dns.hust.edu.vn
dns.vn
server
Authoritative
DNS server
dns.hust.edu.vn
21
21
Phân giải đệ quy
Tùy chọn mở rộng
Root
server
soict.hust.edu.vn
202.191.56.65
202.191.56.65
soict.hust.edu.vn
TLD
202.191.56.65
server
Default
server
dns.vn
soict.hust.edu.vn
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
Authoritative
DNS server
dns.hust.edu.vn
22
22
11
Ví dụ: dig linux.com
; <> DiG 9.9.2-P1 <> linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2,
ADDITIONAL: 3
TTL: thời gian(s) lưu giữ
;; QUESTION SECTION:
;linux.com. IN A
trả lời trong cache
;; ANSWER SECTION:
linux.com. IN A 140.211.167.51
linux.com. IN A 140.211.167.50
;; AUTHORITY SECTION:
linux.com. 86386 IN NS ns1.linux-foundation.org.
linux.com. 86386 IN NS ns2.linux-foundation.org.
;; ADDITIONAL SECTION:
ns1.linux-foundation.org. 261 IN A 140.211.169.10
ns2.linux-foundation.org. 262 IN A 140.211.169.11
23
23
Ví dụ: dig linux.com
; <> DiG 9.9.2-P1 <> linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2,
ADDITIONAL: 3
Tên các máy chủ DNS server trả lời truy vấn.
Nếu phần ANSWER rỗng, DNS Resolver gửi
truy vấn tới các máy chủ này
;; QUESTION SECTION:
;linux.com. IN A
;; ANSWER SECTION:
linux.com. 1786 IN A 140.211.167.51
linux.com. 1786 IN A 140.211.167.50
;;
linux.com. 86386 IN NS n
linux.com. 86386 IN NS
;; ADDITIONAL SECTION:
ns1.linux-foundation.org. 261 IN A 140.211.169.10
ns2.linux-foundation.org. 262 IN A 140.211.169.11
24
24
12
Ví dụ: dig linux.com
; <> DiG 9.9.2-P1 <> linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2,
ADDITIONAL: 3
Địa chỉ IP của các máy chủ trả lời truy vấn.
Thông tin này được lưu vào cache
;; QUESTION SECTION:
;linux.com. IN A
;; ANSWER SECTION:
linux.com. 1786 IN A 140.211.167.51
linux.com. 1786 IN A 140.211.167.50
;; AUTHORITY SECTION:
linux.com. 86386 IN NS ns1.linux-foundation.org.
linux.com. 86386 IN NS ns2.linux-foundation.org.
;; :
ns1.linux-foundation.org. 261 IN A
ns2.linux-foundation.org. 262 IN A
25
25
3. HTTP và WWW
26
26
13
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).
27
27
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
28
28
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 mạng
PC running
Firefox browser
HTTP: HyperText Transfer
Protocol
Mô hình Client/Server
server
running
Apache Web
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
iphone running
Safari browser
Server: Nhận yêu cầu và trả lời
cho client
29
29
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
30
30
15
Khuôn dạng HTTP request
Mã ASCII (dễ dàng đọc được dưới dạng văn bản)
request line
GET /~tungbt/index.htm HTTP/1.1\r\n
Host: soict.hust.edu.vn\r\n
User-Agent: Mozilla/5.0
(GET, POST,
HEAD commands)
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
header
lines
carriage return,
line feed at start
of line indicates
end of header lines
31
31
Các phương thức trong thông
điệp yêu cầu
HTTP/1.0
GET
HTTP/1.1
GET, POST, HEAD
PUT
POST
HEAD
tải file lên máy chủ, đường
dẫn chỉ ra trong URL, file
để trong body
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
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
32
32
16
Khuôn dạng HTTP response
status line
(protocol
status code
status phrase)
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
header
lines
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 ...
data, e.g.,
requested
HTML file
33
33
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
34
34
17
Kiến trúc chung của các dịch vụ web
subdomain.mysite.com/folder/page?id=5
HTML Page, JS file, CSS file, image, etc.
run code
Database Queries
35
35
Hiển thị (rendering) nội dung trang web
Mô hình xử lý cơ bản tại trình duyệt: mỗi cửa sổ
hoặc 1 frame:
Nhận thông điệp HTTP Response
Hiển thị:
Xử lý mã HTML, CSS, Javascripts
Gửi thông điệp HTTP Request yêu cầu các đối tượng
khác(nếu có)
Bắt và xử lý sự kiện
Các sự kiện có thể xảy ra:
Sự kiện của người dùng: OnClick, OnMouseOver…
Sự kiện khi hiển thị: OnLoad, OnBeforeUnload…
Theo thời gian: setTimeout(), clearTimeout()…
36
36
18
Các liên kết HTTP
HTTP có duy trì
HTTP không duy trì
Nhiều đối tượng có thể
được gửi qua một liên
kết TCP.
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.1
Sử dụng mặc định
trong HTTP/1.0
HTTP 1.1: RFC 2068
HTTP 1.0: RFC 1945
37
37
Hoạt động của HTTP/1.0
Web client
Web server
Init TCP connection
Accept TCP connection
OK, send HTTP request
Send HTTP response: index.html
Close TCP connection
Parse index.html: has 10
reference to 10 images
Accept TCP connection
Send images 1
Repeat above steps 10
times!
Close TCP connection
11xRTT
38
Time
Time
38
19
Hoạt động của HTTP/1.1
Web client
Web server
Init TCP connection
Accept TCP connection
OK, send HTTP request
Send HTTP
Parse index.html: has 10
reference to 10 images
response: index.html
request images 1
Send images 1
request images 2
Send images 2
Stop-and-
wait!
Pipeline
request images 10
39
Time
Time
39
HTTP/1.1 với pipeline
Web client
Web server
Init TCP connection
Accept TCP connection
OK, send HTTP request
Send HTTP
Parse index.html: has 10
reference to 10 images
response: index.html
request images 1 -10
Send images 1-10
40
Time
Time
40
20
Tải về để xem bản đầy đủ
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 6: 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
File đính kèm:
- bai_giang_mang_may_tinh_chuong_6_tang_ung_dung_bui_trong_tun.pdf