Câu 1: Em hãy nêu thêm 2 ví dụ về dịch vụ được coi là Hệ Phân Tán (ngoài 2 ví dụ WWW và Email đã trình bày trên lớp). Dựa vào định nghĩa, giải thích tại sao chúng được coi là Hệ Phân Tán. Câu 2: Tại sao nói tính chia sẻ tài nguyên của Hệ Phân Tán có khả năng: Giảm chi phí, tăng tính sẵn sàng và hỗ trợ làm việc nhóm? Tuy nhiên lại tăng rủi ro về an toàn thông tin? Giải thích. Câu 3: Liên quan đến tính trong suốt, giải thích tại sao nhà quản trị hệ thống phải xem xét việc cân bằng giữa hiệu năng và độ trong suốt? Đưa ra ví dụ cụ thể để giải thích.
Trang 1Bài tập trên lớp Môn học: Hệ phân tán
Chương 1: Tổng quan và kiến trúc hệ phân tán
Họ tên sinh viên: Lưu Tiến Thái
MSSV: 20176867
Câu 1: Em hãy nêu thêm 2 ví dụ về dịch vụ được coi là Hệ Phân Tán (ngoài 2
ví dụ WWW và Email đã trình bày trên lớp) Dựa vào định nghĩa, giải thích tại sao chúng được coi là Hệ Phân Tán.
VD1: Web chat
Các thiết bị độc lập không phụ thuộc lẫn nhau được kết nối với nhau bằng mạng máy tính, có thể chia sẻ tài nguyên với nhau
VD2: Mạng xã hội
Mọi người được cung cấp những dịch vụ giống nhau có thể chia sẻ tài nguyên với nhau ( ví dụ Facebook có thể gửi ảnh hay video cho người khác)
Câu 2: Tại sao nói tính chia sẻ tài nguyên của Hệ Phân Tán có khả năng: Giảm chi phí, tăng tính sẵn sàng và hỗ trợ làm việc nhóm? Tuy nhiên lại tăng rủi ro về an toàn thông tin? Giải thích.
Mục tiêu của 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 tài nguyên từ xa, chia sẻ chúng một cách hiệu quả, có thể kiểm soát
Trang 2cũng như quản lý được những truy cập đó. Điều này hỗ trợ làm việc nhóm rất nhiều, và cũng giảm thiểu chi phí thiết bị hay đi lại (Ví dụ như hạn chế được các thiết bị như usb khi ta có thể lưu dữ liệu lên drive)
Nhưng tính năng này cũng có rủi ro về an toàn thông tin khi ta đưa hết thông tin lên mạng và trong trường hợp vô tình để lộ tài khoản hoặc bị hack khiến bị đánh cắp dữ liệu
Câu 3: Liên quan đến tính trong suốt, giải thích tại sao nhà quản trị hệ thống phải xem xét việc cân bằng giữa hiệu năng và độ trong suốt? Đưa ra ví dụ cụ thể để giải thích.
Không phải lúc nào độ trong suốt ở mức cao nhất cũng là tốt cho hệ thống, cần phải cân bằng giữa hiệu năng và độ trong suốt
VD: Giả sử khi trang web đang bảo trì hoặc gặp sự cố giữa chừng mà ta chưa kịp
xử lí cần thông báo cho người dùng biết để tránh họ phải chờ đợi gây nên ấn tượng xấu với dịch vụ mà ta cung cấp
Câu 5: So sánh 2 kiểu HĐH DOS và NOS Giải thích tại sao việc sử dụng Middleware là sự kết hợp ưu điểm của cả 2 mô hình trên.
Khác nhau
1 Định
nghĩa
NOS là hệ điều hành máy tính được thiết
kế chủ yếu để hỗ trợ máy trạm, máy tính
cá nhân và trong một số trường hợp là
thiết bị đầu cuối cũ được kết nối trên
mạng cục bộ
DOS là hệ điều hành quản
lý một số máy tính và thiết
bị phần cứng tạo thành một
hệ thống phân tán
2 Mục Mục tiêu chính của NOS là cung cấp các Mục tiêu chính của DOS là
Trang 3đích dịch vụ cục bộ cho khách hàng từ xa ẩn và quản lý tài nguyên
phần cứng
3 Đối
tượng
NOS là hệ điều hành được kết hợp lỏng
lẻo cho nhiều máy tính không đồng nhất
DOS là hệ điều hành kết hợp chặt chẽ cho nhiều bộ
xử lý và nhiều máy tính đồng nhất
4.Kiến
trúc
Kiến trúc 2 tier client-server Kiến trúc n tier
client-server
5 Phân
loại
Gồm có 2 kiểu kiến trúc: P2P và
client-server
Gồm 2 loại : Hệ điều hành
đa máy tính và hệ điều hành đa xử lý
6 Giao
tiếp
Giao tiếp bằng files Giao tiếp bằng messages
7 Độ
trong
suốt
Việc sử dụng middleware là sự kết hợp ưu điểm của 2 mô hình trên vì middleware vừa có tính không đồng bộ của NOS vừa có tính trong suốt của DOS
Câu 6 : Trong mô hình kiến trúc phân tầng OSI của Mạng máy tính, hãy trình bày tóm tắt chức năng của từng tầng Lấy ví dụ cụ thể khi chúng ta thay đổi/cập nhật một tầng bất kỳ thì không ảnh hưởng đến hoạt động của các tầng khác
- Tầng 7 - Tầng ứng dụng (Application layer)
Trang 4- Chức năng Tầng ứng dụng (Application Layer)
+ Cung cấp giao diện chương trình ứng dụng cho người sử dụng
+ Giúp người dùng giao tiếp với hệ thống mạng
+ Không cung cấp dịch vụ cho các tầng bên dưới
- Tầng 6 - Tầng trình diễn (Presentation Layer)
- Chức năng tầng trình diễn (Presentation Layer)
+ Xác định dạng cấu trúc dữ liệu
+ Nén và giải nén dữ liệu
+ Mã hóa và giải mã dữ liệu
+ Tầng trình diễn ở trạm gửi chuyển thông tin về một khuôn dạng nhất định
+ Tầng trình diễn ở trạm nhận chuyển thông tin từ khuôn chung về khuôn dạng của trạm
- Tầng 5 - Tầng phiên (Session Layer)
- Chức năng Tầng phiên (Session Layer)
+ Thiết lập ,duy trì,kết thúc phiên giao dịch
+ Đảm bảo phiên giao dịch diễn ra mới truyền dữ liệu
+ Sự đồng bộ hóa
- Tầng 4 - Tầng giao vận (Transport Layer)
- Chức năng Tầng vận chuyển (Transport)
+ Cung cấp các dịch vụ vận chuyển ,duy trì và kết thúc
+ TCP/UDP
+ Dữ liệu chia thành các phân đoạn
+ Điều khiển kết nối
+ Điều khiển luồng
- Tầng 3 - Tầng mạng (Network Layer)
- Chức năng Tầng mạng (Network Layer)
Trang 5+ Định tuyến gói tin (Routing)
+ Đánh địa chỉ cho gói tin
+ Tìm đường đi tốt nhất cho gói tin
- Tầng 2 - Tầng liên kết dữ liệu (Data Link Layer)
- Chức năng Tầng liên kết dữ liệu (Data Link Layer)
+ Đóng khung dữ liệu
+ Gán địa chỉ vật lý MAC
+ Điều khiển luồng
+ Kiếm soát lỗi
+ Điều khiển truy cập
+ Tầng này đôi khi được chi làm 2 tầng con: Logical Link Control (LLC) và Media Access Control (MAC)
- Tầng 1 - Tầng vật lý (Physical Layer)
- Chức năng của tầng vật lý:
+ Đặc tính vật lý của giao diện và môi trường
+ Biểu diễn của các bit
+ Tốc độ dữ liệu
+ Sự đồng bộ hóa của các bit
+ Cấu hình đường
+ Topo vật lý,chế độ truyền : Simple,Half Duplex,Full Duplex
- Kết luận: Từ chức năng của các tầng ta có thể thấy chức năng của chúng là độc nhất và riêng biết không liên quan đến chức năng của các tầng khác nên khi ta cập nhật một tầng thì các tầng khác vẫn hoạt động bình thường
- Ví dụ: Khi chuyển từ IPv4 sang IPv6 để tăng số lượng địa chỉ lên, thì chúng ta không cần phải quan tâm đến 2 tầng xung quanh là tầng liên kết dữ liệu và tầng giao vận, mà chỉ cần sửa đổi trong tầng mạng IPv6 được xây dựng để vẫn đảm bảo hoạt động của IPv4
Trang 6Câu 7: Cho ví dụ và phân tích một mô hình kiến trúc thuê bao/xuất bản
(publish/subscribe).
Câu hỏi 8: Sự khác nhau giữa phân tán dọc và phân tán ngang là gì?
Sự khác nhau:
- Phân tán dọc: Mỗi thiết bị trong hệ phân tán có quyền khác nhau, mối quan hệ giữa các thiết bị cũng khác nhau (VD: Mô hình client – server, client không có quyền lực, chức năng như server)
- Phân tán ngang: Mỗi thiết bị trong hệ phân tán có quyền giống nhau, mối quan hệ giữa chúng giống nhau (VD : Web chat: mối quan hệ giữa các account là giống nhau, và có quyền như nhau)
Câu hỏi 9: Phân tích ưu nhược điểm của kiến trúc tập trung và kiến trúc không tập trung
Ưu điểm của kiến trúc tập trung
• Khả năng truy cập rộng rãi đến các CSDL;
• Nâng cao khả năng thực hiện của CPU: các CPU ở máy chủ và máy khách khác nhau có thể cùng chạy song song, mỗi CPU thực hiện một nhiệm vụ;
• Chi phí cho phần cứng giảm do chỉ cần máy chủ có cấu hình mạnh để lưu trữ và quản trị tài nguyên
• Chi phí truyền thông được giảm do một phần các thao tác được giải quyết trên máy khách, chỉ cần: yêu cầu về truy cập tài nguyên gửi đến máy chủ và
dữ liệu kết quả gửi về máy khách;
• Nâng cao khả năng đảm bảo tính nhất quán của dữ liệu vì các ràng buộc được định nghĩa và kiểm tra trên máy chủ
Nhược điểm của kiến trúc tập trung:
• Tính an toàn thường không cao do khi gặp sự cố thì rất khó khăn để khôi phục dữ liệu
Trang 7Ưu điểm của kiến trúc không tập trung
• Cấu trúc phân tán dữ liệu thích hợp cho bản chất phân tán của nhiều người dùng
• Dữ liệu được chia sẻ trên mạng nhưng vẫn cho phép quản trị dữ liệu địa phương (dữ liệu đặt tại mỗi trạm)
• Dữ liệu có tính sẵn sàng cao
• Dữ liệu có tính tin cậy cao vì khi một nút gặp sự cố, có thể khôi phục được
dữ liệu tại đây do bản sao của nó có thể được lưu trữ tại một nút khác nữa
• Hiệu năng của hệ thống được nâng cao hơn
• Cho phép mở rộng các tổ chức một cách linh hoạt Có thể thêm nút mới vào mạng máy tính mà không ảnh hưởng đến hoạt động của các nút sẵn có Nhược điểm của kiến trúc không tập trung
• Hệ thống phức tạp hơn vì phải làm ẩn đi sự phân tán dữ liệu đối với người dùng
• Việc thiết kế CSDL phân tán phức tạp hơn, chi phí cao hơn
• Đảm bảo an ninh khó khăn hơn
Câu hỏi 10: Trong một mạng overlay có cấu trúc, các thông điệp được định tuyến dựa theo hình trạng mạng (topology) Nhược điểm quan trọng của hướng tiếp cận này là gì?
Nhược điểm là liên kết giữa các node chỉ là liên kết logic nên không tìm thấy được các liên kết vật lý bên dưới
Câu hỏi 11: Xét một chuỗi các tiến trình P1, P2, , Pn triển khai một kiến trúc client-server đa tầng Cơ chế hoạt động của tổ chức đó như sau: tiến trình Pi là client của tiến trình Pi+1, và Pi sẽ trả lời Pi-1 chỉ khi đã nhận được câu trả lời từ Pi+1 Vậy những vấn đề nào sẽ nảy sinh với tổ chức này khi xem xét hiệu năng yêu cầu-trả lời tới P1?
Hiệu năng của hệ thống bị ảnh hưởng lớn bởi hiệu năng của mạng => độ trễ khi trả
Trang 8lời tới P1 rất lớn do phải xử lý tuần tự các yêu cầu – trả lời từ Pn đến P2 rồi cuối cùng mới đến P1 Ngoài ra, vấn đề xác định trạng thái hiện tại của hệ thống (P1,P2,
…,Pn) cũng rất khó khăn, vì tính trong suốt với người dùng
Câu 12: Xét mạng CAN như trong hình Giả sử tất cả các node đều biết node hàng
xóm của mình Một giải thuật định tuyến được đưa ra đó là gửi các gói tin cho node hàng xóm gần mình nhất và hướng đến đích Giải thuật này có tốt
không? Giải thích.
Giải thuật này chưa tối ưu vì: Ví dụ từ nút A gửi cho nút C theo giải thuật có thể đi
từ A->D->C mất thời gian so với A->B->C
BÀI TẬP TRÊN LỚP MÔN HỌC: HỆ PHÂN TÁN
CHƯƠNG 3: ĐỊNH DANH TRONG HỆ PHÂN TÁN
Câu hỏi 1: Tại sao không thể lấy địa chỉ của Access Point để sử dụng như địa chỉ
của thực thể?
Trả lời : Vì thông tin có thể di chuyển từ Access Point này sang Access Point
khác
Câu hỏi 2: Với việc sử dụng Định Danh, các vấn đề gì cần phải xem xét?
Trả lời:
Vì:
• 1 định danh chỉ đến nhiều nhất 1 thực thể
• Mỗi thực thể chỉ được xác định bởi 1 định danh
• Một định danh mãi mãi chỉ trỏ đến 1 thực thể
• Không gian định danh là hữu hạn
• Vấn đề cần phải xem xét : Vấn đề quy mô ,cạn kiệt định danh
• Giải pháp : Sử dụng lại (điều này cũng dẫn đến nguy cơ bị trùng)
Câu hỏi 3: Xét một thực thể di chuyển từ vị trí A sang vị trí B Trong quá trình di
chuyển thực thể đó có đi qua các nút trung gian nhưng chỉ dừng lại ở đó khoảng thời gian ngắn Khi đến B, thực thể đó dừng lại Chúng ta biết rằng việc thay đổi địa chỉ trong một dịch vụ tổ chức vị trí phân cấp (hierarchical location service) là
Trang 9rất mất thời gian để hoàn thành, vì vậy cần tránh làm việc này khi thực thể tạm dừng ở các nút trung gian Hãy đề xuất một mô hình kết hợp cả dịch vụ tổ chức
vị trí phân cấp và cơ chế chuyển tiếp con trỏ (forwarding pointers) để có thể xác định được vị trí của thực thể khi nó ở các nút trung gian
Trả lời:
Mô hình kết hợp cả dịch vụ tổ chức vị trí phân cấp và cơ chế chuyển tiếp con trỏ (forwarding pointers) để có thể xác định được vị trí của thực thể khi nó ở các nút trung gian:
+ Khi thông tin dịch chuyển vị trí trung gian A và B, để lại con trỏ khi đến B ghi thêm địa chỉ mới đó => Mô hình phân cấp
+ Chuỗi con trỏ trung gian và địa chỉ A đều bị xóa
Câu hỏi 4: Trình bày một số phương pháp ARP Spoofing để thấy được điểm yếu
của phương pháp định danh sử dụng cơ chế quảng bá
Trả lời:
- Ddos: kẻ tấn công tận dụng giả mạo ARP để liên kết nhiều địa chỉ IP với địa chỉ target MAC duy nhất Do đó lưu lượng được dành cho các địa chỉ IP khác sẽ được chuyển hướng đến địa chỉ target MAC làm mục tiêu bị quá tải.
- Man-in-the-middle attack: kẻ tấn công có thể dựa vào giả mạo ARP để chặn các gói tin và thay đổi gói tin trao đổi giữa các nạn nhân
Câu hỏi 5: Vấn đề còn tồn tại đối với cơ chế chuyển tiếp con trỏ (Forwarding
Pointer) là gì?
Trả lời :
• Chuỗi dài vô hạn
+ Giải pháp: sử dụng các shortcut
+ Có khả năng có chuỗi không tham chiếu được
• Lưu trữ vô số các tham chiếu
+ Giải pháp: loại bỏ các tham chiếu
+ Bài toán toàn cục
=> Giải pháp Home-based
Câu hỏi 6: Nhược điểm của giải pháp Home-based là gì? Giải pháp nào để giải
quyết nhược điểm đó?
Trả lời:
Nhược điểm của giải pháp home-based:
• Khả năng mở rộng theo địa lý kém
• Home address cố định, phải được hỗ trợ miễn là thực thể còn sống
Câu hỏi 7: Khi áp dụng giải pháp sử dụng hàm băm phân tán vào hệ thống Chord
thì nó đã tối ưu cơ chế định danh như thế nào?
Trả lời:
• Giải pháp sử dụng hàm băm phân tán
Trang 10• Thiết lập vòng bằng các biến cục bộ prev(n) và succ(n)
• Sử dụng bảng băm để xác định địa chỉ succ(k) của tên k
• Với FTp là finger table của node p: FTpi=succ(p+2i-1)
• Khi cần tìm khóa k, node p sẽ gửi cho node q:
q=FTpj≤k≤FTpj+1
• Cập nhật bảng băm khi có các nút được thêm vào
• Tối ưu cơ chế định danh
• Các node có thể được thêm/xóa một cách dễ dàng bằng việc tái phân phối các khóa
• Khóa là các mã định danh duy nhất ánh xạ tới các giá trị cụ thể như là: địa chỉ, tài liệu, dữ liệu
Câu hỏi 8: Trong giải pháp phân cấp, sử dụng cơ chế bộ đệm có tác dụng cải
thiện hiệu năng như thế nào? Cho ví dụ
Trả lời:
Trả lời:
- Cơ chế bộ đệm lưu trữ một tham chiếu đến một nút thư mục của domain cấp thấp nhất trong đó một thực thể sẽ cư trú hầu hết thời gian, như vậy sẽ giúp cải thiện hiệu năng và giảm thời gian tìm kiếm
Câu hỏi 9: So sánh liên kết vật lý và liên kết biểu tượng trong hệ thống quản lý
tệp của UNIX
Trả lời:
Chỉ liên kết được tới file,
không liên kết được tới thư
mục
Có thể liên kết được tới thư mục Không tham chiếu được tới
file trên ổ đĩa khác Có thể tham chiếu được tới file/thư mục khác ổ đĩa Liên kết tới một file vẫn còn
ngày cả khi file đó đã được
di chuyển
Liên kết không còn tham chiếu được nữa nếu file được di chuyển
Được liên kết với inode tham
chiếu vật lý trên ổ cứng nơi
chứa file
Liên kết tham chiếu tên file/thư mục trừu tượng mà không phải địa chỉ vật lý Chúng được cung cấp inode của riêng mình
Có thể làm việc với mọi ứng
dụng Một số ứng dụng không cho phép liên kết biểu tượng
Câu hỏi 10: Khi chúng ta thêm 1 node mới vào hệ thống Chord, chúng ta có cần
phải cập nhật toàn bộ các bảng finger?
Trang 11Trả lời:
Vì trong hệ thống Chord, mỗi nút sẽ quản lý khóa của nút trước đó.Nên ta không cần cập nhật toàn bộ các bảng finger mà chỉ cần cập nhật cho nút sau và nút trước
Câu hỏi 11 : Phân giải tên đệ qui có ưu điểm gì so với phân giải tên không đệ
qui?
Trả lời:
Ưu điểm:
• Các name server trong phân giải tên đệ quy tổ chức lưu trữ bộ nhớ đệm, server lưu trữ kết quả, có thể trả lời ngay lập tức cho client
• Xử lý nhiều phía server, khi client ở xa không gây ra độ trễ lớn so với phân giải không đệ quy xử lí nhiều ở phía client
CHƯƠNG 4:
Câu hỏi 1: Trình bày 1 ví dụ để mô phỏng vấn đề gặp phải khi các máy tính/tiến
trình hoạt động trong hệ thống phân tán mà không có đồng hộ vật lý dùng chung Trả lời:
Nếu không có đồng hồ vật lý dùng chung trong hệ phân tán thì sẽ gây ra sai khác thời gian giữa các máy ví dụ như trong mạng xã hội giả sử đăng 1 bài viết tại 12h30 nhưng máy của một người xem đang ở 12h29 do bị chậm hơn 1 phút vậy người xem sẽ không đọc được bài viết ngay cả khi bài viết đó đã xuất hiện Tuy trường hợp này có vẻ không ảnh hưởng gì nghiêm trọng nhưng sẽ rất nghiêm trọng nếu xảy ra trong hệ thống thời gian thực
Câu hỏi 2: Tại sao Lamport lại đề xuất sử dụng đồng hồ logic thay cho đồng hồ
vật lý trong hệ phân tán?
Bản chất đồng hồ vật lý là chỉnh lại để các đồng hồ vật lý về các giá trị giống nhau, dựa trên thời gian vật lý đó các tiến trình thực hiện đồng bộ với nhau Theo
Lamport thì quan trọng là thứ tự event chứ không phải thời gian cụ thể
Câu hỏi 3: Đặc điểm gì của mạng không dây (wireless network) khiến cho thiết kế
các giải thuật đồng bộ khác các kiểu mạng khác?
Đặc điểm của mạng không dây (wireless network) khiến cho thiết kế các giải thuật đồng bộ khác các kiểu mạng khác: cần tối ưu cho việc gửi và nhận thông điệp
Câu hỏi 4: Giải thuật Lamport được đưa ra để thực hiện loại trừ lẫn nhau (mutual
exclusion) Giải thuật được mô tả như sau:
Hệ thống có n tiến trình: P1, P2, Pn Có 1 tài nguyên chia sẻ dùng chung gọi là
SR (Shared Resource)
Mỗi tiến trình sẽ lưu trữ một hàng đợi queuei để lưu các yêu cầu của các tiến trình khác khi chưa được thực hiện