Tải bản đầy đủ (.docx) (35 trang)

Bài toán chia sẻ tài nguyên trong hệ phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (372.55 KB, 35 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN
────────*────────
TIỂU LUẬN MÔN HỌC
NGUYÊN LÝ VÀ MÔ THỨC
PHÁT TRIỂN HỆ PHÂN TÁN
ĐỀ TÀI: CHIA SẺ TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Nhóm thực hiện : Tạ Xuân Thọ
Nguyễn Trần Minh
Vũ Thành Trung
Lớp : 13BCNNT1
Giáo viên hướng dẫn : TS. Vũ Thị Hương Giang
Hà Nội 11/2013
Chia sẻ tài nguyên trong hệ phân tán
MỤC LỤC
Nhóm 11
2
Chia sẻ tài nguyên trong hệ phân tán
LỜI MỞ ĐẦU
Cùng với sự phát triển mạnh mẽ của công nghệ phần cứng, phần mềm, các
máy tính, mạng máy tính ngày một mạnh mẽ, phức tạp và đa dạng hơn, phong
phú cả về số lượng lẫn kiến trúc. Việc tính toán và quản lý dữ liệu không còn
như trước đây, chỉ nằm trên một máy tính hoặc một nhóm máy tính mà ngày
càng mở rộng nằm trên nhiều máy, mạng, thậm chí các vùng lãnh thổ khác nhau,
tạo nên các hệ phân tán.
Ngày nay, hệ phân tán phát triển rất nhanh và được ứng dụng rộng khắp, đó
có thể là các dịch vụ thông tin phân tán như các dịch vụ trên Internet hoặc cũng
có thể là các cơ sở dữ liệu phân hay các hệ thống tính toán phân tán
Tuy nhiên, khi hệ phân tán ngày càng phát triển thì đồng nghĩa với việc
những tài nguyên được chia sẻ và sử dụng cũng ngày càng lớn, do đó vấn đề đặt
ra là phải quản lý việc chia sẻ tài nguyên trên hệ phân tán sao cho hiệu quả nhất.


Tiểu luận này trình bày tổng quan về hệ phân tán, nguyên nhân phải giải quyết
bài toán chia sẻ tài nguyên và các nguyên lý để giải quyết vấn đề chia sẻ tài
nguyên trên hệ phân tán.
Nhóm 11
3
Chia sẻ tài nguyên trong hệ phân tán
1. TỔNG QUAN VỀ HỆ PHÂN TÁN
Trước khi đi vào giải quyết vấn đề “Chia sẻ tài nguyên trên hệ phân tán”,
trong phần tổng quan của tiểu luận sẽ trình bày lại các khái niệm, đặc trưng, các
kiểu cũng như kiến trúc của hệ phân tán, để từ đó có được cái nhìn khái quát,
tổng thể về hệ phận tán.
1.1. Hệ phân tán
Có rất nhiều định nghĩa khác nhau về hệ phân tán được đưa ra trong các
tài liệu khoa học khác nhau:
Trong tài liệu” Distributed System: Concept and Desig” các tác giả đã đưa
ra hai định nghĩa:
- Hệ phân tán là một hệ thống bao gồm một tập các máy tính tự trị được
kết nối thông qua một mạng máy tính và được cài đặt phần mềm hệ phân tán.
- Hệ phân tán là hệ thống có chức năng và dữ liệu phân tích trên các trạm
(máy tính) được kết nối với nhau bởi một mạng máy tính.
Còn trong tài liệu “Distributed System: Principele & Paradigms thì các tác
giả lại định nghĩa hệ phân tán là một tập các máy tính độc lập giao tiếp với
người dùng của nó như một hệ thống nhất toàn vẹn. Định nghĩa này được phát
biểu dựa trên phương diện yêu cầu của người dùng.
Như vậy, một hệ phân tán gồm hai thành phần: đầu tiên là mạng máy tính
kết nối các máy tính tự trị, thứ hai là phần mềm hệ phân tán.
1.2. Đặc trưng của hệ phân tán
• Chia sẻ tài nguyên: là đặc trưng cơ bản của hệ phân tán, là nền tảng
của các đặc trưng khác và ảnh hưởng đến những kiến trúc phần mềm
có sẵn trong những hệ phân tán, nhằm mục đích làm cho các tài

nguyên có thể truy cập được, kết nối người dùng với tài nguyên, cho
phép họ có thể truy cập tài nguyên từ xa, hoặc chia sẻ tài nguyên một
cách hiệu quả và có kiểm soát.
• Tính trong suốt: là giấu các tiến trình và tài nguyên phân tán vật lý
trên nhiều máy tính. Như vậy, một hệ phân tán được gọi là trong suốt
nếu nó có khả năng che giấu các khuyết điểm (nếu có) của hệ thống
đối với người sử dụng để người sử dụng khi giao tiếp với hệ phân tán
có cảm giác như đang làm việc với một hệ thống nhất, toàn vẹn và mọi
yêu cầu của người dùng đều được đáp ứng.
- Trong suốt truy cập: che giấu sự khác nhau về biểu diễn của dữ liệu
và các thao tác truy cập đến tài nguyên.
Nhóm 11
4
Chia sẻ tài nguyên trong hệ phân tán
- Trong suốt vị trí: che giấu vị trí các tài nguyên, người sử dụng
không biết được nguồn mà mình đang sử dụng ở vị trí vật lý nào
trong hệ thống mà chỉ biết thông qua tên logic.
- Trong suốt di trú: che giấu sự di trú của các tài nguyên.
- Trong suốt lỗi: che giấu lỗi xảy ra với hệ thống, việc phục hồi các
tài nguyên bị lỗi.
• Tính mở: Hệ thống phải đảm bảo có tính mở, cho phép ta bổ sung
thêm các phần cứng hay dịch vụ mà không gây xung đột.
• Tính co giãn: Đảm bảo cho hệ thống có khả năng thay đổi quy mô.
Đây là một trong những mục tiêu quan trọng nhất đối với những người
phát triển các hệ thống phân tán.
- Hệ thống có khả năng co giãn về kích thước của nó, tức là có thể dễ
dàng thêm người dùng và các tài nguyên vào hệ thống.
- Hệ thống có thể co giãn về mặt hình học nghĩa là trong hệ thống đó
những người dùng và tài nguyên có thể nằm cách xa nhau.
- Hệ thống có thể co giãn về mặt hành chính, tức là nó vẫn dễ dàng

quản lý ngay cả khi nó mở rộng trên các tổ chức hành chính độc
lập.
1.3. Các kiểu hệ phân tán
Có 3 kiểu hệ phân tán: các hệ thống tính toán phân, các hệ thống thông tin
phân tán, các hệ thống phân tán rộng .
• Các hệ thống tính toán phân tán: Đây là các hệ phân tán sử dụng
trong các nhiệm vụ tính toán hiệu năng cao, các hệ thống này được
chia thành hai nhóm con: hệ thống tính toán và hệ thống tính toán
lưới.
- Hệ thống tính toán cụm: ghép cụm nhiều máy tính giống nhau dựa
trên một mạng tốc độ cao để có thể xử lý song song. Nó được sử
dụng phổ biến khi tỉ lệ giá cả/hiệu năng của các máy tính cá nhân
và các trạm làm việc được cải thiện. Đặc trưng của hệ thống tính
toán cụm là các máy tính được ghép cụm phải thuần nhất về
platform. Một đặc trưng của hệ thống tính toán cụm là nó phải
thuần nhất, trong hầu hết các tình huống, các máy tính trong một
cụm phải lớn như nhau, có cùng hệ điều hành và được kết nối thông
qua cùng một mạng. Các hệ thống tính toán cụm có tính hỗn tạp
Nhóm 11
5
Chia sẻ tài nguyên trong hệ phân tán
cao: không cần yêu cầu gì về phần cứng, hệ điều hành, mạng, chính
sách bảo mật.
- Hệ thống tính toán lưới: các hệ thống tính toán lưới là các tài
nguyên từ các tổ chức khác nhau được nhóm lại cùng nhau để cho
phép sự cộng tác của một nhóm người hoặc nhóm các cơ quan. Một
sự cộng tác đáng tin cậy dưới dạng một tổ chức ảo. Những người
thuộc về cùng một tổ chức ảo có thể truy cập hợp pháp các tài
nguyên được cung cấp cho tổ chức đó. Các tài nguyên bao gồm các
máy chủ (các siêu máy tính có thể cài đặt như các máy tính cụm),

khả năng lưu trữ, và cơ sở dữ liệu. Như vậy các hệ thống tính toán
lưới cho phép khai thác tài nguyên nhàn rỗi của nhiều đối tượng, tổ
chức, đơn vị khác nhau. Kết nối và xây dựng tổ chức ảo để điều
phối toàn bộ và khai thác sử dụng các tài nguyên nhàn rỗi.
• Các hệ thống thông tin phân tán
1.4. Kiến trúc hệ phân tán
Phản ánh các nguyên lý cơ bản tổ chức và tương tác giữa các thành phần
của phần mềm.
- Kiến trúc phân tầng: là kiểu kiến trúc này khá đơn giản: các thành
phần được tổ chức trong một tầng tại đó một thành phần ở tầng L
i
được phép gọi các thành phần ở tầng thấp hơn L
i-1
, nhưng không
cho phép gọi ngược lại từ tầng dưới lên tầng trên. Mô hình này chấp
nhận rộng rãi bởi các hoạt động truyền thông trên mạng.
- Kiến trúc hướng đối tượng: Mỗi đối tượng tương ứng với một
thành phần, và các thành phần này được kết nói với nhau thông qua
một thủ tục gọi cơ chế. Cả kiến trúc phân tầng và kiến trúc hướng
đối tượng đều còn rất phổ biến trong các hệ thống phần mềm lớn.
- Kiến trúc dựa trên dữ liệu: phát triển xung quanh ý tưởng là các
tiến trình giao tiếp thông qua một kho. Ví dụ, các ứng dụng web
được phát triển dựa trên một hệ thống file phân tán chia sẻ trong đó
tất cả các truyền thông ảo đều diễn ra trên các file.
- Kiến trúc dựa trên sự kiện: Xử lý các giao tiếp chủ yếu thông qua
sự lan truyền các sự kiện, nó cũng có thể mang theo dữ liệu. Ý
tưởng là các tiến trình sinh ra các sự kiện sau khi middleware đảm
Nhóm 11
6
Chia sẻ tài nguyên trong hệ phân tán

bảo là chỉ các tiến trình sinh ra các sự kiện đó mới nhận chúng. Ưu
điểm của các hệ thống này là các tiến trình kết hợp lỏng lẻo. Về cơ
bản tắc, chúng không cần phải dựa vào các tiến trình khác.
2. CHIA SẺ TÀI NGUYÊN TRONG HỆ PHÂN TÁN VÀ CÁC VẤN
ĐỀ
Mục tiêu chia sẻ tài nguyên của một hệ phân tán đó là làm cho người sử
dụng có thể truy cập các tài nguyên từ xa, chia sẻ chúng một cách hiệu quả, có
kiểm soát cũng như quản lý được các truy cập đó. Các tài nguyên có thể là bất
kỳ thứ gì như các máy in, máy tính, các phương tiện lưu trữ, dữ liệu, file, trang
Web, mạng …
Có rất nhiều lý do dẫn đến sự cần thiết phải chia sẻ tài nguyên, một tỏng
các lý do rất trực quan đó là yếu tố kinh tế. Ví dụ, chi phí sẽ giảm đi rất nhiều
khi có thể chia sẻ một máy in cho nhiều người dùng trong một văn phòng nhỏ
thay vì mỗi người được trang bị một chiếc hoặc ở mức cao hơn sẽ rất kinh tế nếu
chia sẻ các tài nguyên giá trị lớn như các siêu máy tính, các hệ thống lưu trữ hiệu
năng cao, các thiết bị tạo ảnh và các thiết bị ngoại vi đắt tiền khác.
Việc kết nối nhiều người dùng với các tài nguyên cũng khiến việc cộng tác
và trao đổi thông tin dễ dàng hơn, điều này được chứng minh rõ ràng trong sự
thành công của Internet với các giao thức đơn giản cho việc trao đổi các file dữ
liệu, thư, tài liệu, các file âm thanh, hình ảnh Ngày nay sự kết nối của Internet
đã dẫn tới hàng loạt các tổ chức ảo trong đó các nhóm người ở cách xa nhau về
địa lý làm việc cùng nhau tạo thành các groupware - các phần mềm nhóm, đó là
các phần mềm được cộng tác chỉnh sửa, thảo luận từ xa… Tương tự, việc kết
nối Internet cũng cho phép các hoạt động thương mại điện tử diễn ra, chúng ta
có thể mua và bán tất cả các loại mặt hàng mà không cần tới cửa hàng, thậm chí
không cần rời khỏi nhà.
Tuy nhiên, khi các kết nối và chia sẻ tăng lên, việc bảo mật cũng trở nên
quan trọng. Thực tế hiện nay, các hệ thống chuẩn bị rất ít các phương pháp bảo
vệ chống lại các hành vi nghe lén, xâm phạm hoặc bị tấn công. Mật khẩu và các
thông tin nhạy cảm khác thường được gửi dưới dạng văn bản thông thường (chủ

Nhóm 11
7
Chia sẻ tài nguyên trong hệ phân tán
quan không được mã hóa) trên mạng, hoặc được lưu tại các máy chủ mà chúng
ta hi vọng là đáng tin cậy.
Một vấn đề bảo mật khác đó là theo dõi các giao tiếp truyền thông để xây
dựng một hồ sơ tham khảo về một người dùng nào đó, việc theo dõi này rõ ràng
là vi phạm tính riêng tư, đặc biệt nếu nó được thực hiện mà không thông báo cho
người sử dụng. Một vấn đề liên quan nữa đó là sự gia tăng của các kết nối có thể
dẫn tới các giao tiếp truyền thông không mong muốn, ví dụ như các thư điện tử
rác, thường được gọi là spam,
Trong hệ phân tán tập các tài nguyên dùng chung là hữu hạn và bị hạn chế,
nó được chia sẻ bởi một tập người dùng hữu hạn thông qua các chương trình ứng
dụng do đó rất dễ xảy ra tình trạng deadlock, nghĩa là một tài nguyên được yêu
cầu khi đang được sử dụng. Việc xử lý trình tự và cách thức sử dụng tài nguyên
là một vấn đề quan trọng trong chia sẻ tài nguyên, do đó giải pháp là phải quản
lý được các tiến trình truy cập. Bên cạnh đó hệ phân tán có rất nhiều thực thể,
nên để cho phép một tiến trình truy cập một thực thể nào đó thì hệ thống cần
phải có cơ chế xác định tên của thực thể, giải pháp là naming hiện đang được
dùng để định danh các tài nguyên trong hệ thống.
Như vậy bài toán chia sẻ tài nguyên là một bài toán quan trọng trong hệ
phân tán. Với những yêu cầu tổng quan được nêu ra thì các vấn đề của bài toán
chia sẻ tài nguyên sẽ bao gồm: các vấn đề về xử lý tiến trình; truyền thông; định
danh; đồng bộ hóa; sự nhất quán về dữ liệu và tính bảo mật.
2.1. Định danh
Các tên đóng vai trò quan trọng trong tất cả các hệ thống máy tính,
chúng được dùng để chia sẻ các tài nguyên, để định danh duy nhất các
thực thể, để tham chiếu đến các nơi…Việc đặt tên tạo cơ sở cho phép các
tiến trình có thể truy cập đến thực thể thông qua tên của chúng. Trong một
hệ thống phân tán, việc đinh danh thường được thực thi phân tán trên

nhiều máy. Có ba vấn đề chính trong việc định danh trong hệ phân tán:
đặt tên theo cách gần gũi với con người, các tên được sử dụng để định vị
các thực thể di động, giải quyết cách tổ chức tên.
Các kiểu định danh cơ bản:
Nhóm 11
8
Chia sẻ tài nguyên trong hệ phân tán
- Định danh phẳng: là cách định danh bằng tên ngẫu nhiên, do đó
tên dạng này sẽ không chứa bất kỳ thông tin nào về vị trí điểm truy
cập của thực thể kết hợp với nó.
- Định danh có cấu trúc: các tên có cấu trúc và được tổ chức thành
không gian tên (name space), phân giải ten để xác định ánh xạ từ
định danh logic sang định danh vật lý.
- Các dịch vụ thư mục: Các hệ thống định danh dựa trên thuộc tính
còn được gọi là các dịch vụ thư mục, mỗi thực thể có một tập các
thuộc tính có thể được sử dụng để tìm kiếm, các thuộc tính được tổ
chức dưới dạng thư mục. Việc lựa chọn thuộc tính khá là đơn giản,
ví dụ trong một hệ thống thư điện tử, các thông điệp được gán cho
các thuộc tính như người gửi, người nhận, chủ đề.
2.2. Xử lý tiến trình
2.2.1. Khái niệm tiến trình và luồng
• Tiến trình: đó là một chương trình đang thực thi, quan tâm đến tính
trong suốt của hệ thống.
• Luồng: là một chương trình hay một phần chương trình đang thực
thi. Luồng không quan tâm đến tính trong suốt của hệ thống mà
quan tâm đến hiệu năng, tăng cường khả năng xử lý đồng thời của
hệ thống.
• Đa luồng: hệ thống cơ chế đa luồng, cho phép nhiều luồng cùng tồn
tại tại một thời điểm nhằm tăng hiệu năng của hệ thống.
• Lời gọi hệ thống: là tập lệnh mở rộng do hệ điều hành cung cấp xác

định giao điện giữa hệ điều hành và các chương trình người sử
dụng.
2.2.2. Ảo hóa
Bản chất của ảo hóa là mở rộng hoặc thay thế một giao diện hiện có
để đi trước hành vi của một hệ thống khác, ảo hóa tạo khả năng chuyển
mang và tăng cường tính mềm dẻo của hệ thống. Ảo hóa hiện nay
được quan tâm vì hai lý do chính:
• Ảo hóa giúp tăng cường khả năng chuyển mang, cho phép chuyển
mang giao diện tới các platform mới.
Nhóm 11
9
Chia sẻ tài nguyên trong hệ phân tán
• Do sự phát triển nhanh chóng của mạng máy tính, hầu hết các máy
tính đều có khả năng kết nối, do đó tính không thuần nhất của hệ
thống nâng lên.
Bản chất của ảo hóa là bắt chước các giao diện. Có hai kiến trúc để
thực thi máy ảo: (1) Máy ảo tiến trình - Process Virtual Machine
(PVM), (2) bộ điều khiển máy ảo –Virtual Machine Monitor (VMM).
2.2.3. Di trú mã
Di trú mã thực chất là di trú tiến tình từ vị trí này đến vị trí khác để
thực thi, nhằm mục đích tăng hiệu năng và tăng tính mềm dẻo.
Có 2 mô hình di trú cơ bản:
- Di trú yếu hay còn gọi là di động yếu: là mô hình di trú mã mà khi
di trú chỉ có đoạn mã và một số tham số khởi động được truyền đi. Một
đặc điểm của mô hình mã di trú yếu là một chương trình được chuyển
luôn bắt đầu ở trạng thái khởi tạo của nó. Lợi thế của di trú yếu đó là
tính đơn giản, nó chỉ cần máy đích có thể thực thi mã là được
- Mô hình di động mạnh chuyển luôn cả 3 thành phần : code
segment (chứa tập lệnh của tiến trình), resource segment (chứa các
tham chiếu đến tài nguyên mà tiến trình sử dụng trong quá trình di trú),

exexute segment (chứa cá thông tin về trạng thái thực thi hiện hành của
tiến trình). Đặc điểm này của mô hình này là tiến trình đang chạy có
thể được dừng, sau đó di chuyển đến máy khác và rồi được thiết lập lại
trạng thái đã bị dừng trước đó. Rõ ràng mô hình mã di trú di động
mạnh tốt hơn nhiều so với mô hình mã di trú yếu, tuy nhiên sẽ phức
tạp và khó thực hiện hơn.
2.3. Truyền thông
Truyền thông giữa các tiến trình là trọng tâm của tất cả các hệ phân
tán. Truyền thông bên trong các hệ phân tán luôn luôn dựa trên các thông
điệp ở mức thấp mà tầng mạng gởi đi hoặc yêu cầu, các hệ phân tán hiện
đại thường gồm có hàng ngàn thậm chí hàng triệu tiến trình được phân bố
rải rác ở các mạng không tin cậy như mạng Internet.
Nhóm 11
10
Chia sẻ tài nguyên trong hệ phân tán
2.3.1. Các giao thức phân tầng
a. Mô hình tham chiếu ISO/OSI: đây là mô hình cơ bản nhất, gồm 7
tầng và mỗi tầng có giao thức riêng. Trong đó 4 tầng trên hướng người
sử dụng và 3 tầng dưới để cung cấp các phương tiện truyền thông.
Các tầng, giao diện và giao thức trong mô hình ISO
- Tầng vật lý (Physical layer):
Tầng vật lý chỉ chú ý đến việc truyền các bit 0 và bit 1. Tầng vật lý
chuẩn hóa điện, yếu tố cơ học và các tín hiệu để khi bên gởi truyền bit 0
thì bên nhận cũng nhận được bit 0 mà không phải là bit 1.
- Tầng liên kết dữ liệu (Data link)
Tầng vật lý chỉ có nhiệm vụ gởi các bit sao cho không để xảy ra lỗi.
Tuy nhiên truyền thông qua mạng thì việc xảy ra lỗi là không thể tránh
khỏi vì vậy cần có các cơ chế để tìm kiếm và sửa lỗi. Đây chính là nhiệm
vụ của tầng liên kết dữ liệu. Tầng liên kết dữ liệu nhóm các bit vào một
khung bằng cách nào và làm sao để nó biết rằng các khung đó đã được

truyền đi chính xác.
- Tầng mạng (Network layer)
Nhóm 11
11
Chia sẻ tài nguyên trong hệ phân tán
Tầng mạng có nhiệm vụ xác định việc chuyển hướng, vạch đường
các gói tin trong mạng (chức năng định tuyến), các gói tin này có thể phải
qua nhiều chặng trước khi đến được đích cuối cùng. Tầng này có liên
quan đến các địa chỉ logic trong mạng. Các giao thức sử dụng ở đây là IP,
RIP, OSPF, AppleTalk.
- Tầng vận chuyển (Transport layer)
Tầng vận chuyển xác định địa chỉ trên mạng, cách thức chuyển giao
gói tin trên cơ sở trực tiếp giữa hai đầu mút, đảm bảo truyền dữ liệu tin
cậy giữa hai đầu cuối (end –to- end ). Các giao thức phổ biến tại đây là
TCP, UDP, SPX.
- Tầng phiên (Session layer)
Thực hiện thiết lập, duy trì và kết thúc các phiên làm việc giữa hai
hệ thống. Tầng này quy định một giao diện ứng dụng cho tầng vận chuyển
sử dụng. Nó xác lập ánh xạ giữa các tên đặt địa chỉ, tạo ra các tiếp xúc ban
đầu giữa cá máy tính khác nhau trên cơ sở các giao dịch truyền thông. Nó
đặt trên nhất quán cho mọi thành phần muốn đối thoại riêng với nhau. Các
giao thức trong lớp này sử dụng là NFS, X- Window System, ASP.
- Tầng trình diễn (Presentation layer)
Chuyển đổi các thông tin từ cú pháp người sử dụng sang cú pháp để
truyền dữ liệu, ngoài ra còn có thể nén dữ liệu truyền và mã hóa chúng
trước khi truyền để bảo mật. Tầng này sẽ định dạng dữ liệu từ tầng ứng
dụng đưa xuống rồi gửi đi đảm bảo sao cho bên thu có thể đọc được dữ
liệu bên phát. Các chuẩn định dạng dữ liệu của tầng này là GIF, JPEG,
PICT, MP3, MPEG…
- Tầng ứng dụng (Application layer)

Tầng ứng dụng quy định giao diện giữa người sử dụng và môi
trường OSI, nó cung cấp các phương tiện cho người sử dụng truy cập và
sử dụng các dịch vụ của mô hình OSI. Các ứng dụng được cung cấp như
các chương trình xử lý kí tự,bảng biểu, thư tín… và tầng này đưa ra các
giao thức HTTP, FTP, SM, POOP3, Telnet.
Nhóm 11
12
Chia sẻ tài nguyên trong hệ phân tán
b. Kiến trúc Middleware
Trong kiến trúc này, hai tầng presentation và session trong mô hình
7 tầng được thay thế bằng tầng middeware
Có 4 mô hình dịch vụ middleware mà ta sẽ xét lần lượt sau đây:
- Gọi thủ tục từ xa (Remote Procedure Call - RPC).
- Triệu gọi đối tượng từ xa (Remote Object Invocation - ROI).
- Truyền thông điệp (Message - Oriented Communication - MOC).
- Truyền thông theo thời gian (Streams – Oriented Communication).
2.3.2. Các kiểu truyền thông
- Truyền thông đồng bộ (synchronous Communication) / dị bộ
(asynchronous Communication). Cả bên gửi (sender) và bên nhận
(receiver) đều đồng bộ về mặt thời gian, sender dừng sau khi đã gửi
thông điệp trong truyền thông đồng bộ và trong truyền thông không
đồng bộ, sau khi gửi thông điệp thì sender vẫn tiếp tục công việc.
- Truyền thông nhất thời (Transient Communication) / truyền thông
kiên trì (Persistent Communication). Trong truyền thông nhất thời,
thông điệp gửi đi chỉ được lưu trữ trong thời gian truyền nhận (nó
tương ứng với dị bộ) , còn trong truyền thông kiên trì thì thông điệp
gửi đi được lưu trữ cho đến khi thông điệp nhận được ở bên
receiver (nó tương ứng với đồng bộ).
Nhóm 11
13

Chia sẻ tài nguyên trong hệ phân tán
2.3.3. Gọi thủ tục từ xa
RPC cho phép gọi các thủ tục nằm trên các máy khác. Khi 1 tiến
trình trên máy A gọi 1 thủ tục trên máy B, thì tiến trình gọi trên máy A đó
sẽ bị tạm dừng, thay vào đó sẽ thực thi thủ tục được gọi trên máy B.
Phương pháp này được gọi là Gọi thủ tục từ xa (RPC). Đây là kĩ thuật
được sử dụng rộng rãi nhất trong các hệ phân tán.
Nguyên lý: client gọi thủ tục từ xa, nó gửi yêu cầu đến server và
chờ đợi kết quả, trong thời gian này thì server sẽ gọi thủ tục cục bộ của nó
và trả về kết quả, sau đó reply lại cho client.
Nguyên lý của RPC giữa một chương trình client và server
Nhược điểm là sau khi gửi request thì client phải dừng hoạt động và
chờ đợi kết quả. Cải tiến bằng cách sử dụng Asynchronous RPC- RPC dị
bộ.
Nhóm 11
14
Chia sẻ tài nguyên trong hệ phân tán
(a) Tương tác giữa client và server trong RPC truyền thống (b) Tương tác sử
dụng RPC dị bộ
Nguyên lý RPC dị bộ: client gửi tới server lời gọi thủ tục và chờ
bản tin chấp nhận từ server. Phía server sẽ gửi bản tin chấp nhận về cho
client thông báo đã nhận được yêu cầu và bắt đầu thực hiện yêu cầu RPC
đó. Lúc này client sẽ tếp tục thực hiện công việc của mình mà không chờ
kết quả từ server như ở RPC truyền thống. RPC xảy ra với các bước tóm
tắt như sau:
- Thủ tục client gọi client stub một cách bình thường.
- Client stub xây dựng một thông điệp và gọi hệ điều hành cục bộ.
- Hệ điều hành của client gửi thông điệp đến hệ điều hành từ xa.
- Hệ điều hành từ xa gửi thông điệp cho server stub.
- Server stub mở gói các tham số ra và gọi server.

- Server thực thi và trả kết quả đến stub.
- Server stub đóng gói nó vào thông điệp và gọi hệ điều hành cục bộ.
- Hệ điều hành của server gửi thông điệp cho hệ điều hành của client.
- Hệ điều hành của client trao thông điệp đến client stub.
- Stub mở gói kết quả và trả về cho client
2.3.4. Truyền thông hướng thông điệp
Truyền thông hướng thông điệp được cung cấp bởi tầng vận
chuyển. Cơ chế truyền thông điệp có hai loại:
Truyền thông ổn định (Persistent communication): Thư điện tử là
một ví dụ minh họa rõ nét cho khái niệm truyền thông kiên trì.Khi một
trạm muốn gửi bản tin đi trên mạng, nó sẽ gửi bản tin đó đến interface của
máy mình. Qua bộ nhớ đệm, bản tin đó được truyền đi trong mạng cục bộ
để đến mail server cụ bộ. Mail server này tạm thời lưu trữ bản tin đó vào
bộ nhớ đệm của mình, xác định địa chỉ trạm đích, rồi gửi tới server cục bộ
của trạm đích tương ứng (có thể đi qua nhiều mail server trung gian khác).
Tới mail server cuối cùng, bản tin lúc này sẽ được lưu lại trước khi phát
cho trạm đích tương ứng.
Truyền thông nhất thời (Transient communication): bản tin gửi đi
chỉ được lưu lại trong phiên trao đổi đó. Khi phiên trao đổi đã hoàn thành
Nhóm 11
15
Chia sẻ tài nguyên trong hệ phân tán
hoặc khi kết nối bị hủy bỏ thì các bản tin đó cũng bị hủy bỏ trên các
server. Do đó, vì một lý do nào đó mà một server trung gian không thể
chuyển tiếp bản tin đi được thì bản tin này sẽ bị hủy bỏ.
2.3.5. Truyền thông hướng dòng
Medium (số nhiều là media): chỉ các phương tiện dùng để truyền
thông tin như các thiết bị lưu trữ, đường truyền, các phương tiện hiển thị
Continuous media: quan hệ thời gian giữa các mục là yếu tố cơ bản
để thông dịch đúng ngữ nghĩa thực sự của dữ liệu.

Discrete media: quan hệ thời gian không còn là yếu tố cơ bản để
thông dịch đúng dữ liệu.
Data stream: là một chuỗi các đơn vị dữ liệu. Với data stream thì
thời gian là yếu tố quyết định. Để kiểm soát thời gian người ta đưa ra ba
phương thức truyền sau:
Truyền dị bộ (asynchronous transmission mode): các mục dữ liệu
truyền tuần tự và không có ràng buộc thời gian đối với việc truyền.
Truyến đồng bộ (synchronous transmission mode): quy định trước
độ trễ tối đa cho mỗi đơn vị dữ liệu trong data stream.
Đồng bộ các dòng thì có hai loại đồng bộ sau:
- Đồng bộ đơn giản: thực hiện đồng bộ giữa dòng trễ và dòng liên
tục. Ví dụ trong việc trình diễn Slide có kèm âm thanh. Dòng hình
ảnh Slide là dòng trễ còn dòng âm thanh là dòng liên tục, phải đồng
bộ hai dòng này để thu được kết quả trình diễn như ý muốn.
- Đồng bộ phức tạp: là việc đồng bộ giữa các dòng dữ liệu liên tục.
Ví dụ trong việc xem phim trực tuyến, thì dòng âm thanh và dòng
hình ảnh đều là các dòng liên tục và cần phải được đồng bộ
2.3.6. Truyền thông đa điểm
Đây là một chủ đề quan trọng trong truyền thông trên các hệ phân
tán, nó là khả năng gửi dữ liệu tới nhiều người nhận. Với sự ra đời của
công nghệ điểm- điểm (peer- to- peer), nên việc cài đặt các đường truyền
thông trở nên dễ dàng hơn. Giải pháp peer-to-peer này được triển khai
Nhóm 11
16
Chia sẻ tài nguyên trong hệ phân tán
trên tầng ứng dụng. Hiện nay có rất nhiều kỹ thuật truyền thông đa điểm ở
các mức ứng dụng khác nhau. Truyền thông đa điểm cũng có thể đạt được
theo nhiều cách ngoài cách thiết lập rõ ràng các đường truyền thông. Với
sự phát triển ngày càng mạnh của internet, thì truyền thông đa điểm đã
góp phần rất lớn vào việc truyền, quảng bá thông tin nhanh chóng và hiệu

quả tới người sử dụng trên toàn thế giới.
2.4. Đồng bộ hóa
Đồng bộ hóa là một trong các giải pháp hỗ trợ để giải quyết bài
toán chia sẻ tài nguyên trong hệ phân tán. Đồng bộ hóa trong môi trường
phân tán phức tạp hơn nhiều so với môi trường tập trung. Đồng bộ hoá là
vấn đề xử lý cùng một công việc tại cùng một thời điểm. Trong hệ phân
tán nói chung và mạng máy tính nói riêng không có đồng bộ hóa chung
cho toàn cầu. Hay nói cách khác, các tiến trình trên các máy khác nhau có
các thời gian riêng khác nhau.
2.5. Nhất quán dữ liệu
Trong hệ phân tán, việc sử dụng các bản sao đóng vai trò khá quan
trọng. Có những lý do sau để ta dùng các bản sao:
- Tăng tính tin cậy. Nếu một hệ thống file được sao lưu nó có thể
tiếp tục làm việc sau khi gặp sự cố bằng cách chuyển đến làm việc với các
bản sao khác. Có nhiều bản sao giúp bảo vệ chống được việc dữ liệu bị hư
hỏng.
- Tăng hiệu năng, từ đó tăng tính sẵn sàng sử dụng tài nguyên.
Tuy nhiên, ta cũng phải trả giá cho việc sử dụng các bản sao. Vấn
đề được đặt ra ở đây là làm thế nào để đảm bảo tính nhất quán khi cập
nhật dữ liệu cho các bản sao.
Có 2 nhóm mô hình nhất quán (consistent models):
- Các mô hình nhất quán lấy dữ liệu làm trung tâm (data centric
consistency models)
- Các mô hình nhất quán lấy client làm trung tâm (client centric
consistency models)
Nhóm 11
17
Chia sẻ tài nguyên trong hệ phân tán
2.5.1. Mô hình nhất quán lấy dữ liệu làm trung tâm
a. Mô hình nhất quán mạnh:

- Mô hình nhất quán chặt (strict consistency): khi thỏa điều kiện sau:
Bất kì thao tác đọc nào trên đơn vị dữ liệu x thì đếu sẽ trả về một
giá trị tương ứng với thao tác ghi gần nhất trên x.
- Mô hình nhất quán tuần tự (sequential consistency): là 1 mô hình
nhất quán yếu hơn 1 ít so với mô hình nhất quán chặt. Nó được đưa
ra bởi Lamport (1979), theo ngữ cảnh bộ nhớ được chia sẻ cho các
hệ thống đa vi xử lý Mô hình nhất quán tuyến tính.
- Mô hình nhất quán tuyến tính (linearizability consistency): mô hình
nhất quán này yếu hơn mô hình nhất quán chặt nhưng lại mạnh hơn
mô hình nhất quán tuần tự
- Mô hình nhất quán nhân quả (causal consistency): ở phần trước
chúng ta cũng đã nói đến tính nhân quả khi đề cập đến vector tem
thời gian. Nếu sự kiện B bị tác động và ảnh hưởng bởi sự kiện A
trước đó, tính nhân quả đòi hỏi rằng mọi người phải thấy A trước
khi thấy B.
- Mô hình nhất quán FIFO.
b. Mô hình nhất quán yếu:
- Truy cập đến các biến đồng bộ hoá (synchronization variables)
được kết hợp với một kho dữ liệu (data store), nhất quán một cách
tuần tự.
- Không có thao tác trên một biến đồng bộ được phép thực hiện cho
đến khi tất cả các thao tác ghi trước đó đã hoàn thành ở mọi nơi.
- Không có thao tác đọc ghi trên các đơn vị dữ liệu được phép thực
hiện cho đến khi tất cả các thao tác trước đó đến các biến đồng bộ
đã được thực hiện.
2.5.2. Mô hình nhất quán lấy người dùng làm trung tâm
- Mô hình nhất cuối cùng (eventual consistency).
- Mô hình nhất quán đọc đều (monotonic reads).
- Mô hình nhất quán ghi đều (monotonic writes).
- Mô hình nhất quán đọc thao tác ghi (read your writes).

- Mô hình nhất quán ghi theo sau đọc (writes your reads).
Nhóm 11
18
Chia sẻ tài nguyên trong hệ phân tán
2.5.3. Quán lý các bản sao
a. Bố trí các bản sao (replica – server placement)
Vấn đề thiết kế chính đặt ra cho kho dữ liệu phân tán, là quyết định
xem khi nào, ở đâu, và do ai sắp đặt các bản sao của kho dữ liệu. Có 3 loại
bản sao như sau:
- Các bản sao thường trực (permanent replicas).
- Các bản sao máy chủ khởi tạo (server-initiated replicas)
- Các bản sao máy khách khởi tạo (client-initiated replicas)
b. Lan truyền cập nhật (update propagation)
Vấn đề được giải quyết ở đây là làm thế nào để lan truyền các cập
nhật từ 1 bản sao đến các bản sao khác
2.5.4. Các giao thức nhất quán
Các giao thức ghi từ xa. Với giao thức này, tất cả các thao tác ghi
được thực hiện chỉ trên một server từ xa. Giao thức này thường được kết
hợp với các hệ thống chủ khách truyền thống. Một dạng giao thức ghi từ
xa là giao thức Primary-Backup. Nhược điểm của giao thức này là vấn đề
hiệu năng. Tất cả các thao tác ghi trong giao thức đều chiếm khá nhiều
thời gian, đặc biệt là khi có giao thêm giao thức ghi theo khối được sử
dụng. Ưu điểm của giao thức này là:
- Sử dụng giao thức ghi không theo khối để xử lý các cập nhật.
- Tất cả các thao tác ghi có thể được gửi đến các bản sao dự phòng
theo cùng một thứ tự, điều này tạo điều kiện thuận lợi khi thực thi
mô hình nhất quán tuần tự
2.6. Tính chịu lỗi
Một đặc tính riêng biệt của hệ phân tán giúp phân biệt với hệ thống máy
đơn là khái niệm của lỗi riêng phần (partial failure). Một lỗi riêng phần có thể

xảy ra khi một thành phần trong hệ thống bị sự cố, và lỗi này có thể ảnh hưởng
đến hoạt động chung của các thành phần khác. Một mục tiêu quan trọng trong
thiết kế hệ phân tán là xây dựng nên 1 hệ thống mà nó có thể tự động hồi phục
lại các lỗi riêng phần mà không làm ảnh hưởng gì nghiêm trọng đến toàn bộ
hiệu năng.
Nhóm 11
19
Chia sẻ tài nguyên trong hệ phân tán
2.6.1. Khái niệm
Sau đây là các đòi hỏi cho 1 hệ phân tán:
- Tính sẵn sàng (availability): hệ thống sẵn sàng sử dụng ngay bất kỳ
lúc nào. Nói chung, thuộc tính này đảm bảo cho hệ thống luôn hoạt
động một cách chính xác ở mọi thời điểm được yêu cầu và sẵn sàng
hoạt động theo yêu cầu của người sử dụng.
- Tính tin cậy (reliability): hệ thống chạy liên tục mà không bị lỗi.
Ngược với tính sẵn sàng, tính tin cậy được định nghĩa liên quan đến
một khoảng thời gian thay vì một điểm thời gian. Một hệ thống có
độ tin cậy cao có thể làm việc liên tục mà không bị gián đoạn trong
khoảng thời gian khá dài
- Tính an toàn (safety): hệ thống có lỗi tạm thời thì vẫn không có
thảm hoạ xảy ra. Ví dụ như các tiến trình hoạt động trong hệ thống
điều khiển năng lượng nguyên tử hay đưa con ngườI lên vũ trụ cần
một độ an toàn cao. Nếu các hệ thống điều khiển như thế tạm thời
hỏng trong 1 khoảnh khắc, hậu quả thật kinh khủng.
- Tính bảo trì được (maintainability): khả năng này giúp hệ thống bị
lỗi nhanh chóng khắc phục lỗi.
Nếu một hệ thống có được cả 4 tính trên thì được gọi là một hệ
thống có độ tin cậy (dependability).
Khi phân loại các lỗi của hệ phân tán, ta có 3 loại lỗi sau: Lỗi nhất
thời (transient faults) là những lỗi chỉ xảy ra 1 lần, mất đi, và không lặp

lại nữa. Lỗi lặp (intermittent faults) là những lỗi xảy ra, mất đi, và sau đó
lặp lại. Lỗi lâu dài hay còn gọi là lỗi thường trực (permanent faults).
Bên cạnh các loại lỗi trên, ta còn có các mô hình lỗi sau: lỗi sụp đổ
(crash failure) khi server bị treo, lỗi bỏ sót (omission failure) khi server
không đáp ứng được nhu cầu gửi hoặc nhận, lỗi thời gian (timing failure)
khi thời gian có trả lời nhưng lại quá thời gian quy định, lỗi đáp ứng
(respond failure) server có trả lời nhưng không đúng, và cuối cùng là lỗi
tuỳ tiện (arbitrary failure) khi server trả lời 1 cách tuỳ tiện vào các thời
điểm tùy tiện.
Nhóm 11
20
Chia sẻ tài nguyên trong hệ phân tán
2.6.2. Sự dư thừa
Nếu một hệ thống phải chịu lỗi, cách tốt nhất là cố gắng ẩn đi sự
xuất hiện của các lỗi từ những tiến trình khác. Kỹ thuật chính cho việc che
dấu lỗi đó là sử dụng dư thừa.
Có 3 loại dư thừa:
- Dư thừa thông tin: bit thừa được thêm vào để cho phép hồi phục
những bit đã bị sai khác, bị lỗi. Ví dụ, mã Hanmming có thể được
thêm vào dữ liệu truyền để hồi phục khi có nhiễu trên đường
truyền.
- Dư thừa thời gian: một hành đã được thực hiện, và sau đó, nếu cần,
nó lại được thực hiện lần nữa.
- Dư thừa vật lý: là 1 kỹ thuật rất phổ biến cho việc chịu lỗi. Nó được
dùng trong sinh vật học (động vật có vú thì có 2 mắt, 2 tai, 2
phổi…), trong kỹ thuật hàng không (Boeing 747 có đến 4 động cơ
nhưng chỉ dùng 3 cái để bay), trong thể thao (nhiều trọng tài chỉ
trong 1 tình huống phạm lỗi). Nó cũng được dùng để chịu lỗi trong
các mạch điện tử…
2.6.3. Khôi phục tiến trình

Để khôi phục tiến trình, ta tổ chức thành các nhóm tiến trình giống
nhau. Các nhóm tiến trình trên có thể động, nói cách khác chúng có thể
thêm vào hoặc bớt đi các thành viên. Tuy nhiên, vấn đề cần giải quyết ở
đây sẽ là quản lý các nhóm tiến trình đó như thế nào. Nếu đứng về
phương diện nhóm, ta sẽ có giải pháp cho vấn đề trên là phân thành nhóm
ngang hàng và nhóm phân cấp. Tương ứng, nếu đứng trên phương diện
thành viên của nhóm, ta sẽ có: quản lý tập trung và quản lý phân tán.
Ngoài ra, ta còn phải tính đến nên có bao nhiêu bản sao tiến trình.
Đó là vấn đề che dấu lỗi và cơ chế dùng bản sao.
2.6.4. Truyền thông theo mô hình client/server tin cậy
Trong nhiều trường hợp, tính chịu lỗi trong hệ phân tán chỉ tập
trung vào các tiến trình bị lỗi. Tuy nhiên, chúng ta cũng cần quan tâm đến
các lỗi truyền thông. Trong thực tế, khi xây dựng các hệ thống truyền
thông tin cậy, vấn đề cốt yếu là phải kiểm soát các lỗi bỏ sót và lỗi sụp đổ.
Các lỗi tuỳ tiện có thể xảy ra dưới dạng sao chép các thông điệp, kết quả
Nhóm 11
21
Chia sẻ tài nguyên trong hệ phân tán
là trong các hệ thống mạng, các thông điệp này có thể được lưu giữ trong
một thời gian khá dài và sau đó lại được đưa lên mạng sau khi người gửi
đã gửi đi một thông điệp truyền lại.
Các phương pháp truyền thông tin cậy:
- Truyền thông điểm tới điểm (Point to point communication)
- Ngữ nghĩa RPC trong các lỗi hiện thời (RPC Semantics in the
Presence of Failures)
2.6.5. Truyền thông theo mô hình nhóm tin cậy
Mỗi tiến trình thiết lập 1 kết nối điểm - điểmm với tiến trình khác
mà nó muốn truyền thông. Hiển nhiên, một tổ chức như vậy là không hiệu
quả khi nó có thể hoang phí dải thông mạng. Tuy nhiên, nếu số lượng tiến
trình nhỏ, thì như thế việc đạt được độ tin cậy xuyên suốt nhiều kênh

điểm-điểm tin cậy là khá đơn giản, không hề phức tạp
2.6.6. Phục hồi lỗi
Một khi có lỗi xảy ra, thì việc hồi phục lỗi là điều hết sức cần thiết.
- Phục hồi lỗi lùi (backward recovery): đưa hệ thống từ trạng thái lỗi
hiện hành trở về trạng thái đúng trước đó.
- Phục hồi lỗi tiến (forward recovery): một khi hệ thống đã đi vào
trạng thái lỗi, thay vì phải quay lui, ta cố gắng đem hệ thống đến
trạng thái đúng mới ở trước mà tại đó ta lại có thể tiếp tục thực
hiện bình thường.
2.7. Bảo mật
2.7.1. Các mối đe dọa
Bảo mật trong hệ thống máy tính là chúng ta cố gắng bảo vệ các
dịch vụ và dữ liệu của hệ thống, chống lại các sự đe doạ. Sau đây là 4 loại
đe doạ vấn đề bảo mật mà chúng ta cần xem xét:
Interception (Chặn): nhằm nói đến tình huống một phần tử nào đó
không được uỷ quyền mà lại giành được quyền truy cập vào các dịch vụ
hoặc dữ liệu. Hay nói cách khác đó là các truy cập trái phép, nghe trộm.Ví
dụ: Giao tiếp thông qua phương tiện truyền thông giữa hai đối tượng bị
nghe trộm bởi một đối tượng nào đó. Sự chặn đứng cũng xảy ra khi dữ
Nhóm 11
22
Chia sẻ tài nguyên trong hệ phân tán
liệu bị sao chép không hợp pháp khi vào thư mục của người khác trong
hệ thống file.
Interruption (Ngắt): nhằm nói đến tình huống trong đó các dịch vụ
hoặc dữ liệu trở nên mất tác dụng, bị phá huỷ, không tìm thấy…ví dụ như
khi một file bị hư hỏng hay bị mất. Trong trường hợp này các dịch vụ
hoặc dữ liệu đã bị một kẻ nào đó có chủ tâm phá hoại nhằm làm cho
người khác không thể truy cập được.
Modification (Biến đổi): sự biến đổi gây ra sự thay đổi dữ liệu làm

cho dữ liệu không còn giữ nguyên được những đặc điểm ban đầu. Thường
dữ liệu bị chặn đứng tức có kẻ truy nhập bất hợp pháp và sau đó thay đổi
dữ liệu truyền đi, thay đổi chương trình để bí mật truy nhập vào các hoạt
động của người được phép sử dụng hợp pháp chương trình.
Fabrication (Chế tạo): nhằm chỉ đến trạng thái trong đó việc phát
sinh các dữ liệu thêm vào hay các hoạt động bất thường. Ví dụ: Một kẻ
xâm nhập cố thêm cho bằng được 1 mục (entry) vào file mật khẩu hay cơ
sở dữ liệu.
Các cơ chế bảo mật:
- Encryption (Mật mã): là nền tảng của bảo mật trong hệ thống máy
tính. Mã hoá sẽ chuyển đổi dữ liệu thành một dạng nào đó khiến
cho một kẻ xâm nhập trái phép không hiểu được. Mã hóa cũng cung
cấp cơ chế cho phép kiểm tra tính toàn vẹn dữ liệu.
- Authentication (Xác thực): được sử dụng để nhận dạng chính xác
các yêu cầu của user, client, server…Trong trường hợp của client,
tiền đề cơ bản trước khi server đáp ứng nhu cầu của client là server
phải nhận dạng được client. Thông thường, server nhận dạng client
thông qua password, ngoài ra còn các phương pháp nhận dạng khác.
- Authorization (Uỷ quyền): sau khi client được xác thực, điều cần
thiết là kiểm tra xem khi nào client được cấp quyền để bắt đầu thực
hiện các hành động đáp ứng yêu cầu từ user. Hay nói cách khác, uỷ
quyền giúp kiểm tra các quyền được thực hiện các hành động yêu
cầu.
Nhóm 11
23
Chia sẻ tài nguyên trong hệ phân tán
- Auditing (Kiểm toán): công cụ kiểm toán được sử dụng để phát hiện
ra client nào truy nhập vào cái gì và bằng cách nào. Mặc dù kiểm
định không thật sự cung cấp bất cứ tính năng bảo vệ nào chống lại
sự đe doạ bảo mật nhưng nó thật sự hữu dụng trong việc phân tích

tìm ra những lỗ hổng bảo mật để sau đó có cách chống lại xự xâm
nhập. Cũng chính vì lý do này, các hacker không bao giờ để lại dấu
vết có thể dẫn đến việc phát hiện ra họ.
2.7.2. Chính sách an toàn, an ninh
- Tập hợp tất cả các yêu cầu đặt ra để đảm bảo an toàn – an ninh
cho hệ thống.
- Tập các quy định liên quan đến việc cho phép hay không cho
phép.
2.7.3. Cơ chế an toàn, an ninh
- Cơ chế mật mã (encription).
- Cơ chế xác thực (Authentication): Kiểm tra các định danh đã khai
báo của các thực thể trong hệ phân tán.
- Cơ chế ủy quyền ( Authorization): Kiểm tra xem các thực thể
được quyền gì trong hệ thống
- Kiểm toán (Auditing): Theo vết hoạt động của các thực thể đặc
biệt là các client và user.
2.7.4. Mật mã
Một cơ chế an toàn, an ninh cơ bản trong hệ phân tán đó là mã mật.
Bên gửi mã hóa bản tin cần truyền, truyền bản tin đã mã hóa đi, bên nhận
sẽ giải mã bản tin nhận được thành bản tin ban đầu. Có hai cách tiếp cận
chính:
- Khóa bí mật (khóa đối xứng) secrete key: Một ví dụ điển hình là
khóa DES- chuẩn mật mã dữ liệu- data encryption standard.
Nhóm 11
24
Chia sẻ tài nguyên trong hệ phân tán
- Khóa công khai (khóa bất đối xứng)- public key: Khi mã mật sẽ
có hai khóa: khóa mã không giống với khóa giải mã, khóa mã là công khai
và khóa giải mã là bí mật. Ví dụ: RSA (Rivest Shamir Aldeman)
2.7.5. Xác thực

- Xác thực dựa trên khóa bí mật: bên gửi muốn giao tiếp với bên
nhận sẽ gửi một yêu cầu A tới bên nhận. Bên nhận trả lời bằng một
yêu cầu R
B
. Bên gửi sẽ mã hóa yêu cầu R
B
bằng khóa bí mật K
A,B
và gửi về cho bên nhận. Bên nhận xác thực được bên gửi nhờ nhận
biết được yêu cầu R
B
mình đã gửi trong gói tin vừa nhận. Lúc này
bên gửi muốn xác thực bên nhận sẽ tiếp tục gửi yêu cầu R
A
tới bên
nhận. Bên nhận sẽ lại mã hóa R
A
bằng khóa bí mật K
A,B
đó và gửi về
cho bên nhận. Và như thế bên nhận đã xác định được bên gửi, sau
đó quá trình trao đổi sẽ được thực hiện.
Hình 2.25: Xác thực dựa trên khóa bí mật
- Xác thực dựa trên khóa công khai: bên gửi mã hóa yêu cầu bằng
khóa công khai K
+
B
của bên nhận. Bên nhận này là nơi duy nhất có
thể giải mã bản tin đó bằng K
-

B
. Bên nhận sẽ mã hóa yêu cầu của
bên gửi cùng với yêu cầu của chính mình và khóa K
A,B
vừa tạo ra
bằng khóa công khai K
+
A
của bên gửi nhằm xác thực bên gửi. Cuối
cùng, bên gửi sẽ gửi lại cho bên nhận yêu cầu R
B
của bên nhận đã
gửi đi để xác thực.
Nhóm 11
25

×