Transcript File

Mô hình Mạng phân tán
Tổng quan
– Kiến trúc mô hình
– Các tầng trong DS
– Các kiến trúc hệ thống
Kiến trúc mô hình
Đặc điểm
– Kiến trúc mô hình là gì?
Một kiến trúc mô hình của Hệ phân tán là mối quan hệ
các vị trí của các thành phần và mối quan hệ giữa các
thành phần này.
Được đinh nghĩa như là các thành phần của hệ thống
tương tác lẫn nhau và là cách chuyển truyền liệu cơ
bản trong một hệ thống mạng máy tính.
Kiến trúc mô hình
Đặc điểm
– Một hệ phân tán được hợp thành bằng các quá trình xử
lý thông tin trên một hệ thống mạng.
– Đầu tiên, sự phân loại được thực hiện dựa trên sự phân
biệt của các kiểu xử lý:
• Xử lý trên Server
• Xử lý trên Client
• Xử lý ngang hàng
Hệ thống Client-Server
Hệ thống Peer-to-Peer
– Sự phân loại để phân biệt các kiến trúc của mô hình.
Kiến trúc mô hình
Tính chất
– Ví dụ:
• Mô hình Client Server
– Vị trí: hai vài trò riêng biệt (1 server, nhiều client)
– Mối quan hệ: server cung cấp các dịch vụ, các client tiêu thụ các dịch vụ.
– Sự liên lạc: bất đối xứng
• Mô hình Peer-to-Peer
client
server
– Vị trí: có một vai trò, ngang hàng.
– Mối quan hệ: tất cả đều có nhiệm vụ như nhau
– Sự liên lạc: đối xứng
peer
peer
Kiến trúc mô hình
Tầng Software
– Mỗi một mô hình sử dụng để mô tả hoặc thực thi hệ
thống dựa trên một kiến trúc phần mềm được định
nghĩa.
– Một kiết trúc phần mềm…
• ..xác định tổ chức của hệ thống phần mềm (trên một hoặc
nhiều máy)
• ..có thể được mô tả bởi sự phối hợp giữa các thành phần
– Các tầng (ứng dụng trên tất cả hệ thống)
– module (cho các hệ thống dựa trên các thành phần)
– Các dịch vụ (thích hợp cho DS và SOA)
Kiến trúc mô hình
Tầng Software
– Tại sao có các tầng?
• Phá vỡ sự phức tạp
• Phân giải
Layer N
– Các hàm, chúc năng
– Các nhiệm vụ
• Độ trừu tượng các tầng khác nhau
• Mô hình đã kiểm chứng
– TCP/IP Stack
– Kiến trúc ISO/OSI
Layer 1
Layer 0
Kiến trúc mô hình
Tầng Software
– Các tầng trong DS
Application & Services
Middleware
Operating System
Computer and Network Hardware
Middleware
- Các mặt nạ không đồng nhất
-Cung cấp sự thuận tiên cho mô hình lập trình
- Tạo ra các xử lý hoặc các đối tương phân tán
- Hỗ trợ liên lạc và chia sẻ tài nguyên
- RPC / RMI
- Thông báo sự kiện
- Chia sẻ dữ liệu
-Ví dụ
- CORBA / Microsoft DCOM
- Java RMI / .NET Remoting
- Web Services
- ISO/ITU-T RM-ODP
Platform
- Bao gồm tất cả phần cứng và HĐH
- Cung cấp các dịch vụ cơ bản theo mức độ:
- Xử lý thông tin liên lạc
- Xử lý hợp tác và quản trị
- Quản trị tài nguyên
- ví dụ:
- Intel x86/Windows
- Intel x86/Solaris
- PowerPC/Mac OS X, Intel x86/MAC OS X
- Intel x86/Unix(Linux)….
Kiến trúc mô hình
Tầng Software
– Middleware
• Một tầng thông dụng để phất triển các ứng dụng dịch vụ
• Thành phần cơ sở hạ tầng mà kết nối với các thành khác
nhau trong hệ thống phân tán.
• Ví dụ
–
–
–
–
–
–
Sun J2EE
Microsof .NET
IBM WebSphere
IBM BlueCloud
Manjrasoft Aneka
Google AppEngine
Cơ sở của điện toán đám mây
Kiến trúc mô hình
Các kiến trúc hệ thống
– Middleware là một tầng xuất hiện trong tất cả các mô
hình kiến trúc hiện tại.
– Kiến trúc định tầng đưa ra các nhiệm vụ của các tầng
khác nhau trong hệ thống.
– Sự phân tán của các nhiệm vụ và các chức năng của
các thành phần được đặt tại tầng middleware.
Kiến trúc mô hình
Kiến trúc hệ thống
– Mô hình Client Server
• Ứng dụng cho hầu hết các Hệ phân tán.
• Thực thi trên diện rộng.
• Dựa trên:
– Hai vai trò: server và client
– Liên lạc thông tin:
» Bất đối xứng
» request (client) – response (server)
• Ví dụ
– HTTP, SMTP, DNS, NNTP
Kiến trúc mô hình
Kiến trúc hệ thống
– Mô hình Client Server
t4
Client
t2
Server
t1
t3
Time
t1: request time
t2: server process time
t3: response time
t4: roundtrip time
Kiến trúc mô hình
Kiến trúc hệ thống
– Client-Server
• Mô hình hai tầng (Two-tier model)
client
server
• Mô hình ba tầng (Three-tier server như một client)
client
server
Server/client
• Mô hình đa tầng (Multi-tier model)
server
client
Server/client
Server/client
server
Kiến trúc mô hình
Kiến trúc hệ thống
– Mô hình Peer-to-Peer
•
•
•
•
•
•
•
Tất cả các xử lý thực hiện có vai trò tương tự nhau.
Không có sự phân biệt giữa client và server.
Phối hợp tương tác qua lại.
Tránh việc tập trung
Phát sinh nhiều, khó quản lý
Cung cấp một cơ sở hạ tầng lớn(1000 host)
Ví dụ
– P2P File sharing (OpenNAP, eMule, etc..)
– Distributed Hash tables
Kiến trúc mô hình
Kiến trúc hệ thống
– Mô hình Peer-to-Peer
peer
peer
peer
peer
peer
peer
peer
Kiến trúc mô hình
Kiến trúc hệ thống
– Các dịch vụ được cung cấp bởi nhiều server
• Mô hình Client-Server mở rộng
• Một server trả lời có thể cho kết quả:
– Một dãy các request-response (mô hình đa tầng)
– Sự phối hợp xử lý:
» Phân chia thành nhiều node
» Phản hồi trên nhiều node
• Ví dụ:
– Truy vấn nội dung của Web page bao gồm:
» Truy vấn Database.
» Truy vấn các nội dung tĩnh
» Truy vấn các dịch vụ
Kiến trúc mô hình
Kiến trúc hệ thống
– Proxy Servers & Caches
• Cache là một đơn vị lưu trữ đối tượng dữ liệu hiện tại
• Proxy servers sử dụng cache để duy trì một bản sao nội
dung, được đưa ra:
–
–
–
–
Khả năng gia tăng nội dung
Gia tăng thực thi các yêu cầu dịch vụ
Giảm tắt nghẽn trong khi truyền dữ liệu trên diện rộng
Truy cập nội dung, không truy cập dữ liệu khác (ví dụ: firewall)
Kiến trúc mô hình
Kiến trúc hệ thống
– Proxy Server & Cache
• Ví dụ:
– Web Browser cache
» web browser duy trì các bản sao của trang hiện tại trên máy .
» Phiên bản của các trang được trả về cho các user khi tìm các
trang giống nhau.
» Các tag HTML có thể điều khiển các cached của các trang web.
– Web Proxy Server
Kiến trúc mô hình
Kiến trúc hệ thống
– Proxy Servers & Caches
• Hoạt động lưu trữ trên Cach!
1st Request
2nd Request
Kiến trúc mô hình
Kiến trúc hệ thống
– Mobile Code – Applet model
Browser process space
Server
Client
Clients gọi đến servers
Client
invocation
result
invocation
Server
result
Server
Client
Key:
Proc ess :
Computer:
Dịch vụ được cung cấp bởi nhiều server
Servic e
Server
Client
Server
Client
Server
Web proxy server
Web
s erver
Client
Proxy
s erver
Client
Web
s erver
Ứng dụng phân tán dựa trên xử lý ngang hàng
Applic ation
Applic ation
Coordination
c ode
Coordination
c ode
Applic ation
Coordination
c ode
Web applets
a) c lient reques t res ults in the downl oadi ng of applet c ode
Client
Applet c ode
Web
s erver
b) c lient interac ts with the appl et
Client
Applet
Web
s erver
Thin clients and compute servers
Computer server
Network computer or PC
Thin
Client
network
Application
Process
Hệ thống mạng tự phát
Music
service
gateway
Alarm
service
Internet
Hotel wireless
network
Discovery
service
Camera
TV/PC
Laptop
PDA
Guests
devices
Bài tập 2.1
Mô tả và minh hoạ kiến trúc mô hình Client – Server
trên các ứng dụng qua Internet.
(Mô tả trên các ví dụ về Web và Email).
Trả lời:
Web: Browser là các client của các DNS (Domain Name Server) và
Web Server (HTTP). Các hệ thống Intranet được cấu hình xen vào
Proxy Server.
Proxy Server thực hiện nhiều mục đích – khi chúng xác định các site
giống nhau tại client, chúng sẽ giảm độ trì hoãn của mạng, và giảm
các traffic trên mạng. Khi chúng xác định các site giống nhau tại
server thì chúng thực thi sự bảo mật tại các điểm kiểm tra (checkpoint)
và giảm load dữ liệu tại server.
27
Bài tập 2.1
DNS
BROWSER
HTTP
HTTP
client
DNS server
HTTP
HTTP
DNS
Web server
BROWSER
Proxy server
Proxy server
client
DNS server
Web server
28
Bài tập 2.1
Email
Send message: User Agent (user email kết hợp chương trình) là các
client của các SMTP cục bộ và cho phép từng message chuyển đi đến
SMTP server cho việc phân phối.
SMTP cục bộ sử dụng một bảng định tuyến email để xác định đường
đi cho mỗi message và sau đó di chuyển message đến SMTP server
tiếp theo trên tuyến đã chọn.
Mỗi SMTP server như là các process và chuyển các message đi đến
đến khi tên miền trên địa chỉ của message phù hợp với tên miền cục
bộ.
Các SMTP server sẽ cố gắng phân phối các message đến nơi nhận
bằng cách sắp xếp trong mailbox trên đĩa hoặc trên file server.
29
Bài tập 2.1
Sendding message
Sender’s Intranet
USER AGENT
Recipient’s mailhost
Intranet
client
SMTP server
USER AGENT
SMTP server
SMTP server
NFS
client
Local file server
30
Bài tập 2.1
Reading message: User Agent (chương trình đọc mail của user) hoặc
là các client của các file server cục bộ hoặc là một client của một
server phân phối email như POP, IMAP server. Trong trường hợp này,
User Agent đọc các message trực tiếp từ mailbox, nơi được lưu lại
trong quá trình phân phối message.
Trong trường hơp khác, User agent yêu cầu thông tin về user trong
mailbox từ server POP hoặc IMAP và nhận các message từ các server
này và hiển thị cho các user.
POP và IMAP là các giao thức thiết kế hỗ trợ cho việc truy cập mail
trên diện rộng và có kết nối chậm, vì vậy các user có thể truy cập các
mailbox của mình trong khi đi du lịch.
31
Bài tập 2.1
Reading message
Recipient’s mailhost Intranet
POP
NFS
protocol
USER AGENT
POP Server
client
USER AGENT
IMAP Server
Local file server
IMAP
NFS
USER AGENT
client
client
32
Bài tập 2.2
Trong ứng dụng đã thảo luận của bài tập 2.1, làm
cách nào các server cộng tác để cung cấp dịch vụ?
Trả lời:
Web: Web server cộng tác trên Proxy server để tối thiểu các traffic và
các độ trễ trên hệ thống mạng.
Mail: SMTP Server không cần thiết giữ lại mail trong bảng định tuyến
gửi cho các địa chỉ đích. Thay vì vậy, đơn giản là định tuyến các địa
chỉ của message đến các địa chỉ chưa biết cho server khác.
33
Bài tập 2.3
Làm thế nào để ứng dụng (trong bài tập 2.1) có sự
phân chia/ phản hồi giữa các server.
Trả lời:
Web: Trang Web master được giữ trong file hệ thống tại các server đơn
lẻ. Thông tin ở tất cả trên web, vì vậy được phân chia giữa các web
server.
Mail: message được lưu trữ trong các nơi đến. Nghĩa là, dịch vụ mail
chủ yếu dựa trên các phần được phân chia, mặc dù một message gửi
đến nhiều người nhận nhưng được phản hồi với nhiều đích đến.
34
Bài tập 2.4
Đề nghị vài ứng dụng dựa trên mô hình ngang hàng.
Trả lời:
Ứng dụng làm việc cộng tác cung cấp các xử lý ngang hàng trên mỗi
user.
Ứng dụng cần mô tả trạng thái tất cả các user (share whiteboard)
Một nhóm người làm việc trên trên các tài liệu được chia sẻ, nhưng
các user khác nhau truy cập các phần khác nhau hoặc có thể một user
khoá một phần tài liệu và user khác không thấy được tài liệu này.
35
Bài tập 2.5
Liệt kê các tài nguyên trên máy tính cục bộ có thể bị
tấn công bởi các chương trình download từ các site
và cài lên máy cục bộ.
Trả lời:
Các đối tượng trong file hệ thống gồm: file, thư mục mà có thể
đọc/ghi/tạo/xoá bởi người sử dụng chương trình.
Sự liên lạc trong hệ thống mạng
Truy cập máy in.
36
Bài tập 2.6
Những nhân tố nào tác động đến việc phản hồi của
ứng dụng được truy cập chia sẻ dữ liệu quản lý bằng
server?
Trả lời:
Khi một client truy cập lên server, nó tạo ra thao tác yêu cầu server
thực thi trên một máy tính ở xa. Những điều có thể tác động:
1.Server bị overload.
2.Có độ trễ của việc gửi và nhận message.
…
37
Bài tập 2.7
Phân biệt giữa buffer và cach
Trả lời:
Buffer là một kỹ thuật chuyển dữ liệu từ việc gửi đến việc nhận của bộ
nhớ cục bộ cho đến khi quá trình nhận được thực hiện thành công.
Cach là kỹ thuật tối ưu truy cập các đối tượng dữ liệu từ xa bằng cách
lưu giữ một phiên bản trên bộ nhớ cụ bộ. Việc truy cập từng phần của
các đối tượng từ xa được chuyển đổi thành việc truy cập đến các thành
phần tương đương của phiên bản cục bộ. Không giống như buffer,
phiên bản cục bộ này được lưu giữ trên bộ nhớ cục bộ.
38
Bài tập 2.8
Đưa ra các khuyết điểm của phần cứng và phần
mềm mà có thể (không thể) bỏ qua trong việc sử
dụng hệ phân tán.
Trả lời:
Khuyết điểm phần cứng: các xử lý. đĩa, các kết nối mạng có thể được
sử dụng để thực thi nhiều máy tính, việc ghi vào hai đĩa, có hai định
tuyến phân biệt trong mạng.
Phần mềm: bug, các hư hỏng trong xử lý.
39