5/22/2011
LOGO
C2
TẦNG ỨNG DỤNG
(cid:61558) Giao thức tầng ứng dụng
(cid:61558)Web
(cid:61558)FTP
(cid:61558)Email
(cid:61558)DNS
Biên soạn : Lê Minh
LOGO
I
Giao thức tầng ứng dụng
(cid:61558)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ị
(cid:61558) Các ứng dụng liên lạc với nhau thông qua các
tiến trình (process)
(cid:61558) 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
I
Giao thức tầng ứng dụng
(cid:61558) Giao thức tầng ứng dụng:
(cid:61607) Là một phần của một ứng dụng mạng (cid:61607) Xác định kiểu thông điệp (message) trao đổi (cid:61607) Xác định cú pháp của thông điệp (cid:61607) Xác định ý nghĩa của các trường (cid:61607) Xác định thời điểm và cách thức gởi/nhận thông
điệp
(cid:61607) 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)
(cid:61558)User agent: giao diện giữa người dùng và ứng
dụng mạng
Biên soạn : Lê Minh
LOGO
1
Mô hình mạng client/server
(cid:61558)Các ứng dụng mạng thường gồm 2 phía : client và server
(cid:61558)Client
(cid:61607) Khởi tạo giao tiếp với
server
(cid:61607) Yêu cầu dịch vụ từ
server (cid:61558) Server
(cid:61607) Cung cấp các dịch vụ
cho client
Biên soạn : Lê Minh
2
5/22/2011
LOGO
2
Truyền thông giữa các tiến trình
(cid:61558)Các tiến trình gởi/
host or server
host or server
nhận thông điệp qua socket của chúng
controlled by app developer
process
process
socket
socket
(cid:61558)Socket có thể xem như “cửa” của tiến trình (cid:61607) Quá trình gởi: đẩy
Internet
TCP with buffers, variables
TCP with buffers, variables
thông điệp qua “cửa” (cid:61607) 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
2
Truyền thông giữa các tiến trình
(cid:61558) Định địa chỉ tiến trình:
(cid:61607) Tiến trình gởi phải xác định địa chỉ của tiến
trình nhận
(cid:61607) Mỗi máy tính sẽ có một địa chỉ IP (32bit) trên
mạng.
• web server dùng cổng 80 • Mail server dùng cổng 25,…
(cid:61607) Mỗi tiến trình sẽ được định một địa chỉ cổng (port number)
(cid:61607) Phải xác định địa chỉ IP và địa chỉ cổng của bên
Biên soạn : Lê Minh
nhận
3
5/22/2011
LOGO
3
Dịch vụ của giao thức tầng giao vận
(cid:61558) Dịch vụ TCP
(cid:61558)Dịch vụ UDP
(cid:61607) Theo hướng kết nối: yêu cầu thiết lập kết nối giữa client và server
(cid:61607) Truyền dữ liệu không tin cậy giữa tiến trình truyền và nhận (cid:61607) Không hỗ trợ: thiết
(cid:61607) Truyền dữ liệu tin cậy (cid:61607) Có điều khiển lưu
lượng
(cid:61607) Có kiểm soát tắc
lập kết nối, điều khiển lưu lượng, kiểm soát tắc nghẽn, băng thông và thời gian tối thiểu
nghẽn
(cid:61607) Không hỗ trợ thời gian và băng thông tối thiểu
Biên soạn : Lê Minh
LOGO
II
Dịch vụ Web
(cid:61558)Trang Web:
(cid:61607) chứa các đối tượng ( file HTML, file ảnh, file
âm thanh…)
(cid:61607) Các đối tượng được xác định qua địa chỉ URL (cid:61607) Chứa 1 file HTML cơ sở và tham chiếu tới các
đối tượng khác
(cid:61607) Ví dụ: www.school.edu/department/pic1.gif (cid:61558) Trình duyệt (Browers): giao tiếp với người
dùng
(cid:61558) 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
(cid:61558)HTTP(HyperText
PC running Explorer
Transfer Protocol): giao thức tầng ứng dụng của dịch vụ Web
(cid:61558)Sử dụng mô hình
server/client (cid:61607) Client: là trình duyệt (cid:61607) Server: phần mềm web
Server running Apache Web server
server
(cid:61558)HTTP có 2 phiên bản:
1.0 và 1.1
Mac running Navigator
Biên soạn : Lê Minh
LOGO
HTTP
1
(cid:61558)Cơ chế hoạt động :
(cid:61607) Sử dụng giao thức TCP ở tầng giao vận (cid:61607) Client khởi tạo kết nối TCP (socket) đến server
qua cổng 80
(cid:61607) Server chấp nhận kết nối TCP từ Client (cid:61607) 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)
Biên soạn : Lê Minh
(cid:61607) Đóng kết nối HTTP
5
5/22/2011
LOGO
2
Kết nối HTTP
(cid:61558)Có 2 loại: kết nối không liên tục và kết nối liên
tục
(cid:61558)Kết nối không liên tục
(cid:61607) Chỉ có 1 đối tượng được gởi qua kết nối TCP (cid:61607) Kết nối được đóng sau khi client nhận được đối
tượng
(cid:61607) Sử dụng cho phiên bản HTTP 1.0 (cid:61607) Trình duyệt thường mở nhiều kết nối TCP
Biên soạn : Lê Minh
song song để nhận các đối tượng
LOGO
2
Kết nối HTTP
(cid:61558)Kết nối liên tục:
(cid:61607) Nhiều đối tượng có thể được gởi qua 1 kết nối
TCP giữa client và server
(cid:61607) Server không đóng kết nối sau khi gởi xong
thông điệp trả lời
Biên soạn : Lê Minh
(cid:61607) Sử dụng cho phiên bản 1.1
6
5/22/2011
LOGO
3
Định dạng thông điệp HTTP
(cid:61558)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
Biên soạn : Lê Minh
(cid:61558) Thông điệp yêu cầu: viết theo mã ASCII
LOGO
3
Định dạng thông điệp HTTP
(cid:61558)Thông điệp yêu cầu
request line (lệnh GET, POST, HEAD)
header lines
(cid:61607) Ví dụ:
GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr
(extra carriage return, line feed)
Carriage return, line feed (cho biết kết thúc thông điệp
Biên soạn : Lê Minh
7
5/22/2011
LOGO
3
Định dạng thông điệp HTTP
(cid:61558) Định dạng thông điệp trả lời
Status code
Version Version
phrase
Status line Status line
Biên soạn : Lê Minh
(cid:61558) Thông điệp trả lời:
LOGO
3
Định dạng thông điệp HTTP
(cid:61558)Thông điệp trả lời
status line (protocol status code status phrase)
(cid:61607) Ví dụ:
Modified: Mon, 22 Jun 1998 …...
header lines
HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last- Content-Length: 6821 Content-Type: text/html
data data data data data ...
data, e.g., requested HTML file
Biên soạn : Lê Minh
8
5/22/2011
LOGO
3
Định dạng thông điệp HTTP
(cid:61607) Các mã trạng thái (status code) của thông điệp
– 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,
trả lời: • 1XX : thông tin
505 HTTP Version Not Supported
Biên soạn : Lê Minh
LOGO
Web Proxy Caching
3
origin server
Proxy server
client
(cid:61558) Mục đích: đáp ứng yêu cầu của client mà không cần tới server gốc chứa đối tượng
client
(cid:61558) Người dùng thiết lập trình duyệt web: truy cập thông qua web cach (cid:61558) Trình duyệt gởi các yêu cầu HTTP tới cach (cid:61607) Nếu có đối tượng: gởi về
cho client
origin server
(cid:61607) 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
(cid:61558) Tại sao sử dụng web
catching? (cid:61607) Giảm thời gian đáp ứng
cho client.
(cid:61607) 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
(cid:61558)FTP (File Transfer Protocol): giao thức truyền
file giữa các máy tính
(cid:61558)Sử dụng mô hình server/client
Biên soạn : Lê Minh
10
5/22/2011
LOGO
FTP
III
(cid:61558)Sử dụng giao thức TCP của tầng giao vận (cid:61558)Dùng 2 cổng (port) 20 và 21
TCP control connection port 21
TCP data connection port 20
FTP client
FTP server
Biên soạn : Lê Minh
(cid:61607) Port 21: truyền thông tin điều khiển (cid:61607) Port 20: truyền dữ liệu
LOGO
FTP
III
(cid:61558)Cơ chế hoạt động:
(cid:61607) 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)
(cid:61607) Client chứng thực với server qua kết nối điều
khiển
(cid:61607) Client gởi yêu cầu truyền/nhận file đến server
qua kết nối điều khiển
Biên soạn : Lê Minh
(cid:61607) 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
11
5/22/2011
LOGO
FTP
III
(cid:61558)Cơ chế hoạt động:
(cid:61607) Sau khi truyền/nhận xong, server đóng kết nối
dữ liệu
(cid:61607) 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
Biên soạn : Lê Minh
(cid:61607) 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
LOGO
Electronic Mail
III
(cid:61558)Hệ thống E-Mail gồm 3 thành phần chính SMTP
SMTP
access protocol
user agent
user agent
receiver’s mail server
sender’s mail server
Biên soạn : Lê Minh
(cid:61607) User agent (cid:61607) Mail server (cid:61607) Giao thức gởi/truy cập mail
12
5/22/2011
LOGO
SMTP
1
user agent
(cid:61558)Là giao thức gởi thư giữa các mail server (cid:61558)Dùng giao thức TCP
mail server
user agent
SMTP
mail server
user agent
SMTP
SMTP
user agent
mail server
(cid:61607) Mail
user agent
user agent
của tầng dưới (cid:61558)Dùng cổng 25 (cid:61558)Theo mô hình client/server: (cid:61607) Mail server gởi thư: đóng vai trò là client server nhận thư: đóng vai trò là server
Biên soạn : Lê Minh
LOGO
SMTP
1
(cid:61558)Cơ chế hoạt động
(cid:61607) Client thiết lập một kết nối TCP với server qua
cổng 25
• Bắt tay giữa 2 client/server • Truyền nội dung thư • Đóng kết nối
(cid:61607) Quá trình gởi thư trải qua 3 bước:
Biên soạn : Lê Minh
(cid:61607) 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ữ
13
5/22/2011
LOGO
SMTP
1
(cid:61558)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
Biên soạn : Lê Minh
C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection
LOGO
2
Định dạng Email
(cid:61558)Header:
header
blank line
các dòng tiêu đề, chứa các nội dung như: (cid:61607) To: (cid:61607) From: (cid:61607) Subject: (cid:61607) …
body
(cid:61558)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
(cid:61558) Chuẩn quy định định dạng email khi nội dung email có các thành phần multimedia (cid:61558)Thêm vào phần header để khai báo thư thuộc
định dạng MIME
Phiên bản MIME
phương pháp mã hóa dữ liệu
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
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
(cid:61558)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
4
Giao thức truy cập Mail
SMTP
SMTP
access protocol
user agent
user agent
receiver’s mail server
sender’s mail server
(cid:61558)Dùng để lấy mail từ server, có 3 giao thức
Biên soạn : Lê Minh
(cid:61607) POP (cid:61607) IMAP (cid:61607) HTTP
LOGO
DNS
IV
(cid:61558)Các máy tính trên mạng Internet: được quản
lý bằng địa chỉ IP
(cid:61558)Con người: biết đến các máy chủ thông qua
“tên”, vd: yahoo.com.vn
(cid:61558)Tên <-> IP?? (cid:61558)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
1
Các dịch vụ của DNS
(cid:61558) Ánh xạ giữa Tên và địa chỉ IP
(cid:61607) Vd: google.com.vn (cid:61663)(cid:61664) 74.125.235.17
(cid:61558)Đặ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) (cid:61558)Đặt bí danh cho mail server (cid:61558)Phân phối tải giữa các server:
(cid:61607) Server “nhân bản”: một tên miền có thể ứng
Biên soạn : Lê Minh
với nhiều server ở các IP các nhau
LOGO
2
Cấu trúc của hệ thống DNS
root DNS server
(cid:61558)Gồm:
(cid:61558)
2
3
TLD DNS server
(cid:61607) Client resolver (cid:61607) Local DNS server (cid:61607) Authoritative DNS
4
server
5
local DNS server dns.poly.edu
(cid:61607) Root DNS server (cid:61607) Top-Level Domain
6
7
1
8
DNS server (cid:61558)Hoạt động? (cid:61607) Vd: máy
authoritative DNS server dns.cs.umass.edu
requesting host
tính muốn biết IP của gaia.cs.umass.edu
gaia.cs.umass.edu Biên soạn : Lê Minh
17
5/22/2011
LOGO
3
Quản lý không gian tên miền
Root DNS Servers
ca DNS servers
edu DNS servers
TLD Servers
com DNS servers
ucalgary.ca DNS servers
usask.ca DNS servers
poly.edu DNS servers
umass.edu DNS servers
yahoo.com DNS servers
amazon.com DNS servers
(cid:61558) Root name NS server và TLD server thường không chứa ánh xạ hostname (cid:61663)(cid:61664)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
3
Quản lý không gian tên miền
(cid:61558)
Biên soạn : Lê Minh
18
5/22/2011
LOGO
4
Chức năng các server
(cid:61558)Local DNS server:
(cid:61607) Mỗi ISP có một local DNS server (cid:61607) 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
Biên soạn : Lê Minh
(cid:61607) 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
LOGO
4
Chức năng các server
(cid:61558)Authoritative DNS server:
(cid:61607) Chứa các ánh xạ hostname (cid:61663)(cid:61664)IP được chứng
thực
(cid:61607) Được điều hành bởi các tổ chức hoặc các công
ty dịch vụ (cid:61558)TLD server:
(cid:61607) 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 ….
(cid:61607) Có thể trao quyền quản lý các vùng con trong
Biên soạn : Lê Minh
vùng của mình cho server khác
19
5/22/2011
LOGO
4
Chức năng các server
root DNS server
(cid:61558)Root DNS server:
2
TLD DNS server
(cid:61607) Được các Local DNS server hỏi khi local DNS server không thể phân giải tên
(cid:61607) Root Name
local DNS server dns.poly.edu
server trả lời Local name 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
4
Cơ chế hoạt động
root DNS server
(cid:61558)Máy host gởi
2
truy vấn DNS tới Local DNS server
TLD DNS server
3
4
5 intermedia DNS server
6
9
local DNS server dns.poly.edu
7
8
(cid:61558)Nếu không phân giải được, local DNS truy server sẽ gởi vấn tới root DNS server
10
1
authoritative DNS server dns.cs.umass.edu
requesting host cis.poly.edu
(cid:61558)Root gởi thông điệp trả lời yêu cầu Local hỏi TLD DNS server …
gaia.cs.umass.edu Biên soạn : Lê Minh
20