Các lớp bên dưới:
cung cấp dịch vụ vận chuyển dữ liệu cho lớp ứng
dụng
không thực sự giao tiếp với người sử dụng.
lớp ứng dụng cũng cần có các giao thức
hỗ trợ để cho phép các ứng dụng thực hiện
được các chức năng của mình.
56 trang |
Chia sẻ: lylyngoc | Lượt xem: 1764 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 8 Lớp ứng dụng Application Layer, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1MẠNG MÁY TÍNH
Chương 8 LỚP ỨNG DỤNG
Application Layer
2Giới thiệu
Các lớp bên dưới:
cung cấp dịch vụ vận chuyển dữ liệu cho lớp ứng
dụng
không thực sự giao tiếp với người sử dụng.
lớp ứng dụng cũng cần có các giao thức
hỗ trợ để cho phép các ứng dụng thực hiện
được các chức năng của mình.
38.1- Hệ thống tên miền DNS
8.1.1- Không gian tên miền
Các ứng dụng máy chủ theo địa chỉ mạng tương
ứng của chúng.
Địa chỉ này thường rất khó nhớ sử dụng ký tự
chữ cái để thay thế cho các địa chỉ mạng.
Do mạng chỉ hiểu được các địa chỉ có các cơ chế
để chuyển đổi chuỗi mã ASCII thành địa chỉ mạng
Khi số lượng các máy tính và máy chủ nối đến
mạng quá lớn quản lý tập trung để tránh xung đột
về tên phần tử mạng. Đó là lý do ra đời của Hệ
thống tên miền (DNS)
4Hệ thống tên miền DNS
Cấu trúc DNS
cấu trúc phân cấp dạng cây theo miền tên
hệ thống cơ sở dữ liệu phân tán
5Hệ thống tên miền DNS
Trên cùng là nút gốc các nút
cha, nút con,… cuối cùng là các
nút lá
Mỗi server quản lý DNS sẽ ứng
với một nút của cây
Mỗi nút biểu diễn một miền
trong hệ thống DNS
Mỗi miền có một hay nhiều miền
con và có một máy chủ DNS
tương ứng quản lý hệ thống tên
trong miền đó
6Hệ thống tên miền DNS
Nút:
Độ dài tên không quá 63 ký tự
Nút kề nhau không được có cùng tên
Nút gốc có nhãn rỗng, ký hiệu “.”
Miền con:
Tạo thành từ mỗi nút của không gian tên
Các nút bên dưới có thể đi đến được các nút đó
7Hệ thống tên miền DNS
Cơ chế phân giải
Để gắn một tên miền vào một địa chỉ IP, một
chương trình ứng dụng sẽ gọi một thủ tục trong
thư viện gọi là Bộ phân giải tên miền (Resolver)
và truyền tham số tên cho nó.
Bộ phân giải tên sẽ gửi gói dữ liệu dạng UDP cho
máy chủ DNS, tại đây máy chủ DNS sẽ tìm kiếm
và cung cấp một địa chỉ IP tương ứng cho Bộ
phân giải tên.
Căn cứ vào địa chỉ IP này, chương trình có thể
thiết lập kết nối TCP với đầu cuối hoặc gửi gói dữ
liệu UDP
8Hệ thống tên miền DNS
98.1.2- Bản ghi tài nguyên RR
Mỗi tên miền đều có thể có
một tập bản ghi tài nguyên
liên quan
Bản ghi tài nguyên = (IP +
tài nguyên khác).
Chức năng chính của DNS
là gán tên miền vào bản
ghi tài nguyên.
Các bản ghi tài nguyên ở
dạng mẫu tự ASCII
Domain_name Time_to_live Class Type Value
10
Bản ghi tài nguyên
Domain_name: chỉ miền mà bản ghi áp dụng.
Time_to_live: biểu thị thời gian sống của bản ghi.
Class:
Internet: trường này có giá trị là IN.
Non-internet: giá trị khác
Type: chỉ loại bản ghi
11
Văn bản dạng mã ASCIIMô tả máy chủ DNSTXT
CPU và Hệ ĐH bằng ký tựCấu hình của ServerHINFO
Tên danh định của đ/c IPCon trỏ ánh xạ đ/c IP sang
tên miền
PTR
Tên miềnSD khi khai báo nhiều tên
miền cùng trỏ đến 1 đ/c
CNAME
Tên của máy chủ miềnMáy chủ tên miền/ miền quản
lý
NS
Ưu tiên, miền sẵn sàng nhận thưXĐ máy chủ email cho một
tên miền
MX
Số nguyên 32-bitĐịa chỉ IP của một máy chủ
nào đó
A
Các tham số của miền (số id, email,
TTL,…)
Khởi tạo quyền (máy chủ này
là nơi lưu trữ dl về miền)
SOA
Giá trịÝ nghĩaType
12
8.1.3- Máy chủ tên miền
Hệ thống Internet được chia thành hơn 200 miền
cấp cao, mỗi miền chứa một số lượng lớn các máy
chủ và được chia thành nhiều miền con theo phân
cấp.
Một tên miền cấp cao: tổ chức và địa lý.
Ví dụ:.gov; .int; ... (ISO 3166 )
13
Không gian tên miền
Tên miền đầy đủ:
Tên các nút từ nút lá đến nút gốc
Phân cách bằng dấu chấm “.”
Ví dụ:
Các miền cấp cao (mức đỉnh):
Miền tổ chức: tên gồm 3 ký tự
Ví dụ: com, edu, gov, …
Miền địa lý: các mã quốc gia gồm 2 ký tự
Ví dụ: uk, vn, ca, fr, …
14
Không gian tên miền
Tên miền của một nút:
Dãy các nhãn từ nút đó đến nút của cây
Các nhãn trong tên miền cách nhau bằng dấu
chấm “.”
Độ dài tên miền tối đa là 255 ký tự
Tên miền tuyệt đối kết thúc bằng dấu chấm “.”
Ví dụ: www.microsoft.com.
Tên miền tương đối không kết thúc bằng dấu
chấm và sẽ được phần mềm cục bộ ghép đầy đủ
khi xử lý
Một miền là miền con của miền khác nếu tên
miền đó chứa tên miền kia
15
Không gian tên miền
Mô tảMiền (domain)
Các tổ chức không thuộc một trong các loại trênorg
Một mạng không thuộc các loại phân vùng khácnet
Các tổ chức quân sựmil
Các tổ chức quốc tếint
Các tổ chức chính phủgov
Các tổ chức giáo dụcedu
Các tổ chức thương mại, doanh nghiệpcom (commercial)
Miền tổ chức
16
Không gian tên miền
Việt Namvn
Nhật Bảnjp
Ý it
Quốc gia tương ứngMiền (domain)
CHLB Đứcde
Phápfr
Phần Lanfi
Canada ca
Bỉbe
Áoat
Úcau
Miền địa lý
17
Máy chủ tên miền
Có thể sử dụng một máy chủ tên miền để chứa toàn
bộ cơ sở dữ liệu DNS
Thực tế:
máy chủ này sẽ bị quá tải vì số lượng tên miền quá lớn,
máy chủ này ngừng hoạt động Internet sẽ không làm
việc được.
Zone
18
Máy chủ tên miền
Zone
Mỗi zone là một phần của hệ thống tên miền
(tree)
Chứa một name server lưu thông tin của miền đó
19
Hoạt động
Dựa trên mô hình client/server
Client đưa ra một truy vấn đến DNS server
Sau đó DNS server tìm kiếm trong CSDL và phản
hồi lại thông tin tìm được
Client DNS Server
Truy vấn
www.microsoft.com IP ?
Phản hồi địa chỉ IP
20
Hoạt động
Quá trình truy cập trang web www.yahoo.com
1. Truy vấn địa chỉ IP của tên vùng www.yahoo.com?
4. Phản hồi lại trang chủ của www.yahoo.com
2. Địa chỉ IP của www.yahoo.com là 209.191.93.52
3. Truy xuất trang chủ tại địa chỉ 209.191.93.52
DNS
Server
Client
209
.191.93.52
21
Hoạt động
22
8.2 Hệ thống thư điện tử
Năm 1982, hệ thống thư điện tử của
ARPANET xuất hiện tương ứng với chuẩn
RFC 821 (giao thức truyền dẫn) và RFC 822
(khuôn dạng bản tin). Sau đó chúng được
chỉnh sửa lại thành các chuẩn của mạng
Internet là RFC 2821 và RFC 2822.
23
8.2.1- Kiến trúc và các dịch vụ
Hệ thống thư điện tử bao gồm 2 thành phần
Tác tử người dùng: cho phép người sử dụng đọc và gửi
mail. Đây chính là các chương trình cục bộ cung cấp các
phương thức dựa vào câu lệnh, bảng chọn (menu) hoặc
đồ họa để tương tác với hệ thống thư điện tử.
Tác tử truyền bản tin: cho phép chuyển bản tin từ nguồn
đến đích. Chúng thường là các nhân (deamon) của hệ
thống hoạt động như các tiến trình nền
Hầu hết các hệ thống đều cho phép người sử dụng
tạo hộp thư để lưu trữ thư nhận được. Người ta
thường sử dụng các câu lệnh để tạo và hủy hộp
thư, duyệt nội dung thư, chèn và xóa bản tin khỏi
hộp thư, ...
24
Kiến trúc và các dịch vụ
Hệ thống thư điện tử hỗ trợ 5 chức năng cơ
bản sau:
Kết cấu bản tin: liên quan đến tiến trình tạo bản
tin và trả lời
Chuyển giao bản tin: liên quan đến việc di chuyển
bản tin từ nguồn đến đích nhận
Thông báo: báo cho người gửi biết tình trạng của
bản tin
Hiển thị bản tin nhận được để người nhận có thể
đọc.
Sắp xếp/ bố trí: đây là bước cuối cùng, nó liên
quan đến các thao tác mà người nhận làm đối
với bản tin đã nhận được.
25
Kiến trúc và các dịch vụ
Kết cấu một thư gồm 3 phần: bao thư
(envelop), phần đầu (header) và phần thân
(body)
Envelop: đóng gói bản
tin. Chứa các thông tin
cần thiết để truyền bản
tin (đ/c nhận, mức độ
ưu tiên, bảo mật,…)
Header: chứa các thông
tin liên đến tác tử người
dùng
26
8.2.2- Tác tử người dùng
Một tác tử người dùng một chương trình /bộ đọc
thư, có thể hiểu được các lệnh để tạo thư, nhận thư
và phản hồi thư cũng như các thao tác đối với hộp
thư.
Gửi thư điện tử
Nội dung
nội dung bản tin
địa chỉ đích
các thông số cần thiết khác.
Bản tin có thể được tạo bởi các bộ soạn thảo,
chương trình xử lý văn bản.
Địa chỉ của người nhận phải tuân theo khuôn dạng
mà tác tử người dùng có thể hiểu được.
27
Tác tử người dùng
Đọc thư điện tử
Khi tác tử người dùng khởi động, nó tìm kiếm
thư gửi đến trong hộp thư của người sử dụng
trước khi hiển thị. Sau đó nó có thể thông
báo số lượng các bản tin trong hộp thư hoặc
liệt kê danh sách các thư nhận được.
28
8.2.3- Cấu trúc bản tin
Chuẩn RFC 822
Bản tin bao gồm một bao thư gốc, các trường
mào đầu, dòng ký tự trống và nội dung bản tin.
Return-Path
Receiced
Sender
From
Bcc
Cc
To
Ý nghĩaHeader
29
Cấu trúc bản tin
Ngoài ra, phần header còn chứa một số
thông tin khác
30
Cấu trúc bản tin
Chuẩn MIME (The Multipurpose Internet Mail
Extensions)
Chuẩn RFC 822: sử dụng cho bản tin gồm
tiếng Anh và ký tự theo mã ASCII
Thực tế, bản tin có thể chứa:
Chữ có dấu.
Không theo mẫu tự Latin (alphabet).
Chữ tượng hình
Đa phương tiện
=> Chuẩn MIME
31
Cấu trúc bản tin
Chuẩn MIME
Tiếp tục sử dụng cấu trúc của RFC 822
Thêm vào cấu trúc của phần thân
Xác định kỹ thuật mã hóa cho nội dung không
phải là mã ASCII
32
Cấu trúc bản tin
Content-Type
33
Ví dụ
34
8.2.4- Truyền bản tin
Hệ thống truyền bản tin liên quan đến việc chuyển
mạch bản tin từ nguồn gửi đến đích. Một phương
pháp đơn giản để thực hiện việc này là thiết lập một
kết nối từ máy nguồn đến máy đích và sau đó
chuyển bản tin.
Giao thức
SMTP
ESMTP (Extended Simple Mail Transport Protocol )
35
SMTP
Là một giao thức sử dụng mã ASCII đơn giản
Thiết lập một kết nối TCP - cổng 25.
Nhân của hệ thống thư điện tử sẽ lắng nghe
cổng 25 thông qua giao thức SMTP.
Nếu chấp nhận kết nối sao chép bản tin và
đưa vào hộp thư tương ứng.
Nếu không phân phát được bản tin tạo ra
thông báo lỗi chứa phần đầu của bản tin và gửi
trả lại nơi phát bản tin
36
SMTP
Sau khi thiết lập kết nốiTCP đến cổng 25, máy gửi
thư hoạt động như một máy khách (client), đợi máy
nhận lúc này hoạt động như máy chủ (server) ra
thông báo trước.
Máy chủ bắt đầu gửi một dòng văn bản chứa nhận
dạng và thông báo chuẩn bị sẵn sàng nhận thư.
Nếu quá trình này không xảy ra thì, máy khách sẽ
giải phóng kết nối và lặp lại quá trình trên.
Nếu máy chủ sẵn sàng nhận thư điện tử, máy
khách sẽ thông báo người gửi và người nhận thư.
Nếu tồn tại người nhận thì máy chủ sẽ cho phép
máy khách gửi thư. Sau khi máy khách gửi thư và
máy chủ chấp nhận, thư sẽ không được kiểm tra lỗi
vì kết nối TCP cung cấp kết nối tin cậy.
37
38
8.2.5- Phân phối bản tin đến người nhận
Vấn đề
Thiết lập một kết nối TCP đến người nhận và sau
đó truyền bản tin trên kết nối đó.
Tất cả các máy trạm trên mạng muốn trao đổi
bản tin đều phải vào mạng (on-line).
Giải pháp
Xây dựng một tác tử chuyển giao bản tin trên
máy chủ ISP để nhận thư điện tử và lưu thư vào
hộp thư nằm trên máy chủ ISP.
39
Phân phối bản tin đến người nhận
Để người nhận thư có thể lấy được thư từ máy
chủ ISP về giao thức cho phép tác tử
chuyển giao bản tin trên máy người nhận kết
nối được với tác tử chuyển giao bản tin trên
máy chủ ISP và sao chép bản tin từ máy chủ
về máy người nhận thư.
POP3 (Post Office Protocol - Giao thức bưu điện tử).
IMAP (Internet Message Access Protocol - Giao
thức truy cập thông điệp Internet).
Webmail.
40
POP3
Giao thức này dùng để giữ kết nối giữa máy
người gửi và máy người nhận thông qua
mạng Internet trong trường hợp cả 2 máy
đều cùng có mặt trên mạng và trong trường
hợp người nhận không lên mạng
41
POP3
POP3 được bắt đầu khi người sử dụng khởi
động bộ nhận thư.
Bộ nhận thư sẽ gọi máy chủ ISP và thiết lập một
kết nối TCP với tác tử chuyển giao bản tin ở
cổng 110.
Khi thiết lập được kết nối, POP3 sẽ thực hiện
tuần tự tiến trình sau:
Chứng thực
Giao dịch
Cập nhật
42
POP3
43
IMAP
Giao thức POP3 sẽ hoạt động có hiệu quả khi một
người sử dụng chỉ có một địa chỉ thư điện tử trên
một ISP và luôn truy cập từ một máy tính. Nếu việc
nhận thư được thực hiện ở nhiều máy và nhiều nơi
khác nhau thì tất cả các thư của một người nào đó
sẽ bị phân tán rải rác khắp nơi.
IMAP (RFC 2060)
Tất cả các thư điện tử sẽ được lưu giữ trong máy chủ vô
thời hạn và ở trong nhiều hộp thư,
Cung cấp các cơ chế mở rộng cho phép đọc được các
bản tin hoặc một phần bản tin mà không cần chuyển bản
tin về máy người nhận
44
POP3 vs. IMAP
45
Webmail
Webmail sử dụng các tác tử chuyển giao bản
tin để lắng nghe cổng 25 đối với kết nối
SMTP vào. Một kết nối TCP được thiết lập để
gửi các lệnh SMTP.
Khi người sử dụng đăng nhập vào trang web,
nếu đăng nhập thành công, máy chủ sẽ tìm
kiếm hộp thư của người sử dụng và liệt kê
danh sách thư điện tử có trong đó theo định
dạng của trang web
46
World Wide Web
47
World Wide Web
WWW là một hệ thống thông
tin phi cấu trúc. Bao gồm
các Server cung cấp t.tin
theo định dạng siêu văn bản
và các Client (trình duyệt)
nhận thông tin/hiển thị thông
tin theo yêu cầu NSD
Sử dụng giao thức HTTP
(HypterText Transfer
Protocol).
48
World Wide Web
Các thành phần của www
Clients
Nhà cung cấp dịch vụ
Internet (ISP)
Hệ thống truyền dẫn,
Routers và switches
Servers
49
World Wide Web
Cách thức một trình duyệt lấy một web page
Client gửi một yêu cầu đến server để lấy trang
web.
Một yêu cầu có cấu trúc theo giao thức HTTP
chứa một địa chỉ trang web đó (còn gọi là URL-
Uniform Resource Locator). Một địa chỉ trang web
có cấu trúc như sau:
50
World Wide Web
Một trang web là một tài
liệu điện tử được viết bằng
HTML hoặc các ngôn ngữ
khác.
Trang web có thể chứa
văn bản, hình ảnh, video,
ảnh động và âm thanh,
các dữ liệu tương tác.
Mỗi trang web có một địa
chỉ duy nhất URL xác định
vị trí của nó trên server.
Các trang web chứa siêu
liên kết đến các trang web
khác.
51
World Wide Web
Web site:
Một website là một hay
nhiều trang web có nội
dung liên quan, được tổ
chức lưu trữ theo cấu
trúc và liên kết với nhau
bởi các siêu liên kết
(hyperlink).
Người dùng có thể duyệt
hết các trang web bằng
các sử dụng các siêu
liên kết giữa các trang
web này
52
World Wide Web
Cookies
Lưu thông tin về người dùng (user) đã truy cập
vào server để sử dụng lại các thông tin này
Phân biệt người dùng nào đã đăng ký rồi
Thương mại điện tử: xác định hàng đã bỏ vào
shopping cart
Customized web portal: yahoo, gmail,…
Khi người dùng yêu cầu 1 trang web, server gắn
thêm các thông tin vào trang web trả về này
Cookies
RFC 2109
53
World Wide Web
Cấu trúc
Content: chứa các thông tin mà Server có thể
dùng lại
54
World Wide Web
Static Web
Dữ liệu chứa trong máy chủ, chỉ có thể hiện thị và
không thể thay đổi
Dynamic Web
55
Ví dụ về truyền thông của SMTP
Sau khi kết nối giữa người gửi (trình khách)
và người nhận (trình chủ) đã được thiết lập, những
việc làm sau đây là những việc hoàn toàn hợp lệ,
đối với một phiên giao dịch dùng giao thức SMTP.
Các hệ thống máy tính đều có thể thiết lập một kết
nối, bằng cách dùng những dòng lệnh của phần
mềm telnet, trên một máy khách. Chẳng hạn:
telnet www.example.com 25
khởi động một kết nối SMTP từ máy gửi thông điệp
đến máy chủ www.example.com.
56
S: 220 www.example.com ESMTP Postfix
C: HELO mydomain.com
S: 250 Hello mydomain.com
C: MAIL FROM:
S: 250 Ok
C: RCPT TO:
S: 250 Ok
C: DATA
S: 354 End data with .
C: Subject: test message
C: From: sender@mydomain.com
C: To: friend@example.com
C:
C: Hello,
C: This is a test.
C: Goodbye.
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye