MẠNG MÁY TÍNH
Chương 8 LỚP ỨNG DỤNG Application Layer
1
Giớ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.
2
8.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)
3
Hệ 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
4
Hệ 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 đó
5
Hệ 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 đó
6
Hệ 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
7
Hệ thống tên miền DNS
8
8.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 Domain_name
Class Type Value Time_to_live Class Type Value
9
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
10
Type
Ý nghĩa
Giá trị
Khởi tạo quyền (máy chủ này
Các tham số của miền (số id, email,
SOA
là nơi lưu trữ dl về miền)
TTL,…)
Địa chỉ IP của một máy chủ
Số nguyên 32-bit
A
nào đó
XĐ máy chủ email cho một
Ưu tiên, miền sẵn sàng nhận thư
MX
tên miền
Máy chủ tên miền/ miền quản
Tên của máy chủ miền
NS
lý
SD khi khai báo nhiều tên
Tên miền
CNAME
miền cùng trỏ đến 1 đ/c
Con trỏ ánh xạ đ/c IP sang
Tên danh định của đ/c IP
PTR
tên miền
Cấu hình của Server
CPU và Hệ ĐH bằng ký tự
HINFO
Mô tả máy chủ DNS
Văn bản dạng mã ASCII
TXT
11
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 )
12
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, …
13
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
14
Không gian tên miền Miền tổ chức
Miền (domain)
Mô tả
com (commercial)
Các tổ chức thương mại, doanh nghiệp
edu
Các tổ chức giáo dục
gov
Các tổ chức chính phủ
int
Các tổ chức quốc tế
mil
Các tổ chức quân sự
net
Một mạng không thuộc các loại phân vùng khác
org
Các tổ chức không thuộc một trong các loại trên
15
Không gian tên miền Miền địa lý
Miền (domain)
Quốc gia tương ứng
au
Úc
at
Áo
be
Bỉ
ca
Canada
fi
Phần Lan
fr
Pháp
de
CHLB Đức
it
Ý
jp
Nhật Bản
vn
Việt Nam
16
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
17
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 đó
18
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
Truy vấn
www.microsoft.comIP ?
Phản hồi địa chỉ IP
Client
DNS Server
19
Hoạt động
1. Truy vấn địa chỉ IP của tên vùng www.yahoo.com?
DNS Server
2. Địa chỉ IP của www.yahoo.com là 209.191.93.52
Client
3. Truy xuất trang chủ tại địa chỉ 209.191.93.52
209 .191.93.52
4. Phản hồi lại trang chủ của www.yahoo.com
Quá trình truy cập trang web www.yahoo.com
20
Hoạt động
21
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.
22
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 chương trtrììnhnh ccụụcc bbộộ 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 deamon) của hệ
đến đích. Chúng thường là các nhân (deamon 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ư, ...
23
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.
24
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 Envelop 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 Header tin liên đến tác tử người dùng
25
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.
26
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.
27
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.
Header
Ý nghĩa
To
Cc
Bcc
From
Sender
Receiced
Return-Path
28
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
29
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
30
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
31
Cấu trúc bản tin
Content-Type
32
Ví dụ
33
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 từ máy nguồn đến máy đích và sau đó kết nối chuyển bản tin.
Giao thức SMTP ESMTP (Extended Simple Mail Transport Protocol )
34
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
35
SMTP Sau khi thiết lập kết nốiTCPTCP đế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.
36
37
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.
38
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.
39
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
40
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
41
POP3
42
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ôvô
ththờờii hhạạnn và ở trong nhiều hộp thư,
Cung cấp các cơ chế mở rộng cho phép đọc được các
không ccầầnn chuy
chuyểểnn bbảảnn
bản tin hoặc một phần bản tin mà không tin vvềề mmááyy ngưngườờii nhnhậậnn tin
43
POP3 vs. IMAP
44
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
45
World Wide Web
46
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).
47
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
48
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:
http://www.viethanit.edu.vn/index.jsp
49
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.
50
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
51
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
52
World Wide Web Cấu trúc
Content: chứa các thông tin mà Server có thể
dùng lại
53
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
54
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.
55
S: 220 www.example.com ESMTP Postfix
C: HELO mydomain.com
S: 250 Hello mydomain.com
C: MAIL FROM:
56