Xem mẫu
- 5/22/2011
LOGO
C2 TẦNG ỨNG DỤNG
Giao thức tầng ứng dụng
Web
FTP
Email
DNS
Biên soạn : Lê Minh
LOGO
Giao thức tầng ứng dụng
I
Người dùng tương tác với ứng dụng thông qua
chương trình cài đặt trên thiết bị
Các ứng dụng liên lạc với nhau thông qua các
tiến trình (process)
Các tiến trình chạy trên các máy tính khác
nhau liên lạc với nhau tuân theo giao thức
tầng ứng dụng
Biên soạn : Lê Minh
1
- 5/22/2011
LOGO
Giao thức tầng ứng dụng
I
Giao thức tầng ứng dụng:
Là một phần của một ứng dụng mạng
Xác định kiểu thông điệp (message) trao đổi
Xác định cú pháp của thông điệp
Xác định ý nghĩa của các trường
Xác định thời điểm và cách thức gởi/nhận thông
điệp
Sử dụng các dịch vụ cung cấp bởi giao thức của
tầng dưới ( TCP và UDP)
User agent: giao diện giữa người dùng và ứng
dụng mạng
Biên soạn : Lê Minh
LOGO
Mô hình mạng client/server
1
Các ứng dụng mạng
thường gồm 2 phía :
client và server
Client
Khởi tạo giao tiếp với
server
Yêu cầu dịch vụ từ
server
Server
Cung cấp các dịch vụ
cho client
Biên soạn : Lê Minh
2
- 5/22/2011
LOGO
Truyền thông giữa các tiến trình
2
Các tiến trình gởi/ host or
host or
server
server
nhận thông điệp qua
socket của chúng controlled by
app developer
Socket có thể xem như process
process
“cửa” của tiến trình
socket
socket
Quá trình gởi: đẩy
TCP with
TCP with
thông điệp qua “cửa” Internet buffers,
buffers,
variables
variables
Quá trình nhận: thông
điệp được gửi đến
“cửa” của nơi nhận controlled
by OS
Biên soạn : Lê Minh
LOGO
Truyền thông giữa các tiến trình
2
Định địa chỉ tiến trình:
Tiến trình gởi phải xác định địa chỉ của tiến
trình nhận
Mỗi máy tính sẽ có một địa chỉ IP (32bit) trên
mạng.
Mỗi tiến trình sẽ được định một địa chỉ cổng
(port number)
• web server dùng cổng 80
• Mail server dùng cổng 25,…
Phải xác định địa chỉ IP và địa chỉ cổng của bên
nhận
Biên soạn : Lê Minh
3
- 5/22/2011
LOGO
Dịch vụ của giao thức tầng giao vận
3
Dịch vụ TCP Dịch vụ UDP
Theo hướng kết nối: Truyền dữ liệu không
yêu cầu thiết lập kết tin cậy giữa tiến trình
nối giữa client và truyền và nhận
server Không hỗ trợ: thiết
Truyền dữ liệu tin cậy lập kết nối, điều khiển
lưu lượng, kiểm soát
Có điều khiển lưu
tắc nghẽn, băng
lượng
thông và thời gian tối
Có kiểm soát tắc
thiểu
nghẽn
Không hỗ trợ thời
gian và băng thông
tối thiểu
Biên soạn : Lê Minh
LOGO
Dịch vụ Web
II
Trang Web:
chứa các đối tượng ( file HTML, file ảnh, file
âm thanh…)
Các đối tượng được xác định qua địa chỉ URL
Chứa 1 file HTML cơ sở và tham chiếu tới các
đối tượng khác
Ví dụ: www.school.edu/department/pic1.gif
Trình duyệt (Browers): giao tiếp với người
dùng
Web server: lưu giữ website, xác định qua địa
chỉ URL
Biên soạn : Lê Minh
4
- 5/22/2011
LOGO
HTTP
1
HTTP(HyperText
Transfer Protocol):
giao thức tầng ứng
PC running
dụng của dịch vụ Web Explorer
Sử dụng mô hình
server/client
Client: là trình duyệt Server
running
Server: phần mềm web Apache Web
server
server
HTTP có 2 phiên bản:
Mac running
1.0 và 1.1 Navigator
Biên soạn : Lê Minh
LOGO
HTTP
1
Cơ chế hoạt động :
Sử dụng giao thức TCP ở tầng giao vận
Client khởi tạo kết nối TCP (socket) đến server
qua cổng 80
Server chấp nhận kết nối TCP từ Client
Các thông điệp HTTP được trao đổi qua lại
giữa trình duyệt ( HTTP client) và Web server
(HTTP server)
Đóng kết nối HTTP
Biên soạn : Lê Minh
5
- 5/22/2011
LOGO
Kết nối HTTP
2
Có 2 loại: kết nối không liên tục và kết nối liên
tục
Kết nối không liên tục
Chỉ có 1 đối tượng được gởi qua kết nối TCP
Kết nối được đóng sau khi client nhận được đối
tượng
Sử dụng cho phiên bản HTTP 1.0
Trình duyệt thường mở nhiều kết nối TCP
song song để nhận các đối tượng
Biên soạn : Lê Minh
LOGO
Kết nối HTTP
2
Kết nối liên tục:
Nhiều đối tượng có thể được gởi qua 1 kết nối
TCP giữa client và server
Server không đóng kết nối sau khi gởi xong
thông điệp trả lời
Sử dụng cho phiên bản 1.1
Biên soạn : Lê Minh
6
- 5/22/2011
LOGO
Định dạng thông điệp HTTP
3
Có 2 dạng thông điệp HTTP: thông điệp yêu
cầu và thông điệp trả lời
Thông điệp yêu cầu: viết theo mã ASCII
Biên soạn : Lê Minh
LOGO
Định dạng thông điệp HTTP
3
Thông điệp yêu cầu
Ví dụ:
request line
(lệnh GET, POST, GET /somedir/page.html HTTP/1.1
HEAD) Host: www.someschool.edu
User-agent: Mozilla/4.0
header Connection: close
lines Accept-language:fr
Carriage return, (extra carriage return, line feed)
line feed
(cho biết kết thúc
thông điệp
Biên soạn : Lê Minh
7
- 5/22/2011
LOGO
Định dạng thông điệp HTTP
3
Thông điệp trả lời:
Định dạng thông điệp trả lời
Version phrase
Status code Status line
Biên soạn : Lê Minh
LOGO
Định dạng thông điệp HTTP
3
Thông điệp trả lời
Ví dụ:
status line
(protocol
HTTP/1.1 200 OK
status code
Connection: close
status phrase)
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
header
Last-Modified: Mon, 22 Jun 1998 …...
lines
Content-Length: 6821
Content-Type: text/html
data, e.g., data data data data data ...
requested
HTML file
Biên soạn : Lê Minh
8
- 5/22/2011
LOGO
Định dạng thông điệp HTTP
3
Các mã trạng thái (status code) của thông điệp
trả lời:
• 1XX : thông tin
– 100 Continue, 101 Switching Protocols
• 2XX: thành công
– 200 OK, 206 Partial Content
• 3XX: hướng dẫn
– 301 Moved Permanently, 304 Not Modified
• 4XX: lỗi client
– 400 Bad Request, 403 Forbidden, 404 Not Found
• 5XX: lỗi server
– 500 Internal Server Error, 503 Service Unavailable,
505 HTTP Version Not Supported Biên soạn : Lê Minh
LOGO
Web Proxy Caching
3
Mục đích: đáp ứng yêu
cầu của client mà không
origin
cần tới server gốc chứa server
đối tượng Proxy
Người dùng thiết lập server
client
trình duyệt web: truy
cập thông qua web cach
Trình duyệt gởi các yêu
cầu HTTP tới cach
Nếu có đối tượng: gởi về client
cho client origin
server
Nếu không có: gởi yêu
cầu đến server gốc Biên soạn : Lê Minh
9
- 5/22/2011
LOGO
Web Proxy Caching
3
Tại sao sử dụng web
catching?
Giảm thời gian đáp ứng
cho client.
Giảm tải mạng : tránh
hiện tượng “thắt cổ chai”
Biên soạn : Lê Minh
LOGO
FTP
III
FTP (File Transfer Protocol): giao thức truyền
file giữa các máy tính
Sử dụng mô hình server/client
Biên soạn : Lê Minh
10
- 5/22/2011
LOGO
FTP
III
Sử dụng giao thức TCP của tầng giao vận
Dùng 2 cổng (port) 20 và 21
Port 21: truyền thông tin điều khiển
Port 20: truyền dữ liệu
TCP control connection
port 21
TCP data connection
FTP FTP
port 20
client server
Biên soạn : Lê Minh
LOGO
FTP
III
Cơ chế hoạt động:
FTP client thiết lập 1 kết nối TCP với FTP
server qua cổng 21 (kết nối điều khiển)
Client chứng thực với server qua kết nối điều
khiển
Client gởi yêu cầu truyền/nhận file đến server
qua kết nối điều khiển
Server mở kết nối TCP với client qua cổng 20
(kết nối dữ liệu), truyền/nhận file qua kết nối
này
Biên soạn : Lê Minh
11
- 5/22/2011
LOGO
FTP
III
Cơ chế hoạt động:
Sau khi truyền/nhận xong, server đóng kết nối
dữ liệu
Server sẽ mở một kết nối dữ liệu khác khi
client có yêu cầu truyền/nhận file khác
Trong phiên làm việc, server lưu lại trạng thái:
thư mục hiện hành và lần chứng thực trước đó
của client
Biên soạn : Lê Minh
LOGO
Electronic Mail
III
Hệ thống E-Mail gồm 3 thành phần chính
SMTP SMTP access
protocol
user
user
agent
agent
receiver’s mail
sender’s mail
server
server
User agent
Mail server
Giao thức gởi/truy cập mail
Biên soạn : Lê Minh
12
- 5/22/2011
LOGO
SMTP
1
Là giao thức gởi thư
giữa các mail server
user
Dùng giao thức TCP agent
mail
của tầng dưới user
server agent
Dùng cổng 25 SMTP
mail
server user
Theo mô hình SMTP agent
client/server:
SMTP
Mail server gởi thư: user
mail
agent
server
đóng vai trò là client
Mail server nhận user
agent
thư: đóng vai trò là user
server agent
Biên soạn : Lê Minh
LOGO
SMTP
1
Cơ chế hoạt động
Client thiết lập một kết nối TCP với server qua
cổng 25
Quá trình gởi thư trải qua 3 bước:
• Bắt tay giữa 2 client/server
• Truyền nội dung thư
• Đóng kết nối
Tương tác giữa client/server thông qua lệnh
(client => server) và trả lời (server => client)
• Lệnh: viết theo mã ASCII
• Trả lời: mã trạng thái và từ ngữ
Biên soạn : Lê Minh
13
- 5/22/2011
LOGO
SMTP
1
Ví dụ:
S: 220 hamburger.edu
C: HELO crepes.fr
S: 250 Hello crepes.fr, pleased to meet you
C: MAIL FROM:
S: 250 alice@crepes.fr... Sender ok
C: RCPT TO:
S: 250 bob@hamburger.edu ... Recipient ok
C: DATA
S: 354 Enter mail, end with "." on a line by
itself
C: Do you like ketchup?
C: How about pickles?
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 hamburger.edu closing connection soạn : Lê Minh
Biên
LOGO
Định dạng Email
2
Header: các dòng
tiêu đề, chứa các nội header
blank
dung như: line
T o:
From:
Subject:
…
body
Body: nội dung thư,
chỉ chứa các ký tự
thuộc bản mã ASCII
Biên soạn : Lê Minh
14
- 5/22/2011
LOGO
MIME
3
Chuẩn quy định định dạng email khi nội
dung email có các thành phần multimedia
Thêm vào phần header để khai báo thư thuộc
định dạng MIME
From: alice@crepes.fr
Phiên bản MIME To: bob@hamburger.edu
Subject: Picture of yummy crepe.
phương pháp MIME-Version: 1.0
mã hóa dữ liệu Content-Transfer-Encoding: base64
Content-Type: image/jpeg
Khai báo kiểu
dữ liệu nội dung base64 encoded data .....
.........................
......base64 encoded data
Dữ liệu đã mã hóa
Biên soạn : Lê Minh
LOGO
MIME
3
Nội dung thuộc kiểu: multipart/mixed
From: alice@crepes.fr
To: bob@hamburger.edu
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed;Boundary=123
--123
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain
Dear Bob,
Please find a picture of a crepe.
--123
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--123-- Biên soạn : Lê Minh
15
- 5/22/2011
LOGO
Giao thức truy cập Mail
4
SMTP SMTP access
protocol
user
user
agent
agent
receiver’s mail
sender’s mail
server
server
Dùng để lấy mail từ server, có 3 giao thức
POP
IMAP
HTTP
Biên soạn : Lê Minh
LOGO
DNS
IV
Các máy tính trên mạng Internet: được quản
lý bằng địa chỉ IP
Con người: biết đến các máy chủ thông qua
“tên”, vd: yahoo.com.vn
Tên IP??
DNS (Domain Name System): hệ thống phân
giải tên miền
Biên soạn : Lê Minh
16
- 5/22/2011
LOGO
Các dịch vụ của DNS
1
Ánh xạ giữa Tên và địa chỉ IP
Vd: google.com.vn 74.125.235.17
Đặt bí danh cho máy chủ: một máy chủ có thể
được gọi bằng tên đầy đủ (canonical name)
hay bí danh (alias name)
Đặt bí danh cho mail server
Phân phối tải giữa các server:
Server “nhân bản”: một tên miền có thể ứng
với nhiều server ở các IP các nhau
Biên soạn : Lê Minh
LOGO
Cấu trúc của hệ thống DNS
2
root DNS server
Gồm:
Client resolver
2
Local DNS server 3
TLD DNS server
Authoritative DNS 4
server
5
Root DNS server local DNS server
dns.poly.edu
Top-Level Domain
DNS server 6
7
1 8
Hoạt động?
authoritative DNS server
Vd: máy tính dns.cs.umass.edu
muốn biết IP của requesting host
gaia.cs.umass.edu
gaia.cs.umass.edu
Biên soạn : Lê Minh
17
- 5/22/2011
LOGO
Quản lý không gian tên miền
3
Root DNS Servers
TLD
ca DNS servers edu DNS servers Servers
com DNS servers
yahoo.com amazon.com ucalgary.ca usask.ca poly.edu umass.edu
DNS servers DNS servers DNS servers DNS servers DNS serversDNS servers
Root name NS server và TLD server thường
không chứa ánh xạ hostname IP mà chỉ
chứa ánh xạ tới IP của các DNS server khác
Biên soạn : Lê Minh
LOGO
Quản lý không gian tên miền
3
Biên soạn : Lê Minh
18
- 5/22/2011
LOGO
Chức năng các server
4
Local DNS server:
Mỗi ISP có một local DNS server
Khi một máy tính (host) muốn biết một IP của
một tên miền, nó gởi một truy vấn DNS (DNS
query) tới Local DNS server
Nếu có thể phân giải tên, Local DNS server sẽ
trả lời host, nếu không sẽ gởi truy vấn DNS tới
Root DNS server
Biên soạn : Lê Minh
LOGO
Chức năng các server
4
Authoritative DNS server:
Chứa các ánh xạ hostname IP được chứng
thực
Được điều hành bởi các tổ chức hoặc các công
ty dịch vụ
TLD server:
Quản lý các vùng tên miền chung như: .com
.org .net .edu … và các tên miền quốc gia như :
.us .fr .jp ….
Có thể trao quyền quản lý các vùng con trong
vùng của mình cho server khác
Biên soạn : Lê Minh
19
- 5/22/2011
LOGO
Chức năng các server
4
root DNS server
Root DNS server:
Được các Local DNS
2
server hỏi khi local
DNS server không TLD DNS server
thể phân giải tên
Root Name server
local DNS server
trả lời Local name dns.poly.edu
server ??
1
authoritative DNS server
dns.cs.umass.edu
requesting host
cis.poly.edu
gaia.cs.umass.edu
Biên soạn : Lê Minh
LOGO
Cơ chế hoạt động
4
root DNS server
Máy host gởi truy
vấn DNS tới Local
DNS server 2
TLD DNS server
3
Nếu không phân giải 4
được, local DNS 5intermedia DNS server
server sẽ gởi truylocal DNS server 6
vấn tới root DNS dns.poly.edu 9
server 8 7
10
1
Root gởi thông điệp authoritative DNS server
trả lời yêu cầu Local dns.cs.umass.edu
hỏi TLD DNS server requesting host
cis.poly.edu
… gaia.cs.umass.edu
Biên soạn : Lê Minh
20
nguon tai.lieu . vn